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 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 80411C4167B for ; Sun, 26 Nov 2023 09:12:15 +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:References: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: List-Owner; bh=4IdDDvpiDOHYcZboW0WI2RhSNwKlivYOBauFK04mbDg=; b=CwJS/sLzQbLu+B 3UBh4gnaUBQHUl6H60/aalwS6rKfDF9TrRTUL1IVwm3Zj1NYqTNPWP+m050Z0ALGV1+7EFtcwfcPR rYmA/QnZwW1k9qs+HbOtJ/D5hzQXdJUzuik265gMGtVIjkPlM8HTwfjuPDlkLUZDVA5LVOXvSjKj/ LJJvVXkEW5Y2lH1PJVKu6u2UR9crB2cIIzvzTJhUZZxokXCStH0fgKr6QbVd9X5jIaKIX9us2k6/S cnAzZUD8+6CW86Sv1PZAesT6ZvwS3vU3EgVW1TH2Myr8Y3phUd9moYGGahIQOqa3RuGWGg2ozhoH8 gu9FPqQWlG0tTkcZ+fvw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r7BAy-00AZcU-02; Sun, 26 Nov 2023 09:11:40 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r7BAu-00AZbJ-0y for linux-arm-kernel@lists.infradead.org; Sun, 26 Nov 2023 09:11:38 +0000 Received: from epcas2p3.samsung.com (unknown [182.195.41.55]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20231126091122epoutp03c0a287e5f95e3a3407bd63be18b04fd3~bIUk1csAm1731017310epoutp03V for ; Sun, 26 Nov 2023 09:11:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20231126091122epoutp03c0a287e5f95e3a3407bd63be18b04fd3~bIUk1csAm1731017310epoutp03V DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1700989882; bh=GuiA2IISUqc9VQUQYIOqTFT2qSk66J6Ur4YwPXb8HcM=; h=From:To:Cc:Subject:Date:References:From; b=MSQhllYeRJo7jd27M/gySwJhzWbynt/2Uh5rohoIs2ZoUZPwRNmBdo2MB3tvUUNWM F2mCLCB2FcFt0ne+v6IYqMeIS3sIk0aWNprZSXYtShfwoCWA9kLT5XCa9fq+oG5ELO /r16Mdfe0Zpq5yvSpzZpSVVOtYwcp3cTiMLySipg= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas2p1.samsung.com (KnoxPortal) with ESMTP id 20231126091121epcas2p182a52384ebd985e4fcbf017bd32fc0e2~bIUjuzWMo3013430134epcas2p1X; Sun, 26 Nov 2023 09:11:21 +0000 (GMT) Received: from epsmgec2p1.samsung.com (unknown [182.195.36.102]) by epsnrtp2.localdomain (Postfix) with ESMTP id 4SdNHs0PcHz4x9Pv; Sun, 26 Nov 2023 09:11:21 +0000 (GMT) Received: from epcas2p1.samsung.com ( [182.195.41.53]) by epsmgec2p1.samsung.com (Symantec Messaging Gateway) with SMTP id B7.B8.08648.8BB03656; Sun, 26 Nov 2023 18:11:20 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas2p4.samsung.com (KnoxPortal) with ESMTPA id 20231126091120epcas2p4a1320e3b0f9be8f8a0f575a322981d38~bIUjAro321687416874epcas2p4C; Sun, 26 Nov 2023 09:11:20 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20231126091120epsmtrp18ea6c518276c3eff3ec6aca67af2397d~bIUi9YZCq0797007970epsmtrp1T; Sun, 26 Nov 2023 09:11:20 +0000 (GMT) X-AuditID: b6c32a43-721fd700000021c8-aa-65630bb896fa Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 08.B7.08755.8BB03656; Sun, 26 Nov 2023 18:11:20 +0900 (KST) Received: from perf.dsn.sec.samsung.com (unknown [10.229.95.91]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20231126091120epsmtip2230b13d97d9a43a23c54f80b96768f89~bIUiuNZfI1550915509epsmtip2q; Sun, 26 Nov 2023 09:11:20 +0000 (GMT) From: Youngmin Nam To: tomasz.figa@gmail.com, krzysztof.kozlowski@linaro.org, s.nawrocki@samsung.com, alim.akhtar@samsung.com, linus.walleij@linaro.org Cc: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, semen.protsenko@linaro.org, Youngmin Nam Subject: [PATCH v2] pinctrl: samsung: add irq_set_affinity() for non wake up external gpio interrupt Date: Sun, 26 Nov 2023 18:46:18 +0900 Message-Id: <20231126094618.2545116-1-youngmin.nam@samsung.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIJsWRmVeSWpSXmKPExsWy7bCmqe4O7uRUg8ZtFhYP5m1js9j7eiu7 xZQ/y5ksNj2+xmqxef4fRovLu+awWcw4v4/J4vCbdlaL531A1qpdQInFBz6xO3B77Jx1l93j zrU9bB6bl9R79G1ZxejxeZNcAGtUtk1GamJKapFCal5yfkpmXrqtkndwvHO8qZmBoa6hpYW5 kkJeYm6qrZKLT4CuW2YO0GVKCmWJOaVAoYDE4mIlfTubovzSklSFjPziElul1IKUnALzAr3i xNzi0rx0vbzUEitDAwMjU6DChOyMDeu+MBbcFqpYOusZawPjbr4uRk4OCQETifk/L7F0MXJx CAnsYJQ4cu8eO4TziVHi6sVWKOcbo8TWZfcYYVrWNz9khUjsZZRo+bEbLCEk8JVR4uC5cBCb TUBXYtuJf2BxEYE2RonOvQEgDcwC5xgl7vdMYAZJCAukSUz41sgGYrMIqErcvLGfFcTmFbCX +LX9IlCcA2ibvMTiBxIQYUGJkzOfsIDYzEDh5q2zmUFmSgi8ZZc4dauHBeI6F4mftw+xQ9jC Eq+Ob4GypSRe9rdB2dkSq39dgrIrJNrv9TBD2MYSs561M4LsZRbQlFi/Sx/iBGWJI7eg1vJJ dBz+yw4R5pXoaBOCaFST+DVlAzR4ZCR2L14BNdBD4tnkTeyQ0ImV+Px2NcsERvlZSJ6ZheSZ WQh7FzAyr2IUSy0ozk1PTTYqMITHaXJ+7iZGcNrUct7BeGX+P71DjEwcjIcYJTiYlUR4c//E pwrxpiRWVqUW5ccXleakFh9iNAWG7kRmKdHkfGDiziuJNzSxNDAxMzM0NzI1MFcS573XOjdF SCA9sSQ1OzW1ILUIpo+Jg1Oqgal7y//nt1zrj7h8XN+XbfJp/Z8WCcX/ne36OrNY91YnSlxK rYlxylU7nLf6YrPQDgvXRR/ib6ot2t3JP5NHO33pNfOwZSn+0+b1LL/Cb71WZwq/ryFzSkXF gidO7rlCzpov3apKM+e+DMvZvk2Zw6+hJyl49SyJtItX5I9MKI7+GbWhb5lkrIjFJQXzvzL3 1Eo3sare/7H50a82i81eiz81bVe3mqpe4/ZrwdSvF2dyPa3akbPg+FrxkP0PbN5s0WBUXsxQ oJ2nn113jM/7y4Fg54LvRhv9DJ7XNahxu0XvurIl/fqOxtfhSxt1uB/ffrjJ8PbhqsjqlFen /kuZ9/CqG8R7JCyWdmU8uqxGWomlOCPRUIu5qDgRAFiBgq4kBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMLMWRmVeSWpSXmKPExsWy7bCSvO4O7uRUg85rkhYP5m1js9j7eiu7 xZQ/y5ksNj2+xmqxef4fRovLu+awWcw4v4/J4vCbdlaL531A1qpdQInFBz6xO3B77Jx1l93j zrU9bB6bl9R79G1ZxejxeZNcAGsUl01Kak5mWWqRvl0CV8aGdV8YC24LVSyd9Yy1gXE3Xxcj J4eEgInE+uaHrF2MXBxCArsZJSbtfc8CkZCRuL3yMiuELSxxv+UIVNFnRon/a46BJdgEdCW2 nfjHCJIQEehhlNj8agILiMMscIVRYsvipYwgVcICKRLnf5wEG8sioCpx88Z+sG5eAXuJX9sv snUxcgCtkJdY/EACIiwocXLmE7ByZqBw89bZzBMY+WYhSc1CklrAyLSKUTK1oDg3PbfYsMAw L7Vcrzgxt7g0L10vOT93EyM4nLU0dzBuX/VB7xAjEwfjIUYJDmYlEd7cP/GpQrwpiZVVqUX5 8UWlOanFhxilOViUxHnFX/SmCAmkJ5akZqemFqQWwWSZODilGpiWtmSu5J6/K+nH9e8/pae+ flj58NDRbbc+F6eEzzKasqtye6Ti08i1W37PUepaYr9S/cjHL0HqEis5/lV7HL1xbKavY7FH U9T0KxcO/5mvddKy29vrQ8DPvPNvVZZNdXL7LHBLcu+knpp3qUz9qz3MJa2SfnTd3aHJuU7C ycnzf3MGg71K3uPTxh3Pv9rq2r8xuVghUCCivu7Kzonf5UTO7eff2F+q+6Jxl0Th1l2M5U+X T5IRrLH5uvNGG2/N3wfVq+8Wmh601g9aWe/2hf3z5Nr7Gnt7DHNevTl2x6wmPclNfsMZx20T frZO2v16Y+EUvqdWKzNfrfgR72C8RWN7eijXsg3yoqofK3rictMOKbEUZyQaajEXFScCAEKe zXzWAgAA X-CMS-MailID: 20231126091120epcas2p4a1320e3b0f9be8f8a0f575a322981d38 X-Msg-Generator: CA X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20231126091120epcas2p4a1320e3b0f9be8f8a0f575a322981d38 References: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231126_011136_928423_C3AD100C X-CRM114-Status: GOOD ( 15.73 ) 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 To support affinity setting for non wake up external gpio interrupt, add irq_set_affinity callback using irq number from pinctrl driver data. Before this patch, changing the irq affinity of gpio interrupt is not possible: # cat /proc/irq/418/smp_affinity 3ff # echo 00f > /proc/irq/418/smp_affinity # cat /proc/irq/418/smp_affinity 3ff # cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 ... 418: 3631 0 0 0 ... With this patch applied, it's possible to change irq affinity of gpio interrupt: # cat /proc/irq/418/smp_affinity 3ff # echo 00f > /proc/irq/418/smp_affinity # cat /proc/irq/418/smp_affinity 00f # cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 ... 418: 3893 201 181 188 ... Signed-off-by: Youngmin Nam Reviewed-by: Sam Protsenko --- drivers/pinctrl/samsung/pinctrl-exynos.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c index 6b58ec84e34b..5d7b788282e9 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c @@ -147,6 +147,19 @@ static int exynos_irq_set_type(struct irq_data *irqd, unsigned int type) return 0; } +static int exynos_irq_set_affinity(struct irq_data *irqd, + const struct cpumask *dest, bool force) +{ + struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); + struct samsung_pinctrl_drv_data *d = bank->drvdata; + struct irq_data *parent = irq_get_irq_data(d->irq); + + if (parent) + return parent->chip->irq_set_affinity(parent, dest, force); + + return -EINVAL; +} + static int exynos_irq_request_resources(struct irq_data *irqd) { struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); @@ -212,6 +225,7 @@ static const struct exynos_irq_chip exynos_gpio_irq_chip __initconst = { .irq_mask = exynos_irq_mask, .irq_ack = exynos_irq_ack, .irq_set_type = exynos_irq_set_type, + .irq_set_affinity = exynos_irq_set_affinity, .irq_request_resources = exynos_irq_request_resources, .irq_release_resources = exynos_irq_release_resources, }, -- 2.39.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel