diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-04-15 22:48:57 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-04-28 06:44:56 +0200 |
commit | da05a5a71ad8fc7c51d526151be193b7ef6e6c95 (patch) | |
tree | 148aca048b9e8b4542d019311bc1888666173172 /drivers/gpu/drm/drm_edid.c | |
parent | drm: add bit depth parsing (diff) | |
download | linux-da05a5a71ad8fc7c51d526151be193b7ef6e6c95.tar.xz linux-da05a5a71ad8fc7c51d526151be193b7ef6e6c95.zip |
drm: parse color format support for digital displays
EDID 1.4 digital displays report the color spaces they support in the
features block. Add support for grabbing this data and stuffing it into
the display_info struct for driver use.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Alex Deucher <alexdeucher@gmail.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 | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index fe0d3dcd4d31..0a9357c66ff8 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -1429,6 +1429,7 @@ static void drm_add_display_info(struct edid *edid, /* driver figures it out in this case */ info->bpc = 0; + info->color_formats = 0; /* Only defined for 1.4 with digital displays */ if (edid->revision < 4) @@ -1461,6 +1462,12 @@ static void drm_add_display_info(struct edid *edid, info->bpc = 0; break; } + + 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; } /** |