[Intel-gfx] [PATCH 04/14] drm: Add DSI panel power on/off sequence programming

Jani Nikula jani.nikula at linux.intel.com
Wed Feb 8 11:16:49 UTC 2017


On Wed, 08 Feb 2017, "Srinivas, Vidya" <vidya.srinivas at intel.com> wrote:
>> In the mean time, there's been discussion that we might just drop the use of
>> drm_panel altogether because we're really not sure it buys us anything. And
>> then we could use the granularity we want.
>
> Extremely sorry for the delay in replying to the email. I had a family medical
> emergency and was not in office. Sincere apologies for the same.

I'm very sorry to hear that.

Fact remains, I think it's wasted effort trying to add more granularity
to drm_panel. The drm_panel maintainer is not receptive to the idea, I
don't think even with more rationale. And I don't really disagree with
his reasons. We use drm_panel because we originally thought we'd support
more than just VBT based stuff, but it doesn't look like it. See [1] for
some discussion.

BR,
Jani.


[1] http://mid.mail-archive.com/87oa0uzkp0.fsf@intel.com

>
> Regards
> Vidya
>> 
>> BR,
>> Jani.
>> 
>> 
>> >
>> > Regards
>> > Vidya
>> >>
>> >> >
>> >> > Signed-off-by: Uma Shankar <uma.shankar at intel.com>
>> >> > ---
>> >> >  include/drm/drm_panel.h | 18 ++++++++++++++++++
>> >> >  1 file changed, 18 insertions(+)
>> >> >
>> >> > diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h
>> >> > index 220d1e2b..515595b 100644
>> >> > --- a/include/drm/drm_panel.h
>> >> > +++ b/include/drm/drm_panel.h
>> >> > @@ -69,6 +69,8 @@ struct drm_panel_funcs {
>> >> >  	int (*disable)(struct drm_panel *panel);
>> >> >  	int (*unprepare)(struct drm_panel *panel);
>> >> >  	int (*prepare)(struct drm_panel *panel);
>> >> > +	int (*power_on)(struct drm_panel *panel);
>> >> > +	int (*power_off)(struct drm_panel *panel);
>> >> >  	int (*enable)(struct drm_panel *panel);
>> >> >  	int (*get_modes)(struct drm_panel *panel);
>> >> >  	int (*get_timings)(struct drm_panel *panel, unsigned int
>> >> > num_timings, @@ -166,6 +168,22 @@ static inline int
>> >> drm_panel_enable(struct drm_panel *panel)
>> >> >  	return panel ? -ENOSYS : -EINVAL;  }
>> >> >
>> >> > +static inline int drm_panel_power_on(struct drm_panel *panel) {
>> >> > +	if (panel && panel->funcs && panel->funcs->power_on)
>> >> > +		return panel->funcs->power_on(panel);
>> >> > +
>> >> > +	return panel ? -ENOSYS : -EINVAL; }
>> >> > +
>> >> > +static inline int drm_panel_power_off(struct drm_panel *panel) {
>> >> > +	if (panel && panel->funcs && panel->funcs->power_off)
>> >> > +		return panel->funcs->power_off(panel);
>> >> > +
>> >> > +	return panel ? -ENOSYS : -EINVAL; }
>> >> > +
>> >> >  /**
>> >> >   * drm_panel_get_modes - probe the available display modes of a
>> panel
>> >> >   * @panel: DRM panel
>> >>
>> >> --
>> >> Jani Nikula, Intel Open Source Technology Center
>> 
>> --
>> Jani Nikula, Intel Open Source Technology Center

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list