On Mon, May 26, 2025 at 11:13:01PM +0200, Michael wrote:
On Mon, May 26, 2025 at 07:30:35PM +0200, Maxime Ripard wrote:
quoted
On Mon, May 12, 2025 at 10:27:06PM +0200, Michael wrote:
quoted
with v6.9 and later there is no output on the BananaPI HDMI connector.
I have bisected the issue to the following commit:
358e76fd613a ("drm/sun4i: hdmi: Consolidate atomic_check and mode_valid")
With this patch, sun4i_hdmi_connector_clock_valid() is occasionally called
with clock=0, causing the function to return MODE_NOCLOCK.
In the old sun4i_hdmi_mode_valid() before the patch, mode->clock is
always!=0, maybe that gives someone a hint.
This doesn't make sense to me, if only because the two callers of
tmds_char_rate_valid (hdmi_compute_clock and
drm_hdmi_connector_mode_valid) have, right before calling it, checks to
make sure the clock rate isn't 0, and would return MODE_ERROR or EINVAL
in such a case.
https://elixir.bootlin.com/linux/v6.15/source/drivers/gpu/drm/display/drm_hdmi_state_helper.c#L234
https://elixir.bootlin.com/linux/v6.15/source/drivers/gpu/drm/display/drm_hdmi_state_helper.c#L553
Before 6.14, sun4i_hdmi_connector_clock_valid() was also called from
sun4i_hdmi_connector_atomic_check()...
quoted
Do you have some logs (with dri.devel=0xff)? Does it happen with 6.15 as
well?
It does not happen with 6.15, as it was fixed in 6.14 with 84e541b1e58e
("drm/sun4i: use drm_atomic_helper_connector_hdmi_check()").
Then we might still need to backport that patch.
Does applying it to 6.9 alone makes it work, or do you need some additional ones (I'm thinking of
ae048fc4f96d in particular, which in turn would require 47368ab437fd)
Maxime