diff options
| author | Jimmy Rubin <jimmy.rubin@stericsson.com> | 2011-10-26 13:07:27 +0200 |
|---|---|---|
| committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:04:18 +0200 |
| commit | f3fa23f7e79cc7e8cd04405bd82802579af14474 (patch) | |
| tree | 8d2eaae83a86d1c066795331e443c3cbe15928c0 /drivers/video | |
| parent | 532bdc7382928cb92b22cfcb7cbeeb462d3974ba (diff) | |
video: mcde: Add host_eot_gen property
Some DSI displays requires a EOT packet after a transfer in HS.
This is optional in the MIPI standard and dependant on the display IC
if it should be used or not.
ST-Ericsson ID: 367923
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ia7f8d37cd0ab80847a6098489790d133dbcccb64
Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/35324
Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com>
Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/mcde/display-av8100.c | 2 | ||||
| -rw-r--r-- | drivers/video/mcde/display-samsung_s6d16d0.c | 1 | ||||
| -rw-r--r-- | drivers/video/mcde/display-sony_acx424akp_dsi.c | 1 | ||||
| -rw-r--r-- | drivers/video/mcde/mcde_hw.c | 4 |
4 files changed, 7 insertions, 1 deletions
diff --git a/drivers/video/mcde/display-av8100.c b/drivers/video/mcde/display-av8100.c index 3c2ec85464a..b99fda2f34c 100644 --- a/drivers/video/mcde/display-av8100.c +++ b/drivers/video/mcde/display-av8100.c @@ -1454,6 +1454,8 @@ static int __devinit hdmi_probe(struct mcde_display_device *dev) dev->set_pixel_format = hdmi_set_pixel_format; dev->set_power_mode = hdmi_set_power_mode; + dev->port->phy.dsi.host_eot_gen = true; + /* Create sysfs files */ if (device_create_file(&dev->dev, &dev_attr_hdmisdtvswitch)) dev_info(&dev->dev, diff --git a/drivers/video/mcde/display-samsung_s6d16d0.c b/drivers/video/mcde/display-samsung_s6d16d0.c index 063c8996763..09c9e817e7f 100644 --- a/drivers/video/mcde/display-samsung_s6d16d0.c +++ b/drivers/video/mcde/display-samsung_s6d16d0.c @@ -162,6 +162,7 @@ static int __devinit samsung_s6d16d0_probe(struct mcde_display_device *ddev) di->port.pixel_format = MCDE_PORTPIXFMT_DSI_24BPP; di->port.sync_src = MCDE_SYNCSRC_BTA; di->port.phy.dsi.num_data_lanes = 2; + di->port.phy.dsi.host_eot_gen = true; /* TODO: Move UI to mcde_hw.c when clk_get_rate(dsi) is done */ di->port.phy.dsi.ui = 9; diff --git a/drivers/video/mcde/display-sony_acx424akp_dsi.c b/drivers/video/mcde/display-sony_acx424akp_dsi.c index 0b5b69bf23e..7c4f69a0cae 100644 --- a/drivers/video/mcde/display-sony_acx424akp_dsi.c +++ b/drivers/video/mcde/display-sony_acx424akp_dsi.c @@ -252,6 +252,7 @@ static int __devinit sony_acx424akp_probe(struct mcde_display_device *dev) di->port.sync_src = MCDE_SYNCSRC_BTA; di->port.phy.dsi.num_data_lanes = 2; di->port.link = port->link; + di->port.phy.dsi.host_eot_gen = true; /* TODO: Move UI to mcde_hw.c when clk_get_rate(dsi) is done */ di->port.phy.dsi.ui = 9; diff --git a/drivers/video/mcde/mcde_hw.c b/drivers/video/mcde/mcde_hw.c index 7de18aaea30..d47d1fddaad 100644 --- a/drivers/video/mcde/mcde_hw.c +++ b/drivers/video/mcde/mcde_hw.c @@ -1024,6 +1024,9 @@ static int update_channel_static_registers(struct mcde_chnl_state *chnl) dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, REG_TE_EN, true); } + dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, HOST_EOT_GEN, + port->phy.dsi.host_eot_gen); + dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, DLX_REMAP_EN, port->phy.dsi.data_lanes_swap); @@ -2086,7 +2089,6 @@ static void dsi_te_poll_req(struct mcde_chnl_state *chnl) dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, IF2_TE_EN, true); dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, BTA_EN, true); dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, READ_EN, true); - dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, HOST_EOT_GEN, true); dsi_wfld(lnk, DSI_CMD_MODE_CTL, TE_TIMEOUT, 0x3FF); dsi_wfld(lnk, DSI_MCTL_MAIN_DATA_CTL, TE_POLLING_EN, true); } |
