arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type

Message ID 20231106-am65-dss-clk-edge-v1-1-4a959fec0e1e@ideasonboard.com
State New
Headers
Series arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type |

Commit Message

Tomi Valkeinen Nov. 6, 2023, 9:57 a.m. UTC
  DSS irq trigger type is set to IRQ_TYPE_EDGE_RISING in the DT file, but
the TRM says it is level triggered.

For some reason triggering on rising edge results in double the amount
of expected interrupts, e.g. for normal page flipping test the number of
interrupts per second is 2 * fps. It is as if the IRQ triggers on both
edges. There are no other side effects to this issue than slightly
increased CPU & power consumption due to the extra interrupt.

Switching to IRQ_TYPE_LEVEL_HIGH is correct and fixes the issue, so
let's do that.

Fixes: fc539b90eda2 ("arm64: dts: ti: am654: Add DSS node")
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---
base-commit: ffc253263a1375a65fa6c9f62a893e9767fbebfa
change-id: 20231106-am65-dss-clk-edge-7d1bdd7c0f58

Best regards,
  

Comments

Aradhya Bhatia Nov. 6, 2023, 10:20 a.m. UTC | #1
On 06-Nov-23 15:27, Tomi Valkeinen wrote:
> DSS irq trigger type is set to IRQ_TYPE_EDGE_RISING in the DT file, but
> the TRM says it is level triggered.
> 
> For some reason triggering on rising edge results in double the amount
> of expected interrupts, e.g. for normal page flipping test the number of
> interrupts per second is 2 * fps. It is as if the IRQ triggers on both
> edges. There are no other side effects to this issue than slightly
> increased CPU & power consumption due to the extra interrupt.
> 
> Switching to IRQ_TYPE_LEVEL_HIGH is correct and fixes the issue, so
> let's do that.
> 
> Fixes: fc539b90eda2 ("arm64: dts: ti: am654: Add DSS node")
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> ---

Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com>

Regards
Aradhya

>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> index bc460033a37a..c98068b6c122 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> @@ -1034,7 +1034,7 @@ dss: dss@4a00000 {
>  		assigned-clocks = <&k3_clks 67 2>;
>  		assigned-clock-parents = <&k3_clks 67 5>;
>  
> -		interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
> +		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
>  
>  		dma-coherent;
>  
> 
> ---
> base-commit: ffc253263a1375a65fa6c9f62a893e9767fbebfa
> change-id: 20231106-am65-dss-clk-edge-7d1bdd7c0f58
> 
> Best regards,
  
Tomi Valkeinen Nov. 21, 2023, 8:48 a.m. UTC | #2
Hi Vignes, Nishanth,

Will you pick this up?

  Tomi

On 06/11/2023 12:20, Aradhya Bhatia wrote:
> 
> 
> On 06-Nov-23 15:27, Tomi Valkeinen wrote:
>> DSS irq trigger type is set to IRQ_TYPE_EDGE_RISING in the DT file, but
>> the TRM says it is level triggered.
>>
>> For some reason triggering on rising edge results in double the amount
>> of expected interrupts, e.g. for normal page flipping test the number of
>> interrupts per second is 2 * fps. It is as if the IRQ triggers on both
>> edges. There are no other side effects to this issue than slightly
>> increased CPU & power consumption due to the extra interrupt.
>>
>> Switching to IRQ_TYPE_LEVEL_HIGH is correct and fixes the issue, so
>> let's do that.
>>
>> Fixes: fc539b90eda2 ("arm64: dts: ti: am654: Add DSS node")
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
>> ---
> 
> Reviewed-by: Aradhya Bhatia <a-bhatia1@ti.com>
> 
> Regards
> Aradhya
> 
>>   arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>> index bc460033a37a..c98068b6c122 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>> @@ -1034,7 +1034,7 @@ dss: dss@4a00000 {
>>   		assigned-clocks = <&k3_clks 67 2>;
>>   		assigned-clock-parents = <&k3_clks 67 5>;
>>   
>> -		interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
>> +		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
>>   
>>   		dma-coherent;
>>   
>>
>> ---
>> base-commit: ffc253263a1375a65fa6c9f62a893e9767fbebfa
>> change-id: 20231106-am65-dss-clk-edge-7d1bdd7c0f58
>>
>> Best regards,
>
  
Nishanth Menon Dec. 1, 2023, 8:51 a.m. UTC | #3
Hi Tomi Valkeinen,

On Mon, 06 Nov 2023 11:57:48 +0200, Tomi Valkeinen wrote:
> DSS irq trigger type is set to IRQ_TYPE_EDGE_RISING in the DT file, but
> the TRM says it is level triggered.
> 
> For some reason triggering on rising edge results in double the amount
> of expected interrupts, e.g. for normal page flipping test the number of
> interrupts per second is 2 * fps. It is as if the IRQ triggers on both
> edges. There are no other side effects to this issue than slightly
> increased CPU & power consumption due to the extra interrupt.
> 
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/1] arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type
      commit: b57160859263c083c49482b0d083a586b1517f78

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
  

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index bc460033a37a..c98068b6c122 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -1034,7 +1034,7 @@  dss: dss@4a00000 {
 		assigned-clocks = <&k3_clks 67 2>;
 		assigned-clock-parents = <&k3_clks 67 5>;
 
-		interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
+		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
 
 		dma-coherent;