[PATCH v3] drm/dsi: Implement set tear scanline
Daniel Vetter
daniel at ffwll.ch
Tue Jun 7 19:45:27 UTC 2016
On Tue, Jun 07, 2016 at 11:21:10PM +0530, Sumit Semwal wrote:
> On 07-Jun-2016 2:32 PM, "Jani Nikula" <jani.nikula at linux.intel.com> wrote:
> >
> > On Tue, 07 Jun 2016, Vinay Simha BN <simhavcs at gmail.com> wrote:
> > > Provide a small convenience wrapper that transmits
> > > a set_tear_scanline command.
> > >
> > > Cc: Archit Taneja <archit.taneja at gmail.com>
> > > Cc: John Stultz <john.stultz at linaro.org>
> > > Cc: Thierry Reding <thierry.reding at gmail.com>
> > > Cc: Sumit Semwal <sumit.semwal at linaro.org>
> > > Cc: Jani Nikula <jani.nikula at linux.intel.com>
> > > Signed-off-by: Vinay Simha BN <simhavcs at gmail.com>
> >
> > Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> >
> >
> Reviewed-by: Sumit Semwal <sumit.semwal at linaro.org>
Applied to drm-misc, thanks.
-Daniel
> > >
> > > --
> > > v1:
> > > * helper function suggested by Thierry
> > > for set_tear_scanline
> > > * Also includes small build fixes from Sumit Semwal.
> > >
> > > v2:
> > > * one scanline parameter suggested by jani
> > >
> > > v3:
> > > * passing the payload properly as suggested by jani
> > > --
> > > ---
> > > drivers/gpu/drm/drm_mipi_dsi.c | 22 ++++++++++++++++++++++
> > > include/drm/drm_mipi_dsi.h | 1 +
> > > 2 files changed, 23 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/drm_mipi_dsi.c
> b/drivers/gpu/drm/drm_mipi_dsi.c
> > > index f5d8083..7938ce7 100644
> > > --- a/drivers/gpu/drm/drm_mipi_dsi.c
> > > +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> > > @@ -983,6 +983,28 @@ int mipi_dsi_dcs_set_tear_on(struct
> mipi_dsi_device *dsi,
> > > EXPORT_SYMBOL(mipi_dsi_dcs_set_tear_on);
> > >
> > > /**
> > > + * mipi_dsi_set_tear_scanline() - turn on the display module's Tearing
> Effect
> > > + * output signal on the TE signal line when display module reaches
> line N
> > > + * defined by STS[n:0].
> > > + * @dsi: DSI peripheral device
> > > + * @param: STS[10:0]
> > > + * Return: 0 on success or a negative error code on failure
> > > + */
> > > +int mipi_dsi_set_tear_scanline(struct mipi_dsi_device *dsi, u16 param)
> > > +{
> > > + u8 payload[3] = { MIPI_DCS_SET_TEAR_SCANLINE, param >> 8,
> > > + param & 0xff };
> > > + ssize_t err;
> > > +
> > > + err = mipi_dsi_generic_write(dsi, payload, sizeof(payload));
> > > + if (err < 0)
> > > + return err;
> > > +
> > > + return 0;
> > > +}
> > > +EXPORT_SYMBOL(mipi_dsi_set_tear_scanline);
> > > +
> > > +/**
> > > * mipi_dsi_dcs_set_pixel_format() - sets the pixel format for the RGB
> image
> > > * data used by the interface
> > > * @dsi: DSI peripheral device
> > > diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h
> > > index 7a9840f..ec55285 100644
> > > --- a/include/drm/drm_mipi_dsi.h
> > > +++ b/include/drm/drm_mipi_dsi.h
> > > @@ -263,6 +263,7 @@ int mipi_dsi_dcs_set_column_address(struct
> mipi_dsi_device *dsi, u16 start,
> > > u16 end);
> > > int mipi_dsi_dcs_set_page_address(struct mipi_dsi_device *dsi, u16
> start,
> > > u16 end);
> > > +int mipi_dsi_set_tear_scanline(struct mipi_dsi_device *dsi, u16 param);
> > > int mipi_dsi_dcs_set_tear_off(struct mipi_dsi_device *dsi);
> > > int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device *dsi,
> > > enum mipi_dsi_dcs_tear_mode mode);
> >
> > --
> > Jani Nikula, Intel Open Source Technology Center
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list