Message ID | 20210310163024.393578-3-caleb@connolly.tech (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/3] arm64: dts: qcom: sm8150: add other QUP nodes | expand |
Hello Caleb, Thanks for the patch. Some nitpicks inline: On Wed, 10 Mar 2021 at 22:02, Caleb Connolly <caleb@connolly.tech> wrote: > > Hook up the SMMU for doing DMA over i2c. Some peripherals like > touchscreens easily exceed 32-bytes per transfer, causing errors and > lockups without this. > > Signed-off-by: Caleb Connolly <caleb@connolly.tech> > --- > Fixes i2c on the OnePlus 7, without this touching the screen with more > than 4 fingers causes the device to lock up and reboot. > --- > arch/arm64/boot/dts/qcom/sm8150.dtsi | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi > index 03e05d98daf2..543417d74216 100644 > --- a/arch/arm64/boot/dts/qcom/sm8150.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi > @@ -583,6 +583,7 @@ qupv3_id_0: geniqup@8c0000 { > clock-names = "m-ahb", "s-ahb"; > clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, > <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; > + iommus = <&apps_smmu 0xc3 0x0>; I think we also need to add the new iommu property to the binding documentation? <https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/soc/qcom/qcom%2Cgeni-se.yaml> Thanks, Bhupesh > #address-cells = <2>; > #size-cells = <2>; > ranges; > @@ -595,6 +596,7 @@ qupv3_id_1: geniqup@ac0000 { > clock-names = "m-ahb", "s-ahb"; > clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, > <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; > + iommus = <&apps_smmu 0x603 0x0>; > #address-cells = <2>; > #size-cells = <2>; > ranges; > @@ -617,6 +619,7 @@ qupv3_id_2: geniqup@cc0000 { > clock-names = "m-ahb", "s-ahb"; > clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>, > <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>; > + iommus = <&apps_smmu 0x7a3 0x0>; > #address-cells = <2>; > #size-cells = <2>; > ranges; > -- > 2.29.2 > >
On 10-03-21, 16:31, Caleb Connolly wrote: > Hook up the SMMU for doing DMA over i2c. Some peripherals like > touchscreens easily exceed 32-bytes per transfer, causing errors and > lockups without this. Why not squash this to patch 1..? > > Signed-off-by: Caleb Connolly <caleb@connolly.tech> > --- > Fixes i2c on the OnePlus 7, without this touching the screen with more > than 4 fingers causes the device to lock up and reboot. > --- > arch/arm64/boot/dts/qcom/sm8150.dtsi | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi > index 03e05d98daf2..543417d74216 100644 > --- a/arch/arm64/boot/dts/qcom/sm8150.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi > @@ -583,6 +583,7 @@ qupv3_id_0: geniqup@8c0000 { > clock-names = "m-ahb", "s-ahb"; > clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, > <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; > + iommus = <&apps_smmu 0xc3 0x0>; > #address-cells = <2>; > #size-cells = <2>; > ranges; > @@ -595,6 +596,7 @@ qupv3_id_1: geniqup@ac0000 { > clock-names = "m-ahb", "s-ahb"; > clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, > <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; > + iommus = <&apps_smmu 0x603 0x0>; > #address-cells = <2>; > #size-cells = <2>; > ranges; > @@ -617,6 +619,7 @@ qupv3_id_2: geniqup@cc0000 { > clock-names = "m-ahb", "s-ahb"; > clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>, > <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>; > + iommus = <&apps_smmu 0x7a3 0x0>; > #address-cells = <2>; > #size-cells = <2>; > ranges; > -- > 2.29.2 >
Hi Vinod, On 16/03/2021 6:15 am, Vinod Koul wrote: > On 10-03-21, 16:31, Caleb Connolly wrote: >> Hook up the SMMU for doing DMA over i2c. Some peripherals like >> touchscreens easily exceed 32-bytes per transfer, causing errors and >> lockups without this. > Why not squash this to patch 1..? I thought it made more sense to separate these patches to keep the history a bit cleaner. I can squash them if you'd prefer. Caleb > >> Signed-off-by: Caleb Connolly <caleb@connolly.tech> >> --- >> Fixes i2c on the OnePlus 7, without this touching the screen with more >> than 4 fingers causes the device to lock up and reboot. >> --- >> arch/arm64/boot/dts/qcom/sm8150.dtsi | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi >> index 03e05d98daf2..543417d74216 100644 >> --- a/arch/arm64/boot/dts/qcom/sm8150.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi >> @@ -583,6 +583,7 @@ qupv3_id_0: geniqup@8c0000 { >> clock-names = "m-ahb", "s-ahb"; >> clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, >> <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; >> + iommus = <&apps_smmu 0xc3 0x0>; >> #address-cells = <2>; >> #size-cells = <2>; >> ranges; >> @@ -595,6 +596,7 @@ qupv3_id_1: geniqup@ac0000 { >> clock-names = "m-ahb", "s-ahb"; >> clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, >> <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; >> + iommus = <&apps_smmu 0x603 0x0>; >> #address-cells = <2>; >> #size-cells = <2>; >> ranges; >> @@ -617,6 +619,7 @@ qupv3_id_2: geniqup@cc0000 { >> clock-names = "m-ahb", "s-ahb"; >> clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>, >> <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>; >> + iommus = <&apps_smmu 0x7a3 0x0>; >> #address-cells = <2>; >> #size-cells = <2>; >> ranges; >> -- >> 2.29.2 >> > -- > ~Vinod
On 20-03-21, 17:16, Caleb Connolly wrote: > Hi Vinod, > > On 16/03/2021 6:15 am, Vinod Koul wrote: > > On 10-03-21, 16:31, Caleb Connolly wrote: > >> Hook up the SMMU for doing DMA over i2c. Some peripherals like > >> touchscreens easily exceed 32-bytes per transfer, causing errors and > >> lockups without this. > > Why not squash this to patch 1..? > > I thought it made more sense to separate these patches to keep the > history a bit cleaner. I can squash them if you'd prefer. The nodes should be typically added in a single patch, maybe Bjorn is fine with this ;-)
diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi index 03e05d98daf2..543417d74216 100644 --- a/arch/arm64/boot/dts/qcom/sm8150.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi @@ -583,6 +583,7 @@ qupv3_id_0: geniqup@8c0000 { clock-names = "m-ahb", "s-ahb"; clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; + iommus = <&apps_smmu 0xc3 0x0>; #address-cells = <2>; #size-cells = <2>; ranges; @@ -595,6 +596,7 @@ qupv3_id_1: geniqup@ac0000 { clock-names = "m-ahb", "s-ahb"; clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; + iommus = <&apps_smmu 0x603 0x0>; #address-cells = <2>; #size-cells = <2>; ranges; @@ -617,6 +619,7 @@ qupv3_id_2: geniqup@cc0000 { clock-names = "m-ahb", "s-ahb"; clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>, <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>; + iommus = <&apps_smmu 0x7a3 0x0>; #address-cells = <2>; #size-cells = <2>; ranges;
Hook up the SMMU for doing DMA over i2c. Some peripherals like touchscreens easily exceed 32-bytes per transfer, causing errors and lockups without this. Signed-off-by: Caleb Connolly <caleb@connolly.tech> --- Fixes i2c on the OnePlus 7, without this touching the screen with more than 4 fingers causes the device to lock up and reboot. --- arch/arm64/boot/dts/qcom/sm8150.dtsi | 3 +++ 1 file changed, 3 insertions(+)