On Wed, 2012-08-08 at 11:35 +0530, Archit Taneja wrote:
> On Tuesday 07 August 2012 08:02 PM, Tomi Valkeinen wrote:
> > On Wed, 2012-08-01 at 16:01 +0530, Archit Taneja wrote:
> >> This series tries to make interface drivers less dependent on 
> >> omap_dss_device
> >> which represents a panel/device connected to that interface. The current 
> >> way of
> >> configuring an interface is to populate the panel's omap_dss_device 
> >> instance
> >> with parameters common to the panel and the interface, they are either 
> >> populated
> >> in the board file, or in the panel driver. Panel timings, number of lanes
> >> connected to interface, and pixel format are examples of such parameters, 
> >> these
> >> are then extracted by the interface driver to configure itself.
> >
> > The series looks good. I had only a few comments to make, but obviously
> > this needs quite a bit of testing. I'll try it out.
> 
> One thing I'm not sure about is whether these new functions should be 
> aware of the state of the output. For example, if we call set_timings() 
> with DSI video mode which is already enabled, the timings won't really 
> take any impact.
> 
> Similar issues would occur when we try to make other ops like 
> set_data_lines() or set_pixel_format(). These need to be called before 
> the output is enabled. I was wondering if we would need to add 
> intelligence here to make panel drivers less likely to make mistakes.

Hmm, true. It'd be nice if the functions returned -EBUSY if the
operation cannot be done while the output is enabled.

We have the dssdev->state, but we should get rid of that (or leave it to
panel drivers). It'd be good if the output drivers know whether the
output is enabled or not. I think this data is already tracked by
apply.c. It's about ovl managers, but I think that's practically the
same as output.

Calling dss_mgr_enable() will set mp->enabled = true, which could be
returned via dss_mgr_is_enabled() or such.

Then again, it wouldn't be many lines of codes to track the enable-state
in each output driver. So if we have any suspicions that mp->enabled
doesn't quite work for, say, dsi, we could just add a private "enabled"
member to dsi. But I don't right away see why dss_mgr_is_enabled()
wouldn't work.

 Tomi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to