linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] drm/dsi: Implement set tear scanline
@ 2016-06-07  7:45 Vinay Simha BN
  2016-06-07  9:02 ` Jani Nikula
  0 siblings, 1 reply; 4+ messages in thread
From: Vinay Simha BN @ 2016-06-07  7:45 UTC (permalink / raw)
  Cc: Vinay Simha BN, Archit Taneja, John Stultz, Thierry Reding,
	Sumit Semwal, Jani Nikula, David Airlie, open list:DRM DRIVERS,
	open list

Provide a small convenience wrapper that transmits
a set_tear_scanline command.

Cc: Archit Taneja <archit.taneja@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>

--
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);
-- 
2.1.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] drm/dsi: Implement set tear scanline
  2016-06-07  7:45 [PATCH v3] drm/dsi: Implement set tear scanline Vinay Simha BN
@ 2016-06-07  9:02 ` Jani Nikula
       [not found]   ` <CAO_48GFcpx=4Joxa1-7pPeQbrqh1miErJzsFQ40KmCB7A3DCrA@mail.gmail.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Jani Nikula @ 2016-06-07  9:02 UTC (permalink / raw)
  To: Vinay Simha BN
  Cc: Vinay Simha BN, Archit Taneja, John Stultz, Thierry Reding,
	Sumit Semwal, David Airlie, open list:DRM DRIVERS, open list

On Tue, 07 Jun 2016, Vinay Simha BN <simhavcs@gmail.com> wrote:
> Provide a small convenience wrapper that transmits
> a set_tear_scanline command.
>
> Cc: Archit Taneja <archit.taneja@gmail.com>
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sumit Semwal <sumit.semwal@linaro.org>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>
> --
> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] drm/dsi: Implement set tear scanline
       [not found]   ` <CAO_48GFcpx=4Joxa1-7pPeQbrqh1miErJzsFQ40KmCB7A3DCrA@mail.gmail.com>
@ 2016-06-07 19:45     ` Daniel Vetter
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2016-06-07 19:45 UTC (permalink / raw)
  To: Sumit Semwal
  Cc: Jani Nikula, open list, DRI mailing list, Vinay Simha BN, Archit Taneja

On Tue, Jun 07, 2016 at 11:21:10PM +0530, Sumit Semwal wrote:
> On 07-Jun-2016 2:32 PM, "Jani Nikula" <jani.nikula@linux.intel.com> wrote:
> >
> > On Tue, 07 Jun 2016, Vinay Simha BN <simhavcs@gmail.com> wrote:
> > > Provide a small convenience wrapper that transmits
> > > a set_tear_scanline command.
> > >
> > > Cc: Archit Taneja <archit.taneja@gmail.com>
> > > Cc: John Stultz <john.stultz@linaro.org>
> > > Cc: Thierry Reding <thierry.reding@gmail.com>
> > > Cc: Sumit Semwal <sumit.semwal@linaro.org>
> > > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > > Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
> >
> > Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> >
> >
> Reviewed-by: Sumit Semwal <sumit.semwal@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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v3] drm/dsi: Implement set tear scanline
@ 2016-04-21  6:26 Vinay Simha BN
  0 siblings, 0 replies; 4+ messages in thread
From: Vinay Simha BN @ 2016-04-21  6:26 UTC (permalink / raw)
  Cc: Vinay Simha BN, Archit Taneja, John Stultz, Thierry Reding,
	Sumit Semwal, David Airlie, open list:DRM DRIVERS, open list

Provide a small convenience wrapper that transmits
a set_tear_scanline command.

Cc: Archit Taneja <archit.taneja@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
[thierry.reding: suggested to create helper function (v1)]
Cc: Thierry Reding <thierry.reding@gmail.com>
[sumit.semwal: create a single patch for compilation fix (v2)]
Cc: Sumit Semwal <sumit.semwal@linaro.org>
[vinay simha bn: subject line changed (v3)]
Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
---
 drivers/gpu/drm/drm_mipi_dsi.c | 23 +++++++++++++++++++++++
 include/drm/drm_mipi_dsi.h     |  2 ++
 2 files changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
index f5d8083..2f0b85c 100644
--- a/drivers/gpu/drm/drm_mipi_dsi.c
+++ b/drivers/gpu/drm/drm_mipi_dsi.c
@@ -983,6 +983,29 @@ 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
+ * @param1: STS[10:8]
+ * @param2: STS[7:0]
+ * Return: 0 on success or a negative error code on failure
+ */
+int mipi_dsi_set_tear_scanline(struct mipi_dsi_device *dsi,
+			       u8 param1, u8 param2)
+{
+	u8 payload[3] = { MIPI_DCS_SET_TEAR_SCANLINE, param1, param2};
+	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..2788dbe 100644
--- a/include/drm/drm_mipi_dsi.h
+++ b/include/drm/drm_mipi_dsi.h
@@ -263,6 +263,8 @@ 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, u8 param1,
+			       u8 param2);
 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);
-- 
2.1.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-06-07 19:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-07  7:45 [PATCH v3] drm/dsi: Implement set tear scanline Vinay Simha BN
2016-06-07  9:02 ` Jani Nikula
     [not found]   ` <CAO_48GFcpx=4Joxa1-7pPeQbrqh1miErJzsFQ40KmCB7A3DCrA@mail.gmail.com>
2016-06-07 19:45     ` Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2016-04-21  6:26 Vinay Simha BN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).