From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Andrzej Hajda <a.hajda@samsung.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <maxime.ripard@bootlin.com>,
Sean Paul <sean@poorly.run>
Cc: Fabrizio Castro <fabrizio.castro@bp.renesas.com>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Eric Anholt <eric@anholt.net>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Simon Horman <horms@verge.net.au>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Chris Paterson <Chris.Paterson2@renesas.com>,
Biju Das <biju.das@bp.renesas.com>,
linux-renesas-soc@vger.kernel.org,
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
Jacopo Mondi <jacopo+renesas@jmondi.org>
Subject: [PATCH v2 3/9] drm: Rename drm_bridge_timings to drm_timings
Date: Thu, 15 Aug 2019 12:04:27 +0100 [thread overview]
Message-ID: <1565867073-24746-4-git-send-email-fabrizio.castro@bp.renesas.com> (raw)
In-Reply-To: <1565867073-24746-1-git-send-email-fabrizio.castro@bp.renesas.com>
The information represented by drm_bridge_timings is also
needed by panels, therefore rename drm_bridge_timings to
drm_timings.
Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Link: https://www.spinics.net/lists/linux-renesas-soc/msg43271.html
---
v1->v2:
* new patch
I have copied the license from include/drm/drm_bridge.h as that's
where the struct originally came from. What's the right SPDX license
to use in this case?
drivers/gpu/drm/bridge/dumb-vga-dac.c | 6 ++--
drivers/gpu/drm/bridge/sii902x.c | 2 +-
drivers/gpu/drm/bridge/thc63lvd1024.c | 2 +-
drivers/gpu/drm/bridge/ti-tfp410.c | 6 ++--
drivers/gpu/drm/pl111/pl111_display.c | 2 +-
include/drm/drm_bridge.h | 40 ++---------------------
include/drm/drm_timings.h | 60 +++++++++++++++++++++++++++++++++++
7 files changed, 71 insertions(+), 47 deletions(-)
create mode 100644 include/drm/drm_timings.h
diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
index d32885b..bb1d928 100644
--- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
+++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
@@ -228,7 +228,7 @@ static int dumb_vga_remove(struct platform_device *pdev)
* NOTE: the ADV7123EP seems to have other timings and need a new timings
* set if used.
*/
-static const struct drm_bridge_timings default_dac_timings = {
+static const struct drm_timings default_dac_timings = {
/* Timing specifications, datasheet page 7 */
.input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
.setup_time_ps = 500,
@@ -239,7 +239,7 @@ static const struct drm_bridge_timings default_dac_timings = {
* Information taken from the THS8134, THS8134A, THS8134B datasheet named
* "SLVS205D", dated May 1990, revised March 2000.
*/
-static const struct drm_bridge_timings ti_ths8134_dac_timings = {
+static const struct drm_timings ti_ths8134_dac_timings = {
/* From timing diagram, datasheet page 9 */
.input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
/* From datasheet, page 12 */
@@ -252,7 +252,7 @@ static const struct drm_bridge_timings ti_ths8134_dac_timings = {
* Information taken from the THS8135 datasheet named "SLAS343B", dated
* May 2001, revised April 2013.
*/
-static const struct drm_bridge_timings ti_ths8135_dac_timings = {
+static const struct drm_timings ti_ths8135_dac_timings = {
/* From timing diagram, datasheet page 14 */
.input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
/* From datasheet, page 16 */
diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
index dd7aa46..0c63065 100644
--- a/drivers/gpu/drm/bridge/sii902x.c
+++ b/drivers/gpu/drm/bridge/sii902x.c
@@ -914,7 +914,7 @@ static int sii902x_i2c_bypass_deselect(struct i2c_mux_core *mux, u32 chan_id)
return 0;
}
-static const struct drm_bridge_timings default_sii902x_timings = {
+static const struct drm_timings default_sii902x_timings = {
.input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE
| DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE
| DRM_BUS_FLAG_DE_HIGH,
diff --git a/drivers/gpu/drm/bridge/thc63lvd1024.c b/drivers/gpu/drm/bridge/thc63lvd1024.c
index 3d74129b..9047a9e 100644
--- a/drivers/gpu/drm/bridge/thc63lvd1024.c
+++ b/drivers/gpu/drm/bridge/thc63lvd1024.c
@@ -34,7 +34,7 @@ struct thc63_dev {
struct drm_bridge bridge;
struct drm_bridge *next;
- struct drm_bridge_timings timings;
+ struct drm_timings timings;
};
static inline struct thc63_dev *to_thc63(struct drm_bridge *bridge)
diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
index dbf35c7..c086b06c 100644
--- a/drivers/gpu/drm/bridge/ti-tfp410.c
+++ b/drivers/gpu/drm/bridge/ti-tfp410.c
@@ -32,7 +32,7 @@ struct tfp410 {
struct delayed_work hpd_work;
struct gpio_desc *powerdown;
- struct drm_bridge_timings timings;
+ struct drm_timings timings;
struct device *dev;
};
@@ -190,7 +190,7 @@ static irqreturn_t tfp410_hpd_irq_thread(int irq, void *arg)
return IRQ_HANDLED;
}
-static const struct drm_bridge_timings tfp410_default_timings = {
+static const struct drm_timings tfp410_default_timings = {
.input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE
| DRM_BUS_FLAG_DE_HIGH,
.setup_time_ps = 1200,
@@ -199,7 +199,7 @@ static const struct drm_bridge_timings tfp410_default_timings = {
static int tfp410_parse_timings(struct tfp410 *dvi, bool i2c)
{
- struct drm_bridge_timings *timings = &dvi->timings;
+ struct drm_timings *timings = &dvi->timings;
struct device_node *ep;
u32 pclk_sample = 0;
u32 bus_width = 24;
diff --git a/drivers/gpu/drm/pl111/pl111_display.c b/drivers/gpu/drm/pl111/pl111_display.c
index 15d2755..c82b21f 100644
--- a/drivers/gpu/drm/pl111/pl111_display.c
+++ b/drivers/gpu/drm/pl111/pl111_display.c
@@ -188,7 +188,7 @@ static void pl111_display_enable(struct drm_simple_display_pipe *pipe,
}
if (bridge) {
- const struct drm_bridge_timings *btimings = bridge->timings;
+ const struct drm_timings *btimings = bridge->timings;
/*
* Here is when things get really fun. Sometimes the bridge
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index 7616f65..8270a38 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -27,9 +27,9 @@
#include <linux/ctype.h>
#include <drm/drm_mode_object.h>
#include <drm/drm_modes.h>
+#include <drm/drm_timings.h>
struct drm_bridge;
-struct drm_bridge_timings;
struct drm_panel;
/**
@@ -337,42 +337,6 @@ struct drm_bridge_funcs {
};
/**
- * struct drm_bridge_timings - timing information for the bridge
- */
-struct drm_bridge_timings {
- /**
- * @input_bus_flags:
- *
- * 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 input_bus_flags;
- /**
- * @setup_time_ps:
- *
- * Defines the time in picoseconds the input data lines must be
- * stable before the clock edge.
- */
- u32 setup_time_ps;
- /**
- * @hold_time_ps:
- *
- * Defines the time in picoseconds taken for the bridge to sample the
- * input signal after the clock edge.
- */
- u32 hold_time_ps;
- /**
- * @dual_link:
- *
- * True if the bus operates in dual-link mode. The exact meaning is
- * dependent on the bus type. For LVDS buses, this indicates that even-
- * and odd-numbered pixels are received on separate links.
- */
- bool dual_link;
-};
-
-/**
* struct drm_bridge - central DRM bridge control structure
*/
struct drm_bridge {
@@ -393,7 +357,7 @@ struct drm_bridge {
*
* the timing specification for the bridge, if any (may be NULL)
*/
- const struct drm_bridge_timings *timings;
+ const struct drm_timings *timings;
/** @funcs: control functions */
const struct drm_bridge_funcs *funcs;
/** @driver_private: pointer to the bridge driver's internal context */
diff --git a/include/drm/drm_timings.h b/include/drm/drm_timings.h
new file mode 100644
index 0000000..4af8814
--- /dev/null
+++ b/include/drm/drm_timings.h
@@ -0,0 +1,60 @@
+/*
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#ifndef __DRM_TIMINGS_H__
+#define __DRM_TIMINGS_H__
+
+/**
+ * struct drm_timings - timing information
+ */
+struct drm_timings {
+ /**
+ * @input_bus_flags:
+ *
+ * Tells what additional settings for the pixel data on the bus
+ * are required (like pixel signal polarity). See also
+ * &drm_display_info->bus_flags.
+ */
+ u32 input_bus_flags;
+ /**
+ * @setup_time_ps:
+ *
+ * Defines the time in picoseconds the input data lines must be
+ * stable before the clock edge.
+ */
+ u32 setup_time_ps;
+ /**
+ * @hold_time_ps:
+ *
+ * Defines the time in picoseconds taken for the bridge to sample the
+ * input signal after the clock edge.
+ */
+ u32 hold_time_ps;
+ /**
+ * @dual_link:
+ *
+ * True if the bus operates in dual-link mode. The exact meaning is
+ * dependent on the bus type. For LVDS buses, this indicates that even-
+ * and odd-numbered pixels are received on separate links.
+ */
+ bool dual_link;
+};
+
+#endif /* __DRM_TIMINGS_H__ */
--
2.7.4
next prev parent reply other threads:[~2019-08-15 11:05 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-15 11:04 [PATCH v2 0/9] Add dual-LVDS panel support to EK874 Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 1/9] dt-bindings: panel: lvds: Add dual-link LVDS display support Fabrizio Castro
2019-08-15 11:45 ` Laurent Pinchart
2019-08-15 13:37 ` Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 2/9] dt-bindings: display: Add bindings for Advantech IDK-2121WR Fabrizio Castro
2019-08-15 11:47 ` Laurent Pinchart
2019-08-15 13:38 ` Fabrizio Castro
2019-08-15 11:04 ` Fabrizio Castro [this message]
2019-08-15 13:18 ` [PATCH v2 3/9] drm: Rename drm_bridge_timings to drm_timings Laurent Pinchart
2019-08-15 13:50 ` Fabrizio Castro
2019-08-15 14:04 ` Greg Kroah-Hartman
2019-08-15 14:14 ` Laurent Pinchart
2019-08-15 14:31 ` Fabrizio Castro
2019-08-15 14:53 ` Greg Kroah-Hartman
2019-08-15 15:01 ` Fabrizio Castro
2019-08-15 18:06 ` Laurent Pinchart
2019-08-15 19:05 ` Greg Kroah-Hartman
2019-08-16 8:11 ` Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 4/9] drm/timings: Add link flags Fabrizio Castro
2019-08-15 12:00 ` Laurent Pinchart
2019-08-15 15:40 ` Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 5/9] drm/panel: Add timings field to drm_panel Fabrizio Castro
2019-08-15 12:03 ` Laurent Pinchart
2019-08-15 13:49 ` Fabrizio Castro
2019-08-15 14:13 ` Sam Ravnborg
2019-08-15 14:48 ` Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 6/9] drm: rcar-du: lvds: Fix companion's mode Fabrizio Castro
2019-08-15 11:55 ` Laurent Pinchart
2019-08-15 13:42 ` Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 7/9] drm: rcar-du: lvds: Add dual-LVDS panels support Fabrizio Castro
2019-08-15 13:08 ` Laurent Pinchart
2019-08-15 15:36 ` Fabrizio Castro
2019-08-20 16:04 ` Laurent Pinchart
2019-08-21 17:00 ` Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 8/9] drm/panel: lvds: Add support for the IDK-2121WR Fabrizio Castro
2019-08-15 11:04 ` [PATCH v2 9/9] arm64: dts: renesas: Add EK874 board with idk-2121wr display support Fabrizio Castro
2019-08-19 12:03 ` Geert Uytterhoeven
2019-08-20 13:59 ` Fabrizio Castro
2019-08-15 14:15 ` [PATCH v2 0/9] Add dual-LVDS panel support to EK874 Sam Ravnborg
2019-08-15 14:32 ` Fabrizio Castro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1565867073-24746-4-git-send-email-fabrizio.castro@bp.renesas.com \
--to=fabrizio.castro@bp.renesas.com \
--cc=Chris.Paterson2@renesas.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=biju.das@bp.renesas.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric@anholt.net \
--cc=geert+renesas@glider.be \
--cc=horms@verge.net.au \
--cc=jacopo+renesas@jmondi.org \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=maxime.ripard@bootlin.com \
--cc=sean@poorly.run \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).