rockchip: rk3288: fix phsync & pvsync bug
Struct edid defien pvsync & phsync as an character, like '+' or '-', so we need to check sync polarity by comparing with characters '+' and '-' instead of treating as boolean. BRANCH=None BUG=chrome-os-partner:42946 TEST=Mickey board, light monitor normally Change-Id: I14c72aa8994227092a1059d2b25c1dd2249b9db1 Signed-off-by: Yakir Yang <ykk@rock-chips.com> Reviewed-on: https://chromium-review.googlesource.com/289963 Reviewed-by: Julius Werner <jwerner@chromium.org> Commit-Queue: David Hendricks <dhendrix@chromium.org> Tested-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/293603 Reviewed-by: David Hendricks <dhendrix@chromium.org>
This commit is contained in:
parent
53b66a0d17
commit
4aa6a1ac4a
2 changed files with 4 additions and 4 deletions
|
|
@ -494,11 +494,11 @@ static void hdmi_av_composer(const struct edid *edid)
|
|||
/* set up hdmi_fc_invidconf */
|
||||
inv_val = HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE;
|
||||
|
||||
inv_val |= (edid->pvsync ?
|
||||
inv_val |= ((edid->pvsync == '+') ?
|
||||
HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH :
|
||||
HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW);
|
||||
|
||||
inv_val |= (edid->phsync ?
|
||||
inv_val |= ((edid->phsync == '+') ?
|
||||
HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH :
|
||||
HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW);
|
||||
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ void rkvop_mode_set(u32 vop_id, const struct edid *edid, u32 mode)
|
|||
clrsetbits_le32(&preg->dsp_ctrl0,
|
||||
M_DSP_OUT_MODE | M_DSP_VSYNC_POL | M_DSP_HSYNC_POL,
|
||||
V_DSP_OUT_MODE(15) |
|
||||
V_DSP_HSYNC_POL(!!edid->phsync) |
|
||||
V_DSP_VSYNC_POL(!!edid->pvsync));
|
||||
V_DSP_HSYNC_POL(edid->phsync == '+') |
|
||||
V_DSP_VSYNC_POL(edid->pvsync == '+'));
|
||||
|
||||
writel(V_HSYNC(hsync_len) |
|
||||
V_HORPRD(hsync_len + hback_porch + hactive + hfront_porch),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue