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@... 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.o... --- 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 {
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@... 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
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@... 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!
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@... 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.o...
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 {
linux-stable-mirror@lists.linaro.org