From nobody Sat May 10 13:18:35 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 1519759094507373.46147538758737; Tue, 27 Feb 2018 11:18:14 -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 1eqkmi-0007dN-Vx; Tue, 27 Feb 2018 20:19:33 +0100 Received: from mail-db5eur01on0127.outbound.protection.outlook.com ([104.47.2.127] helo=EUR01-DB5-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 1eqkmX-0007bg-0C for seabios@seabios.org; Tue, 27 Feb 2018 20:19:31 +0100 Received: from localhost.localdomain (96.82.2.57) by AM3PR04MB1345.eurprd04.prod.outlook.com (2a01:111:e400:5369::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.548.13; Tue, 27 Feb 2018 19:17:29 +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=Pu//b6rScgjNxOSDQAnoz3ml5gSVdX3+IGH5+q8+eHA=; b=2nWKDvt+6kvEK7+nt+jPNaFz9tnWbRSjmWik/7i6GpKolQWJX9tm6GA0+ypESPSADsp18Yr1R7fpN0mmUynZP46BGe5yJsITq3sUBIdxTqcYDAz+bOsa5ar3w0sa18c66tJ371spHkHThgr7DC0s2zW37nvvslE+KBEnTzO1DSE= 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: Tue, 27 Feb 2018 14:17:09 -0500 Message-Id: <20180227191711.1943-2-stephend@silicom-usa.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180227191711.1943-1-stephend@silicom-usa.com> References: <20180227191711.1943-1-stephend@silicom-usa.com> MIME-Version: 1.0 X-Originating-IP: [96.82.2.57] X-ClientProxiedBy: DM5PR17CA0068.namprd17.prod.outlook.com (2603:10b6:3:13f::30) To AM3PR04MB1345.eurprd04.prod.outlook.com (2a01:111:e400:5369::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 93a5b039-4b69-492f-1119-08d57e16bf0a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:AM3PR04MB1345; X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 3:Qy/Rg/jHru/DObcmTuwxLZlaPA8kvm3FbAenGMtWBg8jh0SbCUOw6KqY1Gr0WgYuCwQVsuNjbHc2dZWIs+W5zZULkZmmzJr/QN+VPbmkoBDz+4OcaHBxlXKS/TbDjs+IrvDJ/haqqO3l52q3j6kh2bBiN40ltghVdu588QBKKhkW8hJIDXwI334NvhC9mjJpSsuPJM0Nr/bGVCQ+wRHQZZ02GSh/PK48OJR2M05tJCIvXI8aFcITWjRcREh+nLHR; 25:7/1L8FqMQrSajHtESWD9Nd/8UujOuz84pGNEf3gbTTs9hd+fJZ4wQv32qDoP6XsLKk3B5ebvhvFm8YkAPvuMQR1mcLVRGIdrg97bR/zgH9SrOEfgdIuio4VNKFRgPMI4XHmHfws8CZ7kYiYPnc6QfTomhuQwVtzn4qJTV3zsoqCHFZyTR0SAud5M9zSgbSGt7H8EFBXuZ2EUlgd7ElqItW+qzZqMB1Kqu/Ze3Q2XM40AWIVDPu43+q2rYmvMzbXQufOyDCbpcx9zLfcB4VbSkc0GMORBksR5bFEaSKsHL3o3q9xbfHMK+KldjQ7CxQdz1WWo63psCAZnWTjaSywGSA==; 31:D3FBP9KPb0crkBg0cpuahTJdBrgHoM0ksCNShabs0wD/P4EBllB3GQgdyJvFZXQSupll4Vq4HyUinoDrjoI8Ko8BzyIteOjMsvZwVZshB0gsBjHVXlU/uFy662xAUBpZ02ysoF+buhsoD5NBIibGckzXpfr3VAvLPLzyF/XIkYt/aM7L7ZiVJddg76lSRmCXby2IRNjgoz8ElGBBskXvSVt61FnkdVFZ5DT4dEoSZpw= X-MS-TrafficTypeDiagnostic: AM3PR04MB1345: X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 20:IU1z8Q/GypIKrReSyomM1GV8eMePrRgRV3HIYafR1YK9Qu2fK9h2VVaIyfISF0Rvd4/V/bbwRJjCA8E/79WX0Pjs+o7Uydh/8CcU9MN6nZgM99eUyFNmSaMu2w7/G/PXyjJWR5buTp5d6tN9azBoFnuDopwlLMyilSKXQ5kz2swFu984vUBUSLaSIkfkqz3MbdFo9DcjoZ0Y2nxd/5h1trGgWLsDP7ong+YwLda/IXDs6otEKJL6pZ2tdoFHmEYmcVFxDxxVhN3zJO96wCP+lZNdF90KWAyfVNuasr5Eqji9RqFsUr0D6Ity9+rzrIofd0AYtfR6j0CwtLI8gVJacmtV8X2EqMSGG9FQ2JoOoeXtBMZdMXdTIqjux1AKGimEv1Z4yjNsnpCpOAYu6TA48LqAxWZMG5tPJz2l+suxx2xeN5joCWBYGxWUZCw37nII7EPgBdD9FxukV8D8cc5s7Vvox1xdSkgfIhCwdCeYhu5ty+fmN6aKHuSxULHnvESj; 4:xSuwhTej7yUVTzm4t1Bki8Nj0pBTPCgVIzRFnhLoE+CP2Y6/UyHiks/iRpjSwWNTn+vPX7vJn4CAlkzkihlvzgpkkJ2WYJDYmdbNF+dlBpw5Kxu0uJF8NQFy+4f2JJbOg4N7YNNgKC47aoFoNOytmJ9CZCGDnlyI2PWP7SDkYdfsU5DleMMl6UWM/C6Fm6kI++7IgwhP9kYkmpA0XIVFTt2b0gXiiAetK3S0A9feWsPHcJY+rn3dg7lRJgE6s2W9osUtg62ImA9Uu3gDAuCwYQ== 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)(3002001)(10201501046)(3231220)(944501161)(52105095)(6041288)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:AM3PR04MB1345; BCL:0; PCL:0; RULEID:; SRVR:AM3PR04MB1345; X-Forefront-PRVS: 05961EBAFC X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(376002)(346002)(396003)(39850400004)(39380400002)(189003)(199004)(6666003)(2950100002)(97736004)(2906002)(106356001)(186003)(16526019)(48376002)(316002)(47776003)(478600001)(1857600001)(6486002)(68736007)(50466002)(16586007)(110136005)(6512007)(7736002)(81166006)(81156014)(66066001)(6116002)(305945005)(105586002)(3846002)(53936002)(25786009)(51416003)(52116002)(76176011)(8676002)(86362001)(36756003)(26005)(386003)(59450400001)(1076002)(8936002)(5660300001)(6506007)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM3PR04MB1345; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; AM3PR04MB1345; 23:HqaJV3XnZKhLK+MCEAWgea9hko/oAYPIgU3M6ZKT4?= =?us-ascii?Q?5fh4U6OrHrmn9C5z2jiARf0Qr0wRkZz3PbiUvBIlYzoCTHDkQ+Hu/fcd5s8Z?= =?us-ascii?Q?UaZjoUilVSAwxiiWWekm37lYOPOud6Klk+PVVKxtc2TDN5/Vg9LwzR2bH1nh?= =?us-ascii?Q?miK65OOVh1bIP5nNZoUyH3MzfdhJup3VMkjGh/ItnxJRVFRAVDl31atX9BNq?= =?us-ascii?Q?T1ogyWJJbBiDiHb4GK0Ai7/va7aoMflHWAuM9j9bxrC4HmCfjp/043HXT2Mo?= =?us-ascii?Q?F61T/NRRcweEEyrMObqdTsxyrrkFKzhp4A6+P5iPdT+m523JzXzyipP4GICD?= =?us-ascii?Q?w2xYk08ZgIgE0FGEJki10htes+E65EHf0jaFzX0k3/L8B4GmMdujgKCZwnPz?= =?us-ascii?Q?5dYZlMS7AyDBVZCU79S68EastbFZJ0yXV4uCtOTqkOnuTbIBKjHdk10uKfnA?= =?us-ascii?Q?rrJ5AUz3FbuQ22VUS+9IRxkhjj29a1NtVq+t1NbQxSvQio8Oc5nX037FQd2q?= =?us-ascii?Q?82ob9QiSk79N4DeEd2ZF/dtehPY6PTiQTI6slLelB4N/b3+IWC/MIjlfRCqA?= =?us-ascii?Q?/jVL9ige60A9Q5I1HZhRaF4cb/neEz6ZKlw+SXQLAvMxgAb0Eaxoz0ZUKBAc?= =?us-ascii?Q?AnP1fCK3HjTqRzV4sCQMHE6t1VJ/Czmah3RT0Sv2U9aNISF+whuMeP72gzwi?= =?us-ascii?Q?HOpfz1z0DtC8a/zjv4reI3KDZg48G+85KQaP6f0FTWh23pTSxHgjqEIhICl0?= =?us-ascii?Q?vvOp6gQhifcIqnIL29fo1W8MQ7BaKofzqffJbkY5Tr1dfCQhGeEkCTFDHOv/?= =?us-ascii?Q?31hilY0qhnG2rtDv2zSg2BgkgBtfJCjx4n/62JPcmI7GyUPKeUOQ1UJO/w8+?= =?us-ascii?Q?GmqWTI3CpFzQaQMAbWmpk2Vl8ctufpgKUM78nKWVj2LTO6TarAUFFHesTqhU?= =?us-ascii?Q?xPiLOpc3wZlmFxQTSv/m/DoGI0QJuxSaQj2fW39YXH3b7z/JdqfS6Hp7E441?= =?us-ascii?Q?yR6SYvpR2Cq6s5bcDPXiFsTN/KJfOP77U9CW/uIg9r1H+OU/C1FUmwMMgbpn?= =?us-ascii?Q?EcS4NkcoPeadvl4tvyJ5M1rdMOnyQ0st+mTQy2JrcGuCONnCxE2iLpqk2AM1?= =?us-ascii?Q?+VCZ8AnlvOIGODxDX33xEMN1USHiwGi71ZcOOtz7XP7T+1ERp4wHg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 6:g5HCG/2X0BwiGJ2rScVAhDpTlKxWNPp2g+lPM0PGh1UYXJ5rhy92X5MLDjkgpu42ACWa1FR54IeHMf/AhrU3Te5ml/MTpoRfeAWgSvM43FTxbPYopXdDkiYwwXbHX1gArNnJZKJ0MdEBRF/W7WJZb6rGMhLbWSLJFl8shm6ooIae+8KEjPqBG6dFitXfFMkw+LaR3SltEo270ik0scYFzrk+r79LeI6j5+Gs2iegPbyvU0o3fxIkNCLbXK7ve2I04ZV9IdKfejYWCoaNMt4aQR9ITZj6rvE5L9RsVw0wz/A/3PqPt253+SB9ODOGvdoHl9ibLXaS51oXH5a2Xkgi7KxeIYX1DOJcpE7eqZRW9AA=; 5:0EJ2hC1DuldAyoKK0YdCwfEeEfVVCUDwHsIgQH6m+Ry17gfQvaEKw+FbNsy5hnzdvzkgjIJXiTV/qUbWotafSSZAjGdcFJACnX2enlcB9C9TD2K5QGzzlScKgpC1RcXZ0UQm3HhrBYXz/2VvpoZ69BJN4AFKz95svE44QOqiYKs=; 24:ZWHYQ0z2OGYgLm7E8i9z9t5uE9arxa3TphDjvzWZqHJfTU08jR8i0Mqgt0RzHuCszyIli7GJ5ywaEvWJdu2XpEw84BGS8UEa/jkzhD0ZM0s=; 7:nejZgSKF2v+V++zylC+ZXK/VV8bfHKG1nkVjxDWAAEqP56uGo3lWo/96EaeDzWKHvZIZVdPThyHez5YxgsNsyZ4WWNhQ1mAmV6tlhXeof5LbOHmeXXgN9902XiDCxBBJnM+v9A+Vp96RK0OpzDXLrAeguePJ4EXynDB00xAZeAYCZNjkJg+lsIMOlpS6GDDX8c4nwCGsR7o3eG7rsPjWJYNjB6EYRfxbAJjyv6TfFXWjqHlCa27LE65k40QR2yD7 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: silicom-usa.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2018 19:17:29.3374 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93a5b039-4b69-492f-1119-08d57e16bf0a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: c9e326d8-ce47-4930-8612-cc99d3c87ad1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR04MB1345 X-Spam-Score: -0.6 (/) Subject: [SeaBIOS] [PATCH v1 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 Reviewed-by: Stefan Berger --- 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..13ad821 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 value =3D readl(reg); + if ((value & 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