* [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width
@ 2026-09-16 8:57 Zhangfei Gao
2026-09-17 3:14 ` Shawn Guo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Zhangfei Gao @ 2026-09-16 8:57 UTC (permalink / raw)
To: linusw, andersson, brgl
Cc: pankaj.patil, maulik.shah, dmitry.baryshkov, shengchao.guo,
linux-arm-msm, linux-gpio, linux-kernel, stable, Zhangfei Gao
The TARGET_PROC field in the Nord GPIO_INTR_CFG registers occupies bits
11:8. Describe it as four bits wide so the common Qualcomm pinctrl code
clears the complete field before routing an interrupt to the application
processor.
Without intr_target_width, the common code uses its three-bit default
mask. Since GPIO_INTR_CFG resets with TARGET_PROC set to 0xf (NONE), bit
11 remains set when the driver programs HMSS target 3. The resulting
target is 0xb (HPASS_DSP_1), observed as an interrupt configuration value
of 0xb1b instead of 0x31b.
The GPIO interrupt status is consequently latched, but the HMSS TLMM
summary interrupt at GIC SPI 208 is never asserted. This affects all Nord
GPIO interrupts using the TLMM summary path, including the Ethernet PHY
interrupts on GPIO55 and GPIO141.
Fixes: c24dd0826f06 ("pinctrl: qcom: add the TLMM driver for the Nord platforms")
Signed-off-by: Zhangfei Gao <zhangfei.gao@oss.qualcomm.com>
---
drivers/pinctrl/qcom/pinctrl-nord.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pinctrl/qcom/pinctrl-nord.c b/drivers/pinctrl/qcom/pinctrl-nord.c
index 7f37f8e819ba..010760cf0bf5 100644
--- a/drivers/pinctrl/qcom/pinctrl-nord.c
+++ b/drivers/pinctrl/qcom/pinctrl-nord.c
@@ -32,6 +32,7 @@
.intr_wakeup_present_bit = 6, \
.intr_wakeup_enable_bit = 7, \
.intr_target_bit = 8, \
+ .intr_target_width = 4, \
.intr_target_kpss_val = 3, \
.intr_raw_status_bit = 4, \
.intr_polarity_bit = 1, \
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width
2026-09-16 8:57 [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width Zhangfei Gao
@ 2026-09-17 3:14 ` Shawn Guo
2026-09-17 8:41 ` Konrad Dybcio
2026-09-17 9:49 ` Bartosz Golaszewski
2 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2026-09-17 3:14 UTC (permalink / raw)
To: Zhangfei Gao
Cc: linusw, andersson, brgl, pankaj.patil, maulik.shah,
dmitry.baryshkov, linux-arm-msm, linux-gpio, linux-kernel,
stable
On Wed, Sep 16, 2026 at 04:57:20PM +0800, Zhangfei Gao wrote:
> The TARGET_PROC field in the Nord GPIO_INTR_CFG registers occupies bits
> 11:8. Describe it as four bits wide so the common Qualcomm pinctrl code
> clears the complete field before routing an interrupt to the application
> processor.
>
> Without intr_target_width, the common code uses its three-bit default
> mask. Since GPIO_INTR_CFG resets with TARGET_PROC set to 0xf (NONE), bit
> 11 remains set when the driver programs HMSS target 3. The resulting
> target is 0xb (HPASS_DSP_1), observed as an interrupt configuration value
> of 0xb1b instead of 0x31b.
>
> The GPIO interrupt status is consequently latched, but the HMSS TLMM
> summary interrupt at GIC SPI 208 is never asserted. This affects all Nord
> GPIO interrupts using the TLMM summary path, including the Ethernet PHY
> interrupts on GPIO55 and GPIO141.
>
> Fixes: c24dd0826f06 ("pinctrl: qcom: add the TLMM driver for the Nord platforms")
> Signed-off-by: Zhangfei Gao <zhangfei.gao@oss.qualcomm.com>
Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width
2026-09-16 8:57 [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width Zhangfei Gao
2026-09-17 3:14 ` Shawn Guo
@ 2026-09-17 8:41 ` Konrad Dybcio
2026-09-17 9:49 ` Bartosz Golaszewski
2 siblings, 0 replies; 4+ messages in thread
From: Konrad Dybcio @ 2026-09-17 8:41 UTC (permalink / raw)
To: Zhangfei Gao, linusw, andersson, brgl
Cc: pankaj.patil, maulik.shah, dmitry.baryshkov, shengchao.guo,
linux-arm-msm, linux-gpio, linux-kernel, stable
On 9/16/26 10:57 AM, Zhangfei Gao wrote:
> The TARGET_PROC field in the Nord GPIO_INTR_CFG registers occupies bits
> 11:8. Describe it as four bits wide so the common Qualcomm pinctrl code
> clears the complete field before routing an interrupt to the application
> processor.
>
> Without intr_target_width, the common code uses its three-bit default
> mask. Since GPIO_INTR_CFG resets with TARGET_PROC set to 0xf (NONE), bit
> 11 remains set when the driver programs HMSS target 3. The resulting
> target is 0xb (HPASS_DSP_1), observed as an interrupt configuration value
> of 0xb1b instead of 0x31b.
>
> The GPIO interrupt status is consequently latched, but the HMSS TLMM
> summary interrupt at GIC SPI 208 is never asserted. This affects all Nord
> GPIO interrupts using the TLMM summary path, including the Ethernet PHY
> interrupts on GPIO55 and GPIO141.
>
> Fixes: c24dd0826f06 ("pinctrl: qcom: add the TLMM driver for the Nord platforms")
> Signed-off-by: Zhangfei Gao <zhangfei.gao@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width
2026-09-16 8:57 [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width Zhangfei Gao
2026-09-17 3:14 ` Shawn Guo
2026-09-17 8:41 ` Konrad Dybcio
@ 2026-09-17 9:49 ` Bartosz Golaszewski
2 siblings, 0 replies; 4+ messages in thread
From: Bartosz Golaszewski @ 2026-09-17 9:49 UTC (permalink / raw)
To: linusw, andersson, brgl, Zhangfei Gao
Cc: Bartosz Golaszewski, pankaj.patil, maulik.shah, dmitry.baryshkov,
shengchao.guo, linux-arm-msm, linux-gpio, linux-kernel, stable
On Wed, 16 Sep 2026 16:57:20 +0800, Zhangfei Gao wrote:
> The TARGET_PROC field in the Nord GPIO_INTR_CFG registers occupies bits
> 11:8. Describe it as four bits wide so the common Qualcomm pinctrl code
> clears the complete field before routing an interrupt to the application
> processor.
>
> Without intr_target_width, the common code uses its three-bit default
> mask. Since GPIO_INTR_CFG resets with TARGET_PROC set to 0xf (NONE), bit
> 11 remains set when the driver programs HMSS target 3. The resulting
> target is 0xb (HPASS_DSP_1), observed as an interrupt configuration value
> of 0xb1b instead of 0x31b.
>
> [...]
Applied, thanks!
[1/1] pinctrl: qcom: nord: fix GPIO interrupt target width
https://git.kernel.org/brgl/c/68ab4a6a84b92f52650508acb60317eb76454250
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-17 9:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-16 8:57 [PATCH] pinctrl: qcom: nord: fix GPIO interrupt target width Zhangfei Gao
2026-09-17 3:14 ` Shawn Guo
2026-09-17 8:41 ` Konrad Dybcio
2026-09-17 9:49 ` Bartosz Golaszewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®