Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1382040 > unrolled thread

[PATCH v3 1/2] drm: introduce bus_flags in drm_display_info

Started byStefan Agner <stefan@agner.ch>
First post2016-04-18 22:40 +0200
Last post2016-04-20 13:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v3 1/2] drm: introduce bus_flags in drm_display_info Stefan Agner <stefan@agner.ch> - 2016-04-18 22:40 +0200
    Re: [PATCH v3 1/2] drm: introduce bus_flags in drm_display_info Daniel Vetter <daniel@ffwll.ch> - 2016-04-20 13:20 +0200

#1382040 — [PATCH v3 1/2] drm: introduce bus_flags in drm_display_info

FromStefan Agner <stefan@agner.ch>
Date2016-04-18 22:40 +0200
Subject[PATCH v3 1/2] drm: introduce bus_flags in drm_display_info
Message-ID<rpo7D-3ez-13@gated-at.bofh.it>
Introduce bus_flags to specify display bus properties like signal
polarities. This is useful for parallel display buses, e.g. to
specify the pixel clock or data enable polarity.

Suggested-by: Thierry Reding <thierry.reding@gmail.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Manfred Schlaegl <manfred.schlaegl@gmx.at>
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/gpu/drm/panel/panel-simple.c | 2 ++
 include/drm/drm_crtc.h               | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index ceb2048..77ae07f 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -72,6 +72,7 @@ struct panel_desc {
 	} delay;
 
 	u32 bus_format;
+	u32 bus_flags;
 };
 
 struct panel_simple {
@@ -144,6 +145,7 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel)
 	if (panel->desc->bus_format)
 		drm_display_info_set_bus_formats(&connector->display_info,
 						 &panel->desc->bus_format, 1);
+	connector->display_info.bus_flags = panel->desc->bus_flags;
 
 	return num;
 }
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index e0170bf..f8b37be 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -126,6 +126,14 @@ enum subpixel_order {
 #define DRM_COLOR_FORMAT_RGB444		(1<<0)
 #define DRM_COLOR_FORMAT_YCRCB444	(1<<1)
 #define DRM_COLOR_FORMAT_YCRCB422	(1<<2)
+
+#define DRM_BUS_FLAG_DE_LOW		(1<<0)
+#define DRM_BUS_FLAG_DE_HIGH		(1<<1)
+/* drive data on pos. edge */
+#define DRM_BUS_FLAG_PIXDATA_POSEDGE	(1<<2)
+/* drive data on neg. edge */
+#define DRM_BUS_FLAG_PIXDATA_NEGEDGE	(1<<3)
+
 /*
  * Describes a given display (e.g. CRT or flat panel) and its limitations.
  */
@@ -147,6 +155,7 @@ struct drm_display_info {
 
 	const u32 *bus_formats;
 	unsigned int num_bus_formats;
+	u32 bus_flags;
 
 	/* Mask of supported hdmi deep color modes */
 	u8 edid_hdmi_dc_modes;
-- 
2.7.4

[toc] | [next] | [standalone]


#1383296

FromDaniel Vetter <daniel@ffwll.ch>
Date2016-04-20 13:20 +0200
Message-ID<rpYkN-70Z-1@gated-at.bofh.it>
In reply to#1382040
On Mon, Apr 18, 2016 at 01:38:14PM -0700, Stefan Agner wrote:
> Introduce bus_flags to specify display bus properties like signal
> polarities. This is useful for parallel display buses, e.g. to
> specify the pixel clock or data enable polarity.
> 
> Suggested-by: Thierry Reding <thierry.reding@gmail.com>
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
> Acked-by: Manfred Schlaegl <manfred.schlaegl@gmx.at>
> Signed-off-by: Stefan Agner <stefan@agner.ch>

Since I bikeshedded the old patches that used the display mode stuff to
death, and I think this makes a lot more sense:

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 2 ++
>  include/drm/drm_crtc.h               | 9 +++++++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index ceb2048..77ae07f 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -72,6 +72,7 @@ struct panel_desc {
>  	} delay;
>  
>  	u32 bus_format;
> +	u32 bus_flags;
>  };
>  
>  struct panel_simple {
> @@ -144,6 +145,7 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel)
>  	if (panel->desc->bus_format)
>  		drm_display_info_set_bus_formats(&connector->display_info,
>  						 &panel->desc->bus_format, 1);
> +	connector->display_info.bus_flags = panel->desc->bus_flags;
>  
>  	return num;
>  }
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index e0170bf..f8b37be 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -126,6 +126,14 @@ enum subpixel_order {
>  #define DRM_COLOR_FORMAT_RGB444		(1<<0)
>  #define DRM_COLOR_FORMAT_YCRCB444	(1<<1)
>  #define DRM_COLOR_FORMAT_YCRCB422	(1<<2)
> +
> +#define DRM_BUS_FLAG_DE_LOW		(1<<0)
> +#define DRM_BUS_FLAG_DE_HIGH		(1<<1)
> +/* drive data on pos. edge */
> +#define DRM_BUS_FLAG_PIXDATA_POSEDGE	(1<<2)
> +/* drive data on neg. edge */
> +#define DRM_BUS_FLAG_PIXDATA_NEGEDGE	(1<<3)
> +
>  /*
>   * Describes a given display (e.g. CRT or flat panel) and its limitations.
>   */
> @@ -147,6 +155,7 @@ struct drm_display_info {
>  
>  	const u32 *bus_formats;
>  	unsigned int num_bus_formats;
> +	u32 bus_flags;
>  
>  	/* Mask of supported hdmi deep color modes */
>  	u8 edid_hdmi_dc_modes;
> -- 
> 2.7.4
> 

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web