diff mbox series

arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface

Message ID 20240821042836.2631815-1-wenst@chromium.org (mailing list archive)
State New
Headers show
Series arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface | expand

Commit Message

Chen-Yu Tsai Aug. 21, 2024, 4:28 a.m. UTC
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(-)

Comments

Alper Nebi Yasak Aug. 24, 2024, 1:26 p.m. UTC | #1
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!
Matthias Brugger Sept. 2, 2024, 4:03 p.m. UTC | #2
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 {
diff mbox series

Patch

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 {