diff options
-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; |