[PATCH] arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface

Chen-Yu Tsai posted 1 patch 4 weeks, 1 day ago
arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
Posted by Chen-Yu Tsai 4 weeks, 1 day ago
The DPI display interface feeds the external display pipeline. However
the pipeline representation is currently incomplete. Efforts are still
under way to come up with a way to represent the "creative" repurposing
of the DP bridge chip's internal output mux, which is meant to support
USB type-C orientation changes, to output to one of two type-C ports.

Until that is finalized, the external display can't be fully described,
and thus won't work. Even worse, the half complete graph potentially
confuses the OS, breaking the internal display as well.

Disable the external display interface across the whole Corsola family
until the DP / USB Type-C muxing graph binding is ready.

Reported-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Closes: https://lore.kernel.org/linux-mediatek/38a703a9-6efb-456a-a248-1dd3687e526d@gmail.com/
Fixes: 8855d01fb81f ("arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool")
Cc: <stable@vger.kernel.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Stephen has recently posted the "platform/chrome: Add DT USB/DP
muxing/topology support" patch series, which is now up to v3 [1].
More work based on this series is needed for the DP bridge drivers.

[1] https://lore.kernel.org/dri-devel/20240819223834.2049862-1-swboyd@chromium.org/
---
 arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
index 0c4a26117428..682c6ad2574d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
@@ -353,7 +353,8 @@ &dpi {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&dpi_pins_default>;
 	pinctrl-1 = <&dpi_pins_sleep>;
-	status = "okay";
+	/* TODO Re-enable after DP to Type-C port muxing can be described */
+	status = "disabled";
 };
 
 &dpi_out {
-- 
2.46.0.184.g6999bdac58-goog
Re: [PATCH] arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
Posted by Matthias Brugger 2 weeks, 2 days ago

On 21/08/2024 06:28, Chen-Yu Tsai wrote:
> The DPI display interface feeds the external display pipeline. However
> the pipeline representation is currently incomplete. Efforts are still
> under way to come up with a way to represent the "creative" repurposing
> of the DP bridge chip's internal output mux, which is meant to support
> USB type-C orientation changes, to output to one of two type-C ports.
> 
> Until that is finalized, the external display can't be fully described,
> and thus won't work. Even worse, the half complete graph potentially
> confuses the OS, breaking the internal display as well.
> 
> Disable the external display interface across the whole Corsola family
> until the DP / USB Type-C muxing graph binding is ready.
> 
> Reported-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
> Closes: https://lore.kernel.org/linux-mediatek/38a703a9-6efb-456a-a248-1dd3687e526d@gmail.com/
> Fixes: 8855d01fb81f ("arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>

Applied, thanks

> ---
> Stephen has recently posted the "platform/chrome: Add DT USB/DP
> muxing/topology support" patch series, which is now up to v3 [1].
> More work based on this series is needed for the DP bridge drivers.
> 
> [1] https://lore.kernel.org/dri-devel/20240819223834.2049862-1-swboyd@chromium.org/
> ---
>   arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
> index 0c4a26117428..682c6ad2574d 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
> @@ -353,7 +353,8 @@ &dpi {
>   	pinctrl-names = "default", "sleep";
>   	pinctrl-0 = <&dpi_pins_default>;
>   	pinctrl-1 = <&dpi_pins_sleep>;
> -	status = "okay";
> +	/* TODO Re-enable after DP to Type-C port muxing can be described */
> +	status = "disabled";
>   };
>   
>   &dpi_out {
Re: [PATCH] arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
Posted by Nícolas F. R. A. Prado 3 weeks, 6 days ago
On Wed, Aug 21, 2024 at 12:28:34PM +0800, Chen-Yu Tsai wrote:
> The DPI display interface feeds the external display pipeline. However
> the pipeline representation is currently incomplete. Efforts are still
> under way to come up with a way to represent the "creative" repurposing
> of the DP bridge chip's internal output mux, which is meant to support
> USB type-C orientation changes, to output to one of two type-C ports.
> 
> Until that is finalized, the external display can't be fully described,
> and thus won't work. Even worse, the half complete graph potentially
> confuses the OS, breaking the internal display as well.
> 
> Disable the external display interface across the whole Corsola family
> until the DP / USB Type-C muxing graph binding is ready.
> 
> Reported-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
> Closes: https://lore.kernel.org/linux-mediatek/38a703a9-6efb-456a-a248-1dd3687e526d@gmail.com/
> Fixes: 8855d01fb81f ("arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>

Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

Would be good to have Alper verify that with this change the internal display
works again in their specific setup, although this change seems reasonable to me
either way.

Thanks,
Nícolas
Re: [PATCH] arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
Posted by Alper Nebi Yasak 3 weeks, 4 days ago
Hi,

On 2024-08-22 18:25 +03:00, Nícolas F. R. A. Prado wrote:
> On Wed, Aug 21, 2024 at 12:28:34PM +0800, Chen-Yu Tsai wrote:
>> The DPI display interface feeds the external display pipeline. However
>> the pipeline representation is currently incomplete. Efforts are still
>> under way to come up with a way to represent the "creative" repurposing
>> of the DP bridge chip's internal output mux, which is meant to support
>> USB type-C orientation changes, to output to one of two type-C ports.
>>
>> Until that is finalized, the external display can't be fully described,
>> and thus won't work. Even worse, the half complete graph potentially
>> confuses the OS, breaking the internal display as well.
>>
>> Disable the external display interface across the whole Corsola family
>> until the DP / USB Type-C muxing graph binding is ready.
>>
>> Reported-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
>> Closes: https://lore.kernel.org/linux-mediatek/38a703a9-6efb-456a-a248-1dd3687e526d@gmail.com/
>> Fixes: 8855d01fb81f ("arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool")
>> Cc: <stable@vger.kernel.org>
>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> 
> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> 
> Would be good to have Alper verify that with this change the internal display
> works again in their specific setup, although this change seems reasonable to me
> either way.

Tested-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>

Fixes that linked issue I had with internal display on my magneton. And
apparently I don't even need a custom kernel for it, I managed to get
the display working on Debian's v6.11-rc4 build with this dts change
(and `softdep mediatek-drm pre: mtk-iommu mt6358-regulator` iirc).

Thanks!