diff options
| author | Lars-Peter Clausen <lars@metafoo.de> | 2012-04-16 15:16:18 +0200 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2012-04-20 12:44:49 +0100 | 
| commit | ee58808deca66bd0879562abf606e171752e8e15 (patch) | |
| tree | a7624b29220ad28329b9f23e59a0482889238197 /drivers/gpu/drm/drm_edid.c | |
| parent | d1b45d5f0586041fe750d90a62ba09cffb3eace1 (diff) | |
| download | olio-linux-3.10-ee58808deca66bd0879562abf606e171752e8e15.tar.xz olio-linux-3.10-ee58808deca66bd0879562abf606e171752e8e15.zip  | |
drm: Fix EDID color format parsing
The code should obviously check the EDID feature field for EDID feature flags
and not the color_formats field of the drm_display_info struct. Also update the
color_formats field with new modes instead of overwriting the current mode.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_edid.c')
| -rw-r--r-- | drivers/gpu/drm/drm_edid.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 5a18b0df828..8a4580c2a1d 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -1699,10 +1699,10 @@ static void drm_add_display_info(struct edid *edid,  	}  	info->color_formats = DRM_COLOR_FORMAT_RGB444; -	if (info->color_formats & DRM_EDID_FEATURE_RGB_YCRCB444) -		info->color_formats = DRM_COLOR_FORMAT_YCRCB444; -	if (info->color_formats & DRM_EDID_FEATURE_RGB_YCRCB422) -		info->color_formats = DRM_COLOR_FORMAT_YCRCB422; +	if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB444) +		info->color_formats |= DRM_COLOR_FORMAT_YCRCB444; +	if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB422) +		info->color_formats |= DRM_COLOR_FORMAT_YCRCB422;  	/* Get data from CEA blocks if present */  	edid_ext = drm_find_cea_extension(edid);  |