* [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default
@ 2023-01-07 11:09 Stephan Gerhold
2023-01-07 11:09 ` [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma " Stephan Gerhold
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Stephan Gerhold @ 2023-01-07 11:09 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm,
devicetree, ~postmarketos/upstreaming, Stephan Gerhold
Add the DMA channels for all I2C controllers in msm8916.dtsi and enable
the DMA controller by default (this is necessary because otherwise the
i2c-qup driver will no longer probe with the DMAs added).
Stephan Gerhold (2):
arm64: dts: qcom: msm8916: Enable blsp_dma by default
arm64: dts: qcom: msm8916: Add DMA for all I2C controllers
arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 4 ----
arch/arm64/boot/dts/qcom/msm8916.dtsi | 13 ++++++++++++-
2 files changed, 12 insertions(+), 5 deletions(-)
--
2.39.0
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma by default 2023-01-07 11:09 [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Stephan Gerhold @ 2023-01-07 11:09 ` Stephan Gerhold 2023-01-07 11:51 ` Konrad Dybcio 2023-01-07 11:09 ` [PATCH 2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers Stephan Gerhold 2023-01-11 19:49 ` [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Bjorn Andersson 2 siblings, 1 reply; 6+ messages in thread From: Stephan Gerhold @ 2023-01-07 11:09 UTC (permalink / raw) To: Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, Stephan Gerhold Adding the "dmas" to the I2C controllers prevents probing them if blsp_dma is disabled (infinite probe deferral). Avoid this by enabling blsp_dma by default - it's an integral part of the SoC that is almost always used (even if just for UART). Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 4 ---- arch/arm64/boot/dts/qcom/msm8916.dtsi | 1 - 2 files changed, 5 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts index ef5b39ba1238..c52d79a55d80 100644 --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts @@ -169,10 +169,6 @@ led@6 { }; }; -&blsp_dma { - status = "okay"; -}; - &blsp_i2c2 { /* On Low speed expansion */ status = "okay"; diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi index ffb4ce8935b3..98da982548a1 100644 --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1522,7 +1522,6 @@ blsp_dma: dma-controller@7884000 { clock-names = "bam_clk"; #dma-cells = <1>; qcom,ee = <0>; - status = "disabled"; }; blsp1_uart1: serial@78af000 { -- 2.39.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma by default 2023-01-07 11:09 ` [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma " Stephan Gerhold @ 2023-01-07 11:51 ` Konrad Dybcio 0 siblings, 0 replies; 6+ messages in thread From: Konrad Dybcio @ 2023-01-07 11:51 UTC (permalink / raw) To: Stephan Gerhold, Bjorn Andersson Cc: Andy Gross, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming On 7.01.2023 12:09, Stephan Gerhold wrote: > Adding the "dmas" to the I2C controllers prevents probing them if > blsp_dma is disabled (infinite probe deferral). Avoid this by enabling > blsp_dma by default - it's an integral part of the SoC that is almost > always used (even if just for UART). > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 4 ---- > arch/arm64/boot/dts/qcom/msm8916.dtsi | 1 - > 2 files changed, 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts > index ef5b39ba1238..c52d79a55d80 100644 > --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts > +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts > @@ -169,10 +169,6 @@ led@6 { > }; > }; > > -&blsp_dma { > - status = "okay"; > -}; > - > &blsp_i2c2 { > /* On Low speed expansion */ > status = "okay"; > diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi > index ffb4ce8935b3..98da982548a1 100644 > --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi > @@ -1522,7 +1522,6 @@ blsp_dma: dma-controller@7884000 { > clock-names = "bam_clk"; > #dma-cells = <1>; > qcom,ee = <0>; > - status = "disabled"; > }; > > blsp1_uart1: serial@78af000 { ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers 2023-01-07 11:09 [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Stephan Gerhold 2023-01-07 11:09 ` [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma " Stephan Gerhold @ 2023-01-07 11:09 ` Stephan Gerhold 2023-01-07 11:51 ` Konrad Dybcio 2023-01-11 19:49 ` [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Bjorn Andersson 2 siblings, 1 reply; 6+ messages in thread From: Stephan Gerhold @ 2023-01-07 11:09 UTC (permalink / raw) To: Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, Stephan Gerhold i2c-qup allows using DMA to speed up larger transfers. In msm8916.dtsi the DMA channels are already assigned to the SPI controllers but missing for I2C. Add them there as well. This also fixes confusing errors in dmesg for each I2C controller: i2c_qup 78b6000.i2c: tx channel not available Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- arch/arm64/boot/dts/qcom/msm8916.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi index 98da982548a1..daece6b9e932 100644 --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1559,6 +1559,8 @@ blsp_i2c1: i2c@78b5000 { clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + dmas = <&blsp_dma 4>, <&blsp_dma 5>; + dma-names = "tx", "rx"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c1_default>; pinctrl-1 = <&i2c1_sleep>; @@ -1591,6 +1593,8 @@ blsp_i2c2: i2c@78b6000 { clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + dmas = <&blsp_dma 6>, <&blsp_dma 7>; + dma-names = "tx", "rx"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c2_default>; pinctrl-1 = <&i2c2_sleep>; @@ -1623,6 +1627,8 @@ blsp_i2c3: i2c@78b7000 { clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + dmas = <&blsp_dma 8>, <&blsp_dma 9>; + dma-names = "tx", "rx"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c3_default>; pinctrl-1 = <&i2c3_sleep>; @@ -1655,6 +1661,8 @@ blsp_i2c4: i2c@78b8000 { clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + dmas = <&blsp_dma 10>, <&blsp_dma 11>; + dma-names = "tx", "rx"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c4_default>; pinctrl-1 = <&i2c4_sleep>; @@ -1687,6 +1695,8 @@ blsp_i2c5: i2c@78b9000 { clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + dmas = <&blsp_dma 12>, <&blsp_dma 13>; + dma-names = "tx", "rx"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c5_default>; pinctrl-1 = <&i2c5_sleep>; @@ -1719,6 +1729,8 @@ blsp_i2c6: i2c@78ba000 { clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + dmas = <&blsp_dma 14>, <&blsp_dma 15>; + dma-names = "tx", "rx"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c6_default>; pinctrl-1 = <&i2c6_sleep>; -- 2.39.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers 2023-01-07 11:09 ` [PATCH 2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers Stephan Gerhold @ 2023-01-07 11:51 ` Konrad Dybcio 0 siblings, 0 replies; 6+ messages in thread From: Konrad Dybcio @ 2023-01-07 11:51 UTC (permalink / raw) To: Stephan Gerhold, Bjorn Andersson Cc: Andy Gross, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming On 7.01.2023 12:09, Stephan Gerhold wrote: > i2c-qup allows using DMA to speed up larger transfers. In msm8916.dtsi > the DMA channels are already assigned to the SPI controllers but > missing for I2C. Add them there as well. > > This also fixes confusing errors in dmesg for each I2C controller: > i2c_qup 78b6000.i2c: tx channel not available > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > arch/arm64/boot/dts/qcom/msm8916.dtsi | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi > index 98da982548a1..daece6b9e932 100644 > --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi > @@ -1559,6 +1559,8 @@ blsp_i2c1: i2c@78b5000 { > clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, > <&gcc GCC_BLSP1_AHB_CLK>; > clock-names = "core", "iface"; > + dmas = <&blsp_dma 4>, <&blsp_dma 5>; > + dma-names = "tx", "rx"; > pinctrl-names = "default", "sleep"; > pinctrl-0 = <&i2c1_default>; > pinctrl-1 = <&i2c1_sleep>; > @@ -1591,6 +1593,8 @@ blsp_i2c2: i2c@78b6000 { > clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, > <&gcc GCC_BLSP1_AHB_CLK>; > clock-names = "core", "iface"; > + dmas = <&blsp_dma 6>, <&blsp_dma 7>; > + dma-names = "tx", "rx"; > pinctrl-names = "default", "sleep"; > pinctrl-0 = <&i2c2_default>; > pinctrl-1 = <&i2c2_sleep>; > @@ -1623,6 +1627,8 @@ blsp_i2c3: i2c@78b7000 { > clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, > <&gcc GCC_BLSP1_AHB_CLK>; > clock-names = "core", "iface"; > + dmas = <&blsp_dma 8>, <&blsp_dma 9>; > + dma-names = "tx", "rx"; > pinctrl-names = "default", "sleep"; > pinctrl-0 = <&i2c3_default>; > pinctrl-1 = <&i2c3_sleep>; > @@ -1655,6 +1661,8 @@ blsp_i2c4: i2c@78b8000 { > clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, > <&gcc GCC_BLSP1_AHB_CLK>; > clock-names = "core", "iface"; > + dmas = <&blsp_dma 10>, <&blsp_dma 11>; > + dma-names = "tx", "rx"; > pinctrl-names = "default", "sleep"; > pinctrl-0 = <&i2c4_default>; > pinctrl-1 = <&i2c4_sleep>; > @@ -1687,6 +1695,8 @@ blsp_i2c5: i2c@78b9000 { > clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, > <&gcc GCC_BLSP1_AHB_CLK>; > clock-names = "core", "iface"; > + dmas = <&blsp_dma 12>, <&blsp_dma 13>; > + dma-names = "tx", "rx"; > pinctrl-names = "default", "sleep"; > pinctrl-0 = <&i2c5_default>; > pinctrl-1 = <&i2c5_sleep>; > @@ -1719,6 +1729,8 @@ blsp_i2c6: i2c@78ba000 { > clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, > <&gcc GCC_BLSP1_AHB_CLK>; > clock-names = "core", "iface"; > + dmas = <&blsp_dma 14>, <&blsp_dma 15>; > + dma-names = "tx", "rx"; > pinctrl-names = "default", "sleep"; > pinctrl-0 = <&i2c6_default>; > pinctrl-1 = <&i2c6_sleep>; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default 2023-01-07 11:09 [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Stephan Gerhold 2023-01-07 11:09 ` [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma " Stephan Gerhold 2023-01-07 11:09 ` [PATCH 2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers Stephan Gerhold @ 2023-01-11 19:49 ` Bjorn Andersson 2 siblings, 0 replies; 6+ messages in thread From: Bjorn Andersson @ 2023-01-11 19:49 UTC (permalink / raw) To: stephan Cc: krzysztof.kozlowski+dt, linux-arm-msm, agross, devicetree, konrad.dybcio, ~postmarketos/upstreaming On Sat, 7 Jan 2023 12:09:56 +0100, Stephan Gerhold wrote: > Add the DMA channels for all I2C controllers in msm8916.dtsi and enable > the DMA controller by default (this is necessary because otherwise the > i2c-qup driver will no longer probe with the DMAs added). > > Stephan Gerhold (2): > arm64: dts: qcom: msm8916: Enable blsp_dma by default > arm64: dts: qcom: msm8916: Add DMA for all I2C controllers > > [...] Applied, thanks! [1/2] arm64: dts: qcom: msm8916: Enable blsp_dma by default commit: 0154d3594af3c198532ac7b4ab70f50fb5207a15 [2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers commit: 389d2c9926b3a81791e23a25fc1b85928139d40b Best regards, -- Bjorn Andersson <andersson@kernel.org> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-11 19:50 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-01-07 11:09 [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Stephan Gerhold 2023-01-07 11:09 ` [PATCH 1/2] arm64: dts: qcom: msm8916: Enable blsp_dma " Stephan Gerhold 2023-01-07 11:51 ` Konrad Dybcio 2023-01-07 11:09 ` [PATCH 2/2] arm64: dts: qcom: msm8916: Add DMA for all I2C controllers Stephan Gerhold 2023-01-07 11:51 ` Konrad Dybcio 2023-01-11 19:49 ` [PATCH 0/2] arm64: dts: qcom: msm8916: Enable DMA by default Bjorn Andersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).