From patchwork Tue Mar 1 00:51:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Cassel X-Patchwork-Id: 12763944 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0BA1C433F5 for ; Tue, 1 Mar 2022 00:52:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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=ZCjlA7e38wMP+cVXtRpSz3F9tTld15RxRsHZry+mb9o=; b=hhXBQRTyUI1iaE pW0FhZP02ryE77iU8MNs16q/lhzW3pifTeHGxgCYloy50t5RHZXxxMiodWXcQnptwTXifqeE8AOEG 0nBTsoNXxWRHcuv+cZ6dyh0sxFZgSH5deHtpDRpC7oj8oGmut9RhKa/A91w73P/WLOtzF3nZ3ZrJk KTAoEF78TSljxE3Vs6DyQjPtI3Fr+4bJZfAwrMGPtJbosorqFh55pNfMTC5994wJ/dFvzZXR4fNwG fO/G0ZcRot86lS7mmN0IKVMJtHFDoo0uoCqMBZiapZxTDuaODWoeU+LOOMMPIu4XmP+RXCnI/zfUH CIQj58ev1LQqQwI+hJHw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOqkB-00EXDi-VL; Tue, 01 Mar 2022 00:52:00 +0000 Received: from esa3.hgst.iphmx.com ([216.71.153.141]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOqk8-00EXCJ-Iw for linux-riscv@lists.infradead.org; Tue, 01 Mar 2022 00:51:57 +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=1646095914; x=1677631914; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=qrqKPLNxPchuJ1SGMUt4R+/jCJnFlJ6PqjTtV/j5N00=; b=NupH1gXx3+IXhpCuzTmOO9q5E/xk1MPJEH9l1f7od9CUD3hxT2f48y8H OHTpICE8KtdaJAYaoBgWAaMHeZliKv6E9P0WnGiVkxJyXGJBiK8q2LCR4 NjR9KnUFBcmGJD4t4lPgFUWe3yvhFeYkx9PF71jcc3YF8kjB05lqON/N2 8AiX/IfW9HSYLXKM019xP617lW7LLWnfcZ/XWQ4lW6Q9OGxeE0OMGH7uP EmZ3aikKUc+DIuE4rRBrKzS/AJcf/nunHIzrZO4xg4IXInd0z33AQqC77 PT5/M6FdbCvJpW+XorovTH7/qXCJNf6fSikWMzLX+2mNSgdC/MGfUoXdu Q==; X-IronPort-AV: E=Sophos;i="5.90,144,1643644800"; d="scan'208";a="198988113" Received: from mail-mw2nam10lp2102.outbound.protection.outlook.com (HELO NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.102]) by ob1.hgst.iphmx.com with ESMTP; 01 Mar 2022 08:51:52 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eqcHNsIop/MayFLZGWPqtXmImnW2PVu7lD9Gtrky9n+WCSk4Lx0xg4C33o/QuXVD6G1LuxGdIzniKjqZJkh5ezBV+4jlL3GSLXrMYcraHNCIcbLxYJGT44Pyp/9JYFlgMY+KMJaq+hsmlREZcRCBaRQWZd0/nyt9cIfCHCx8u8eXzR1eT9R0mWQdoeHTc1QWW66PQhb+Pa336X3FmrhbcsBDz5g7U6VjjAv2URkJHK6bSWgp1Ew/amW5vaTem54ogiFGqtbxihxJ7PVuMCzVt2ns3fVTFd06cgWFzicK+b+TwBKrrMZZEyRVxuOEfe/ee4pQmiz7a0cMJd1bA2yFSQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dZ9zWWx4BUgLeZKyDI+KEziLg5cq+SmIuCFrJm082+E=; b=alZaprDu2iKcZPtpIaT9t09AfywpVWm7D54IyMHvZVYGMPybVjqUo1EDSWe7qORhIieWSbbcJbz9m2Q1vkmPMhcjXwzSSPb/zE97Gt2xDH48K6fktYsnNlFGQgSU5xSq3qM4hfDA7qTSETN7VVwpNmmOjLwlMwB2S7oYaGbWA70hhhAukzZFTeTN1zW5v65hHpAMFT0zYLfAHsFNXzeUfXNQvszNJA8xM2TRClgplrImxdndWq0DLgl7l1IBxy3azn45dKEqf0+wVXEG5Dtabfd0C61nfCo/7zgq3KlYk6U17YcE0GJ8GYwYmoCgHQZ+dTEbDsoI/DgJTVZUkQ7x5g== 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=dZ9zWWx4BUgLeZKyDI+KEziLg5cq+SmIuCFrJm082+E=; b=yUG7HXB8Mx5KbbMuMtlBTnIyFlHW2csJzyZDgF2s3I5rKorFwTMdjkrqFUpiYLFkgwZuPNekVJRyJ4qQy0Jcl5vAXsUfO35pcdoiSyrRCbQ0UT7Pj29GlvgvKtVW0UAY9VcubWVJKZ2EXKAZjZVapPpvJkLlGltA27hT1/1ecA0= Received: from PH0PR04MB7158.namprd04.prod.outlook.com (2603:10b6:510:8::18) by DM6PR04MB4604.namprd04.prod.outlook.com (2603:10b6:5:23::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Tue, 1 Mar 2022 00:51:53 +0000 Received: from PH0PR04MB7158.namprd04.prod.outlook.com ([fe80::f025:4f23:8e46:b2ed]) by PH0PR04MB7158.namprd04.prod.outlook.com ([fe80::f025:4f23:8e46:b2ed%2]) with mapi id 15.20.5017.027; Tue, 1 Mar 2022 00:51:53 +0000 From: Niklas Cassel To: Thomas Gleixner , Marc Zyngier , Palmer Dabbelt , Paul Walmsley CC: Niklas Cassel , "linux-riscv@lists.infradead.org" Subject: [PATCH 1/2] irqchip/sifive-plic: Improve naming scheme for per context offsets Thread-Topic: [PATCH 1/2] irqchip/sifive-plic: Improve naming scheme for per context offsets Thread-Index: AQHYLQaKb26mBW8vWEWejzanD4SivA== Date: Tue, 1 Mar 2022 00:51:53 +0000 Message-ID: <20220301005142.3038702-2-Niklas.Cassel@wdc.com> References: <20220301005142.3038702-1-Niklas.Cassel@wdc.com> In-Reply-To: <20220301005142.3038702-1-Niklas.Cassel@wdc.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=wdc.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3bd1a245-64c9-45c4-6e3e-08d9fb1dad73 x-ms-traffictypediagnostic: DM6PR04MB4604:EE_ x-microsoft-antispam-prvs: wdcipoutbound: EOP-TRUE x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 20SfTcguorIjgx2pW+apG1EzWh02YXepzfCAHxEY2DKdRY3F7J3JGvI10A03ChHakgFsaz6giDIaGsZLJDgc5scgDljETdwUdvb1bGlRXocpOPX9E6pgjhZiQc2o2ykbwM6b8IPKQ9iDHgl94sLyg4AP9td9bxIk77DGDRQgk37NH8zZoLGnTN6+xo1IDEP7bDjsf+sYFGZqZCnB9YUB2byiv7Y2j1ga1bvRyU/HZfXK+eOPaiuGxiw/SYuYl5ZDLd5odGoxfR45yL9HliRtpOGR36rBUb4AnEG6cokpIeu7A54UMIj6FO1mOwnzeYDL6gf5ITe4rSaVZZjOJ7nMKTlPYE5uUXxu4pb0TIjTMgkcicTnIQmiFMRCIkgXTM19+lbHXP6TQWM2LX8OH/mMWWGVqfDpOiLwXmSjRZejQPgfFcC2Pti9+FGKz9fA6dru0kwKQ8YORcdpX5VF/08CQu37kRcokavBA8nhgyGOFBHzpQvblVSgw5z+upBJ3kGs1A0oPMeTsSwSjS5toW+UECS+ywTLUl8/Sa32masQd2+YrhH5Xf0ohJ3nVihw4nrYAHcnQ55ZPvCkv+iUyLjkHt8WyPxymciyGz/ScOEl1TAInoFdE163mvfQ9Hpf0jKhfkiv+o4iLDA6k+aLm/pqdgVEaOUm9YexHWJApAFsHT3lC90uptrQDqCQ9be+5m0htJBCMkvB2g6IPmIPdn2REw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR04MB7158.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(26005)(2616005)(66446008)(64756008)(71200400001)(66476007)(66946007)(66556008)(54906003)(86362001)(6486002)(1076003)(508600001)(91956017)(83380400001)(76116006)(36756003)(8676002)(122000001)(4326008)(6506007)(82960400001)(8936002)(6512007)(38070700005)(5660300002)(110136005)(38100700002)(316002)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?774RP7gHrAKF/TTwWwh2lAN?= =?iso-8859-1?q?cm2hCFHLUcrnwHh156GbawRGIab8Lad75NVBOSLvi+0E4ag40I3+nWKfuKCj?= =?iso-8859-1?q?P6Ed/8yfjrC2/WVvCih6IDNbNjHaWuDlyDlcdkehWIY6dul37vKM0EdligAk?= =?iso-8859-1?q?sPM+65hAX/+UF3C+4/1F2vPBVh1GXohOUAuSg2YjrYNfw6QYDlXenGMegw1x?= =?iso-8859-1?q?ZInnEgfMUKejvLYdeLreKoLVdJ6+zFhjz2AuMGwiR919pg/Mf+nq6FPQrY7d?= =?iso-8859-1?q?z5HtgKPL5zpCYlj7yTSsuDmQFYO1eXllJuScjovagdphM5bIUyvKIkzPcLpV?= =?iso-8859-1?q?+rAfLMvuZ0CDiqLdHA7nJ9S3DBQQAbOUcjTcFhp7CDFXo9eO3q2YTLPAN853?= =?iso-8859-1?q?oyH9+cVNquKfMdsGxuqupC2iIehlf7J77NuqnRSkOmaEGc1bCEvipegOVf/2?= =?iso-8859-1?q?j/0WZPpXiAg68YDsh86L1CAJRroaJu81XFS9qy3oHwx1TRzne23/tLSFcUBG?= =?iso-8859-1?q?f42jIBjzDlwhHTx2yp0/E+d63qHqWMd1+Rt2AN03Hw3IvrthsGbZ77VXYxoy?= =?iso-8859-1?q?VaOfH5pyWqmmDJkFbjP6X5ABsupd0oB2gdusX7n5bqYZpdvQfnEKcodTcQyX?= =?iso-8859-1?q?i4a1NhaQKIPrs4c9mndBLLcIY/IlMNDG2onTUCdsO1CKD5++OBQDkUq3jPqB?= =?iso-8859-1?q?aNgPLS/0Myqf1U1+nky0CX03STA6rXQx5NlF6sP7f4pHgALhBFGsVL4rnIvv?= =?iso-8859-1?q?JpWpaL7hNuqqLI85xJTWHogZ34Q1P8WVN7tbH7gI9j3ZFOcIkNi8VZfYhn1M?= =?iso-8859-1?q?2MMKgeo+5Fvnn17nKx/LDEJ8nXvHch14CnDj5jBs0q6DoMc8xROIP2VBfbbJ?= =?iso-8859-1?q?cHKwZNNWfuCWBYnYokensjsLfv7pXqEsboqFbSvFmA7pff8hRLe1ovZOFP5j?= =?iso-8859-1?q?wwGEqIcELE47NXci4mflRBNej+xY5JsBBu6U/vcNGQdjHUOyTsiKT9QkJp/E?= =?iso-8859-1?q?wr4F1NwdL43cILxhRXlPg2RjGRd6H4QyWND/lCvO5mXh3zaOhKPZ4Bhy4+Os?= =?iso-8859-1?q?lo8eun/YFTdFIMM9vy0MnrbVdtouxtQjOxTpEl7fctbcV1hSjI7lvJS4yNUQ?= =?iso-8859-1?q?YkqtKzXPQTIkRSd/7E92YX7KzySdARrVO7XYNe2HOknd03ztA7VdA7WtK3pj?= =?iso-8859-1?q?ORRQkp4gyubhekGGKVIsUufSaP7OEQ40k4/aejxaoMgCxNd/tvuRePLSOb4L?= =?iso-8859-1?q?ENWI6vT5daIp+2qnUxsljwD/J8VGAz3uCP6fv+SKCPbDNaygaGqnznvgpqx0?= =?iso-8859-1?q?t+izDbVGf6+KUjnqi/XFUGM58rQ9sOyXH7aWmXMjjSg8ZL83czy+vcpPWIUw?= =?iso-8859-1?q?4RDucM++ECc6ljwlIts/k4EHl6MIKGRFp+rsWnL0BYMNG8keMuKtY+Yy89K6?= =?iso-8859-1?q?0DDNWxOkhANe0jP32Lru9qUzKQUOSW8O1jMUOPUzjRd5SY8x1DEUaxAnOR4R?= =?iso-8859-1?q?xP/IhGoQJj5cHxknTlGgl8Jn8YW2bk048O4jI/S8zTnSG8amvGDs6FQNcl/L?= =?iso-8859-1?q?NOLWyBoS5tm2DllYu8RsBYMe3ZyAMA4CVhII4itI9zP8n/PLt82O2RE0x0qm?= =?iso-8859-1?q?CkNmV8vA0UU+3prkB5qmFtakBg2tyhAqdqJsg3LmKX76T38vMmNMcvxeVsCw?= =?iso-8859-1?q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR04MB7158.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3bd1a245-64c9-45c4-6e3e-08d9fb1dad73 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2022 00:51:53.1032 (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: 0LPO0u8KYs/1RYv2J8tSsaRxDKd1I+97jzIT5DSiNCkbnWPIY8R/qdegD4XmIymNeu6fEtaVMNoUD9aHJ2eI5Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR04MB4604 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220228_165156_661498_E336CB97 X-CRM114-Status: GOOD ( 16.54 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org From: Niklas Cassel A hart context is a given privilege mode on a given hart. The PLIC supports a fixed number of hart contexts (15872). Each hart context has fixed register offsets in PLIC. The number of hart contexts for each hart depends on the privilege modes supported by each hart. Therefore, this mapping between hart context to hart id is platform specific, and is currently supplied via device tree. For example, canaan,k210 has the following mapping: Context0: hart0 M-mode Context1: hart0 S-mode Context2: hart1 M-mode Context3: hart1 S-mode While sifive,fu540 has the following mapping: Context0: hart0 M-mode Context1: hart1 M-mode Context2: hart1 S-mode Because the number of hart contexts per hart is not fixed, the names ENABLE_PER_HART and CONTEXT_PER_HART for the register offsets are quite confusing and might mislead the reader to think that these are fixed register offsets per hart. Rename the offsets to more clearly highlight that they are per hart _context_ and not per hart. Signed-off-by: Niklas Cassel --- drivers/irqchip/irq-sifive-plic.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c index 09cc98266d30..211bcb10aa93 100644 --- a/drivers/irqchip/irq-sifive-plic.c +++ b/drivers/irqchip/irq-sifive-plic.c @@ -41,19 +41,21 @@ #define PRIORITY_PER_ID 4 /* + * A hart context is a given privilege mode on a given hart. * Each hart context has a vector of interrupt enable bits associated with it. * There's one bit for each interrupt source. */ #define ENABLE_BASE 0x2000 -#define ENABLE_PER_HART 0x80 +#define ENABLE_PER_HART_CTX 0x80 /* + * A hart context is a given privilege mode on a given hart. * Each hart context has a set of control registers associated with it. Right * now there's only two: a source priority threshold over which the hart will * take an interrupt, and a register to claim interrupts. */ #define CONTEXT_BASE 0x200000 -#define CONTEXT_PER_HART 0x1000 +#define CONTEXT_PER_HART_CTX 0x1000 #define CONTEXT_THRESHOLD 0x00 #define CONTEXT_CLAIM 0x04 @@ -362,10 +364,10 @@ static int __init plic_init(struct device_node *node, cpumask_set_cpu(cpu, &priv->lmask); handler->present = true; handler->hart_base = - priv->regs + CONTEXT_BASE + i * CONTEXT_PER_HART; + priv->regs + CONTEXT_BASE + i * CONTEXT_PER_HART_CTX; raw_spin_lock_init(&handler->enable_lock); handler->enable_base = - priv->regs + ENABLE_BASE + i * ENABLE_PER_HART; + priv->regs + ENABLE_BASE + i * ENABLE_PER_HART_CTX; handler->priv = priv; done: for (hwirq = 1; hwirq <= nr_irqs; hwirq++) From patchwork Tue Mar 1 00:51:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Cassel X-Patchwork-Id: 12763945 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E2DD4C433EF for ; Tue, 1 Mar 2022 00:52:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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=HUN2DmoqG3q06CTk95L7IkWJ/wy5uce7bSPaCTQqqRA=; b=EtDHc0CgafuNsT Y0EpWoui3/7ietYxaBF1HAlimcKKXNvFhidN9Cr4k1655jfo8fIIr9QuZ2SPIY3uXjUPme41lDDwo q4Aon0X2UCCuPXD7neQBKM7Yl8N9EWs+6gbQY5ptBRQ6HlC5NdzcFiqm7Cza2boFKlFiWj4htmk2O yLyhiSRsXAZEwaKas+6chgxqQ/qpjBDsfHwA73VqE/HvrCirXcIWgd0JWeMCv3VZ56am7izLGKug7 sri7jLbUizL1Xcg70XJ4hPwmRVckrgbpq5bclWf1m99V4gKy8SR2fIgT3qWNFUL0uIp8q77ORo+zw Sz2xTEs81YAILkrqiWOg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOqkF-00EXEH-18; Tue, 01 Mar 2022 00:52:03 +0000 Received: from esa5.hgst.iphmx.com ([216.71.153.144]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOqkB-00EXDH-I7 for linux-riscv@lists.infradead.org; Tue, 01 Mar 2022 00:52:00 +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=1646095918; x=1677631918; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Gl8CmiaD+oLJ84IAQAj/p5IpqHdKAYJdVlaEXxHd6No=; b=nf0UoUms1MZfGwe1UgBabZhQwkDkJkSwTjgxyhQqjSiSz9LCH8NccN8W DFGdkNer2791qOhpSAye2Tf+9NbZsdA9b47bOmtYgqLjEngm5bpvYCjp/ /9T9N0V6hqTMPGEea5vlrixmESkhWMPqLID73oO3jMRFGVwqlxcDD5qu6 uB9FuNYSnN9lTcVg3KT1K9mgUxN78UbD9Ner5KfOSYJXKi90mi2w9wxvc zPN32phJV5oaFqoTIbv18n/1Jj5ZafpZ8ekwU6UYbqm2srSe5KqAkiChw 4Dg4KsnRDeur6S/AAK7FeKHAuH5kuphMWRMUmYZbpvnG6ZANvbsQYoGxM Q==; X-IronPort-AV: E=Sophos;i="5.90,144,1643644800"; d="scan'208";a="194154181" Received: from mail-mw2nam10lp2109.outbound.protection.outlook.com (HELO NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.109]) by ob1.hgst.iphmx.com with ESMTP; 01 Mar 2022 08:51:56 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kiJALOP8XTd4FESZxNYj1tOdxCOf4uv3nP1DN+/nEdIm4YYJO9k5h3CjxquUmeA6oJGHiYut6sWCmAmZUKQ7iJ49wzFy39iwdy7NnFnrLIXXIymSmb9+P0Mm8AWRnag9vk/KDseHzafpnP3vVo0jhaUk5tSsdCXosfXA4u00Rdaiz1Nq5H9jJioqFRxCN3kDJQwG1xwCn1WOl4r6mfVNWDIvQhmDXgWzuHbQ5twPkN3HEQBAcE0qo+q4OqMJyQA3FjsHeGwaMHl/P0WsmE6M/1MmekpUXgFBrRx+tuCTbM+Sc51AohMHjyjwdMH39XWwrxL46rDyH6KHltAbo6OOPw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4ca7IKHUtluCbDKVvFNedoQ6fzy0NnEtz7cKWsBKwWM=; b=HJFTAAea8hhDDEyFMvDmda5zWzeYXwqWf++cO60a0f2QE7yqo/W8+PQfZHvGFGrS+1YM7C4M6n4AtUNvdtXzRgEP86k8CPq6uh9l9MGa+SYRfSzR9yyOmdN5PtrkOEt78Ym8IpVBSOqeuJunZcunDdAZKPt7zJQm6AlKTMWwa4Dq7gxPD5gdUU4KwXlnGuSyiX3Z5tznI3UEeVYJqs8O7xZwAZpxNm31QtXiWk297DxMaytHh9Ocw6DblnSxDQiI4VjOQLxD+MOIdZlPh314iVaHns1dq1gK0gpFYCaj60XJ6uY5nTGSi685FBQYCurzL0+5QE4syvlR1GHeGrCEyg== 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=4ca7IKHUtluCbDKVvFNedoQ6fzy0NnEtz7cKWsBKwWM=; b=sqdLp7n1IxZB7N3a6kke5yFnMxlULJDtdL/zErCTx4azTiUYWT7+b72FYFgXyZG2Rbchk9+jQ7P6iKVq6KwRp7jxiUgI/b7dLk78letCQonf1xjCAAuELFEoRAiT1wxJWubX+Opz4Yra8Hx6lZa4NI12ZErIwvesnpk8Q8Up5OQ= Received: from PH0PR04MB7158.namprd04.prod.outlook.com (2603:10b6:510:8::18) by DM6PR04MB4604.namprd04.prod.outlook.com (2603:10b6:5:23::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Tue, 1 Mar 2022 00:51:55 +0000 Received: from PH0PR04MB7158.namprd04.prod.outlook.com ([fe80::f025:4f23:8e46:b2ed]) by PH0PR04MB7158.namprd04.prod.outlook.com ([fe80::f025:4f23:8e46:b2ed%2]) with mapi id 15.20.5017.027; Tue, 1 Mar 2022 00:51:55 +0000 From: Niklas Cassel To: Thomas Gleixner , Marc Zyngier , Palmer Dabbelt , Paul Walmsley , Albert Ou CC: Niklas Cassel , "linux-riscv@lists.infradead.org" Subject: [PATCH 2/2] irqchip/sifive-plic: Disable S-mode IRQs if running in M-mode Thread-Topic: [PATCH 2/2] irqchip/sifive-plic: Disable S-mode IRQs if running in M-mode Thread-Index: AQHYLQaLJPTWpQA5XEukD59TAjASOA== Date: Tue, 1 Mar 2022 00:51:54 +0000 Message-ID: <20220301005142.3038702-3-Niklas.Cassel@wdc.com> References: <20220301005142.3038702-1-Niklas.Cassel@wdc.com> In-Reply-To: <20220301005142.3038702-1-Niklas.Cassel@wdc.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=wdc.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0d98ade1-2f76-48cf-8388-08d9fb1daee0 x-ms-traffictypediagnostic: DM6PR04MB4604:EE_ x-microsoft-antispam-prvs: wdcipoutbound: EOP-TRUE x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ReEbnqxwx+MtDYg/ANdX1B3UM1DiQv6wGjyBhq7psKxso9XgU4/zjhKVDKosqUp62lfSLpW0C54XGZCBOeJzZIM+FVFHe/zdp+OcRcCZ7EWDa3ncUwub5YqYEqBThyoQKXo4nWzurM0Knv6/wsMNANMLBTm5gpHHgdqFcwXOCe3banHa4YmiY6+1UtQ30UL5is3DE1KvqpV+QMCj9A5aAJOHyzJ1VlAd93VZQjbHBZ5t13kZBHPrnUfHB44n9CLCBOs0VNz77tcllU3O7Ij0SohAKM3k7fRNFWNvsbUfyaCKVmd3FGTTlFfsWbUJSuWc2YnKFDJ21jFgEYjwRLU9LclAkP1MsL0qDGyBd10wS+2qz3MnDvyxUksrOhSq3LXr2bAYp/4U1Qgb5Gq1rmwN+NoQPcmVRYYAmMmIP1FpL3PekceQlNcRfc/h+jYd4TPqhemxGesvvwwXTHjuMR0UHA/DhkGCg3kbztD7Nfh0zwA1CyO+QcD5FxamuGikX+IS9lwguZeesCgDotGwwep8ShWsBWHITJ+5POUYeWT3VS1qbPLJGHPFymKlOKCKx3cHjkM2IE+80uKE72pqMbE0dhL4ayHLbcyalek6uksZ+vYGCmF1W4LaGXK1znx9iyxDNfWTIq/t7Azsg1WjFWqc18Zb5zHhCO2Nl3KAyePLofKMdar4sTQzE5cEwn/r3re3xKXsFZFXzvhV3YDaITLd5w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR04MB7158.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(26005)(2616005)(66446008)(64756008)(71200400001)(66476007)(66946007)(66556008)(54906003)(86362001)(6486002)(1076003)(508600001)(91956017)(83380400001)(76116006)(36756003)(8676002)(122000001)(4326008)(6506007)(82960400001)(8936002)(6512007)(38070700005)(5660300002)(110136005)(38100700002)(316002)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?VV8YpqDRsiZ8KTzvcD2uBSg?= =?iso-8859-1?q?Wkke4mwiHSqMbezMLEnDR1atXSocVK0e207I+SpDcBOnVDj3jmOxoppbmgPV?= =?iso-8859-1?q?VRes0CUwoGSNquveDBwSonBduCryEEpNnrZbPziUtVpwbLWK35qCxE109jCO?= =?iso-8859-1?q?VrNb4hPRNB+MevjMajm1unz65qXJ7rfGviDygpRpzx4U6lhFrM3FYFHyqOEq?= =?iso-8859-1?q?cnL4NqiAli3FB2QF93jwNec5nghxDTxlxnbfh6WQ3TuanLqBO+QKKUGROBJd?= =?iso-8859-1?q?wh8MdGb1QolxTzhHBp9sMJeyPpEwdRzcd66CYPl3W1hJ5m5ffQc0yHVsSIzv?= =?iso-8859-1?q?6ShSBhwUBozdOoxH30QPhFCE5hm7Qh/sz7/DdbLcNF6sgE0SPsreqnjYajm5?= =?iso-8859-1?q?cHuwgdTSbkgBuGSseroNy5gNuNVkEd5C6owLdYtKyVaB+d4bWo6Cx1STPTTq?= =?iso-8859-1?q?byEDQ4D5SDeS2mhAEMtkcBdWgS7UknyeCmCH8YhCaYyqXQQitfQ8rjYI5aUv?= =?iso-8859-1?q?v9Vm0oW3oxZ14b105Ww5fo6R8FxDEk01IAhmxYzA3qWAUCUmbsAzpz0UnBLv?= =?iso-8859-1?q?UtCSnaMsvedHrPEESlFIm/3pOr11qyx5v3IgvX6I4TH34FJifTKKur7bfjxe?= =?iso-8859-1?q?ZA6P46fAY3tm+OI9VeOnghqH+QQxElDuBOaojzxHiV5Ngh5wEQfDH1oV4exB?= =?iso-8859-1?q?3E24IH5gREGt1KrxFzsLdeoiMHw3Zr3p5Dq8AKsLQ17sjEK5ZN9oSvin08mn?= =?iso-8859-1?q?ygQBvOFjxSXin9D+C4PpsW4os8EBADs7j8ZBBhztTl0oqT0Q95DwgQj8gFZU?= =?iso-8859-1?q?Bqo1MFZlOsAcUkWNz1zXfibYKcSPhudIhLpO/BUSbjzZOn5VdBHHXc8Q4Rzb?= =?iso-8859-1?q?2qtoRgvcJWYOefgtqZ5qCk3JujFs5yJLsBEMkAN9hM7w1LWJBNOLuX6hLGHv?= =?iso-8859-1?q?Y/3d8hgefpXRRCAHNTNoMMAGPDhsuC5XGRj5m2fl2KkDE5QnJNFMOcPYYIfC?= =?iso-8859-1?q?9kpq6xgdi9X9fU9tewCk96CezqJezvLhQrP/y+s4BEDVmjAjPYRrZ6ZzI/Fj?= =?iso-8859-1?q?+6jI0pMrv2oj6qV3/DdSGpLIuZvye3mi4QRzUMHE608TQMvTFq5nDuaSWYcS?= =?iso-8859-1?q?ykZMmfNErOtoRxA2hyc/oRwvLhC115XBIfmTWSDWIeVV464UX3JSrKGU4RUA?= =?iso-8859-1?q?h/ReI9gYDbVJKjR00LFh39eg4ObJubPjjbOo5/CmxX+gQ+2j3SMT8YL3+8SW?= =?iso-8859-1?q?838zQlzK4DXtLP902wNd3wafWS98Fyyo697UlAuumgIfS9jsPQzjR8kxyism?= =?iso-8859-1?q?fMPn4lM47d3eGTR4cQ1NgiYUy4B5595B7FFr7R6tIIvPA48d1/gm/2NGSCK7?= =?iso-8859-1?q?Nv7Sl55OlQrsg1dsT9uRfKRfaAw5YZkTJhe2zcaxfNVZGTA+rGk6dFcJtGPX?= =?iso-8859-1?q?Hy4SguGzpJGIYFU9Iv79YDpz6obtvn60jG8okZZaQSDG2GtMey+FOQyu8g04?= =?iso-8859-1?q?ztZj8wOi/r9dy28eR9vR9BQv7A6PkLhkOIg69farSLdnPKbWX0BIoxFrqbO0?= =?iso-8859-1?q?CHMbZV10j8IXIPyD4dOXFlX6QgL9SSfbhFF1yfUpTrfmAQGqnFAOCI3hIlrH?= =?iso-8859-1?q?tqUpbMqU57+QpYHH3gnHMdLAjeFYi40ub+giKEerAHALd2Xu88Se1MtdgPB8?= =?iso-8859-1?q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR04MB7158.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d98ade1-2f76-48cf-8388-08d9fb1daee0 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2022 00:51:55.4958 (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: fFypKtmW32UaxCUVgO9WnKT3BgvuWX1WbPY00bVZTbodfo/lCHpxyrtTgsvpRlga+DV2Xnwku2/lb8kr1H9NVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR04MB4604 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220228_165159_633658_D1677958 X-CRM114-Status: GOOD ( 18.36 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org From: Niklas Cassel When detecting a hart context for a privilege mode different from the current running privilege mode, we simply skip to the next hart context register. This means that we never clear the S-mode enable bits when running in M-mode. On canaan k210, a bunch of S-mode interrupts are enabled by the bootrom. These S-mode specific interrupts should never trigger, since we never set the mie.SEIE bit in the parent interrupt controller (riscv-intc). However, we will be able to see the mip.SEIE bit set as pending. This doesn't seem like a good default when CONFIG_RISCV_M_MODE is set, since in that case we will never enter lower privilege mode (e.g. S-mode). Let's clear the S-mode enable bits when running the kernel in M-mode, such that we won't have a interrupt pending bit set, which we will never clear. Signed-off-by: Niklas Cassel --- drivers/irqchip/irq-sifive-plic.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c index 211bcb10aa93..46caeb11a114 100644 --- a/drivers/irqchip/irq-sifive-plic.c +++ b/drivers/irqchip/irq-sifive-plic.c @@ -326,8 +326,19 @@ static int __init plic_init(struct device_node *node, * Skip contexts other than external interrupts for our * privilege level. */ - if (parent.args[0] != RV_IRQ_EXT) + if (parent.args[0] != RV_IRQ_EXT) { + /* Disable S-mode enable bits if running in M-mode. */ + if (IS_ENABLED(CONFIG_RISCV_M_MODE)) { + struct plic_handler tmp_handler = {}; + + raw_spin_lock_init(&tmp_handler.enable_lock); + tmp_handler.enable_base = priv->regs + + ENABLE_BASE + i * ENABLE_PER_HART_CTX; + for (hwirq = 1; hwirq <= nr_irqs; hwirq++) + plic_toggle(&tmp_handler, hwirq, 0); + } continue; + } hartid = riscv_of_parent_hartid(parent.np); if (hartid < 0) {