From patchwork Wed Mar 3 11:55:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 1446794 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2001:8b0:10b:1:d65d:64ff:fe57:4e05; helo=desiato.infradead.org; envelope-from=opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=desiato.20200630 header.b=SHT+ut6n; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256 header.s=casper.20170209 header.b=pEzZg2mv; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.a=rsa-sha256 header.s=dkim.wdc.com header.b=YSYtBSso; dkim=neutral header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-sharedspace-onmicrosoft-com header.b=mMe3j4Rp; dkim-atps=neutral Received: from desiato.infradead.org (desiato.infradead.org [IPv6:2001:8b0:10b:1:d65d:64ff:fe57:4e05]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DrN3W0m3Sz9sCD for ; Thu, 4 Mar 2021 05:35:35 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=kfsvQHSQGmyL5oGluxoY8QYGzdkHdidR3+XHcJHhNT0=; b=SHT+ut6nNolLo3JXtSZK1izzc uWzxRwTF+a8767z6PVHsgBEwCLshjukJLRI68hxPSBIxBpeUuGeE6FuHXknkHZ/E/1H/Xx6T7G6N3 U6Zu5YnFZJobh/Wpby97i2lczIs/APojWWTn1kbi7n4eXQrhq8uAhZpXRqk/GX0mazjHDsNqMrA+/ MBNj1vDs2Avf85hepqhR712LqgHoxCmM8MwmCx/VmSyXhVPVpKYbH8oYLG8YzWdwj/X8POiJzwcdX ZMLEFylvNz1u2i/+CdU5CWvW4p7Ua5aP3y4B3fPHha52rINhmZBHW8eljce0zxQ8v/L9Jz9cL96vQ xk5uIfxyQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHWLG-0062WW-Fo; Wed, 03 Mar 2021 18:35:26 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHT0p-005H8B-Lm for opensbi@desiato.infradead.org; Wed, 03 Mar 2021 15:02:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=4kzp+yQl7FMyXz7KWG55V0BeMULdaijDioumDameak4=; b=pEzZg2mv0slxxSf+2uHAoIXVyh m79KdiwxSMjqxrgdLYcgoRxa2R+kiRMV0+0u+dNEVwm+dR73+tF5AKgfS7P7HUdiMLQJZKBkFud/Y MezFPG80MsKqUDRURpftmmWCB83jaTMDk4jadgEdChn0YQL9TN+uZf934Zbldu0rjO//4BWFUchSq M5Wybrwz7QzlLL+AI9aswR+roaLqTWRw9V3lgELXk16jOaeFgYW1NcHk5wBfERA8yzFFpWeqnL6sN 05sKlOL0Pp9sRiDOdfcd22WSY8n/+HHP5vOHykTkWQgFHb7dD/R/B6i8yh5XSTm6URD+gnYNGRpSn wCkoLPBA==; Received: from esa4.hgst.iphmx.com ([216.71.154.42]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHQ8R-002Rgx-FV for opensbi@lists.infradead.org; Wed, 03 Mar 2021 11:57:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1614772667; x=1646308667; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=ZJPyKesIonvsQGwkw7HwrlBTwhjt6pgwnq26KVaANxo=; b=YSYtBSsomvPJ24P0nN3t8+qKNDDSfcn6JslDsFrq1ZBQTzgG4SQZe4FY zSayb4OxE4jlbnWpAUdOHVHxReFBbY+fV+MLuelNITHvxsPFLwPnq9p27 4jR4IOkI3jwC7a++zEg7Bdbc2GiF2GO8XZaQvQTChERbladtrHXwSEgoT SS/QgQOCvG1qoT9fwsfOfOQb6I355jaajAmO5YqnzuFwzGHvNG2T1IdAH 452DoywiTVPn+ZBV2SkocPrWj5sAbTOmiaAURCjDBNipy1Bh2QZDJY0GQ BTNG6mvVqbGUCZGe3GBSnoBHLKNhTvvAzgNBjxY2TJB1HqhVuF06mz/aE g==; IronPort-SDR: f4I/pdVQUaS9DPyQLt+y26WBUo51MXiDxlX25xJ+8GKywcPMXOZ6ptZk/NOe4dtyXoLxBWW2I4 N2oyHWVtKxQaTdNXHd+9Gp/HBD0woQnU6uXB90pisa1cl90FbvAeWk1a295dUS0GRhrqCefeJL cfc271Kqpomy74QcXgyyPHU1MWtcsJoptD0yxREfcJPsyvh4j4ODDzOh5YcOSXezoVdbcWHWZx Ti1zfQAypNilvP9C8zvdOL3rUTx8ijnFYm/GtAICRL188SkVNn7KA6hu0OFdUtM+jF9SIhi0n8 /Ok= X-IronPort-AV: E=Sophos;i="5.81,219,1610380800"; d="scan'208";a="161237795" Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169]) by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2021 19:56:47 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C2G8i8kNZtH6CodytFNI5mYPbo8nqcIhmQFmWzRBf2cY9+IQxLHXN0FSICC4/qOrQjQIqgwOJ/+dIQ5eSLy+k5yoMRx3bLEaByRar+iacKLQhn6S9wyUz/Pe+9F/1pIL59fW4AoWSLOoSRK0GDQj1wZewjHJca26lmizeBOEPnGLWXXBD3fRvHFu7+/ne/cF2Oh5sUQ+q5R0lnEh4AkbC/SuTMNSR5g6GdgllXRKxb5ge2NwNgYRUnSplkUVf+GaFDxcHNPb6WSdssIDGI5C6JbPU6OpQlUm8ELB3R5A9kPsq76vRXeL+BAzLXLSQ6x6MZ1mjFMQ47ULxqfA3IpXlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4kzp+yQl7FMyXz7KWG55V0BeMULdaijDioumDameak4=; b=a2rrJ+aknBNdhBjsciaCGyD7LkrCfRDK0pdJGlYp3Tg0XG4Jc/1B29IdWEaXpJcyQ4tLy7RmxoQPwNo4RqBXPQ9GEXWs+icSQ4no4wD8p4nJoLjjUjsZw8TcmQPWRh3FBcZgwgdrCrXPT3BD6WpsLFeBoGMnj5TIWs9aVoawyQ2oYFj6/tMF3+zwU+2tnSkYZ3yszrB9A3kdFWkhMm3PB96WbdrtZpOQrYnpnu6eUMrDVftqINKueKpItFlH1DHZaC/cJcb+8M58ONrTsxx4c8ukct7X9WFuWknXAbl/CkviTvjTJBtLdZlbFOpJNIVlaDBqaYBKKLgjdWs2BgN3RA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass header.d=wdc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4kzp+yQl7FMyXz7KWG55V0BeMULdaijDioumDameak4=; b=mMe3j4RpNDlZOvpIe0NOb1tUSj+7WYh+0KolPagLT9bUbGk9Y8BvuxMcJtBbkXelfnLLzNnAPX7W7noPD1wmAL/dpyy3bvOS0lM7H3SCN5KBzfYTh5Um3QuJLvhG+9He3XHCwNXpp/QX6BOwISFrBkfysRxJ8SIwhE8IgNBta3k= Authentication-Results: wdc.com; dkim=none (message not signed) header.d=none;wdc.com; dmarc=none action=none header.from=wdc.com; Received: from DM6PR04MB6201.namprd04.prod.outlook.com (2603:10b6:5:127::32) by DM5PR04MB1148.namprd04.prod.outlook.com (2603:10b6:3:a7::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17; Wed, 3 Mar 2021 11:56:46 +0000 Received: from DM6PR04MB6201.namprd04.prod.outlook.com ([fe80::38c0:cc46:192b:1868]) by DM6PR04MB6201.namprd04.prod.outlook.com ([fe80::38c0:cc46:192b:1868%7]) with mapi id 15.20.3912.018; Wed, 3 Mar 2021 11:56:46 +0000 From: Anup Patel To: Atish Patra , Alistair Francis Cc: Anup Patel , opensbi@lists.infradead.org, Anup Patel Subject: [PATCH v3 11/11] lib: Remove redundant sbi_platform_ipi_clear() calls Date: Wed, 3 Mar 2021 17:25:12 +0530 Message-Id: <20210303115512.470786-12-anup.patel@wdc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210303115512.470786-1-anup.patel@wdc.com> References: <20210303115512.470786-1-anup.patel@wdc.com> X-Originating-IP: [122.171.215.70] X-ClientProxiedBy: MAXPR0101CA0040.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:d::26) To DM6PR04MB6201.namprd04.prod.outlook.com (2603:10b6:5:127::32) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from wdc.com (122.171.215.70) by MAXPR0101CA0040.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:d::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Wed, 3 Mar 2021 11:56:44 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d89d5eda-67d3-4e01-adea-08d8de3b6b5f X-MS-TrafficTypeDiagnostic: DM5PR04MB1148: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: WDCIPOUTBOUND: EOP-TRUE X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1XQxRFLoOYBn5mNs3lLnGbcWxcb41sFHPalLVlcesaVVCfvw81QgpQXOfwc6FuBuwvsC18Ukj4A7V7FgZjFB9ktUu4rQadSrsDcF451Dfa5Pw2XlQt2BpFSrlUI2RRio7HwI5v2MWBAZKuFIe4otHgVsOlxhlyXYM0IOMkfIyeM7NZ2ddAUWE5VJZzj+hdkGVHq7gizJdZ5zHMq8Ab6WTlmJzIYeOS4tMu5HlGf/2j9BEpGp8zJEbsrADSR2kU9zX4aPfyukWI6YuWMCHo15QjgukuPnZCzvPq+Rl3XkRs1NW79axoN4Spa3EEx4pHHZqPLat4sRuRT78bkCG+zS9lRcuZqPx4jd6bQAWAfe1Ix4UPTyOPKONMfeZbwdxCDYrfr/ur8MO25MdVXF0bdeBC+MpCIavTgyprgPN2mY7eHKOlnTQzBmD3jtHDhJhSWS3Vuh7TM3/kKoqYnw1L/dHQEsyXrc9/SbxMz7GyC3Z2TpH4ImV9XOaHmjshCWkHfDPLlDdR3QLtvA6xz1ccvTbQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR04MB6201.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(396003)(376002)(346002)(136003)(7696005)(8676002)(8936002)(1076003)(86362001)(316002)(478600001)(55016002)(52116002)(26005)(54906003)(36756003)(6666004)(8886007)(110136005)(83380400001)(66476007)(66556008)(66946007)(5660300002)(2906002)(16526019)(186003)(956004)(4326008)(2616005)(6636002)(44832011); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: k3HM6QApUMFQ2F/oIewQqhnOHMK7tTh0t44FO5pIcLTzZlx0aKw4iC05LEQTqyj7Jm96w5761WF31oXY9Ndb4tRXUmxSvYVtGaE24xZpXi06QTSWR3vLjrzErheeciLSeqI1t7vLACeyqb6+xrCqZ2HFp2sOu6VWLGUNrK42VywJhsO4X89cXLmlbBIgExR/QZ3VVFO9i0V4nf9r0dZC+Z7VaPL/NPBMu0jJr7joZOUPIxZ2s1HNhc6RSm5z5BF53QRMcXPcQcOnb0rUrUsO33QevLA/Ts59AUjH2cUww2zWajKywsJ1W8D1dHN6UP33xc9009ibXkMt1RL5DmB+tg334d/Ben/wIpgOtUhkg1a2K7KIw0IE7ikW7IGM2mtLfg0i+yjkWugJKBrUcKzcsfdNPWYwf8/0SzHFJKacLeENuCrvdMuaD12EuEdAuUEDHXL2ifvaD8/5gjZTX35oBYEq7CqCYkFzPVMfP2KR/IM+QUSdzvdHlcV77phpFaA8yPLG1GQrnF99U8dq0GbpWNze+aLX4A/jU58ItgOTlLOfixlTpOX7kaSQ9JwxMX+UvLy+eY2qhMOS3Sg02+lP8KD9aFLDvZ2s8OVj4FOzb0iFlDok1zWWqBXGWAseT++auuoUd+bH2NiPFxdlbfrxEJ+c8YTu/Uegqx3Se0+FVpgC3gxs0r20lMQH+yDNn6llE1N6wglUVIVwZTyxRmJAY964Vv0P2u/Ww/MBPtWRWVlygU52SCPUPxE2VWHp1T7N2qKaQ7xU5B3A70o6z8zAF6ReoCESIqekQpSlLy6TLMFpvHfUs+JKidgCiqqfaAmGD2tq5DfS4wBEbZLGWsO2+/r6OT+U4hIEh8UD9BmlXc0Zlbb+tcxDYbvReS1Wv80JteQnQ5F0G5H9sHNRswIRChUPSO2fHPtLMaJxNys2Qv+Qhef8M9dYThwDyojV7XIW45o5kSvruWuPWcTdmEIHXJ7auX3OKRAYd711ShbILw41tg21Aq1efwWS07bD2AMc8ROv02IwUqz4ZKtVTXzOebMcQOrLVDJg7eiF336oE5ynOat68V3dhBmawzXd3SX5/fn9O98uyH15kTunz8HMDgatlDX+KMqnRwoXhgbBvsdEwCpvg9zJIXkQ0EpftLmtmGcmV0lX0wyM/DX8TvD8mtskHG3VFz/th9FQXW6bK6PPIa6JzjO0JaWeR3RoXL37O6ZHDrOV6ITK0B8XpJkbp0jOb503xaRqgX+7MQNSAjR/4uZEeWqF4wMpQIFZjkre47mxK3IwLdXgMrN5pR7chE0OCPDibA1vFMrDasBiWdWebiFX2ld6asLRB2XX6No5 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: d89d5eda-67d3-4e01-adea-08d8de3b6b5f X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB6201.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2021 11:56:46.2901 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KzIS3uQbzsbZnPqu0O3FnIIukcJBylARM1/+4Or3VEuDgdV8glIpQ+GTxCV0PmYQiZMXJej9tOQfBJOknNer1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB1148 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210303_115749_970897_45D552B5 X-CRM114-Status: GOOD ( 13.88 ) X-Spam-Note: SpamAssassin invocation failed X-BeenThere: opensbi@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "opensbi" Errors-To: opensbi-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The sbi_platform_ipi_clear() called from wait_for_coldboot() and sbi_hsm_hart_wait() is redundant because IPI will be automatically cleared by sbi_platform_ipi_init() called from sbi_ipi_init(). Further, wait_for_coldboot() is common for warm startup and warm resume path so the sbi_platform_ipi_clear() called in warm resume path cause resuming HART to miss an IPI injected other HART to wakeup the HART. Signed-off-by: Anup Patel Reviewed-by: Atish Patra --- lib/sbi/sbi_hsm.c | 7 ++++--- lib/sbi/sbi_init.c | 11 ++++++++--- lib/sbi/sbi_ipi.c | 5 ++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/sbi/sbi_hsm.c b/lib/sbi/sbi_hsm.c index ace6a9d..bbc4ce9 100644 --- a/lib/sbi/sbi_hsm.c +++ b/lib/sbi/sbi_hsm.c @@ -107,7 +107,6 @@ void sbi_hsm_prepare_next_jump(struct sbi_scratch *scratch, u32 hartid) static void sbi_hsm_hart_wait(struct sbi_scratch *scratch, u32 hartid) { unsigned long saved_mie; - const struct sbi_platform *plat = sbi_platform_ptr(scratch); struct sbi_hsm_data *hdata = sbi_scratch_offset_ptr(scratch, hart_data_offset); /* Save MIE CSR */ @@ -124,8 +123,10 @@ static void sbi_hsm_hart_wait(struct sbi_scratch *scratch, u32 hartid) /* Restore MIE CSR */ csr_write(CSR_MIE, saved_mie); - /* Clear current HART IPI */ - sbi_platform_ipi_clear(plat, hartid); + /* + * No need to clear IPI here because the sbi_ipi_init() will + * clear it for current HART via sbi_platform_ipi_init(). + */ } int sbi_hsm_init(struct sbi_scratch *scratch, u32 hartid, bool cold_boot) diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c index 1d4a838..4de2dfa 100644 --- a/lib/sbi/sbi_init.c +++ b/lib/sbi/sbi_init.c @@ -130,7 +130,6 @@ static unsigned long coldboot_done; static void wait_for_coldboot(struct sbi_scratch *scratch, u32 hartid) { unsigned long saved_mie, cmip; - const struct sbi_platform *plat = sbi_platform_ptr(scratch); /* Save MIE CSR */ saved_mie = csr_read(CSR_MIE); @@ -167,8 +166,14 @@ static void wait_for_coldboot(struct sbi_scratch *scratch, u32 hartid) /* Restore MIE CSR */ csr_write(CSR_MIE, saved_mie); - /* Clear current HART IPI */ - sbi_platform_ipi_clear(plat, hartid); + /* + * The wait for coldboot is common for both warm startup and + * warm resume path so clearing IPI here would result in losing + * an IPI in warm resume path. + * + * Also, the sbi_platform_ipi_init() called from sbi_ipi_init() + * will automatically clear IPI for current HART. + */ } static void wake_coldboot_harts(struct sbi_scratch *scratch, u32 hartid) diff --git a/lib/sbi/sbi_ipi.c b/lib/sbi/sbi_ipi.c index a3a6ce6..b50735e 100644 --- a/lib/sbi/sbi_ipi.c +++ b/lib/sbi/sbi_ipi.c @@ -230,7 +230,10 @@ int sbi_ipi_init(struct sbi_scratch *scratch, bool cold_boot) ipi_data = sbi_scratch_offset_ptr(scratch, ipi_data_off); ipi_data->ipi_type = 0x00; - /* Platform init */ + /* + * Initialize platform IPI support. This will also clear any + * pending IPIs for current/calling HART. + */ ret = sbi_platform_ipi_init(sbi_platform_ptr(scratch), cold_boot); if (ret) return ret;