diff options
author | Jimmy Rubin <jimmy.rubin@stericsson.com> | 2011-10-26 13:07:27 +0200 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-10-27 15:20:46 +0200 |
commit | 36c0d52b997f6f8225cadddb4fc1f603e65425b5 (patch) | |
tree | f3e95b28561f5f8581ce777f9651a71d6e505fbb | |
parent | f6eae50e5396896a7475ada11b912837ff378fd3 (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>
-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 | ||||
-rw-r--r-- | include/video/mcde.h | 1 |
5 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/mcde/display-av8100.c b/drivers/video/mcde/display-av8100.c index 7034f6ed2e7..e24015ee7d3 100644 --- a/drivers/video/mcde/display-av8100.c +++ b/drivers/video/mcde/display-av8100.c @@ -1453,6 +1453,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 60be4e022f9..8a4788fb5ba 100644 --- a/drivers/video/mcde/display-samsung_s6d16d0.c +++ b/drivers/video/mcde/display-samsung_s6d16d0.c @@ -161,6 +161,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 aace9ff94f2..799cdae0e40 100644 --- a/drivers/video/mcde/display-sony_acx424akp_dsi.c +++ b/drivers/video/mcde/display-sony_acx424akp_dsi.c @@ -251,6 +251,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 e0d3ec04f59..a8f2e65a2c0 100644 --- a/drivers/video/mcde/mcde_hw.c +++ b/drivers/video/mcde/mcde_hw.c @@ -1023,6 +1023,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); @@ -2085,7 +2088,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); } diff --git a/include/video/mcde.h b/include/video/mcde.h index 2a64be62ac9..6b5508e3ddd 100644 --- a/include/video/mcde.h +++ b/include/video/mcde.h @@ -115,6 +115,7 @@ struct mcde_port { u8 num_data_lanes; u8 ui; bool clk_cont; + bool host_eot_gen; /* DSI data lanes are swapped if true */ bool data_lanes_swap; |