From: Paul Cercueil <paul@crapouillou.net>
To: Neil Armstrong <narmstrong@baylibre.com>
Cc: "H. Nikolaus Schaller" <hns@goldelico.com>,
Paul Boddie <paul@boddie.org.uk>, Jonas Karlman <jonas@kwiboo.se>,
David Airlie <airlied@linux.ie>,
Robert Foss <robert.foss@linaro.org>,
linux-mips <linux-mips@vger.kernel.org>,
dri-devel <dri-devel@lists.freedesktop.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Discussions about the Letux Kernel
<letux-kernel@openphoenux.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Maxime Ripard <maxime@cerno.tech>
Subject: Re: [PATCH v16 4/4] drm/bridge: dw-hdmi: fix bus formats negotiation for 8 bit modes
Date: Thu, 03 Mar 2022 15:15:54 +0000 [thread overview]
Message-ID: <I2D68R.CP2B1MABRO51@crapouillou.net> (raw)
In-Reply-To: <d75cd860-2a4c-6f81-b5d0-dc75f37b7150@baylibre.com>
Hi Neil,
Any feedback on the other patches?
They look fine to me, but I still need an ack to merge them in
drm-misc-next.
Cheers,
-Paul
Le jeu., mars 3 2022 at 12:42:02 +0100, Neil Armstrong
<narmstrong@baylibre.com> a écrit :
> On 03/03/2022 11:40, H. Nikolaus Schaller wrote:
>> Hi Neil,
>>
>>> Am 03.03.2022 um 09:35 schrieb Neil Armstrong
>>> <narmstrong@baylibre.com>:
>>>
>>> Hi,
>>>
>>> On 02/03/2022 23:24, H. Nikolaus Schaller wrote:
>>>> Hi Neil,
>>>>> Am 02.03.2022 um 15:34 schrieb Neil Armstrong
>>>>> <narmstrong@baylibre.com>:
>>>>>
>>>>> Hi,
>>>>>
>>>>>> (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 ?
>>>> I have forced hdmi->sink_is_hdmi = false and replaced
>>>> /* Default 8bit RGB fallback */
>>>> - output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24;
>>>> + output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
>>>> And then screen remains black. MEDIA_BUS_FMT_RGB888_1X24 works.
>>>> (MEDIA_BUS_FMT_VUY8_1X24 doesn't work either).
>>>> So this indicates that YUV conversion is not working properly.
>>>> Maybe missing some special
>>>> setup.
>>>> What I have to test if it works on a different monitor.
>>
>> Same effect on a Xiaomi monitor (user manual just telling HDMI1,4
>> compatible), an
>> older Acer video projector and a Sharp TV set.
>>
>> The Xiaomi monitor does not say "No signal" but shows a black
>> screen. The others
>> do not even report any HDMI signals. All work well with
>> MEDIA_BUS_FMT_RGB888_1X24.
>>
>> This means the transcoding to YUV does not work properly on the
>> jz4780 SoC setup.
>>
>> So it looks as if we have to disable it (at least unless someone
>> finds a fix).
>>
>>>> Not that this specific panel
>>>> (a 7 inch waveshare touch with HDMIinput) is buggy and reports YUV
>>>> capabilities
>>>> but does not handle them...
>>>> On the other hand this panel works on RasPi and OMAP5 (where I
>>>> admit I do not know in
>>>> which mode).
>>>
>>> Pretty sure they don't support YUV HDMI output.
>>>
>>> If you can try on a certified HDMI devices like a TV, it would here
>>> figuring out where comes the issue.
>>
>> I am not sure if the Sharp TV is fully certified but would assume...
>>
>>>
>>>>> If your CSC is broken, we'll need to disable it on your platform.
>>>> Indeed.
>>>> So it seems as if we need a mechanism to overwrite
>>>> dw_hdmi_bridge_atomic_get_output_bus_fmts()
>>>> in our ingenic-dw-hdmi platform specialization [1] to always
>>>> return MEDIA_BUS_FMT_RGB888_1X24.
>>>> Or alternatively set sink_is_hdmi = false there (unfortunately
>>>> there is no direct access to
>>>> struct dw_hdmi in a specialization drivers).
>>>> Is this already possible or how can it be done?
>>>
>>> It's not handled yet, but we may add the logic to handle the lack
>>> of CSC config bit and
>>> add a glue config bit to override this like we already did for CEC.
>>>
>>> I wrote an initial support to disable CSC (only compile-tested),
>>> could you try on your platform with setting disable_csc = 1 in your
>>> dw-hdmi glue code ?
>>
>> This works!
>>
>> So how can we get that merged? IMHO your proposal should be before
>> we add ingenic-dw-hdmi.
>> If you have a version with proper commit message I can add it to the
>> beginning of my
>> seried and include it in a v17. Or if you get yours merged to
>> drm-misc/drm-misc-next I
>> can build on top.
>
> You can add it in your v17 patchset with my authorship and my
> Signed-off-by tag + yours.
>
> As commit message something like :
> ====================
> drm/bridge: dw-hdmi: handle unusable or non-configured CSC module
>
> The dw-hdmi integrates an optional Color Space Conversion feature used
> to handle color-space conversions.
>
> On some platforms, the CSC isn't built-in or non-functional.
>
> This adds the necessary code to disable the CSC functionality
> and limit the bus format negotiation to force using the same
> input bus format as the output bus format.
> ====================
>
> Thanks,
> Neil
>
>>
>> BR and thanks,
>> Nikolaus
>>
>
prev parent reply other threads:[~2022-03-03 15:16 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-26 17:12 [PATCH v16 0/4] MIPS: JZ4780 and CI20 HDMI H. Nikolaus Schaller
2022-02-26 17:12 ` [PATCH v16 1/4] drm/bridge: dw-hdmi: introduce dw_hdmi_enable_poll() H. Nikolaus Schaller
2022-03-03 16:23 ` Neil Armstrong
2022-03-03 16:30 ` H. Nikolaus Schaller
2022-03-03 16:43 ` [Letux-kernel] " H. Nikolaus Schaller
2022-03-03 16:51 ` Paul Cercueil
2022-03-03 17:09 ` H. Nikolaus Schaller
2022-03-03 17:20 ` Paul Cercueil
2022-03-03 17:59 ` H. Nikolaus Schaller
2022-03-04 13:30 ` Neil Armstrong
2022-03-04 16:47 ` Paul Cercueil
2022-03-04 17:51 ` H. Nikolaus Schaller
2022-03-04 18:04 ` Paul Cercueil
2022-03-04 18:15 ` H. Nikolaus Schaller
2022-03-04 18:33 ` Paul Cercueil
2022-03-04 18:41 ` H. Nikolaus Schaller
2022-03-05 7:49 ` H. Nikolaus Schaller
2022-03-03 16:46 ` Paul Cercueil
2022-03-03 17:05 ` H. Nikolaus Schaller
2022-02-26 17:13 ` [PATCH v16 2/4] drm/ingenic: Add dw-hdmi driver specialization for jz4780 H. Nikolaus Schaller
2022-02-26 17:13 ` [PATCH v16 3/4] drm/bridge: display-connector: add ddc-en gpio support H. Nikolaus Schaller
2022-02-26 17:13 ` [PATCH v16 4/4] drm/bridge: dw-hdmi: fix bus formats negotiation for 8 bit modes H. Nikolaus Schaller
2022-03-01 9:18 ` Neil Armstrong
2022-03-01 20:37 ` H. Nikolaus Schaller
2022-03-02 10:25 ` Neil Armstrong
2022-03-02 11:15 ` H. Nikolaus Schaller
2022-03-02 14:34 ` Neil Armstrong
2022-03-02 22:24 ` H. Nikolaus Schaller
2022-03-03 8:35 ` Neil Armstrong
2022-03-03 10:40 ` H. Nikolaus Schaller
2022-03-03 11:42 ` Neil Armstrong
2022-03-03 11:45 ` H. Nikolaus Schaller
2022-03-03 15:37 ` H. Nikolaus Schaller
2022-03-03 16:14 ` Neil Armstrong
2022-03-03 15:15 ` Paul Cercueil [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=I2D68R.CP2B1MABRO51@crapouillou.net \
--to=paul@crapouillou.net \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@linux.ie \
--cc=andrzej.hajda@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hns@goldelico.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=letux-kernel@openphoenux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=maxime@cerno.tech \
--cc=narmstrong@baylibre.com \
--cc=paul@boddie.org.uk \
--cc=robert.foss@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®