diff options
author | Liu Ying <victor.liu@nxp.com> | 2018-09-19 13:10:40 +0800 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:34:09 +0800 |
commit | 7abf69414b166b46c121e071135b7c9fc2c6172c (patch) | |
tree | 75afba1624b1bba0295d5b8f74000640a1cb1611 /drivers/gpu/imx | |
parent | fa70d45bdb779fac0adbd93d3563abc9fcfc4626 (diff) |
MLK-19622 gpu: imx: dpu: Improve FrameGen kick and TCON kachuck signal
This patch improves FrameGen kick and TCON kachuck signal configurations
as recommended by SoC designer. This should achieve more stability
and safety to set up a display pipeline and load prefetch engine shadow
registers.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Diffstat (limited to 'drivers/gpu/imx')
-rw-r--r-- | drivers/gpu/imx/dpu/dpu-framegen.c | 6 | ||||
-rw-r--r-- | drivers/gpu/imx/dpu/dpu-tcon.c | 14 |
2 files changed, 9 insertions, 11 deletions
diff --git a/drivers/gpu/imx/dpu/dpu-framegen.c b/drivers/gpu/imx/dpu/dpu-framegen.c index 93a1b38b0524..e39d5d8cf839 100644 --- a/drivers/gpu/imx/dpu/dpu-framegen.c +++ b/drivers/gpu/imx/dpu/dpu-framegen.c @@ -347,15 +347,15 @@ framegen_cfg_videomode(struct dpu_framegen *fg, dpu_fg_write(fg, VACT(vact) | VTOTAL(vtotal), VTCFG1); dpu_fg_write(fg, VSYNC(vsync) | VSBP(vsbp) | VSEN, VTCFG2); - kick_col = hact; + kick_col = hact + 1; kick_row = vact; /* * FrameGen as slave needs to be kicked later for - * more than 64 pixels comparing to the master. + * one line comparing to the master. */ if (side_by_side && framegen_is_slave(fg) && devtype->has_syncmode_fixup) - kick_col += 65; + kick_row++; /* pkickconfig */ dpu_fg_write(fg, COL(kick_col) | ROW(kick_row) | EN, PKICKCONFIG); diff --git a/drivers/gpu/imx/dpu/dpu-tcon.c b/drivers/gpu/imx/dpu/dpu-tcon.c index a4ba1e702d50..0bb8f62bbadf 100644 --- a/drivers/gpu/imx/dpu/dpu-tcon.c +++ b/drivers/gpu/imx/dpu/dpu-tcon.c @@ -194,20 +194,18 @@ void tcon_cfg_videomode(struct dpu_tcon *tcon, dpu_tcon_write(tcon, 0x8, SMXFCTTABLE(2)); /* dsp_control[3]: kachuck */ - y = m->vdisplay; + y = m->vdisplay + 1; /* * If sync mode fixup is present, the kachuck signal from slave tcon - * should be two lines later than the one from master tcon. + * should be one line later than the one from master tcon. */ - if (side_by_side && tcon_is_slave(tcon) && - devtype->has_syncmode_fixup) { + if (side_by_side && tcon_is_slave(tcon) && devtype->has_syncmode_fixup) y++; - y++; - } - dpu_tcon_write(tcon, X(0xa) | Y(y), SPGPOSON(4)); + + dpu_tcon_write(tcon, X(0x0) | Y(y), SPGPOSON(4)); dpu_tcon_write(tcon, 0x0, SPGMASKON(4)); - dpu_tcon_write(tcon, X(0x2a) | Y(y), SPGPOSOFF(4)); + dpu_tcon_write(tcon, X(0x20) | Y(y), SPGPOSOFF(4)); dpu_tcon_write(tcon, 0x0, SPGMASKOFF(4)); dpu_tcon_write(tcon, 0x6, SMXSIGS(3)); |