All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] drm/bridge: use bus flags in bridge timings
@ 2018-09-05  5:21 ` Stefan Agner
  0 siblings, 0 replies; 72+ messages in thread
From: Stefan Agner @ 2018-09-05  5:21 UTC (permalink / raw)
  To: linux-arm-kernel

The DRM bus flags convey additional information on pixel data on
the bus. All current available bus flags might be of interest for
a bridge. Remove the sampling_edge field and use bus_flags.

In the case at hand a dumb VGA bridge needs a specific data enable
polarity (DRM_BUS_FLAG_DE_LOW).

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/gpu/drm/bridge/dumb-vga-dac.c |  6 +++---
 include/drm/drm_bridge.h              | 11 +++++------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
index 9b706789a341..7a5c24967115 100644
--- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
+++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
@@ -234,7 +234,7 @@ static int dumb_vga_remove(struct platform_device *pdev)
  */
 static const struct drm_bridge_timings default_dac_timings = {
 	/* Timing specifications, datasheet page 7 */
-	.sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
 	.setup_time_ps = 500,
 	.hold_time_ps = 1500,
 };
@@ -245,7 +245,7 @@ static const struct drm_bridge_timings default_dac_timings = {
  */
 static const struct drm_bridge_timings ti_ths8134_dac_timings = {
 	/* From timing diagram, datasheet page 9 */
-	.sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
 	/* From datasheet, page 12 */
 	.setup_time_ps = 3000,
 	/* I guess this means latched input */
@@ -258,7 +258,7 @@ static const struct drm_bridge_timings ti_ths8134_dac_timings = {
  */
 static const struct drm_bridge_timings ti_ths8135_dac_timings = {
 	/* From timing diagram, datasheet page 14 */
-	.sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
 	/* From datasheet, page 16 */
 	.setup_time_ps = 2000,
 	.hold_time_ps = 500,
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index bd850747ce54..85d4b51eae19 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -244,14 +244,13 @@ struct drm_bridge_funcs {
  */
 struct drm_bridge_timings {
 	/**
-	 * @sampling_edge:
+	 * @bus_flags:
 	 *
-	 * Tells whether the bridge samples the digital input signal
-	 * from the display engine on the positive or negative edge of the
-	 * clock, this should reuse the DRM_BUS_FLAG_PIXDATA_[POS|NEG]EDGE
-	 * bitwise flags from the DRM connector (bit 2 and 3 valid).
+	 * Tells what additional settings for the pixel data on the bus
+	 * this bridge requires (like pixel signal polarity). See also
+	 * &drm_display_info->bus_flags.
 	 */
-	u32 sampling_edge;
+	u32 bus_flags;
 	/**
 	 * @setup_time_ps:
 	 *
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 72+ messages in thread
* [PATCH 1/6] drm/bridge: use bus flags in bridge timings
@ 2018-09-05 18:00 Stefan Agner
  2018-09-05 18:00 ` [PATCH 3/6] dt-bindings: display: add data-enable polarity property Stefan Agner
  0 siblings, 1 reply; 72+ messages in thread
From: Stefan Agner @ 2018-09-05 18:00 UTC (permalink / raw)
  To: dri-devel

The DRM bus flags convey additional information on pixel data on
the bus. All current available bus flags might be of interest for
a bridge. Remove the sampling_edge field and use bus_flags.

In the case at hand a dumb VGA bridge needs a specific data enable
polarity (DRM_BUS_FLAG_DE_LOW).

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/gpu/drm/bridge/dumb-vga-dac.c |  6 +++---
 include/drm/drm_bridge.h              | 11 +++++------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
index 9b706789a341..7a5c24967115 100644
--- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
+++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
@@ -234,7 +234,7 @@ static int dumb_vga_remove(struct platform_device *pdev)
  */
 static const struct drm_bridge_timings default_dac_timings = {
 	/* Timing specifications, datasheet page 7 */
-	.sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
 	.setup_time_ps = 500,
 	.hold_time_ps = 1500,
 };
@@ -245,7 +245,7 @@ static const struct drm_bridge_timings default_dac_timings = {
  */
 static const struct drm_bridge_timings ti_ths8134_dac_timings = {
 	/* From timing diagram, datasheet page 9 */
-	.sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
 	/* From datasheet, page 12 */
 	.setup_time_ps = 3000,
 	/* I guess this means latched input */
@@ -258,7 +258,7 @@ static const struct drm_bridge_timings ti_ths8134_dac_timings = {
  */
 static const struct drm_bridge_timings ti_ths8135_dac_timings = {
 	/* From timing diagram, datasheet page 14 */
-	.sampling_edge = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
 	/* From datasheet, page 16 */
 	.setup_time_ps = 2000,
 	.hold_time_ps = 500,
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index bd850747ce54..85d4b51eae19 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -244,14 +244,13 @@ struct drm_bridge_funcs {
  */
 struct drm_bridge_timings {
 	/**
-	 * @sampling_edge:
+	 * @bus_flags:
 	 *
-	 * Tells whether the bridge samples the digital input signal
-	 * from the display engine on the positive or negative edge of the
-	 * clock, this should reuse the DRM_BUS_FLAG_PIXDATA_[POS|NEG]EDGE
-	 * bitwise flags from the DRM connector (bit 2 and 3 valid).
+	 * Tells what additional settings for the pixel data on the bus
+	 * this bridge requires (like pixel signal polarity). See also
+	 * &drm_display_info->bus_flags.
 	 */
-	u32 sampling_edge;
+	u32 bus_flags;
 	/**
 	 * @setup_time_ps:
 	 *
-- 
2.18.0

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

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

end of thread, other threads:[~2018-09-19  7:03 UTC | newest]

Thread overview: 72+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-05  5:21 [PATCH 1/6] drm/bridge: use bus flags in bridge timings Stefan Agner
2018-09-05  5:21 ` Stefan Agner
2018-09-05  5:21 ` Stefan Agner
2018-09-05  5:21 ` [PATCH 2/6] drm/bridge: allow to specify data-enable polarity Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21 ` [PATCH 3/6] dt-bindings: display: add data-enable polarity property Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  7:07   ` Laurent Pinchart
2018-09-05  7:07     ` Laurent Pinchart
2018-09-05  7:07     ` Laurent Pinchart
2018-09-05 18:10     ` Stefan Agner
2018-09-05 18:10       ` Stefan Agner
2018-09-05 18:10       ` Stefan Agner
2018-09-05 20:50       ` Laurent Pinchart
2018-09-05 20:50         ` Laurent Pinchart
2018-09-05 20:50         ` Laurent Pinchart
2018-09-05  5:21 ` [PATCH 4/6] drm/imx: support handling bridge timings bus flags Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21 ` [PATCH 5/6] ARM: dts: imx6qdl-apalis: add VGA support Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21 ` [PATCH 6/6] ARM: dts: imx6qdl-apalis: add GPIO I2C node for DDC Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  5:21   ` Stefan Agner
2018-09-05  7:06 ` [PATCH 1/6] drm/bridge: use bus flags in bridge timings Laurent Pinchart
2018-09-05  7:06   ` Laurent Pinchart
2018-09-05  7:44   ` Laurent Pinchart
2018-09-05  7:44     ` Laurent Pinchart
2018-09-05  7:44     ` Laurent Pinchart
2018-09-05 18:32     ` Stefan Agner
2018-09-05 18:32       ` Stefan Agner
2018-09-05 18:32       ` Stefan Agner
2018-09-06 11:07       ` Linus Walleij
2018-09-06 11:07         ` Linus Walleij
2018-09-06 11:07         ` Linus Walleij
2018-09-06 12:25         ` Laurent Pinchart
2018-09-06 12:25           ` Laurent Pinchart
2018-09-06 12:25           ` Laurent Pinchart
2018-09-06 16:48           ` Stefan Agner
2018-09-06 16:48             ` Stefan Agner
2018-09-06 16:48             ` Stefan Agner
2018-09-06 16:54             ` Laurent Pinchart
2018-09-06 16:54               ` Laurent Pinchart
2018-09-06 16:54               ` Laurent Pinchart
2018-09-06 17:27               ` Stefan Agner
2018-09-06 17:27                 ` Stefan Agner
2018-09-06 17:27                 ` Stefan Agner
2018-09-06 20:25         ` Stefan Agner
2018-09-06 20:25           ` Stefan Agner
2018-09-06 20:25           ` Stefan Agner
2018-09-07  7:10           ` Linus Walleij
2018-09-07  7:10             ` Linus Walleij
2018-09-07  7:10             ` Linus Walleij
2018-09-07 18:25             ` Stefan Agner
2018-09-07 18:25               ` Stefan Agner
2018-09-07 18:25               ` Stefan Agner
2018-09-14  9:55               ` Laurent Pinchart
2018-09-14  9:55                 ` Laurent Pinchart
2018-09-14  9:55                 ` Laurent Pinchart
2018-09-14  9:49           ` Laurent Pinchart
2018-09-14  9:49             ` Laurent Pinchart
2018-09-14  9:49             ` Laurent Pinchart
2018-09-14  9:57             ` Laurent Pinchart
2018-09-14  9:57               ` Laurent Pinchart
2018-09-14  9:57               ` Laurent Pinchart
2018-09-19  7:03             ` Stefan Agner
2018-09-19  7:03               ` Stefan Agner
2018-09-19  7:03               ` Stefan Agner
  -- strict thread matches above, loose matches on Subject: below --
2018-09-05 18:00 Stefan Agner
2018-09-05 18:00 ` [PATCH 3/6] dt-bindings: display: add data-enable polarity property Stefan Agner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.