On Thu, 2012-08-16 at 17:27 +0530, Archit Taneja wrote: > On Thursday 16 August 2012 05:01 PM, Tomi Valkeinen wrote: > > On Thu, 2012-08-16 at 13:06 +0530, Archit Taneja wrote: > >> The DSI driver currently relies on the omap_dss_device struct to receive the > >> video mode timings requested by the panel driver. This makes the DSI interface > >> driver dependent on the omap_dss_device struct. > >> > >> Make the DSI driver data maintain it's own video mode timings field. The panel > >> driver is expected to call omapdss_dsi_set_videomode_timings() to configure the > >> video mode timings before the interface is enabled. The function takes in a > >> void pointer rather than a pointer to omap_dss_dsi_videomode_timings struct. > >> This is because this function will finally be an output op shared across > >> different outputs to set custom or private timings. > > > > I don't think the function should take a void * in any case. If we want > > to share the function, it should take a struct that perhaps contains an > > union of rfbi and dsi timings. > > > > But I'm not sure if there's any benefit for that... > > > > So do you see us having just one set_timings, which would take either > > the normal video timings, rfbi timings or dsi timings? > > I thought of having 2 timing ops, one is a standard "modeline like" > set_timings(), and the other a vague-ish set_custom_timings(). For > us(OMAP), we need to use it for DSI videomode and RFBI, we may reduce > that to only RFBI later if we calculate for DSI timings automatically. > > For these extra timings to be consistent across SoCs, we would need to > align to get a common struct of some sort, which could then have unions > as you said. For now, I thought having a void pointer might suffice. I would only use void * when it's a must, i.e. when really anything can be passed as a parameter. In our case, I think having just two separate functions is best. I think the timings in videomode and rfbi structs should be SoC independent even now, at least more or less. But you're right, it should be verified. And any names in the structs should be according to DBI or DSI spec, not OMAP. But this is for later. Tomi
Attachment:
signature.asc
Description: This is a digitally signed message part