hdmitx: add hdr_priority [1/1]

PD#SWPL-14089

Problem:
Need add 'hdr_priority' to mask sysfs 'dv_cap'

Solution:
Parse the variable 'hdr_priority' from uboot environment

Verify:
G12/U212

Change-Id: I6fca18669c068ac793ca9230c6497b0ef2cbe07c
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
This commit is contained in:
Zongdong Jiao
2019-09-18 15:47:33 +08:00
committed by Tao Zeng
parent 4ee9cb927f
commit 254c7a75da
3 changed files with 24 additions and 2 deletions

View File

@@ -1702,7 +1702,8 @@ static int hdmitx_edid_block_parse(struct hdmitx_dev *hdmitx_device,
switch (ext_tag) {
case EXTENSION_VENDOR_SPECIFIC:
t = &blockbuf[offset];
Edid_ParsingVendSpec(prxcap, t);
if (!hdmitx_device->hdr_priority)
Edid_ParsingVendSpec(prxcap, t);
break;
case EXTENSION_COLORMETRY_TAG:
prxcap->colorimetry_data =

View File

@@ -2889,7 +2889,7 @@ static ssize_t show_dv_cap(struct device *dev,
int i;
const struct dv_info *dv = &hdmitx_device.rxcap.dv_info;
if (dv->ieeeoui != DV_IEEE_OUI) {
if (dv->ieeeoui != DV_IEEE_OUI || hdmitx_device.hdr_priority) {
pos += snprintf(buf + pos, PAGE_SIZE,
"The Rx don't support DolbyVision\n");
return pos;
@@ -4144,6 +4144,14 @@ static void hdmitx_get_edid(struct hdmitx_dev *hdev)
hdmitx_edid_clear(hdev);
hdmitx_edid_parse(hdev);
hdmitx_edid_buf_compare_print(hdev);
if (hdev->hdr_priority) { /* clear dv_info */
struct dv_info *dv = &hdev->rxcap.dv_info;
memset(dv, 0, sizeof(struct dv_info));
pr_info("clear dv_info\n");
}
mutex_unlock(&getedid_mutex);
}
@@ -5339,3 +5347,15 @@ static int __init hdmitx_boot_frac_rate(char *str)
}
__setup("frac_rate_policy=", hdmitx_boot_frac_rate);
static int __init hdmitx_boot_hdr_priority(char *str)
{
if (strncmp("1", str, 1) == 0) {
hdmitx_device.hdr_priority = 1;
pr_info("hdmitx boot hdr_priority: 1\n");
}
return 0;
}
__setup("hdr_priority=", hdmitx_boot_hdr_priority);

View File

@@ -476,6 +476,7 @@ struct hdmitx_dev {
unsigned int flag_3dss:1;
unsigned int dongle_mode:1;
unsigned int cedst_en:1; /* configure in DTS */
unsigned int hdr_priority:1;
unsigned int drm_feature;/*Direct Rander Management*/
};