From nobody Thu Apr 25 00:22:28 2024 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 From nobody Thu Apr 25 00:22:28 2024 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 1519759103537631.0742365380315; Tue, 27 Feb 2018 11:18:23 -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 1eqkmu-0007ei-Lz; Tue, 27 Feb 2018 20:19:44 +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 1eqkmh-0007bg-NP for seabios@seabios.org; Tue, 27 Feb 2018 20:19:42 +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:30 +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=cOHAD9D8QD8TCRL0X4RArORXL6nzQMLqAOklCH7nppw=; b=gzZ8sVoih7/PapwC8eSRBbLcd4MGt8P/UDkUiBwGNqNOJU8CIlznbumK3muPgiB0HPxVzQh7mKxsES3YgKuQsvtq19YqyPsbJHNEL/BMPEJaOgtcoZ6mnGVYA43nYSO8P0ypqbmU/mM8OEEQwebcKnCka/7/+ydljFoFEGiWOHY= 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:10 -0500 Message-Id: <20180227191711.1943-3-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: 6cc9437a-9714-4fc9-f6ec-08d57e16bfcf 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:6E5BvKY7ntt/w20ARhTZzorURX8sTCF9hr08Oi40et6tVBNNuIM+9EJLXFPyvuH3HkYhfaUq/4FIHcuX2LMY1mgzYvIIpnWYQX4bMRU/+Gm5EZKrm7+YO5OXTleLSEu9SGGGjEZPevOJaePDnTWU5BwEb9l/3but5Mhi5T2HPgb3urwmKmgUCX+8gHz/KZRrH2pIFBkDaGc3HbnLctba3lZM107U4WomTk7PTsRuMgWdAVeO2LV80Ln1dJx9HX3R; 25:FEzyRTHf7VzAp6M/ZgArDoVX/WfxecJZB3ZxycDatv7P5KFrXbRwHUeSaF/ZZYKS6iJS4Ciyk+imTdVezza+xvXm0PAQ9unl8zmlKr3ANFr9xbpkBUKjPtio+QDMFUNwMROktrAcVmZRz6k+aGJdQmTggSyiIhY5PX/iOAQ3hwozQLSosHMjuQHJISY6xe9dcKo1cFmVQJmEmbk82uUCZZR1RBkkgEewyAIfiI0Zah/YF3Hy34+DagW0uMtYtg2lAvMvtHiBYL4o9ynhw8TSFPgNubtCWSE/Te7h6YG3NGj14n7TPB70xXaXq+rm8PCWTN89/DQpYyexSxHlRyQkRQ==; 31:oHrSQCIhFHpuJrpiZkDMSjNKRl4j3quHNvhY6k6a9Ho3WhLIN9Ub8s+UqryJz9q+4reH95AEQbZVS1v0UOtmbprZVKCd7fvQ/L0t+8OSLYKfA7hVueTCp3pGqZWEVhHvT+EfdaCVf8fbaX547skXh0PFPsl0jk/Feq5M+/89AWn/RA7sKxMumcAiUIR0rNUw+/kY/CCZVnVUDuX8NrnEddwfdX+N83Vqbr+HBVjxcVY= X-MS-TrafficTypeDiagnostic: AM3PR04MB1345: X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 20:A84+d9Da+kFo4nsphQdGoe3rygSHOgDcAvR6n0+6LlGF2omVCmpmDO8XvLafCi2khaSFwsS71vP4YVo7oCSZgTgnsIVjd9hvuPFheMLxFUVXLP0RlY/8aVr1QmSfvWzELfh+bXcqSciefatypOqWN5ZjrNTYfY2Xkywtv1WoKLct3iV5jilWUJIY06/NPd7cxn5bnnYCiuurmQLtQt5fR7HVyJaxQPZY5JADbBxstb4rBYbR086ijxJSZwEmqELTxNlho1655yhUl5Oe7wWDoKcdisvdJGN0UgHEOoZ9kx2N3QXbklAKMzD8nfcaOAsdC4oqSJURtId70Qry75PZFivnZS2KGmGz4biykLX7lSkUIOXefHLyMPHrdHjr/VXdVM5T2sZW6VaI4C0Gg04XBX+wa9xml4TTynekwBJKva/5v0hjaRN77C7LxVK4IXIEoQ34RxBCmmG0goHrP8fXL0C5r4NvTydrsz4JliIMo7mqSfIKfDQB8JY4LrQcvUNT; 4:F2H1vrFDMsfyb4cvMTiotr5gxomadla9J2/3TMgR2FxsJLT/r9DhmgrSrSP1+WrryVOEawWU8AqMEnyiM8Nd6GXlW37O/LzPRaIG5dSvkWzE1HWJOiz6/GAr+7xrX2fZ5ICVZJz/znp3QPwyuioMoriO4qBgdN7Ab1QrJkO1iaM+cK2cNfil3PWkLCa4lgLkIZqHipNpW2sKlUx0ZbkEwIaYOiN/ktIrwMQbtGz5rKB8xG3u5QnKZ3IPZB2X2pRL5N7NfGHtgYd39sdW9iH9eg== 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:MBXTX+eSWK0tLrHN4WmAukCcCJeI653aHHbILvWc7?= =?us-ascii?Q?+0Qzy+zyK5MW1qj9IqRxCRLvjrJBMFN7qkv5aB9l6ncwTN1eJKBCL4D+ho2E?= =?us-ascii?Q?NDY8U4p72UFVJ0pCiNoOFEFfp6ZkKH+Ydivd83ysX6svMebQsQb3F1MbXry8?= =?us-ascii?Q?uFX32zDeedacPXziqw+6lGshMeu6bc+OZop8TOi2i9ZoXxJ5M4LNBjqwVq/V?= =?us-ascii?Q?iuasvD/hMfutNA01W401w/Vmf5ZexSI007vhtSsN0qUwudgVCJI20h5zayDj?= =?us-ascii?Q?j/nxDJbPYF0oW0FZglBS3h6rFinV60J3zdZguuk405MwSo6k8BMpA4ekd3tL?= =?us-ascii?Q?4PGsmf996S3EDD3Is/55o9ZhzPdPmdsY5Reb+l4Z2KR6OiNq9iGZS6MRXEgz?= =?us-ascii?Q?5JfXTaAr7wjbgNTbkVpjBJ+Z5C1eIA5ESPTgH0PGvLkOSQ8oWkDAQc4NlgdF?= =?us-ascii?Q?1qDc2O0ldThM2b5Jo0TxjbVhSx7tXzCOOnFduO523p9z1KoNGxbmwrnZQs2J?= =?us-ascii?Q?2hENpmhlQpsGrg2N9gQ5nkoXMrtYkeCBqvm8V/1+Xg7WdZZFkYCMesXkKsDT?= =?us-ascii?Q?pazXg1/LG+LXhOXkCH4up2+zgbxHDTXG9ZFveYa3ygPVVUF0eF+Phh3N40J5?= =?us-ascii?Q?3eaghv+CyVoUhOFZRzMwaTT4dnsxbTlHdYNoebCTSiVLT3epf8a2roD1xDT7?= =?us-ascii?Q?dqdRGo/UU7i19ajmqWD8qaFEADv5Ix/1QGBrLeEFI+E/ECeDwN6xfY3SkaVB?= =?us-ascii?Q?yFervY8VN1nra0K0lsB2o5/9BIGD3kYj/fq8x331xaoGMYPfR83IX/GJ1LX2?= =?us-ascii?Q?1apCl+KsJrwhomTNz/ZyYZup1xJhvkid2JSiJAQjOl9S9njPgWZzbkksA14A?= =?us-ascii?Q?j4bl2e+A0AXRxt3VorKQemdoT3R8Xy+KODAQsdkDloABK0fmszGLdghU9cI2?= =?us-ascii?Q?1TGnu2jTh4/44mhiY+KAcuUUWlALlEF9AqA3zNFz0RbmIrr34S8M9f4H22SW?= =?us-ascii?Q?nwxZZlU8puf3+JQPwoOKYJ5HZ3j/jj+u+m6zh/N4WiMSUcX3CPyNRNPssgHj?= =?us-ascii?Q?lNopJ43ituByMKyWY93bJihfE8CW8teATyvKhWSdAFS8iWfrnJQs8fweoUyd?= =?us-ascii?Q?Ilq/tWgNS+sugfMGvcF0pn3YMbZ229+m3K9oINqaq2njCvb8jW/ow=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 6:yAqZZ/YLNBkssqtoS31641r9kfDfzTCy1QjjEZ7Plh5qEqqA88dJytPYftHSDiqjU8oSJE+jZff3wfV0l/Us6JC2xifUxspVP/3Jtyq1RSK0SeBbZIQ9f5pxzmRdZgaRTPaTz3lm1aK+6r3o9NJJyfr/4h8AJm/S0XCE2SSF1z8cZKIVjFp6zysKxHKX61RDfCk11Zl+XULVDscetxdEsl226ylELWvYbZbtgfiqfX77Ih36bmwTvvZW5PmD/IB8o0TchUIiocCa1GVck/Ujlmt95R2gnOnz4bz9DYJX50FkPi6JszuTBOBgm6isAv77xOOyPo7oXLpneXZsulQOHablDfoCU1HI4Y1qcGcGfis=; 5:6XZWVRPk+EZI67//+YYaFmcs9Vwi2UNg/VxcxC+A+1c4vs7FklBdXdDtP92tLUloS2x92Xvrwak2sVCpakmWvJpSzzN+pzhp3NNM2/qZaw9m07TJDKK8dBBwBxEd7ahBt+qsVmf4LMvhkQ8c0x/5m9RZnoIgqnCp60fr9Sjzqjo=; 24:z6eI5Ikk0Idl4qjXNv7ZkvfpxQwihvcNdWIej/BCcvwAsHUMQ3h5Dsn6h8HpVCiVSDPqLqlzIgoYsqg41JYIg2QbonCUdSbAkyj4lgGTfGo=; 7:wSEHZUISHUQnTh11jTGemGLivDv2zYZd9K+HgRfPq1sBGNe7YKD/Syg7CD5p7A8ClRRoiwu4onsMceDlfRzaNgCggNXUct7wmu3cKoQG9cIkmevEu+pB754cNIixIRHUrbskgzyTwgBuw+dak7Ll1Uaqp7aMMuqk3vi5lMsmh6x2+Q76BQXrHkKpSUT1ELt9/UQABVgzu6bkPY1kmIYoYxH3FiJCIOB1tN+noOwjstYA5WIPV6yDBidV+bBSVpFJ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: silicom-usa.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2018 19:17:30.6656 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc9437a-9714-4fc9-f6ec-08d57e16bfcf 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: -4.1 (----) Subject: [SeaBIOS] [PATCH v1 2/3] tpm: Wait for interface startup when probing 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" This is based on wait_startup() from the Linux tpm_tis driver. Signed-off-by: Stephen Douthit Tested-by: Stephen Douthit Reviewed-by: Stefan Berger --- src/hw/tpm_drivers.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/hw/tpm_drivers.c b/src/hw/tpm_drivers.c index 13ad821..da8bb63 100644 --- a/src/hw/tpm_drivers.c +++ b/src/hw/tpm_drivers.c @@ -86,6 +86,11 @@ static u32 wait_reg8(u8* reg, u32 time, u8 mask, u8 expe= ct) return rc; } =20 +static u32 tis_wait_access(u8 locty, u32 time, u8 mask, u8 expect) +{ + return wait_reg8(TIS_REG(locty, TIS_REG_ACCESS), time, mask, expect); +} + 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); @@ -102,7 +107,13 @@ static u32 tis_probe(void) if (!CONFIG_TCGBIOS) return 0; =20 - u32 rc =3D 0; + /* Wait for the interface to report it's ready */ + u32 rc =3D tis_wait_access(0, TIS_DEFAULT_TIMEOUT_A, + TIS_ACCESS_TPM_REG_VALID_STS, + TIS_ACCESS_TPM_REG_VALID_STS); + if (rc) + return 0; + u32 didvid =3D readl(TIS_REG(0, TIS_REG_DID_VID)); =20 if ((didvid !=3D 0) && (didvid !=3D 0xffffffff)) --=20 2.14.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios From nobody Thu Apr 25 00:22:28 2024 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 1519759112533909.3447508572405; Tue, 27 Feb 2018 11:18:32 -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 1eqkn5-0007hV-Pg; Tue, 27 Feb 2018 20:19:55 +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 1eqkmt-0007bg-8m for seabios@seabios.org; Tue, 27 Feb 2018 20:19:53 +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:31 +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=lvtXZrN8Y7e63hm83+bvhHVXJ/ieUS1b5X4S08R/T3c=; b=3ZrJwo83TBODiCxDzmM+b6pP2tWR39Gwx8FWrdiDiVsz22kZMTzBT3HSNYHdxbMKNULzlrCWBh30aGxAJokxLyPOBUh4U/TA3xPPsG3yT5me67QsFxtqBnN1KLSw2cUzKkYSSo+eP7L4hvWekeU+Tj7ahAeS6/E3K0f092efg40= 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:11 -0500 Message-Id: <20180227191711.1943-4-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: f4062be7-79ad-4a2a-663f-08d57e16c09f 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:7ndBcIuvGcjzigF2c9FOiyvJlkUZdHulqHqSBL4OE698GyjFAMrp5+ayG/+CuKlzvLWxqv/H9axJDRkZACwqOwC4GR0DFpI4KSpw9ZrmLzoyoWdJm2+DP/6D8jZBGy3goJr2h9MFq7Trx6SKytY6y70Rw/F3BywVfxFO2EsY+uCpWcgvfPKATDcNr0A7f+XlW524NtJ0IbmzzPZrMl74OVRiCb10oM9+VSJ1bPhtQ7bYxbBTlMRdrk/d+6btJ5VU; 25:cCltWW04axlS6tNH6qDvex9YmbyME4t65dCqmmy5i9Um8TBZ66uFMeJPTEvDgY6m4CfLMnbtlgqQ0Zq3wsRw/IOVuoWy/Acj0vOSVaDFoHlevVDcyHupkpl0waACDqhbKf2wWLrh/ewLgULLtnbglEOZbLPHj6ZsTGY6N+jvSXZZME2gHRxkY4Y5FEKvIgPBuiDETcjF9sNadOgLEB+8IjfQTs6U4JiIqRw4rUOcpnca+AqCPZtvP28hbvzFyyMEqZ9SzMzwRGiuRocIx2FLP8kPGiydnZr73lYNPjnJ0RlYJLUMZdmBxdeCsWibyPIaV7UVXDV1nelR4LF2gDaeJw==; 31:qh/vc0D3f7z2FBk4P+rX8OLTNyMO0Q9W8h9+gafKpb0IX4+cQxKPrxk31l7/iOe2Mhp6+NNg1L6MvP30DXu7eMN1L9O8x9xfGgu1fen7ZaxG/0hTOaovYjly9eslfvjYq7qMmhNGGR0wEHwFgt48JaRwib8XFqSBM4IAAj1UMxEfxOoewZeXEg7Igcdj1YlYU484EOuklKUtdWnscOX4S3Y5H0ic3ktSF3Q9MFTT5Lo= X-MS-TrafficTypeDiagnostic: AM3PR04MB1345: X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 20:vsYCSKBTffcSd7VLpKz6rXFgCexxCeWGV7HkRKGXUqJ/qI/0rGPqZ81urH8VQ3aXbYhyMvQK+WJ0kzUIO2dibxwBzjJMq6RA/IOSvsfsMdyli77lYWKX1PopRG+t0TEg07tV/q02rjx73O4ozzkcp84n6oGPoymQW0cbzwrpR/wvAb3YhBFO9sn9ZrPnflJdE/5XpCTQAni7Iy0qYUKP2VPu8MAFbbTHIrAFmW/M4yDruoiqflSBwdzY1oU0Rey18wU97Gb2MxXQ1/HLJXnBnc9w0MHLyZwJLx9oNe4xEx/+aYW6Sy0SgFzw1syhrc2bKoMvTWiSrttkZVJt9LJnSlHf6c0hiud92PQteLwSeKIRmL5pfBRW0Aek6DfWVwFG6gkG2G/nPfHpw7ZQYmJtDNaX3Z3FziMCHsSkSScgpBFwuIcmw32iSj3FqFbxutM+/68mw6nGFH6EopcJnIOMU2QuYh7IR63zbPS1E/qVX/MoOtlZbqlyW/3JNsCBcoW4; 4:1537iY469yv5K2Vu+eChDdrTlJXD89SV2Bi1OWZ4MZnVk7WcjG9pzfMi4vW1sWdpjyfzuITxg98PgpWiPJtZDA24Tvkb/Opv9RvOYloJAgoBwxMlMOgmkrb7Pt1WDcTDD7LUT8NHxSeEqFzQbAaJG6grSQpzPzDqCz008slD6o6STEk05JGdmd9EixYWe+sOHyPJLvSvtk73cmAHkMHIsQudBeuqcMCuLnV/w0LVMECSowE4Usj6ggDW9M/cMNzAWdGZDfdqx+rikWmsfSJ/MT8jYg3Llzc37YinOnXpmZdaw48mP1x7jTtwQ6uyjSf8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); 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)(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:w9UG7h8V3JNHwpJg4ngSWD5XEnNnyy3m/IK13dCIS?= =?us-ascii?Q?04RFQw+iFSJjhePzvaDiewkMIZYphbp8pF75PlnM3cwM3VwXIxhdDvO2IjLe?= =?us-ascii?Q?6urBZNCr+/Git2lWp0qH5HYfTOM11xHX0jq7idAKxwodpzZYL0lIMm/WBd9e?= =?us-ascii?Q?EXuZsFBCV3k4Z92h/A/7U65a92ya1M7m71Ud40hSOij1WkPgTC9zcrByNpmy?= =?us-ascii?Q?d+dRNF0hM/UEi3TkX4VJjTQua49A13zDSFCw1yzuaQj3g4AuJPVpoyMzIf/M?= =?us-ascii?Q?IAto6ZDPYQIFvdHW6uKrNgZ26ajZfmiNISs1YxzK8WbDFE9hKKAIQnjOeW97?= =?us-ascii?Q?yURO1Xaax2qoajit0P1WUj0Dnv4W8fshqzWJrm8EPKpHEQLSFRe6FHRp8ghM?= =?us-ascii?Q?ijsanmhDHfAAhhKaOIqSlzf31dfQk1gdkZqNuOuScxeMf0zW8eZZn8kFqVaH?= =?us-ascii?Q?EYH4fcwTw0vx+30unLyYRNKY4KnRGUx8aayvgnCd+CR+00d/YRY0Nq3q2COF?= =?us-ascii?Q?uHp/plJJTTBHUNiOONHmSiqNqEBSkiNokNRW4Wzw5SvRwPrlx7WIERbbJdF4?= =?us-ascii?Q?DGu2MxcBcTi/toZ0VT3Uj3Gk8fJD3QsxnEvUrjQaWRBPfigDe4wFgRsV9oFA?= =?us-ascii?Q?aypC+vpygF8+69AD0oT4yX4MyRCWrp4WRzTMYfCki7cvqV4IB7xRCzAoRLDn?= =?us-ascii?Q?wctP3gX8Ro/nZZe/LPKpbCYUJ+/FcYSYTpE/h7ssj/2nrFZbsICHx1+tiUAM?= =?us-ascii?Q?wnA6XoIuONfmUuyMXLmadQQ6XQFCgsxj/guZqWiWdqZgEXlYbwTKt2RpY27V?= =?us-ascii?Q?pxZWDGkcJsp8jyoJzj3kOweviPwQiZ2WSuSxjNTSOsTeX8ysPtQzAzb3FTDB?= =?us-ascii?Q?OMHuq9Io7zdc63IytN2G5ujyh2TI6fftHJbhP/lpuafIwHKMF4LPdJ6zwhUr?= =?us-ascii?Q?w2SZ3pogLY6lgpk1hPag4FJUJSejHrElQca7p8Za66JaFquPDxpohkMlKxTQ?= =?us-ascii?Q?hULKG02pgMMx0/ZLFc9rnN6sefigaw89A7DKRMuMGHr2wwa7m5Pa5whQEJOC?= =?us-ascii?Q?mnGvFps9YGVdKknGvQYiAqV49zz5t466l7I53C3KkSIXquDWERC6xh6VR/uR?= =?us-ascii?Q?sLqwYKJzuy489x0S0AX6tHIVF2IB0Rn?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR04MB1345; 6:XoHsmB6gjv7G6kdNuSE/N892jNHsqvhfCG3YEShnOI98xGyM0eSQkDV9P4OQf+nmIFT6UT3HjW/vECJeQnrWY+U03PkcSSLhbXV7Q7j07QStJBgBXCSn0eULwjEVANPXUN7DSkaOYsJ4NWxpITi7CMq6JNyXGH32kGcsOk+FjCBlyg4RLD8tlDCH7WXaF1anbskj1iHfRCJ2lV0UAQR18Us8Bgh5HBNX6YCdNG8fX56eoDlb/TsVVzX4WH/5ACXmWHNG1xtfm1EfhZZg7BLV0r0l7UEv4x8gW8pjxVNYjR95bt73b/GkqnkJJ8ES6XIavYlCZGMBl/zzQRBcPm09JGHa3ILApISghKsFrqVh0XA=; 5:VTtqWtOQfgDGpVi+gUthpzgofI6PtElORHfcOWUvh7h7/WN9ozoa1ERPiDS7IuBhgfcZbmgElEa8XXIfB+GUTAn0wsvwodq1B6sHFdhqZJm2nS864GQAOzmMGpm+3whgA8fYAqJMqAUNgUpCoPfLo/2fgpRkTXPldIGYiHyjxm8=; 24:o2VK8c30/jn+j6NyiCyMdvCkjKtOe40m7y0vhDBca6OfCHTncag1XlYfgKW1cHl7/cjkyMeeWlgalNNlQRLVmEK0Dn/wAJSDD1hgjyiJCvc=; 7:OrLPi2TaqBaysZMCdmFCqIkto4mB6jVHf9G+JezgK8B3BTSZhJyyjSaxJtcVWtY8q5f9W5oUumUNd8u4HQAIlFErTS7GfQSha+lz5HltJuiO2se491R9ioGXeniHo79JIRtU2yYkB0XBJk2Y4hznp1VZ3C/XNu2ja7Gi7TtcJTQVljRXPPpYhWR5vs3p3a1UvnEN9hPAbL8nTIWboUTyv6KKqi4v6E3b/oymKXzgY5aySBuzNFr8mDRxq0S1Yyvc SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: silicom-usa.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2018 19:17:31.9938 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f4062be7-79ad-4a2a-663f-08d57e16c09f 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: 1.3 (+) Subject: [SeaBIOS] [PATCH v1 3/3] tpm: Handle unimplemented TIS_REG_IFACE_ID in tis_get_tpm_version() 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" If a device reports 0xf in the InterfaceType field of the TPM_INTERFACE_ID, then the rest of the fields are invalid, and the InterfaceVersion field of the TPM_INTF_CAPABILITY register must be checked instead. Signed-off-by: Stephen Douthit Reviewed-by: Stefan Berger Tested-by: Stefan Berger --- src/hw/tpm_drivers.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/hw/tpm_drivers.c b/src/hw/tpm_drivers.c index da8bb63..ed58bf5 100644 --- a/src/hw/tpm_drivers.c +++ b/src/hw/tpm_drivers.c @@ -142,13 +142,23 @@ static u32 tis_probe(void) =20 static TPMVersion tis_get_tpm_version(void) { - /* TPM 2 has an interface register */ - u32 ifaceid =3D readl(TIS_REG(0, TIS_REG_IFACE_ID)); - - if ((ifaceid & 0xf) =3D=3D 0) { - /* TPM 2 */ + u32 reg =3D readl(TIS_REG(0, TIS_REG_IFACE_ID)); + + /* + * FIFO interface as defined in TIS1.3 is active + * Interface capabilities are defined in TIS_REG_INTF_CAPABILITY + */ + if ((reg & 0xf) =3D=3D 0xf) { + reg =3D readl(TIS_REG(0, TIS_REG_INTF_CAPABILITY)); + /* Interface 1.3 for TPM 2.0 */ + if (((reg >> 28) & 0x7) =3D=3D 3) + return TPM_VERSION_2; + } + /* FIFO interface as defined in PTP for TPM 2.0 is active */ + else if ((reg & 0xf) =3D=3D 0) { return TPM_VERSION_2; } + return TPM_VERSION_1_2; } =20 --=20 2.14.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios