drm/edid: add support for parsing quantization select field

Add support for parsing the RGB and YCC quantization
selectable field from the Video Capability Data block(VCDB)
of the EDID.

These fields help to decide whether the default quantization
range for a particular video format can be overridden by the
source.

Change-Id: Ibc72eb13302527089ad66231cd7e8bb34fb364f3
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
This commit is contained in:
Abhinav Kumar 2017-07-20 18:28:52 -07:00
parent e29d253ecf
commit fc8b7422d9
2 changed files with 10 additions and 0 deletions

View file

@ -3526,11 +3526,17 @@ drm_extract_vcdb_info(struct drm_connector *connector, const u8 *db)
(db[2] & (BIT(3) | BIT(2))) >> 2;
connector->ce_scan_info =
db[2] & (BIT(1) | BIT(0));
connector->rgb_qs =
db[2] & BIT(6);
connector->yuv_qs =
db[2] & BIT(7);
DRM_DEBUG_KMS("Scan Info (pt|it|ce): (%d|%d|%d)",
(int) connector->pt_scan_info,
(int) connector->it_scan_info,
(int) connector->ce_scan_info);
DRM_DEBUG_KMS("rgb_quant_range_select %d", connector->rgb_qs);
DRM_DEBUG_KMS("ycc_quant_range_select %d", connector->yuv_qs);
}
static bool drm_edid_is_luminance_value_present(

View file

@ -658,6 +658,8 @@ struct drm_encoder {
* @hdr_avg_luminance: desired avg luminance obtained from HDR block
* @hdr_min_luminance: desired min luminance obtained from HDR block
* @hdr_supported: does the sink support HDR content
* @rgb_qs: does the sink declare RGB selectable quantization range
* @yuv_qs: does the sink declare YCC selectable quantization range
* @edid_corrupt: indicates whether the last read EDID was corrupt
* @debugfs_entry: debugfs directory for this connector
* @state: current atomic state for this connector
@ -746,6 +748,8 @@ struct drm_connector {
u32 hdr_avg_luminance;
u32 hdr_min_luminance;
bool hdr_supported;
bool rgb_qs;
bool yuv_qs;
/* Flag for raw EDID header corruption - used in Displayport
* compliance testing - * Displayport Link CTS Core 1.2 rev1.1 4.2.2.6
*/