[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4cb08b5d-c1ec-f2b4-a107-63a771146ec0@baylibre.com>
Date: Wed, 2 Mar 2022 15:34:16 +0100
From: Neil Armstrong <narmstrong@...libre.com>
To: "H. Nikolaus Schaller" <hns@...delico.com>
Cc: Paul Boddie <paul@...die.org.uk>, Jonas Karlman <jonas@...boo.se>,
David Airlie <airlied@...ux.ie>,
Robert Foss <robert.foss@...aro.org>,
linux-mips <linux-mips@...r.kernel.org>,
dri-devel <dri-devel@...ts.freedesktop.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Paul Cercueil <paul@...pouillou.net>,
Kieran Bingham <kieran.bingham+renesas@...asonboard.com>,
Maxime Ripard <maxime@...no.tech>,
Andrzej Hajda <andrzej.hajda@...el.com>,
Discussions about the Letux Kernel
<letux-kernel@...nphoenux.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>
Subject: Re: [PATCH v16 4/4] drm/bridge: dw-hdmi: fix bus formats negotiation
for 8 bit modes
Hi,
On 02/03/2022 12:15, H. Nikolaus Schaller wrote:
> Hi Neil,
>
>> Am 02.03.2022 um 11:25 schrieb Neil Armstrong <narmstrong@...libre.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
>
Powered by blists - more mailing lists