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 <arc...@ti.com>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

Reply via email to