* [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
* [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 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
* 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).