summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_edid.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_edid.c')
-rw-r--r--drivers/gpu/drm/drm_edid.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index c9179df82627..d783c5f958b3 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3212,13 +3212,15 @@ static u8 *drm_find_edid_extension(const struct edid *edid, int ext_id)
}
-static u8 *drm_find_displayid_extension(const struct edid *edid, int *idx)
+static u8 *drm_find_displayid_extension(const struct edid *edid,
+ int *length, int *idx)
{
u8 *displayid = drm_find_edid_extension(edid, DISPLAYID_EXT);
if (!displayid)
return NULL;
+ *length = EDID_LENGTH;
*idx = 1;
return displayid;
@@ -3227,8 +3229,7 @@ static u8 *drm_find_displayid_extension(const struct edid *edid, int *idx)
static u8 *drm_find_cea_extension(const struct edid *edid)
{
int ret;
- int idx;
- int length = EDID_LENGTH;
+ int length, idx;
struct displayid_block *block;
u8 *cea;
u8 *displayid;
@@ -3239,7 +3240,7 @@ static u8 *drm_find_cea_extension(const struct edid *edid)
return cea;
/* CEA blocks can also be found embedded in a DisplayID block */
- displayid = drm_find_displayid_extension(edid, &idx);
+ displayid = drm_find_displayid_extension(edid, &length, &idx);
if (!displayid)
return NULL;
@@ -5188,12 +5189,11 @@ static int add_displayid_detailed_modes(struct drm_connector *connector,
{
u8 *displayid;
int ret;
- int idx;
- int length = EDID_LENGTH;
+ int length, idx;
struct displayid_block *block;
int num_modes = 0;
- displayid = drm_find_displayid_extension(edid, &idx);
+ displayid = drm_find_displayid_extension(edid, &length, &idx);
if (!displayid)
return 0;
@@ -5881,17 +5881,17 @@ static void drm_get_displayid(struct drm_connector *connector,
struct edid *edid)
{
void *displayid = NULL;
- int idx;
+ int length, idx;
int ret;
connector->has_tile = false;
- displayid = drm_find_displayid_extension(edid, &idx);
+ displayid = drm_find_displayid_extension(edid, &length, &idx);
if (!displayid) {
/* drop reference to any tile group we had */
goto out_drop_ref;
}
- ret = drm_parse_display_id(connector, displayid, EDID_LENGTH, idx);
+ ret = drm_parse_display_id(connector, displayid, length, idx);
if (ret < 0)
goto out_drop_ref;
if (!connector->has_tile)