2023-03-23 13:53:18

by Maximilian Weigand

[permalink] [raw]
Subject: [PATCH 3/6] devicetree: input: cypress,tt21000: fix interrupt type in dts example

Triggering the interrupt of the IRQ_TYPE_LEVEL_LOW type can lead to
probing issues with the device for the current driver (encountered on
the Pine64 PineNote). Basically the interrupt would be triggered before
certain commands were sent to the device, leading to a race between the
device responding fast enough and the irq handler fetching a data frame
from it. Actually all devices currently using the driver already use a
falling edge trigger.

Signed-off-by: Maximilian Weigand <[email protected]>
Reviewed-by: Alistair Francis <[email protected]>
---
.../devicetree/bindings/input/touchscreen/cypress,tt21000.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/input/touchscreen/cypress,tt21000.yaml b/Documentation/devicetree/bindings/input/touchscreen/cypress,tt21000.yaml
index 1959ec394768..a77203c78d6e 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/cypress,tt21000.yaml
+++ b/Documentation/devicetree/bindings/input/touchscreen/cypress,tt21000.yaml
@@ -83,7 +83,7 @@ examples:
pinctrl-names = "default";
pinctrl-0 = <&tp_reset_ds203>;
interrupt-parent = <&pio>;
- interrupts = <1 5 IRQ_TYPE_LEVEL_LOW>;
+ interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_touch>;

--
2.39.2


2023-03-24 09:46:29

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 3/6] devicetree: input: cypress,tt21000: fix interrupt type in dts example

On 23/03/2023 14:52, Maximilian Weigand wrote:
> Triggering the interrupt of the IRQ_TYPE_LEVEL_LOW type can lead to
> probing issues with the device for the current driver (encountered on
> the Pine64 PineNote). Basically the interrupt would be triggered before
> certain commands were sent to the device, leading to a race between the
> device responding fast enough and the irq handler fetching a data frame
> from it. Actually all devices currently using the driver already use a

Use subject prefixes matching the subsystem (which you can get for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching). "dt-bindings", not "devicetree"

Please use scripts/get_maintainers.pl to get a list of necessary people
and lists to CC. It might happen, that command when run on an older
kernel, gives you outdated entries. Therefore please be sure you base
your patches on recent Linux kernel.

> falling edge trigger.
>
> Signed-off-by: Maximilian Weigand <[email protected]>
> Reviewed-by: Alistair Francis <[email protected]>

Usually reviews are public.

Best regards,
Krzysztof

2023-03-29 08:44:53

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 3/6] devicetree: input: cypress,tt21000: fix interrupt type in dts example

On Thu, Mar 23, 2023 at 2:52 PM Maximilian Weigand
<[email protected]> wrote:

> Triggering the interrupt of the IRQ_TYPE_LEVEL_LOW type can lead to
> probing issues with the device for the current driver (encountered on
> the Pine64 PineNote). Basically the interrupt would be triggered before
> certain commands were sent to the device, leading to a race between the
> device responding fast enough and the irq handler fetching a data frame
> from it. Actually all devices currently using the driver already use a
> falling edge trigger.
>
> Signed-off-by: Maximilian Weigand <[email protected]>
> Reviewed-by: Alistair Francis <[email protected]>

Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij