[PATCH 6/6] drm/tiny/gm12u320: convert to struct drm_edid
Jani Nikula
jani.nikula at intel.com
Wed Aug 28 13:35:50 UTC 2024
On Wed, 28 Aug 2024, Thomas Zimmermann <tzimmermann at suse.de> wrote:
> Hi
>
> Am 22.08.24 um 19:42 schrieb Jani Nikula:
>> Prefer the struct drm_edid based functions for allocating the EDID and
>> updating the connector.
>>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>>
>> ---
>>
>> Cc: Hans de Goede <hdegoede at redhat.com>
>> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> Cc: Maxime Ripard <mripard at kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann at suse.de>
>> Cc: dri-devel at lists.freedesktop.org
>> ---
>> drivers/gpu/drm/tiny/gm12u320.c | 13 ++++++++++---
>> 1 file changed, 10 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/tiny/gm12u320.c b/drivers/gpu/drm/tiny/gm12u320.c
>> index e0defb1d134f..0bd7707c053e 100644
>> --- a/drivers/gpu/drm/tiny/gm12u320.c
>> +++ b/drivers/gpu/drm/tiny/gm12u320.c
>> @@ -464,7 +464,7 @@ static int gm12u320_set_ecomode(struct gm12u320_device *gm12u320)
>> * Note this assumes this driver is only ever used with the Acer C120, if we
>> * add support for other devices the vendor and model should be parameterized.
>> */
>> -static struct edid gm12u320_edid = {
>> +static const struct edid gm12u320_edid = {
>> .header = { 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 },
>> .mfg_id = { 0x04, 0x72 }, /* "ACR" */
>> .prod_code = { 0x20, 0xc1 }, /* C120h */
>> @@ -523,8 +523,15 @@ static struct edid gm12u320_edid = {
>>
>> static int gm12u320_conn_get_modes(struct drm_connector *connector)
>> {
>> - drm_connector_update_edid_property(connector, &gm12u320_edid);
>> - return drm_add_edid_modes(connector, &gm12u320_edid);
>> + const struct drm_edid *drm_edid;
>> + int count;
>> +
>> + drm_edid = drm_edid_alloc(&gm12u320_edid, sizeof(gm12u320_edid));
>
> Wouldn't it be better to use drm_edid_read_custom() to get the
> connector's edid override, if any?
It would, no doubt. But it's more work, and the conversion is more error
prone. I don't have the devices to test any of this, and I don't see
many people jumping in to help with that either.
So I'm opting for the minimum but positive incremental improvements with
the drm_edid conversions.
BR,
Jani.
>
> Best regards
> Thomas
>
>> + drm_edid_connector_update(connector, drm_edid);
>> + count = drm_edid_connector_add_modes(connector);
>> + drm_edid_free(drm_edid);
>> +
>> + return count;
>> }
>>
>> static const struct drm_connector_helper_funcs gm12u320_conn_helper_funcs = {
--
Jani Nikula, Intel
More information about the dri-devel
mailing list