[PATCH 0/4] drm/amd/display: stop using drm_edid_override_connector_update()

Jani Nikula jani.nikula at intel.com
Wed Aug 23 08:03:32 UTC 2023


On Tue, 22 Aug 2023, Alex Hung <alex.hung at amd.com> wrote:
> On 2023-08-22 06:01, Jani Nikula wrote:
>> Over the past years I've been trying to unify the override and firmware
>> EDID handling as well as EDID property updates. It won't work if drivers
>> do their own random things.
> Let's check how to replace these references by appropriate ones or fork 
> the function as reverting these patches causes regressions.

I think the fundamental problem you have is conflating connector forcing
with EDID override. They're orthogonal. The .force callback has no
business basing the decisions on connector->edid_override. Force is
force, override is override.

The driver isn't even supposed to know or care if the EDID originates
from the firmware loader or override EDID debugfs. drm_get_edid() will
handle that for you transparently. It'll return the EDID, and you
shouldn't look at connector->edid_blob_ptr either. Using that will make
future work in drm_edid.c harder.

You can't fix that with minor tweaks. I think you'll be better off
starting from scratch.

Also, connector->edid_override is debugfs. You actually can change the
behaviour. If your userspace, whatever it is, has been written to assume
connector forcing if EDID override is set, you *do* have to fix that,
and set both.

BR,
Jani.


>
> Cheers,
> Alex
>
>> 
>> BR,
>> Jani.
>> 
>> 
>> Cc: Alex Deucher <alexander.deucher at amd.com>
>> Cc: Alex Hung <alex.hung at amd.com>
>> Cc: Chao-kai Wang <Stylon.Wang at amd.com>
>> Cc: Daniel Wheeler <daniel.wheeler at amd.com>
>> Cc: Harry Wentland <harry.wentland at amd.com>
>> Cc: Hersen Wu <hersenxs.wu at amd.com>
>> Cc: Leo Li <sunpeng.li at amd.com>
>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
>> Cc: Wenchieh Chien <wenchieh.chien at amd.com>
>> Cc: David Airlie <airlied at gmail.com>
>> Cc: Daniel Vetter <daniel at ffwll.ch>
>> 
>> Jani Nikula (4):
>>    Revert "drm/amd/display: drop unused count variable in
>>      create_eml_sink()"
>>    Revert "drm/amd/display: assign edid_blob_ptr with edid from debugfs"
>>    Revert "drm/amd/display: mark amdgpu_dm_connector_funcs_force static"
>>    Revert "drm/amd/display: implement force function in
>>      amdgpu_dm_connector_funcs"
>> 
>>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 44 +++----------------
>>   1 file changed, 5 insertions(+), 39 deletions(-)
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the dri-devel mailing list