From patchwork Wed Jul 5 13:30:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 699357 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74460EB64DD for ; Wed, 5 Jul 2023 13:30:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232255AbjGENaz (ORCPT ); Wed, 5 Jul 2023 09:30:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232263AbjGENax (ORCPT ); Wed, 5 Jul 2023 09:30:53 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B346D1727; Wed, 5 Jul 2023 06:30:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XUsWNzjhHjY83cbJVHYduU75F6744+l4L4uMR0SzhiDSpA3e3HVyTzKCQJt0WbJ11SEMb/05TGrIU/HIfiz9LecPuOIXQa46DyM2wxoRQQKNxD/H5CeHeNtKWxxdUYQVYvLs+GR0NZ0hUbaOx4a1oW2Klu5d6EsKutQLt836SbHOQHkyV8gz5/tMePsTs7J3ugn6L0qTRTSPV0jh9wJNWdEFJOYBqva6NN+FRI5+cbAbxA3vDhvXsBSNAzMpomYSuox/ZNgqC5yJ0IiahATeyzAuxKYSd1lZeyA/mk0KYzQJkaFcwEqY0VKjlvqQ1VkQEx2tS1HLnK5XoO1lDkPtuA== 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=lf0ifmjCQsN+rdlyur0+JYyn1MxCaZiHcdPVX4tHKTA=; b=g17s3eO9CDUOKfBIhWmNQ7WYQjsIA/1GjQ40YQ0tu6ugcXsa6inCgLHzN0RHcsAvFkjmiA/fUDQ3RroOyyC2wgZaJXBmyb3InQjF8MEBQ0ON9vZ/XFZK9AjBJv4JaAS3bqeL/jvRdK9TGyYVIC6XG9BjMMrEc9fgmDDIOLBs9eaD1S+4d7l+j1XMVI6yWUnsOmSBZexsMESI1DVCoX3aAmKhU4+d7zzjkljC5CMCwUs988kA48wbx/JCsCEZrorwueacp7Jhpl8IIL9xFNQpiVe11o09X0zl+GWHZzgnDKCaoahE8lmidVCb8PuUq9yXFbfXAQ0Q7vmkzUlk109cNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lf0ifmjCQsN+rdlyur0+JYyn1MxCaZiHcdPVX4tHKTA=; b=Q+T9WaCU9su5Mxjl/EQD2oQwW5e9O625ySJgRdI+kVpYd1g484Q+81VtT3Ta//j8SoPi0SbxyQjnTz91uDhIeNnWh7tj+D5dsgCxxqdURgcgPgVV8glXz2wabaCGMJZfkS/qIY2XZ+l+YrOa1nfZiWoYP+VpkQgLqRfAemii33M= Received: from SJ2PR07CA0015.namprd07.prod.outlook.com (2603:10b6:a03:505::28) by CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Wed, 5 Jul 2023 13:30:29 +0000 Received: from DM6NAM11FT020.eop-nam11.prod.protection.outlook.com (2603:10b6:a03:505:cafe::75) by SJ2PR07CA0015.outlook.office365.com (2603:10b6:a03:505::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.18 via Frontend Transport; Wed, 5 Jul 2023 13:30:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT020.mail.protection.outlook.com (10.13.172.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6521.45 via Frontend Transport; Wed, 5 Jul 2023 13:30:29 +0000 Received: from SITE-L-T34-2.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 5 Jul 2023 08:30:27 -0500 From: Mario Limonciello To: Natikar Basavaraj , S-k Shyam-sundar , CC: , , , , , "Hans de Goede" , open list , "open list" , Mario Limonciello , Subject: [PATCH v2 1/4] pinctrl: amd: Only use special debounce behavior for GPIO 0 Date: Wed, 5 Jul 2023 08:30:02 -0500 Message-ID: <20230705133005.577-2-mario.limonciello@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230705133005.577-1-mario.limonciello@amd.com> References: <20230705133005.577-1-mario.limonciello@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT020:EE_|CY5PR12MB6405:EE_ X-MS-Office365-Filtering-Correlation-Id: bed3e68d-7a0d-4623-d9c9-08db7d5bffe6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WVGWVhFXBLWyA2kpCHoOi2KvGXly+WnqTI33hadm1J9Vc+9qnMSvRYR5cLg86f1lbsWpb3uZI6ONTIXgooA1L8SPsCRlcgDTZGHPn19zavCQBAP9JlUQbrrDI4H3kmFfzBVH06dBslF3TbeV2bdJLLASBOxxG/IbqAdb6BwXOBL38/3WUXkFkDXrcyQqmQSRyxiIE053Ez/verE1pHZqzr22XBSLdnxigSXqRIEALUlRVovOwFC+2T/Ejv+FFS0Fnsdq1CVj2rNcu9tFCvFgHbm5mzpCbp7dDLmf1tK42HnXASASUV30aQOIhG+cXq+A1j2oypHRrGKj3ofRcKJRHp2A0FSsRZqazASHw+jBx6k8PA+4WT9z6NH5E3OwIVoQcnwGNnKmmdmnJYySWV99xMpVlgCuXqGmGuO5KTtLb6e3PFdO5iqz1Y5kZ9HREfZUPEUGnh1KMDNS1m0nTiDpyIS7wSRkzD89ma7IGL+Mz0HJpfW++9ZXFQT+Jepx1tawiDf3CxQa5qmSkcX6f8LWr2xTCJhrzoQVTmrPGIBHAC5bSS0vVUm5gXJ4Q4u5SX6Wed42gKHq3iv1gcbFasqA4cvwfCG1MimSezhu1cuElsrR1WZcM3pjtWSQWfglqokm1P7DMn0MPyfYafHjvZOvgPCqYqV421KKZdS0hGtLvnEG7Fmu59fKjKrE9zzeKtrZlYlNOxp/MntCJUhlcXC5usFJTIuc5aoqL34q03iDF8G1Ddf1fUczZkogrink1beoRg4Uns+B3C2mlk/t1YRlgw== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(376002)(39860400002)(136003)(346002)(396003)(451199021)(40470700004)(36840700001)(46966006)(8936002)(8676002)(2906002)(2616005)(70586007)(70206006)(40480700001)(16526019)(5660300002)(7416002)(44832011)(1076003)(26005)(186003)(336012)(41300700001)(40460700003)(82740400003)(356005)(81166007)(7696005)(6666004)(426003)(4326008)(36756003)(316002)(83380400001)(47076005)(36860700001)(54906003)(110136005)(478600001)(82310400005)(86362001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2023 13:30:29.1091 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bed3e68d-7a0d-4623-d9c9-08db7d5bffe6 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT020.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6405 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org It's uncommon to use debounce on any other pin, but technically we should only set debounce to 0 when working off GPIO0. Cc: stable@vger.kernel.org Fixes: 968ab9261627 ("pinctrl: amd: Detect internal GPIO0 debounce handling") Signed-off-by: Mario Limonciello --- drivers/pinctrl/pinctrl-amd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index 7a4dd0c861abc..02d9f9f245707 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -127,9 +127,11 @@ static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset, raw_spin_lock_irqsave(&gpio_dev->lock, flags); /* Use special handling for Pin0 debounce */ - pin_reg = readl(gpio_dev->base + WAKE_INT_MASTER_REG); - if (pin_reg & INTERNAL_GPIO0_DEBOUNCE) - debounce = 0; + if (offset == 0) { + pin_reg = readl(gpio_dev->base + WAKE_INT_MASTER_REG); + if (pin_reg & INTERNAL_GPIO0_DEBOUNCE) + debounce = 0; + } pin_reg = readl(gpio_dev->base + offset * 4); From patchwork Wed Jul 5 13:30:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 699356 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5D7EC001DF for ; Wed, 5 Jul 2023 13:30:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232295AbjGENa4 (ORCPT ); Wed, 5 Jul 2023 09:30:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232270AbjGENax (ORCPT ); Wed, 5 Jul 2023 09:30:53 -0400 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2066.outbound.protection.outlook.com [40.107.101.66]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBFD81985; Wed, 5 Jul 2023 06:30:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=alRYeJNEUybKLs5vcQBAmLSGp6uY7BFBVHBRghko0KiS/gsi7r90syup2OiH6APfQK9Bg0ADkl3wxUYocgzaDDJfK3S8kJytE4k5+2rgY7XcvVtkzIWzi1Swt03tVTmNBqf7ru9kgppcw2WPqhIdLKwSw00MYhayJDr1QX7UGBhvoAZVaoLHGAvwyalYhL1oEHkjNJtyr1MQsWL8I9nG9j7gIk+tR7MRcHW61DazWmXV3ziP396KATE4s3T+WFmhIPZhkBlJ1U8RuN9krVTIgOnGqdQGP/PYq6bEQt8aVrLZH425W5EwY7kCKxbk/AbOb+AWBKMEHtvlLm32rGsExw== 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=YxmXIQl+Hyti15fSgdz0TOX+gm2McdUis9ZJa7BjXkE=; b=QmMUrL4tfsX6iuwXpJzTs6vjkFNBDhHN9iM4GeMPMelEQ/0jL6A09GI5kyrcideONyaGQ+W0cXHfZ9Bs//H2A0iZdpUaAbrMIOLYtkokWeumvFJyGbUxcfvAqahWks6DKDTdvA/WijpTMJ5rkw/SrMSt9F6UGuCvVHsw3xJ9KkXZs5co5AGNOk8u3e0QT96tNxsNnkTK32ClUKnMqEmlzECDpDyIan8qVToxHl+ZC4/FcO1nLxC8adftB5YYA/U1sE9ab4TfFQmJeaAKFzt1db7tXkAj4hhqWL10ctP3/LRWeFjx2nehMDZlqP6j75oj/YVuB5l59FrLFEq2J8/9Uw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YxmXIQl+Hyti15fSgdz0TOX+gm2McdUis9ZJa7BjXkE=; b=SUse1jaDUP7hBGiNXKqFC5ewVYSTrrbmFH7yefyizlLgpjsS1biP0Q8/TA23e4ZGDmiEYXT5hWTjJyvKg+Ha+Xy2lke6ImTq++1uKKdtgiCt9Gk1RrK9T7uOSeIqK4zuS2TrpUOU5qfty5fcegXWDPzMt32DYQo2Vzn218isYU0= Received: from BYAPR07CA0066.namprd07.prod.outlook.com (2603:10b6:a03:60::43) by DS0PR12MB6656.namprd12.prod.outlook.com (2603:10b6:8:d2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Wed, 5 Jul 2023 13:30:31 +0000 Received: from DM6NAM11FT008.eop-nam11.prod.protection.outlook.com (2603:10b6:a03:60:cafe::94) by BYAPR07CA0066.outlook.office365.com (2603:10b6:a03:60::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.18 via Frontend Transport; Wed, 5 Jul 2023 13:30:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT008.mail.protection.outlook.com (10.13.172.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6521.44 via Frontend Transport; Wed, 5 Jul 2023 13:30:30 +0000 Received: from SITE-L-T34-2.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 5 Jul 2023 08:30:29 -0500 From: Mario Limonciello To: Natikar Basavaraj , S-k Shyam-sundar , CC: , , , , , "Hans de Goede" , open list , "open list" , Mario Limonciello Subject: [PATCH v2 2/4] pinctrl: amd: Use amd_pinconf_set() for all config options Date: Wed, 5 Jul 2023 08:30:03 -0500 Message-ID: <20230705133005.577-3-mario.limonciello@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230705133005.577-1-mario.limonciello@amd.com> References: <20230705133005.577-1-mario.limonciello@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT008:EE_|DS0PR12MB6656:EE_ X-MS-Office365-Filtering-Correlation-Id: ddaa4341-0c21-41cf-a729-08db7d5c00a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N0b6lv2TUylVfI0xTcGaSfTv3GQclNf6cYCYmZrOa8I2Dib0lgaQh/h9+ldc1m4C3idaz+nzswBzbAEoMyckeH9gFFZAQWuR7JymRu91R/PxxYMs9GwBMC4dYkRPMaUWtEdcHPVSgru7DoYJAeBR3dxUM+rl3HIgFSw5N2hWSSvPwKnMPJLJJ3JuS37s9E4KEj5xzDouNa+s07Js0GbWpplr0H2PFQ1TZF4rt4pbHoFE/JAluknDcl7hoDAtY1sd3pj+GlCYp7kjGhij0e3LVCCu6SNkXrzt5Ts8xQM7sU72xBfKXUefrJ2oA+b+CnqZJLecdqZBYquBqLLJjnuF2JpiJtcnPGdHebYRcjVL0jpFUUKNV+NTvojLspw5la2Hr9Fh8v6FkSdRx/QUfHeBgfziqEzMfbEadZhja7ZtQGp2X39iA1qSH86Fu3in9SGTDlNDsd4pvvb+6GgZ1qz63mlrxHwIIz+/Ng5DwWS0UeuOjgfzrVILt3uKLV3dFuLzaHAVEo3mX74OOUWgqkwGCHxsW2zNofpCxVRVa+M6IxEy00FlQSY7eZYNBk8qS7HjJE8xOUnTDdRNyAmB0QQOS8iEhbyAF6fSGHWDhuKeZ4ExDmIGG7F9IDfu3kduAY2pkpRB+bQp6nXqoFONPJ7OoqarSRwmNUyRbE1VbO1CHLRyJk3RWnnGBRmu4iY6K6yIyZEz8tZrKnvv43CV1fvrJXJSQ9wZztH9Mo6gVK192iz6KMinjdl6pg1D2OHmgtMTl7elh2nchjqWm8gBYKusEJeBGaDhwYwFpmSMET3YSYQ= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(136003)(39860400002)(376002)(451199021)(36840700001)(46966006)(40470700004)(478600001)(6666004)(7696005)(70206006)(110136005)(54906003)(70586007)(186003)(1076003)(26005)(16526019)(336012)(966005)(2906002)(82310400005)(41300700001)(4326008)(316002)(44832011)(5660300002)(8936002)(8676002)(81166007)(356005)(40460700003)(82740400003)(86362001)(36756003)(47076005)(36860700001)(83380400001)(2616005)(426003)(40480700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2023 13:30:30.3824 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ddaa4341-0c21-41cf-a729-08db7d5c00a8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT008.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6656 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On ASUS TUF A16 it is reported that the ITE5570 ACPI device connected to GPIO 7 is causing an interrupt storm. This issue doesn't happen on Windows. Comparing the GPIO register configuration between Windows and Linux bit 20 has been configured as a pull up on Windows, but not on Linux. Checking GPIO declaration from the firmware it is clear it *should* have been a pull up on Linux as well. ``` GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000, "\\_SB.GPIO", 0x00, ResourceConsumer, ,) { // Pin list 0x0007 } ``` On Linux amd_gpio_set_config() is currently only used for programming the debounce. Actually the GPIO core calls it with all the arguments that are supported by a GPIO, pinctrl-amd just responds `-ENOTSUPP`. To solve this issue expand amd_gpio_set_config() to support the other arguments amd_pinconf_set() supports, namely `PIN_CONFIG_BIAS_PULL_DOWN`, `PIN_CONFIG_BIAS_PULL_UP`, and `PIN_CONFIG_DRIVE_STRENGTH`. Reported-by: Nik P Reported-by: Nathan Schulte Reported-by: Friedrich Vock Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217336 Reported-by: dridri85@gmail.com Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217493 Link: https://lore.kernel.org/linux-input/20230530154058.17594-1-friedrich.vock@gmx.de/ Fixes: 2956b5d94a76 ("pinctrl / gpio: Introduce .set_config() callback for GPIO chips") Signed-off-by: Mario Limonciello Reviewed-by: Andy Shevchenko --- v1->v2: * Adjust commit message alignment * Move earlier in the series --- drivers/pinctrl/pinctrl-amd.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index 02d9f9f245707..eeaf80fdc13a2 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -188,18 +188,6 @@ static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset, return ret; } -static int amd_gpio_set_config(struct gpio_chip *gc, unsigned offset, - unsigned long config) -{ - u32 debounce; - - if (pinconf_to_config_param(config) != PIN_CONFIG_INPUT_DEBOUNCE) - return -ENOTSUPP; - - debounce = pinconf_to_config_argument(config); - return amd_gpio_set_debounce(gc, offset, debounce); -} - #ifdef CONFIG_DEBUG_FS static void amd_gpio_dbg_show(struct seq_file *s, struct gpio_chip *gc) { @@ -782,7 +770,7 @@ static int amd_pinconf_get(struct pinctrl_dev *pctldev, } static int amd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, - unsigned long *configs, unsigned num_configs) + unsigned long *configs, unsigned int num_configs) { int i; u32 arg; @@ -872,6 +860,20 @@ static int amd_pinconf_group_set(struct pinctrl_dev *pctldev, return 0; } +static int amd_gpio_set_config(struct gpio_chip *gc, unsigned int pin, + unsigned long config) +{ + struct amd_gpio *gpio_dev = gpiochip_get_data(gc); + + if (pinconf_to_config_param(config) == PIN_CONFIG_INPUT_DEBOUNCE) { + u32 debounce = pinconf_to_config_argument(config); + + return amd_gpio_set_debounce(gc, pin, debounce); + } + + return amd_pinconf_set(gpio_dev->pctrl, pin, &config, 1); +} + static const struct pinconf_ops amd_pinconf_ops = { .pin_config_get = amd_pinconf_get, .pin_config_set = amd_pinconf_set, From patchwork Wed Jul 5 13:30:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 700244 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4DE74C001DB for ; Wed, 5 Jul 2023 13:30:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229720AbjGENa5 (ORCPT ); Wed, 5 Jul 2023 09:30:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232272AbjGENax (ORCPT ); Wed, 5 Jul 2023 09:30:53 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2073.outbound.protection.outlook.com [40.107.92.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A9B2198A; Wed, 5 Jul 2023 06:30:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HfKn0JlXhRYpJfkWP//6TZZXSFKAEGE/+C5LpfllRvfWmlhkf1rLvvcHGk/M7t5zVLvMVxIkZAmfB795i5FiXJUDlLCbzpf06ypVy32qKBgDI7yiUuO8KEFvig/1P7rUndS0czrmEGDDOi6JR9+0e0tV0GnBYScAAn1UCCh6mgIwYRGIbOkM1++b/jjbSTJJf2prw/OH+CXMfsI7Yt5mgKZXnqUw6EOWUYxWn9TfCP6nX08RdrlMtJnhsk7Xlcjk/Co1m9BTYBpFf7kF5h4p/BXr0EiPyannacVazvOzrZpcixH2wg/AWcXLqeEwfqdsB1mYBYuf1oj4agWJB9sGHQ== 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=QAj/wHolyK1cuAkHYoHzg9mdmUNdlC8onwLZ6fe1W6Q=; b=Jqfxi2faJaFEZmE1gNoaZe1Y7NhXrWSnKwQUZL2G8ZbDh+kyia1OK+EcFRwsrWW+teItaxNKIElqNcePGd1O7hfFNyU60kt6Hl7oEvinII219sIs/bE7dl1oPj6Z2okp4lCFwJZEnfWiKOiRXAK/N9mSzVsM9PHcsy0kkyNEOlpCc6E4qgL5Nbb6qp3Wy603dteCONPejbu7T6B+yS+F90vrmYF5WhowMB69q3KQWH4QGNGsTzxRJinGR02H0pVLJuC49pU+wfrhJduIOhoybxj4hRwNWE0WF/5Oxq4x1h+uxJ8K1sFlaqOwSLaPWK3yNnTKyJ54q21txHsbVyeRlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QAj/wHolyK1cuAkHYoHzg9mdmUNdlC8onwLZ6fe1W6Q=; b=wLVc+7XraeQgWmWqKcDZgVu8G0IBm+9j4YL9eUY2RHxbeLBYbOVUW0JjgUopm+lnSuVjng4wPx+tIjPFoKaTR5XCEqICwAsfXSR8jiXQimv+MyQ2lPH88vuqlTB7r48OlxsIx949+lXmVlpQnUG53N4ndJ2aHa9raYvZbSRjvYU= Received: from BYAPR07CA0049.namprd07.prod.outlook.com (2603:10b6:a03:60::26) by PH7PR12MB6468.namprd12.prod.outlook.com (2603:10b6:510:1f4::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Wed, 5 Jul 2023 13:30:32 +0000 Received: from DM6NAM11FT008.eop-nam11.prod.protection.outlook.com (2603:10b6:a03:60:cafe::16) by BYAPR07CA0049.outlook.office365.com (2603:10b6:a03:60::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.18 via Frontend Transport; Wed, 5 Jul 2023 13:30:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT008.mail.protection.outlook.com (10.13.172.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6521.44 via Frontend Transport; Wed, 5 Jul 2023 13:30:31 +0000 Received: from SITE-L-T34-2.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 5 Jul 2023 08:30:30 -0500 From: Mario Limonciello To: Natikar Basavaraj , S-k Shyam-sundar , CC: , , , , , "Hans de Goede" , open list , "open list" , Mario Limonciello Subject: [PATCH v2 3/4] pinctrl: amd: Drop pull up select configuration Date: Wed, 5 Jul 2023 08:30:04 -0500 Message-ID: <20230705133005.577-4-mario.limonciello@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230705133005.577-1-mario.limonciello@amd.com> References: <20230705133005.577-1-mario.limonciello@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT008:EE_|PH7PR12MB6468:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ab1010b-7ed9-411a-9f4b-08db7d5c015a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bFyd+fAFpRMbaOM7ffeE1EvqRn/bVGi0JJ8Z++/EQJySwWZf7Z5ewtIY+/dLaxZHzOdU2z/PF8GhHLnkG5xd/4MYO8O05Ea2dO1ficWXUDIjIG2v0ROVI3zRSF17C50n+X/2mlfBxWO2kNaTi5rH42btQmLw2wmOLRw4+yJ4eaR19wl6qowlZdPN4uQuYa6e0QmOB5lqeapoyi/OYUvntkPyQ6s2lH0kTlCNg5AhKXg/S4AJP5gotH+Rv/1WYXXcUJ8htxZioZA4ipDvOW3Bezb59yaD0xAj37kmS+PXk/TG2zJSWQQWtXjwXISee1/6FtfJ+9pBB9EONYq82LMJ2NKgXUyr94KSj/Px+/363F5PnTFVIeFT7E0/9WYw/s8z9iNFhwuid/LfDY8R/+uYdpJjuXyZK+rtoLloF4vkLB6jqHts2ItrTSZLPttEiuO89uANjm5R5iGNT4Vo8yzNyc35zhBrOmGa98mJcAS+7l4h6gkO32tw61a8kYFiDLLN5D9P08WikDETpwvdwRhIWa8wvmQKBzktQWTs8oIBWBCygRDojtttRulQB+8c0ErRHf6D3mHFPuOFcD06jRAwNaJxKYQ8vj3s+0h0l9ERVwZch6GbqKTpnCAl07L8BGXrzb8lvbZ9gB0YQa+iCMbbA3a1SkVVEorKCZidXn8YGACPg5NUkydmWPitUu3FjIsrkKy7ZsFil39szYsjgzhPyDcYsskX1TysCZipz7toIaCq9ARy7sjbg6tlWHhrXoDG/pm0tyi/QuGQIcAbTggkHg== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(376002)(346002)(136003)(396003)(39860400002)(451199021)(46966006)(40470700004)(36840700001)(47076005)(186003)(426003)(336012)(478600001)(16526019)(1076003)(26005)(86362001)(82740400003)(2616005)(6666004)(110136005)(36860700001)(70586007)(70206006)(316002)(356005)(83380400001)(4326008)(81166007)(54906003)(7696005)(5660300002)(41300700001)(44832011)(2906002)(40460700003)(36756003)(8676002)(40480700001)(82310400005)(8936002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2023 13:30:31.5458 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2ab1010b-7ed9-411a-9f4b-08db7d5c015a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT008.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6468 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org pinctrl-amd currently tries to program bit 19 of all GPIOs to select either a 4kΩ or 8hΩ pull up, but this isn't what bit 19 does. Bit 19 is marked as reserved, even in the latest platforms documentation. Drop this programming functionality. Signed-off-by: Mario Limonciello --- drivers/pinctrl/pinctrl-amd.c | 16 ++++------------ drivers/pinctrl/pinctrl-amd.h | 1 - 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index eeaf80fdc13a2..44d3193a81f2a 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -209,7 +209,6 @@ static void amd_gpio_dbg_show(struct seq_file *s, struct gpio_chip *gc) char *pin_sts; char *interrupt_sts; char *wake_sts; - char *pull_up_sel; char *orientation; char debounce_value[40]; char *debounce_enable; @@ -317,14 +316,9 @@ static void amd_gpio_dbg_show(struct seq_file *s, struct gpio_chip *gc) seq_printf(s, " %s|", wake_sts); if (pin_reg & BIT(PULL_UP_ENABLE_OFF)) { - if (pin_reg & BIT(PULL_UP_SEL_OFF)) - pull_up_sel = "8k"; - else - pull_up_sel = "4k"; - seq_printf(s, "%s ↑|", - pull_up_sel); + seq_puts(s, " ↑ |"); } else if (pin_reg & BIT(PULL_DOWN_ENABLE_OFF)) { - seq_puts(s, " ↓|"); + seq_puts(s, " ↓ |"); } else { seq_puts(s, " |"); } @@ -751,7 +745,7 @@ static int amd_pinconf_get(struct pinctrl_dev *pctldev, break; case PIN_CONFIG_BIAS_PULL_UP: - arg = (pin_reg >> PULL_UP_SEL_OFF) & (BIT(0) | BIT(1)); + arg = (pin_reg >> PULL_UP_ENABLE_OFF) & BIT(0); break; case PIN_CONFIG_DRIVE_STRENGTH: @@ -798,10 +792,8 @@ static int amd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, break; case PIN_CONFIG_BIAS_PULL_UP: - pin_reg &= ~BIT(PULL_UP_SEL_OFF); - pin_reg |= (arg & BIT(0)) << PULL_UP_SEL_OFF; pin_reg &= ~BIT(PULL_UP_ENABLE_OFF); - pin_reg |= ((arg>>1) & BIT(0)) << PULL_UP_ENABLE_OFF; + pin_reg |= (arg & BIT(0)) << PULL_UP_ENABLE_OFF; break; case PIN_CONFIG_DRIVE_STRENGTH: diff --git a/drivers/pinctrl/pinctrl-amd.h b/drivers/pinctrl/pinctrl-amd.h index 1cf2d06bbd8c4..34c5c3e71fb26 100644 --- a/drivers/pinctrl/pinctrl-amd.h +++ b/drivers/pinctrl/pinctrl-amd.h @@ -36,7 +36,6 @@ #define WAKE_CNTRL_OFF_S4 15 #define PIN_STS_OFF 16 #define DRV_STRENGTH_SEL_OFF 17 -#define PULL_UP_SEL_OFF 19 #define PULL_UP_ENABLE_OFF 20 #define PULL_DOWN_ENABLE_OFF 21 #define OUTPUT_VALUE_OFF 22 From patchwork Wed Jul 5 13:30:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 700243 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05B31C001B0 for ; Wed, 5 Jul 2023 13:31:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232071AbjGENa6 (ORCPT ); Wed, 5 Jul 2023 09:30:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232273AbjGENax (ORCPT ); Wed, 5 Jul 2023 09:30:53 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2068.outbound.protection.outlook.com [40.107.94.68]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D766198C; Wed, 5 Jul 2023 06:30:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iDE5ufoOjyZjsz4eF4nqHI+6UgqssT+i94nUMM6vzfuZuyc9HQCHfnoIMIDSzORrgJkHsCdZZ3zIjTjy5dk0a4utc2Z/YbrbYflZlKYaqDC4GH2aA5+LiuMkBwbzaIzsxwPK4tEE91yX2FIDSxVViifYkfyuPF8hpTBgv4vglGN5mP8nyWdbDC4OGJ3YcfJ5FYex6O3YOIzJ2sJO+Bln/S7IyqYd9jx0yrLIcl08TNbU5bgdfn7dVmqvz28IpEviC+DQFdUzUAhkRdINAHzU+4vcD90dJ59FIzIqgWciiV/HgYnoOOv4wkUrsAEM8lBBflo0qqLukc0kAnZg4tao7g== 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=DP47c21hf8Z6Kim/DkRZLCyrWk2KwUb1uFORUr+ivJA=; b=QkV2C+duE8t7nYrZXGHOdrsxozJ/Gro4kp5PnWIbFTaDK3m0HVCpY4kdNNijMVCaTdHh1VYyGEmTLTmWsl3dkiP+/WMaWhbc1y4DpoBpubUR0QCahWX/HJQn+KI0FNGHFy7GYYP59QoKKMXiMEgHxGUn1JZYR8tpXiEXWCTkWhv5VktVLkSmNHQ9XHxE1NBA7yensJHOya0NAWqE/vA3zTdy0ZyvKqPI/boPDo0L8+XPtUWsVmY75zYJkmCesCCqo+G6OI/Pv26dqQpGRFnMmsTtNlI+y+ZNlTfwOGtlEl8gBCKPRUvjI3+HB1/XJ9ltR8Da5nrrvlvViR5V+q0rhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DP47c21hf8Z6Kim/DkRZLCyrWk2KwUb1uFORUr+ivJA=; b=UPe5mUGKM0QA28plh3LexAF15zgx0Edkb5OURZXTdK9C8iisN6Td6spdoKX7mRGY5Dhm65+MeLkLXg8yOdnkqAUdM2TdqeUVB/xuWv+bIfH8F+QTUfJBMa7g9Xo7zHB1znYAI5zYz+WycxA8ji56c6pqBEpZDkVqJ8jDPO2vq2I= Received: from BYAPR07CA0058.namprd07.prod.outlook.com (2603:10b6:a03:60::35) by SA1PR12MB6726.namprd12.prod.outlook.com (2603:10b6:806:255::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Wed, 5 Jul 2023 13:30:32 +0000 Received: from DM6NAM11FT008.eop-nam11.prod.protection.outlook.com (2603:10b6:a03:60:cafe::62) by BYAPR07CA0058.outlook.office365.com (2603:10b6:a03:60::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.18 via Frontend Transport; Wed, 5 Jul 2023 13:30:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT008.mail.protection.outlook.com (10.13.172.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6521.44 via Frontend Transport; Wed, 5 Jul 2023 13:30:32 +0000 Received: from SITE-L-T34-2.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 5 Jul 2023 08:30:31 -0500 From: Mario Limonciello To: Natikar Basavaraj , S-k Shyam-sundar , CC: , , , , , "Hans de Goede" , open list , "open list" , Mario Limonciello Subject: [PATCH v2 4/4] pinctrl: amd: Unify debounce handling into amd_pinconf_set() Date: Wed, 5 Jul 2023 08:30:05 -0500 Message-ID: <20230705133005.577-5-mario.limonciello@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230705133005.577-1-mario.limonciello@amd.com> References: <20230705133005.577-1-mario.limonciello@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT008:EE_|SA1PR12MB6726:EE_ X-MS-Office365-Filtering-Correlation-Id: 024fb443-1559-4b13-a7bd-08db7d5c01d8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kAleWZOwzqN6ioWxrgXQN8ch0gbKACEdC+gFCi0BF0MguJ0YUaePx/XUKBuIzQLKsXwffQCPGa6akh4W/SMLWdn7KQa0YhPFdy3k1R1GKmsOVbImvepokHcamfZR/jFdyQtGBLhOzSrMRoek+y+SZDi8dMVYqjz6m66KJ9JqkXiiN5NwjKk6srsdIMLYV9OaAqORh/bhyyaO3mGk7/blvimEAC+2fK3+QfJfYcUojRuL6IA0cSftityb+KJPzJKuWQ2WPadQd2Ab/266h0kE/CuPJQzn2kA3Lq3r+x4j9kOMVCvmCcX9PTY+1ACTOOEKpVJngI5EtdVpTMj6MYhVOyTz0hC3f+xPhegPdIBXjYzoKZ+Re5SdIyS9OSCZZE2u2nOckXbkxtwV0p/UmKPvai7zQiZNtQ8tnMtqu78HC0x28eA8zQUqgA2SqfRl/ux2cisiYbxa2yPeyvR7Sh8ZUgxT4J3jmVdkFM0H6zmtLK6SDMOB/fMGKu1GBl+Fnuc8McYXvNfsEqekcfDzZVbG1m7wRjLsqbMub0hFIP/vkmYvm9qKULiliPqML1plQhuuGxLf17u/FCgStcEn/I7wHA19VAEHQm8geIhQEtKVy5ijDr5bS+BukSsdZwy2/wV0ES/NXKXJUPIa7qIaZMsKMMAHlUYnVYyYUiDBhNoqFAgFboYFSNIXIznsFiWC/aBjfRuv1KHVlCASoUN87HVfq9JhKQUBB3ourDetTulFn6H/TtLiuGky58BZ2FomrcbrWmRH/eqol9dJiQCz13+Y5Q== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199021)(40470700004)(36840700001)(46966006)(36756003)(86362001)(82310400005)(44832011)(2906002)(5660300002)(40460700003)(40480700001)(47076005)(186003)(16526019)(426003)(336012)(36860700001)(83380400001)(1076003)(26005)(356005)(82740400003)(81166007)(7696005)(54906003)(110136005)(478600001)(70586007)(70206006)(316002)(4326008)(2616005)(6666004)(8936002)(8676002)(41300700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2023 13:30:32.3747 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 024fb443-1559-4b13-a7bd-08db7d5c01d8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT008.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6726 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org Debounce handling is done in two different entry points in the driver. Unify this to make sure that it's always handled the same. Signed-off-by: Mario Limonciello --- v1->v2: * Move later in the series * Unsigned -> unsigned int * s/out/out_unlock/ --- drivers/pinctrl/pinctrl-amd.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index 44d3193a81f2a..b129d7c76b3e9 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -115,16 +115,12 @@ static void amd_gpio_set_value(struct gpio_chip *gc, unsigned offset, int value) raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); } -static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset, - unsigned debounce) +static int amd_gpio_set_debounce(struct amd_gpio *gpio_dev, unsigned int offset, + unsigned int debounce) { u32 time; u32 pin_reg; int ret = 0; - unsigned long flags; - struct amd_gpio *gpio_dev = gpiochip_get_data(gc); - - raw_spin_lock_irqsave(&gpio_dev->lock, flags); /* Use special handling for Pin0 debounce */ if (offset == 0) { @@ -183,7 +179,6 @@ static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset, pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF); } writel(pin_reg, gpio_dev->base + offset * 4); - raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); return ret; } @@ -782,9 +777,8 @@ static int amd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, switch (param) { case PIN_CONFIG_INPUT_DEBOUNCE: - pin_reg &= ~DB_TMR_OUT_MASK; - pin_reg |= arg & DB_TMR_OUT_MASK; - break; + ret = amd_gpio_set_debounce(gpio_dev, pin, arg); + goto out_unlock; case PIN_CONFIG_BIAS_PULL_DOWN: pin_reg &= ~BIT(PULL_DOWN_ENABLE_OFF); @@ -811,6 +805,7 @@ static int amd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, writel(pin_reg, gpio_dev->base + pin*4); } +out_unlock: raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); return ret; @@ -857,12 +852,6 @@ static int amd_gpio_set_config(struct gpio_chip *gc, unsigned int pin, { struct amd_gpio *gpio_dev = gpiochip_get_data(gc); - if (pinconf_to_config_param(config) == PIN_CONFIG_INPUT_DEBOUNCE) { - u32 debounce = pinconf_to_config_argument(config); - - return amd_gpio_set_debounce(gc, pin, debounce); - } - return amd_pinconf_set(gpio_dev->pctrl, pin, &config, 1); }