[PATCH v16 4/4] drm/bridge: dw-hdmi: fix bus formats negotiation for 8 bit modes
Neil Armstrong
narmstrong at baylibre.com
Wed Mar 2 14:34:16 UTC 2022
Hi,
On 02/03/2022 12:15, H. Nikolaus Schaller wrote:
> 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)
I don't understand what's wrong, can you try to make the logic select MEDIA_BUS_FMT_YUV8_1X24 instead of DRM_COLOR_FORMAT_YCBCR422 ?
If your CSC is broken, we'll need to disable it on your platform.
Thanks,
Neil
>
> BR and thanks,
> Nikolaus
>
More information about the dri-devel
mailing list