[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <edff9c4a-c4ba-44b7-86d4-a070ee57d49c@ti.com>
Date: Thu, 13 Nov 2025 14:35:52 +0530
From: Devarsh Thakkar <devarsht@...com>
To: <andrzej.hajda@...el.com>, <neil.armstrong@...aro.org>, <rfoss@...nel.org>
CC: <praneeth@...com>, <vigneshr@...com>, <aradhya.bhatia@...ux.dev>,
<s-jain1@...com>, <s-wang12@...com>, <r-donadkar@...com>, <h-shenoy@...com>,
<dmitry.baryshkov@....qualcomm.com>, <dri-devel@...ts.freedesktop.org>,
<jani.nikula@...el.com>, <simona@...ll.ch>, <linux-kernel@...r.kernel.org>,
<airlied@...il.com>, <maarten.lankhorst@...ux.intel.com>,
<mripard@...nel.org>, <tzimmermann@...e.de>, Tomi Valkeinen
<tomi.valkeinen@...asonboard.com>
Subject: Re: [PATCH v4] drm/bridge: sii902x: Fix HDMI detection with
DRM_BRIDGE_ATTACH_NO_CONNECTOR
Hi Neil, Andrzej, Robert
On 31/10/25 20:40, Tomi Valkeinen wrote:
> Hi,
>
> On 30/10/2025 17:16, Devarsh Thakkar wrote:
>> The sii902x driver was caching HDMI detection state in a sink_is_hdmi field
>> and checking it in mode_set() to determine whether to set HDMI or DVI
>> output mode. This approach had two problems:
>>
>> 1. With DRM_BRIDGE_ATTACH_NO_CONNECTOR (used by modern display drivers like
>> TIDSS), the bridge's get_modes() is never called. Instead, the
>> drm_bridge_connector helper calls the bridge's edid_read() and updates the
>> connector itself. This meant sink_is_hdmi was never populated, causing the
>> driver to default to DVI mode and breaking HDMI audio.
>>
>> 2. The mode_set() callback doesn't receive atomic state or connector
>> pointer, making it impossible to check connector->display_info.is_hdmi
>> directly at that point.
>>
>> Fix this by moving the HDMI vs DVI decision from mode_set() to
>> atomic_enable(), where we can access the connector via
>> drm_atomic_get_new_connector_for_encoder(). This works for both connector
>> models:
>>
>> - With DRM_BRIDGE_ATTACH_NO_CONNECTOR: Returns the drm_bridge_connector
>> created by the display driver, which has already been updated by the
>> helper's call to drm_edid_connector_update()
>>
>> - Without DRM_BRIDGE_ATTACH_NO_CONNECTOR (legacy): Returns the connector
>> embedded in sii902x struct, which gets updated by the bridge's own
>> get_modes()
>>
>> Fixes: 3de47e1309c2 ("drm/bridge: sii902x: use display info is_hdmi")
>> Signed-off-by: Devarsh Thakkar <devarsht@...com>
>> ---
>> V4: Shift HDMI detection to atomic_enable() and remove sink_is_hdmi caching
>> V3: Use drm_edid_connector_update without edid NULL check
>> V2: Use drm_edid_connector_update to detect HDMI
>>
<snip>
> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
>
I wanted to follow up on this patch which fixes HDMI audio for the
sii902x bridge driver when used with DRM_BRIDGE_ATTACH_NO_CONNECTOR. The
patch has been reviewed by Tomi Valkeinen and addresses a real bug where
HDMI audio is broken when using modern display drivers like TIDSS.
Could you please let me know if there are any concerns or if this can
be pulled in ?
Regards
Devarsh
Powered by blists - more mailing lists