diff options
author | Archit Taneja <archit@ti.com> | 2012-06-29 14:37:03 +0530 |
---|---|---|
committer | Archit Taneja <archit@ti.com> | 2012-06-29 16:27:42 +0530 |
commit | f476ae9dab3234532d41d36beb4ba7be838fa786 (patch) | |
tree | aee514d49e1ccbc1aabd1cf74f4ff603c35d00b2 /drivers/video/omap2/dss/rfbi.c | |
parent | 37a579903efaf25b74fcf1fd645817af94d36152 (diff) | |
download | op-kernel-dev-f476ae9dab3234532d41d36beb4ba7be838fa786.zip op-kernel-dev-f476ae9dab3234532d41d36beb4ba7be838fa786.tar.gz |
OMAPDSS: APPLY: Remove DISPC writes to manager's lcd parameters in interface drivers
Replace the DISPC fuctions used to configure LCD channel related manager
parameters with dss_mgr_set_lcd_config() in APPLY. This function ensures that
the DISPC registers are written at the right time by using the shadow register
programming model.
The LCD manager configurations is stored as a private data of manager in APPLY.
It is treated as an extra info as it's the panel drivers which trigger this
apply via interface drivers, and not a DSS2 user like omapfb or omapdrm.
Storing LCD manager related properties in APPLY also prevents the need to refer
to the panel connected to the manager for information. This helps in making the
DSS driver less dependent on panel.
A helper function is added to check whether the manager is LCD or TV. The direct
DISPC register writes are removed from the interface drivers.
Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/rfbi.c')
-rw-r--r-- | drivers/video/omap2/dss/rfbi.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c index 0dc8dac..cc22426 100644 --- a/drivers/video/omap2/dss/rfbi.c +++ b/drivers/video/omap2/dss/rfbi.c @@ -872,18 +872,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev) mgr_config.video_port_width = dssdev->ctrl.pixel_size; mgr_config.lcden_sig_polarity = 0; - dispc_mgr_set_io_pad_mode(mgr_config.io_pad_mode); - - dispc_mgr_enable_stallmode(dssdev->manager->id, mgr_config.stallmode); - dispc_mgr_enable_fifohandcheck(dssdev->manager->id, - mgr_config.fifohandcheck); - - dispc_mgr_set_tft_data_lines(dssdev->manager->id, - mgr_config.video_port_width); - - dispc_lcd_enable_signal_polarity(mgr_config.lcden_sig_polarity); - - dispc_mgr_set_lcd_type_tft(dssdev->manager->id); + dss_mgr_set_lcd_config(dssdev->manager, &mgr_config); } int omapdss_rfbi_display_enable(struct omap_dss_device *dssdev) |