Skip to content

Commit

Permalink
drm/edid: abstract override/firmware EDID retrieval
Browse files Browse the repository at this point in the history
Abstract the debugfs override and the firmware EDID retrieval
function. We'll be needing it in the follow-up. No functional changes.

Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Harish Chegondi <harish.chegondi@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Tested-by: Tested-by: Paul Wise <pabs3@bonedaddy.net>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190607110513.12072-1-jani.nikula@intel.com
  • Loading branch information
Jani Nikula committed Jun 12, 2019
1 parent de060de commit 56a2b7f
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions drivers/gpu/drm/drm_edid.c
Original file line number Diff line number Diff line change
Expand Up @@ -1570,6 +1570,20 @@ static void connector_bad_edid(struct drm_connector *connector,
}
}

/* Get override or firmware EDID */
static struct edid *drm_get_override_edid(struct drm_connector *connector)
{
struct edid *override = NULL;

if (connector->override_edid)
override = drm_edid_duplicate(connector->edid_blob_ptr->data);

if (!override)
override = drm_load_edid_firmware(connector);

return IS_ERR(override) ? NULL : override;
}

/**
* drm_do_get_edid - get EDID data using a custom EDID block read function
* @connector: connector we're probing
Expand Down Expand Up @@ -1597,15 +1611,10 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
{
int i, j = 0, valid_extensions = 0;
u8 *edid, *new;
struct edid *override = NULL;

if (connector->override_edid)
override = drm_edid_duplicate(connector->edid_blob_ptr->data);

if (!override)
override = drm_load_edid_firmware(connector);
struct edid *override;

if (!IS_ERR_OR_NULL(override))
override = drm_get_override_edid(connector);
if (override)
return override;

if ((edid = kmalloc(EDID_LENGTH, GFP_KERNEL)) == NULL)
Expand Down

0 comments on commit 56a2b7f

Please sign in to comment.