[Letux-kernel] [PATCH v16 4/4] drm/bridge: dw-hdmi: fix bus formats negotiation for 8 bit modes

H. Nikolaus Schaller hns at goldelico.com
Wed Mar 2 12:15:48 CET 2022


Hi Neil,

> Am 02.03.2022 um 11:25 schrieb Neil Armstrong <narmstrong at baylibre.com>:
> 
>> I added a printk for hdmi->sink_is_hdmi. This returns 1. Which IMHO is to be expected
>> since I am using a HDMI connector and panel... So your patch will still add the UYVY formats.
>> Either the synposys module inside the jz4780 or the panel does not understand them.
> 
> By selecting the UYVY formats, the driver will enable the colorspace converters in the dw-hdmi IP,
> I don't see why it doesn't work here...
> 
> There is a bit called `Support Color Space Converter` in config0_id:
> bit	|	Name	|	R/W	|	Desc
> 2 	|	csc	| 	R 	|	Indicates if Color Space Conversion block is present
> 
> Could you dump all the config0 bits:
> 
> =======================><=============================
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index 54d8fdad395f..547731482da8 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -3431,6 +3431,7 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
>        pdevinfo.id = PLATFORM_DEVID_AUTO;
> 
>        config0 = hdmi_readb(hdmi, HDMI_CONFIG0_ID);
> +       dev_info(dev, "config0: %x\n", config0);
>        config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID);
> 
>        if (iores && config3 & HDMI_CONFIG3_AHBAUDDMA) {
> =======================><=============================
> 
> If this bit is missing, this would explain the black screen.

[    9.291011] dw-hdmi-ingenic 10180000.hdmi: config0: bf

Hm. Or is the color-space conversion of the sw-hdmi module inside the jz4780 broken
or not configured properly?

(cross-checked: RGB mode still works if I force hdmi->sink_is_hdmi = false)

BR and thanks,
Nikolaus



More information about the Letux-kernel mailing list