[PATCH resend 1/2] drm: Fix EDID color fromat parsing

Jesse Barnes jbarnes at virtuousgeek.org
Tue Feb 28 10:04:29 PST 2012


On Tue, 28 Feb 2012 10:21:44 +0100
Lars-Peter Clausen <lars at metafoo.de> wrote:

> 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 at metafoo.de>
> ---
>  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 7ee7be1..a6bb2f5 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1700,10 +1700,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);

Ah that's better.  Do you have a TV that reports these feature bits?
If so, which model?

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20120228/2ddcbe9b/attachment.pgp>


More information about the dri-devel mailing list