On Wed, 2012-08-01 at 16:01 +0530, Archit Taneja wrote: > The DSI driver currently relies on the timings in omap_dss_device struct to > configure the DISPC and DSI blocks accordingly. This makes the DSI interface > driver dependent on the omap_dss_device struct. > > Make the DPI driver data maintain it's own timings field. The panel driver is ^^^ DSI > expected to call omapdss_dsi_set_timings() to set these timings before the panel > is enabled. > > Signed-off-by: Archit Taneja <archit@xxxxxx>d > --- > drivers/video/omap2/displays/panel-taal.c | 2 ++ > drivers/video/omap2/dss/dsi.c | 27 ++++++++++++++++++++++----- > include/video/omapdss.h | 2 ++ > 3 files changed, 26 insertions(+), 5 deletions(-) > > diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c > index 3f5acc7..4775580 100644 > --- a/drivers/video/omap2/displays/panel-taal.c > +++ b/drivers/video/omap2/displays/panel-taal.c > @@ -1060,6 +1060,8 @@ static int taal_power_on(struct omap_dss_device *dssdev) > goto err0; > }; > > + omapdss_dsi_set_timings(dssdev, &td->panel_config->timings); > + > r = omapdss_dsi_display_enable(dssdev); > if (r) { > dev_err(&dssdev->dev, "failed to enable DSI\n"); Video timings for command mode panel are meaningless. If we need to pass the resolution of the panel, perhaps we should have a separate function for that. However, with a quick glance at dsi.c, we don't even use the dssdev->panel.timings for cmd mode panel. But we do use dssdev->get_resolution() in a few places. Those calls could be replaced by storing the panel size in dsi.c, given with omapdss_dsi_set_size() or such. We could use the timings field in dsi.c to store them, though. Tomi
Attachment:
signature.asc
Description: This is a digitally signed message part