[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