From nobody Sat May 10 07:32:25 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) smtp.mailfrom=seabios-bounces@seabios.org Return-Path: Received: from mail.coreboot.org (mail.coreboot.org [80.81.252.135]) by mx.zohomail.com with SMTPS id 1519686269206874.7684078439038; Mon, 26 Feb 2018 15:04:29 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coreboot.org) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1eqRqC-0008Vb-Lx; Tue, 27 Feb 2018 00:05:52 +0100 Received: from mail-eopbgr10110.outbound.protection.outlook.com ([40.107.1.110] helo=EUR02-HE1-obe.outbound.protection.outlook.com) by mail.coreboot.org with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) (Exim 4.86_2) (envelope-from ) id 1eqPYu-00042X-SY for seabios@seabios.org; Mon, 26 Feb 2018 21:40:03 +0100 Received: from localhost.localdomain (96.82.2.57) by VI1PR04MB1357.eurprd04.prod.outlook.com (2a01:111:e400:5348::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Mon, 26 Feb 2018 20:37:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=SILICOMLTD.onmicrosoft.com; s=selector1-silicomusa-com01i; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=LgYmQP2LA+TNEw+c6BvrQY2l+9Y0eTrySnR64rbHUME=; b=w2zsMlu8yqhUsDw7ioVob6bWEcmE+ef79+j6BZcdS315QJQLmi11i5CxOn6CrxBdQBf6P5ZDkG+8xCQlDlqXjutdao9UnpPCw1mn6VbAch7F1WWsuZRRkDzsjtxr1dLRbiipy7V9PdO8jMa0w+11WWUKPd13yhaLOmazOEMyLDs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=stephend@silicom-usa.com; From: Stephen Douthit To: Kevin O'Connor , Stefan Berger , seabios@seabios.org Date: Mon, 26 Feb 2018 15:37:32 -0500 Message-Id: <20180226203734.558-2-stephend@silicom-usa.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180226203734.558-1-stephend@silicom-usa.com> References: <20180226203734.558-1-stephend@silicom-usa.com> MIME-Version: 1.0 X-Originating-IP: [96.82.2.57] X-ClientProxiedBy: DM5PR21CA0049.namprd21.prod.outlook.com (2603:10b6:3:129::11) To VI1PR04MB1357.eurprd04.prod.outlook.com (2a01:111:e400:5348::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 842396cc-ccf0-4fa4-e57f-08d57d58d217 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR04MB1357; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1357; 3:3sXrKtV6G/wt28m4HL/HLqeku0XAQ3+nt8jjW9DNpI+l2O4Yw1TrmP6/dYJUd985HVTjTYsRoDdqvuRQSuK5UzDB4LxBq9iVegRjFtyswiimZS5POWYVnvJ1BTLalqmEOVtNloHojBxpNsbbq4zEm+xuWVY0tSYvsMMohuSN1IwID6h3wgCVcGpvU9BP7pVxfG5GsoVs/jzJzJoB2rtZ3r3+aCMBtyG2UcialYL8Zl0LvYjV/AoZqRSAvD0WOfg4; 25:tjSsTgvW6YyIUzyQ0+0MK6CWhMJno385valPydbJqSg/rc1KLdeR0ed98eQBNI1b0y9t0F8M0nrJJnkysALO3gtZ1dwMeAzTOJpz7nD8hF5jPQmRhRASDd9YXVlZpPIp9JRDGeCacxENRAnpwAiHyZIwSX0UYmQyKjTGEFN1VA/Jq9M6t3zsgPde9ysmFlKELVY0K07tfTRII+LKZKvg7GvqMbfz9Hab9ICW4y3/V9NWW74DIJdFv7VXYxjkW6kqngpm30WY23DYkHR/FMT0sgbC2ruvq/qy9JEcjzqI472JH6Hf8C1YpPo/DtnBkqfPPHc98Pq54udgoK7M6ynixQ==; 31:9xJJ43jGl8gRgPUu2bN+XLmji5PoZ4WvL3QARsX2lVqI9F3xXz66j47dix5sRvAjcLLeg9t07cf73+jWy5AzLM6PEoRkLnwGBevepXu6z9s+52wIGg85NFyzRwC80veyNXsQ46o6ZYem0H1TbSCRFKSjIFpH58Y65bZtsX5zRXH76h3ZxTs3DtqT4B/mop5sLhp5jbRK3uMOAXcgO5O++EZ1RSrD2fKMJoL/0VeFh8s= X-MS-TrafficTypeDiagnostic: VI1PR04MB1357: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1357; 20:rM3o+oKuH/iN5aTp4i3Tcl4EMhBaccwBtj+7ElH30zX4XPi/q3Tz+VVEMT7t30kad3aVbd4XTNvFCTAm8li7Ha7mSEQvlRiWgqfA6jeiWlRyNrS/ipFNWBIE4Adxv5FF/kjIXWIjuTYDGQaFpeaLl08bDTqq/TsIGqh/dcGCWPlTrZ3fB1qqF+Zws3xc8oHfRtHKbUKEIhCArx0B+T/qj+d5mp2qeoPBueLD5YoR3CEpxVMo7cqx4TM2FUjaxFoYj5v0SZVBsw1gLMBXWItcHrowmrQqQvcfo1P3qt8Ux0PHY7E/7rBTpWsD4JSstKnYEWoBTo2pDD6ejqCUPMNvip8YT04lewRcg3a+cpo5msnDyViSV8WA67EBPTe4Judtu02qRjlL+itbPwW1ND4gFb7A7mMnYZMDecDu/6SqZnhddd5E+aag7lcRidZGz2k8MPK+mD3Vit7AyQ5E44XNAuENtm4wj3J4UjZuNb5NAtGBw2SBTWg8jHd5dwwv3lhx; 4:D9p+0Cjaasmw1CL7aAZoyHlGl49qzclMJojQo/8LHGJkse/CFajl+/xEAlCWptPotz6QGCWzb5T4X1SvEol2VoPzZipttW+XJQxdzqIO8SzU705sYl87BhzqGP9eGc7y+2A2TFXs5pHEEMsE4cMQeGHLGC3Xf38Bs1MaBuK3gUY3i+6jqCLYB/841m9L8wD4t6WW0/M+YbvBfSAR/RpmF9bBIZQLnWqUYI+3CYgjqkzPBQoMJKb475t0LEnJsj8sQSs+njbtfVekmt3a3cAthw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231220)(944501161)(52105095)(3002001)(10201501046)(6041288)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:VI1PR04MB1357; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB1357; X-Forefront-PRVS: 05954A7C45 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(396003)(39850400004)(39380400002)(376002)(346002)(199004)(189003)(6116002)(3846002)(25786009)(386003)(106356001)(6666003)(6506007)(76176011)(50226002)(105586002)(1076002)(8936002)(48376002)(50466002)(53936002)(8676002)(6512007)(2906002)(59450400001)(97736004)(7736002)(5660300001)(36756003)(478600001)(52116002)(47776003)(66066001)(305945005)(110136005)(81156014)(81166006)(86362001)(16586007)(316002)(16526019)(6486002)(26005)(186003)(51416003)(1857600001)(2950100002)(68736007); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR04MB1357; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) client-ip=80.81.252.135; envelope-from=seabios-bounces@seabios.org; helo=mail.coreboot.org; Received-SPF: None (protection.outlook.com: silicom-usa.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR04MB1357; 23:cvSFJo5BK1sSBV5lM3XHdyYSn2c3hbmSaov3ECRnD?= =?us-ascii?Q?EWxdP972h/qlm2VY+lW1rt4QCAR8mPaIXfVjuA1h1vIt4mVO6xWoI6liXha9?= =?us-ascii?Q?zqTn7xXmJlaHZt8R978u4+DzQFRiVaGRTQeBdOLD5Hk53/exH3TSVptMHP85?= =?us-ascii?Q?5ufrA9Usdw4o8OVoTnRURJAAcyEJcR6qAKgqqdBrkeMg7B2+Xtx1Ua8PBjH1?= =?us-ascii?Q?C1k2aWI3FUc+Y/fAz69XFbSoai4L8Nurgo0LM997AcY/4pZV64f+BczmOVgc?= =?us-ascii?Q?p6JKgKcwuy029PhSt/cFHz0C3tYoXb+c7lMI2Xfrdv2Kn9HVLsbSQXF3THQs?= =?us-ascii?Q?rJD6iGLNSx/lBPvT7/vTmYcSlIWxJJA347zNgeY4QkrbGEP5KQWd7grJOies?= =?us-ascii?Q?XUP7SnWXXqanGUcWSOTIPLEs3/4Y3ddb+0f+tgcWbKoUH5M4DkLPVXJ1DLDR?= =?us-ascii?Q?NkKFZUYxfWOBwME4swkEkEA+aE+A+QwRQUsC3cE84wbCbwjxSkuO0XuF+XEJ?= =?us-ascii?Q?t66DhT/pbU+ii5mm6Z4uSoKeOby/vVZeyUrM94MTqpXWk766OySLbYa6VEJA?= =?us-ascii?Q?bRRF1TylwiSivP42/N6ZQvLZzOg1h1H2lUYjK+k4HbIZCIk5eLyDiCo5J1SI?= =?us-ascii?Q?lOba5upa3n75lAmOejvtbLWedIh5oIET2y8GPqJm5hiZIBmnQBXCTCgb8XL2?= =?us-ascii?Q?ZqGiohwSFSy9aU3lKl5LyGiOkMOy1Oxe/iG5Dp20EnPU4tMUMVX3HVDINPvA?= =?us-ascii?Q?dVazcr0io9AaFtePyAd4CGS+1PRhDhjMfv1dQbpdAJQgcvdpSWZdihh2Jr0C?= =?us-ascii?Q?VjgE8+l6UsCsUMDcwoXYNyEVQ4aYe4phzyCHaUukzX/a34D02xsN3JchyLGA?= =?us-ascii?Q?2d6fg1GVy/9IoaMnPmuIOhTgph0838IaeQkP8vo+dlW3qydLrcNU/TlQ4vDT?= =?us-ascii?Q?vuGVd5m5avWneLA3OFuF/3P7YpFOOUTz3HMEcIAfL000AOmR/OHM9qaB4pFh?= =?us-ascii?Q?IYNwoQwPpNarw0ixtN++nSu77dR/+hskwWLSwdBJQ1jYHNuYWv4mCwXcB8lk?= =?us-ascii?Q?SmXx8efZ6scRre5roRa+d1d1n72UnbjBpFCdaETAklwHCtsTXs/hEUZM5Br9?= =?us-ascii?Q?q6P/g4hUP7BMHxneDa+/fetS5nZ88laqz3B+RWQEANkbU1dDZoU+Q=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1357; 6:byYK6rRUialZWb/5sN5rNVoG8GsAbBfxkb8rHhVn4OzKDz0A4UnTklCQOb12qvXQFP+ENtEYkIEpWXNb8bf30BUalO3u5NxjTq3SJouJXiRAAuRDwZwJau5RxaC4ZhIQSTLJ1hZPhZfv+c2ZwnJA3MkoEwFFdqMFtdhu7oZv6k7jIrbBO8ZXCYgFhm+q9SV7sV7qdFDB3bL4agKGKNj3M2N5R5wMpcqoDf+i2Z3/7CRbN2xG0TQ01mum8UNvoohpzsNrj0UmOw6xd75MOCi0AO3I32CpQLGxwYfSHOqUVBA7HYtfR9SX8OQqiyejiotS9/VXD+4VwukuuhXDcEUxXnscT7fDYieQW+9Qn/JR8q8=; 5:/+Se/JVUnMC8W/4aZP78ZIw1mtt9QXsJImcIRpT5ufWHvwCtDm/F+gh30QsijOVKjcqRZgjsmbaSL6tYWifsNmPmBzL3OpyxtqxZIp5TTqpErpGBgYC0eh62bgJLxpv77xmTCnm7PzXcjuuiKRMYyiinGP9WOKAtihDbo9A8j/g=; 24:THvWXHXKXSs5WfoB82rcWTHCfkGHHnXKxZNVDGEcQJZKPNiiCstwIEIjeSMJabbPXgBiM4zc2H6Ch1ulKO/7qDaZiGDcqG0tnbiOUuhoec8=; 7:oyD3szoyOW+9GI85LKASwnNXZLQJxziUiOlX3V6OS8C9us4kM8XHP2QEU0JY03++MFebnAedX2U/mk5ajYQ8IEFxtb405q7MTZoNwEzZCjCWArHJfkVTQ0R4pcUC/93PYEaC9WS8ocA1ZAAHulTreNtC5Sbxpi87m9J0sBEq3G/nXLMkrNlCLQt5QJhPaTG9Yy+u4XsQj8tAbZqICLFRrhDombFEFMl3goTXh/+Qojpex6zH2x8ldqSxSQQ+hQtP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: silicom-usa.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2018 20:37:56.8949 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 842396cc-ccf0-4fa4-e57f-08d57d58d217 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: c9e326d8-ce47-4930-8612-cc99d3c87ad1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB1357 X-Spam-Score: 1.3 (+) X-Mailman-Approved-At: Tue, 27 Feb 2018 00:05:50 +0100 Subject: [SeaBIOS] [PATCH 1/3] tpm: Refactor duplicated wait code in tis_wait_sts() & crb_wait_reg() X-BeenThere: seabios@seabios.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SeaBIOS mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Errors-To: seabios-bounces@seabios.org Sender: "SeaBIOS" X-Duff: Orig. Duff, Duff Lite, Duff Dry, Duff Dark, Raspberry Duff, Lady Duff, Red Duff, Tartar Control Duff X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Stephen Douthit Tested-by: Stephen Douthit --- src/hw/tpm_drivers.c | 80 ++++++++++++++++++++++--------------------------= ---- 1 file changed, 33 insertions(+), 47 deletions(-) diff --git a/src/hw/tpm_drivers.c b/src/hw/tpm_drivers.c index 1fd05e1..8d6fc33 100644 --- a/src/hw/tpm_drivers.c +++ b/src/hw/tpm_drivers.c @@ -63,6 +63,39 @@ static void *crb_cmd; static u32 crb_resp_size; static void *crb_resp; =20 +static u32 wait_reg8(u8* reg, u32 time, u8 mask, u8 expect) +{ + if (!CONFIG_TCGBIOS) + return 0; + + u32 rc =3D 1; + u32 end =3D timer_calc_usec(time); + + for (;;) { + u8 sts =3D readl(reg); + if ((sts & mask) =3D=3D expect) { + rc =3D 0; + break; + } + if (timer_check(end)) { + warn_timeout(); + break; + } + yield(); + } + return rc; +} + +static u32 tis_wait_sts(u8 locty, u32 time, u8 mask, u8 expect) +{ + return wait_reg8(TIS_REG(locty, TIS_REG_STS), time, mask, expect); +} + +static u32 crb_wait_reg(u8 locty, u16 reg, u32 time, u8 mask, u8 expect) +{ + return wait_reg8(CRB_REG(locty, reg), time, mask, expect); +} + /* if device is not there, return '0', '1' otherwise */ static u32 tis_probe(void) { @@ -152,30 +185,6 @@ static void set_timeouts(u32 timeouts[4], u32 duration= s[3]) memcpy(dus, durations, 3 * sizeof(u32)); } =20 - -static u32 tis_wait_sts(u8 locty, u32 time, u8 mask, u8 expect) -{ - if (!CONFIG_TCGBIOS) - return 0; - - u32 rc =3D 1; - u32 end =3D timer_calc_usec(time); - - for (;;) { - u8 sts =3D readb(TIS_REG(locty, TIS_REG_STS)); - if ((sts & mask) =3D=3D expect) { - rc =3D 0; - break; - } - if (timer_check(end)) { - warn_timeout(); - break; - } - yield(); - } - return rc; -} - static u32 tis_activate(u8 locty) { if (!CONFIG_TCGBIOS) @@ -399,29 +408,6 @@ static u32 crb_init(void) return 0; } =20 -static u32 crb_wait_reg(u8 locty, u8 reg, u32 time, u8 mask, u8 expect) -{ - if (!CONFIG_TCGBIOS) - return 0; - - u32 rc =3D 1; - u32 end =3D timer_calc_usec(time); - - for (;;) { - u8 sts =3D readl(CRB_REG(locty, reg)); - if ((sts & mask) =3D=3D expect) { - rc =3D 0; - break; - } - if (timer_check(end)) { - warn_timeout(); - break; - } - yield(); - } - return rc; -} - static u32 crb_activate(u8 locty) { if (!CONFIG_TCGBIOS) --=20 2.14.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios