From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6F10C433DB for ; Thu, 18 Mar 2021 13:07:41 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CCD5664E20 for ; Thu, 18 Mar 2021 13:07:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CCD5664E20 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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: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:In-Reply-To:References:List-Owner; bh=j7O2yyouGPxY/fhYRnB8xeiDuUp3HXlO/JwCP3tAEhI=; b=gioq9zNpBoFew4gnh5PljCeD9N RpR7oQdyC6fC7rhuHVICiJDkJty8J4jd9Q3HxqNl8dWlDE6zhRwdoeYtOEDT9vVXw+3y2Ur1xZgUc 1FTtiK65F8L2x+dJbJedsJ/FeC2GNGCJTHDxjrH7V97QQ2ay/be5z9bu9SERbmydTE/E1Jgoa07qb TmsHNu5e4ZUYrSG80aR3q28P/H3zc9XPG/1KjbILwZYF3Sk/F5SxfxeYgvGTQcUIiVm9Nek/D76DA 8kLx5fRcW8qvDLpgdAA/PK2LJGaM2Qsq/VdqlK9aqTgY06XRl/raic0XkRkP/OjstrT/jNbk1ig1z MzQah1oQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lMsLa-005IcL-FT; Thu, 18 Mar 2021 13:05:54 +0000 Received: from esa1.hgst.iphmx.com ([68.232.141.245]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lMsLU-005Iaf-HQ; Thu, 18 Mar 2021 13:05:51 +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=1616072748; x=1647608748; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=J6cOeikWsNwSYH65b7jvMHsnnToMn8Rl4DvSqkVb02E=; b=Chl+5dFZ6el/5BQpRILzjKn5ZEzEm3QUqRJRRS36ztBRObXS6v8KB5D4 9wAcm57ciUkyDw/Kq6pvk6utjiCVrzkO4ls8QfcJZeQA3agy1A9qGI7d4 2EGqizy402INV7dwJ36KFvCeJ8kNVlGUXAqk3w4hlDjMxBrMUUu2j/71n ldmMtU+GgC8607K/J1oqTc5TGlfhIkmDPtRN4rOrKcwrtdIohUeM2V5a3 Mh1skO19Pg+Sv9gEqjW+Y0YhIIHUJI+qZW6CwRhFd/9A76fJPJK711wBd /AnlVoOn75c2PzehTadco1JMTm5OqhK2xh/EBDSJv9EatV8OIAcarq6US g==; IronPort-SDR: TEJbsuMm1LVwaQRhhPmjwmKT43TGzGP1K0W9T1qlpQ2hlPEWHpIzmaxE/gFWrOKwqQoj1shn+c 6tutxK5kCoybuqtDiZLH87rpTOGjNmym6v/Y4Bi8dQeHZrxcZPiR6x4qnEdyLCjE5Fyu5xtWpp j2g96xJjpxg52HncMzfIeK+q+E9lfhqx4f0WdbF9R5eoc53Ah1sDiXA0mWl01e1fiY2MDTJkcJ Tj1xsuW2EpJAUrfN/qs7EN3seZoNnAvRa1oeo9Cira5+bDAVaA264zI8P89lPXeKOwH984qHY6 wBI= X-IronPort-AV: E=Sophos;i="5.81,258,1610380800"; d="scan'208";a="273192060" Received: from mail-sn1nam02lp2059.outbound.protection.outlook.com (HELO NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.36.59]) by ob1.hgst.iphmx.com with ESMTP; 18 Mar 2021 21:05:41 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Plgd757sShfvImaRYnKaFyxocKjZXEPnicuX+7D7o/aiDXOJc4h9qgS+2EMz/0lJToGhT3gPa5hNunrUqlLPnJFHtfyrMqFtU3HGPjfcPq2H6mAMijP6tSRAYSCENpoMBAt9nFuSYJAyvGtPq4O6Fso512Enw9vdGSGffzQACtZ5IwkgyzI8jtlnN1KT4mPOFn/L8IPrWjuVFR8/NduV15EU49olfsMPbp37AkHBZkbJs/UxIQLNeA+rJPlenxYUsVBEECccsDO1kPLrMXnP89538VmThRTYFcAv6lHm6qGcQpzCsa9TtfcclonmXQmCGmPqY6fYsWKiHJrVnOtzLw== 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=gqzWiQAIB8jdrEwJroxpDhOOuW0HjAu4BlfYVCMZ79Y=; b=an2vkCHiveOoC4EY9b5Z1VNj7PyVGdZOoKRcFK8UpLPqGmLo/RbyHxnIF/ha2DAnpOuStRVVp+Ijy6WCjyygLgF+t6GgP3bE+tX2ZazT54s040kqXZ+YyaMGm+EhxH2/7DPKWeqcqV62Ah0pAil81isWmtfQQyPd5TyU17Fd/7Bs39B6f6ooyU5VUrOXWJ21jeMxUb+EXbAL+a6rS2fMK96IeeXYWXfXgOZw7LD+Mw+HPaifGpiZhS148UJCUShoBBC2aY5k+HDFhrBgDJ5YSWltcpOG5wVqSwvRP5r4KtVPB3sfwSCrsz0a9EaEu/4euHTkPdg6FqdmUWN6TTdwhA== 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=gqzWiQAIB8jdrEwJroxpDhOOuW0HjAu4BlfYVCMZ79Y=; b=C6DgEuU5wSn1nJiPd5hqj6jB9XMd64I553oqxWS09s3UvhWhl281075jdK5mJ1Lliww8qFBb5S+z5mCGrBHQSdudkUuJH1cRE5uDxHVz+EFqKf22lLKMIdW41ibGrlpZoTGBpXKzab09TEEIi5WY9JzqikKpFIA8kK0sJoQLUlQ= Authentication-Results: dabbelt.com; dkim=none (message not signed) header.d=none;dabbelt.com; dmarc=none action=none header.from=wdc.com; Received: from DM6PR04MB6201.namprd04.prod.outlook.com (2603:10b6:5:127::32) by DM5PR04MB0826.namprd04.prod.outlook.com (2603:10b6:3:100::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Thu, 18 Mar 2021 13:05:40 +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.3955.018; Thu, 18 Mar 2021 13:05:40 +0000 From: Anup Patel To: Palmer Dabbelt , Palmer Dabbelt , Paul Walmsley , Albert Ou , Daniel Lezcano , Ulf Hansson , "Rafael J . Wysocki" , Pavel Machek , Rob Herring Cc: Sandeep Tripathy , Atish Patra , Alistair Francis , Liush , Anup Patel , devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Anup Patel Subject: [RFC PATCH v3 0/8] RISC-V CPU Idle Support Date: Thu, 18 Mar 2021 18:35:04 +0530 Message-Id: <20210318130512.1025416-1-anup.patel@wdc.com> X-Mailer: git-send-email 2.25.1 X-Originating-IP: [122.167.155.94] X-ClientProxiedBy: MA1PR01CA0148.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:71::18) 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.167.155.94) by MA1PR01CA0148.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:71::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18 via Frontend Transport; Thu, 18 Mar 2021 13:05:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 01c05d98-117e-4626-720c-08d8ea0e87f2 X-MS-TrafficTypeDiagnostic: DM5PR04MB0826: 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: +zhthiNp3uZ0YKBk/4Uy7LwdB/yEehynDt/mAFdKfr1+nQsDVjEczbtu2z+VSZRjUL0ZvymVXkRlDYn39yp+76vrUrU4e/+K0TmVzS5Mqom5RGqYkveeqM78/TGhoAkURMTHp/QfhzW8owDIphh7nePBWDp6da2OvBgUEMN76+BoE3K+encaKN/xRCSUyfLijaAVlIjU95XxzJ1dsRfHSlw5zAnFfRE6A8xu+VfBn5vAuqeHyVW8tVJr9LVhuvoqBHOW4/+MI7oqDsSe7meBJlHll+jXqdc75XPevWWhUa41FZezhWt8/u599h+1ku6GCWNqjFU+j19/QPSfvdGTzfxJsMrDDa0S4C9sJL59LdIR70j6y8Ba4nuxpqbi29Zmv91e5Tvoda3uTw7w/bxrp7e9HYKkjDGq6yX0E0SpQPfh3+I/mQaD1TlWO1KP2+PoqrB/Cld0aMJM1Qr6Pen5SWiBJg5O8xRu2kajaqEV9YRq/N6NbnwxSqqNLlLwgsL6WyOz1K1LzmxGhiHthnNwvmaFMG0ggC1IxvuijfVyWdhfu6CZhTx5/cOIUkyDw/jGp2LwwkqHg318GfHmiwx4t+NNN/GPm8NGXbQvmzs5cwZTey3ksNy7yGHLGOnFuVj7WcgbVR+NShKKOSYJclTD1XN0dup+BlFe7nrKr/8PPrxkA8Hfds1tdshusWwu1JNi 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)(376002)(366004)(346002)(396003)(136003)(39860400002)(4326008)(86362001)(44832011)(2906002)(186003)(36756003)(478600001)(110136005)(1076003)(38100700001)(316002)(956004)(55016002)(2616005)(8936002)(8886007)(26005)(7416002)(54906003)(66556008)(5660300002)(16526019)(8676002)(66946007)(6666004)(66476007)(7696005)(83380400001)(52116002)(966005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?kqm9OYDnGF7yXstLMPUIGupQUNLGsnd2+JqVVm1/m5KhejwwgpBxGIDqkNmb?= =?us-ascii?Q?9gAiE8FY8jtr+B8TeZHldklc307rSXS/OepG762ueUONznziUnudq82+erLF?= =?us-ascii?Q?vKddqeJZalM7WmXBJ84s3oGQKdnHTq9pgF/ZoPWqV42mFemAvLoukflR1O3a?= =?us-ascii?Q?nMV5PT37+nKd/1SpBPCMKw7KPiHzzSMdNl5NL2xq6+9qDKrfnhpILsHGWyiJ?= =?us-ascii?Q?9/7R7U/k/xsrG0SQpWrB3kLWzsyrp4KDzq9EBBQjkjhwTaRKUqg3XHu8DRbU?= =?us-ascii?Q?HB6h6WAY5MbNuwmFOH0IPNBp6g4Bjy3RhqNcDuxorF/lvxfAwN+jBbwh70Ot?= =?us-ascii?Q?sIvrbwPg1RdxVxFRIR4lb+9FwRatKA85MQYU8hHFz8VfWZPK9kngRvVhRhYD?= =?us-ascii?Q?upkCNwaFH+sidc4a+/InfUew0bOKtZ7Ak181jMEUwpx74xOj+IOpycGv3rJV?= =?us-ascii?Q?zYzo2LhhUMaTpnvZw0LuVNWoRJa6mog9HP2GfeqcpDaFzfmrCb43uFcB2JoD?= =?us-ascii?Q?AgY4fgEJc+Fc27TKtLhvuLEzXJQb8IHOns1YZed3PB+ddcbqgOCbYdr8451H?= =?us-ascii?Q?SrDYdWgL0DPtDB516yLTgL9+G+b2WfL7iUpZh7v2Ja3GtArROUpdt+xj8V4n?= =?us-ascii?Q?FF9T291NeJP0jG7Vjc9w6aIu+JPunJkljRqHpgN/kSI3tYJ0lcrzpVDO5Co4?= =?us-ascii?Q?c0ld5ljs8OC9jH0ZV6dJNPiwZ1YL966tqaseQGyjmbvQ/F94PjpQ6G3b7P6Y?= =?us-ascii?Q?NfQQYSRVsO6hjwHdqUAlUXO2F9ExTafpaMCjqj7/RvXw4D5ER+p4RxB9RPBT?= =?us-ascii?Q?/MW0HXDqrFIcR2PAe1nijAVy39nltevDPt2S6fChTFJtUD+ZSSMrmbptaKLv?= =?us-ascii?Q?L/LR/8vM47EEbg63ve+jNc4yE+n4OVUEDEn1mXeYrXCQJVHFcAuTCLCcCH2f?= =?us-ascii?Q?qlTTFUL8St3WvdXegzeD1fAhNLsN1017zPyLU0zI2hv1spnFrhfszWWNMLGn?= =?us-ascii?Q?sh7RF6/EJmgdi4JWcirp9ZEfB3byt4XwJdAlTjNy3dOeo9OpTJKp1JeHOkVX?= =?us-ascii?Q?N5qXYKt6I28HZ0GOvm3QPlgrlT4of+FjFJuw2qFZjiV0vc5+X0eSMOCiPufs?= =?us-ascii?Q?8keWHiTSjx20PD7+oL1ehsexHvfm6a3o9/o/YP1eePe0r7cbezd8FQK6fwEa?= =?us-ascii?Q?HDnCGsGnLz7UPALroT7A3AlHj4rnRnGvwSjjowSVbjkXxQAvIb/vKNN5kygC?= =?us-ascii?Q?6uVmqu6tuWfeyIpPA1CKdpu+cKevEEdkE6OJJbOr4vUJOAmjP2q/0lvB9W1W?= =?us-ascii?Q?9U9oUdSPKhr2ntBxgiITMSco?= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01c05d98-117e-4626-720c-08d8ea0e87f2 X-MS-Exchange-CrossTenant-AuthSource: DM6PR04MB6201.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2021 13:05:40.8357 (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: O9IFk8eaonRASVKT1rkyxmzW3t/f3VFWHIaiyu1RMuyOcWiU6yx4JHZan1ZrAWAO8KYrhj7npJZ9uM8Az1p+JA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0826 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210318_130549_103802_1F0608E5 X-CRM114-Status: GOOD ( 15.63 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series adds RISC-V CPU Idle support using SBI HSM suspend function. The RISC-V SBI CPU idle driver added by this series is highly inspired from the ARM PSCI CPU idle driver. At high-level, this series includes the following changes: 1) Preparatory arch/riscv patches (Patches 1 to 3) 2) Defines for RISC-V SBI HSM suspend (Patch 4) 3) Preparatory patch to share code between RISC-V SBI CPU idle driver and ARM PSCI CPU idle driver (Patch 5) 4) RISC-V SBI CPU idle driver and related DT bindings (Patches 6 to 7) These patches can be found in riscv_sbi_hsm_suspend_v3 branch at https://github.com/avpatel/linux Special thanks Sandeep Tripathy for providing early feeback on SBI HSM support in all above projects (RISC-V SBI specification, OpenSBI, and Linux RISC-V). Changes since v2: - Rebased on Linux-5.12-rc3 - Updated PATCH7 to add common DT bindings for both ARM and RISC-V idle states - Added "additionalProperties = false" for both idle-states node and child nodes in PATCH7 Changes since v1: - Fixex minor typo in PATCH1 - Use just "idle-states" as DT node name for CPU idle states - Added documentation for "cpu-idle-states" DT property in devicetree/bindings/riscv/cpus.yaml - Added documentation for "riscv,sbi-suspend-param" DT property in devicetree/bindings/riscv/idle-states.yaml Anup Patel (8): RISC-V: Enable CPU_IDLE drivers RISC-V: Rename relocate() and make it global RISC-V: Add arch functions for non-retentive suspend entry/exit RISC-V: Add SBI HSM suspend related defines cpuidle: Factor-out power domain related code from PSCI domain driver cpuidle: Add RISC-V SBI CPU idle driver dt-bindings: Add common bindings for ARM and RISC-V idle states RISC-V: Enable RISC-V SBI CPU Idle driver for QEMU virt machine .../bindings/{arm => cpu}/idle-states.yaml | 228 +++++++- .../devicetree/bindings/riscv/cpus.yaml | 6 + MAINTAINERS | 8 + arch/riscv/Kconfig | 7 + arch/riscv/Kconfig.socs | 3 + arch/riscv/configs/defconfig | 8 +- arch/riscv/configs/rv32_defconfig | 5 +- arch/riscv/include/asm/cpuidle.h | 24 + arch/riscv/include/asm/sbi.h | 27 +- arch/riscv/include/asm/suspend.h | 35 ++ arch/riscv/kernel/Makefile | 2 + arch/riscv/kernel/asm-offsets.c | 3 + arch/riscv/kernel/cpu_ops_sbi.c | 2 +- arch/riscv/kernel/head.S | 7 +- arch/riscv/kernel/process.c | 3 +- arch/riscv/kernel/suspend.c | 86 +++ arch/riscv/kernel/suspend_entry.S | 116 ++++ drivers/cpuidle/Kconfig | 9 + drivers/cpuidle/Kconfig.arm | 1 + drivers/cpuidle/Kconfig.riscv | 15 + drivers/cpuidle/Makefile | 5 + drivers/cpuidle/cpuidle-psci-domain.c | 244 +-------- drivers/cpuidle/cpuidle-psci.h | 15 +- drivers/cpuidle/cpuidle-sbi.c | 502 ++++++++++++++++++ ...{cpuidle-psci-domain.c => dt_idle_genpd.c} | 165 ++---- drivers/cpuidle/dt_idle_genpd.h | 42 ++ 26 files changed, 1184 insertions(+), 384 deletions(-) rename Documentation/devicetree/bindings/{arm => cpu}/idle-states.yaml (74%) create mode 100644 arch/riscv/include/asm/cpuidle.h create mode 100644 arch/riscv/include/asm/suspend.h create mode 100644 arch/riscv/kernel/suspend.c create mode 100644 arch/riscv/kernel/suspend_entry.S create mode 100644 drivers/cpuidle/Kconfig.riscv create mode 100644 drivers/cpuidle/cpuidle-sbi.c copy drivers/cpuidle/{cpuidle-psci-domain.c => dt_idle_genpd.c} (52%) create mode 100644 drivers/cpuidle/dt_idle_genpd.h -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel