hdmitx: add dolby debug info

PD#164913: hdmitx: add dolby debug info

Add dolby debug info.

Change-Id: I65156223b66bcb95c31e8b60a602f834bacf89f2
Signed-off-by: Kaifu Hu <kaifu.hu@amlogic.com>
This commit is contained in:
Kaifu Hu
2018-04-24 10:02:55 +08:00
committed by Yixun Lan
parent 43ea2d9687
commit 2c4f36cf8e
3 changed files with 68 additions and 0 deletions

View File

@@ -1197,6 +1197,9 @@ static void hdmitx_set_vsif_pkt(enum eotf_type type,
pr_info("hdmitx: not support DolbyVision\n");
return;
}
hdev->hdmi_current_eotf_type = type;
hdev->hdmi_current_tunnel_mode = tunnel_mode;
/*ver0 and ver1_15 and ver1_12bit with ll= 0 use hdmi 1.4b VSIF*/
if ((hdev->RXCap.dv_info.ver == 0) || ((hdev->RXCap.dv_info.ver == 1)
&& (hdev->RXCap.dv_info.length == 0xE))

View File

@@ -2708,6 +2708,57 @@ static void hdmitx_dump_drm_reg(void)
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
}
static void hdmitx_dump_vsif_reg(void)
{
unsigned int reg_val;
unsigned int reg_addr;
for (reg_addr = HDMITX_DWC_FC_VSDIEEEID0;
reg_addr <= HDMITX_DWC_FC_VSDPAYLOAD23; reg_addr++) {
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
}
reg_addr = HDMITX_DWC_FC_DATAUTO0;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_PACKET_TX_EN;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
}
static void hdmitx_dump_avi_reg(void)
{
unsigned int reg_val;
unsigned int reg_addr;
pr_info("hdmitx avi info reg config\n");
reg_addr = HDMITX_DWC_FC_AVICONF0;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_AVICONF1;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_AVICONF2;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_AVIVID;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_AVICONF3;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_PRCONF;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_DATAUTO3;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
reg_addr = HDMITX_DWC_FC_PACKET_TX_EN;
reg_val = hdmitx_rd_reg(reg_addr);
pr_info("[0x%x]: 0x%x\n", reg_addr, reg_val);
}
static void hdmitx_debug(struct hdmitx_dev *hdev, const char *buf)
{
char tmpbuf[128];
@@ -2962,6 +3013,18 @@ static void hdmitx_debug(struct hdmitx_dev *hdev, const char *buf)
hdev->hdmi_last_hdr_mode);
hdmitx_dump_drm_reg();
return;
} else if (strncmp(tmpbuf, "dv_info", 7) == 0) {
pr_info("hdev->hdmi_current_eotf_type: 0x%x\n",
hdev->hdmi_current_eotf_type);
pr_info("hdev->hdmi_current_tunnel_mode: 0x%x\n",
hdev->hdmi_current_tunnel_mode);
pr_info("hdev->dv_src_feature: %d\n",
hdev->dv_src_feature);
hdmitx_dump_vsif_reg();
return;
} else if (strncmp(tmpbuf, "avi_info", 8) == 0) {
hdmitx_dump_avi_reg();
return;
}
}

View File

@@ -363,6 +363,8 @@ struct hdmitx_dev {
unsigned int hdmi_current_hdr_mode;
unsigned int dv_src_feature;
unsigned int sdr_hdr_feature;
enum eotf_type hdmi_current_eotf_type;
enum mode_type hdmi_current_tunnel_mode;
unsigned int flag_3dfp:1;
unsigned int flag_3dtb:1;
unsigned int flag_3dss:1;