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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stefan

Actually, the pixel clock or data enable polarity are also needed by drm/rockchip,

but I have a question:

why not add these polarity into drm_display_mode->flags. drm_display_mode->flags has hsync and vsync polarity, I think it's cool that add pixel clock or data enable polarity on drm_display_mode->flags.

The polarity seems should be used on crtc, but crtc can't direct get the panel, save polarity on panel_desc means need more work to transmit it to crtc.

Thanks.

On 2016年05月05日 13:08, 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@xxxxxxxxx>
Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
Acked-by: Manfred Schlaegl <manfred.schlaegl@xxxxxx>
Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
---
  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 4acdaf5..d1559cd 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -118,6 +118,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.
   */
@@ -139,6 +147,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;


--
Mark Yao


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux