msm: mdss: hdmi: fall back to legacy block when CEA block is bad
In case of CEA extension block is not correct or corrupted, fall back to block 0 to read the resolutions supported. Change-Id: I2b63ff1f918b3ece89ab35eb4a64d4ac96aaeabe Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
This commit is contained in:
parent
a163df5139
commit
5b421e1edc
1 changed files with 5 additions and 4 deletions
|
@ -1539,6 +1539,7 @@ static void hdmi_edid_get_display_mode(struct hdmi_edid_ctrl *edid_ctrl,
|
|||
const u8 *svd = NULL;
|
||||
u32 has60hz_mode = false;
|
||||
u32 has50hz_mode = false;
|
||||
bool read_block0_res = false;
|
||||
struct hdmi_edid_sink_data *sink_data = NULL;
|
||||
|
||||
if (!edid_ctrl || !data_buf) {
|
||||
|
@ -1553,9 +1554,9 @@ static void hdmi_edid_get_display_mode(struct hdmi_edid_ctrl *edid_ctrl,
|
|||
VIDEO_DATA_BLOCK, &len) : NULL;
|
||||
|
||||
if (num_of_cea_blocks && (len == 0 || len > MAX_DATA_BLOCK_SIZE)) {
|
||||
DEV_DBG("%s: No/Invalid Video Data Block\n",
|
||||
__func__);
|
||||
return;
|
||||
DEV_DBG("%s: fall back to block 0 res\n", __func__);
|
||||
svd = NULL;
|
||||
read_block0_res = true;
|
||||
}
|
||||
|
||||
sink_data = &edid_ctrl->sink_data;
|
||||
|
@ -1599,7 +1600,7 @@ static void hdmi_edid_get_display_mode(struct hdmi_edid_ctrl *edid_ctrl,
|
|||
if (video_format == HDMI_VFRMT_640x480p60_4_3)
|
||||
has480p = true;
|
||||
}
|
||||
} else if (!num_of_cea_blocks) {
|
||||
} else if (!num_of_cea_blocks || read_block0_res) {
|
||||
/* Detailed timing descriptors */
|
||||
u32 desc_offset = 0;
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue