All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
To: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>, Sean Paul <sean@poorly.run>,
	Andrzej Hajda <a.hajda@samsung.com>
Cc: Fabrizio Castro <fabrizio.castro@bp.renesas.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Simon Horman <horms@verge.net.au>,
	Magnus Damm <magnus.damm@gmail.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Chris Paterson <Chris.Paterson2@renesas.com>,
	Biju Das <biju.das@bp.renesas.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Jacopo Mondi <jacopo+renesas@jmondi.org>,
	ebiharaml@si-linux.co.jp
Subject: [PATCH v4 5/7] drm: rcar-du: lvds: Fix mode for companion encoder
Date: Fri,  6 Dec 2019 16:32:52 +0000	[thread overview]
Message-ID: <1575649974-31472-6-git-send-email-fabrizio.castro@bp.renesas.com> (raw)
In-Reply-To: <1575649974-31472-1-git-send-email-fabrizio.castro@bp.renesas.com>

Primary and companion encoders need to set the same mode for
things to work properly.

rcar_lvds_mode_set gets called into for the primary encoder only,
therefore initialize the companion encoder mode while sorting
the primary encoder mode out.

Fixes: fa440d870358 ("drm: rcar-du: lvds: Add support for dual-link mode")
Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

---
v3->v4:
* New patch extracted from patch:
  "drm: rcar-du: lvds: Add dual-LVDS panels support"
---
 drivers/gpu/drm/rcar-du/rcar_lvds.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index cb2147c..eed5611 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -614,6 +614,18 @@ static void rcar_lvds_mode_set(struct drm_bridge *bridge,
 	lvds->display_mode = *adjusted_mode;
 
 	rcar_lvds_get_lvds_mode(lvds);
+	if (lvds->companion) {
+		struct rcar_lvds *companion_lvds = bridge_to_rcar_lvds(
+							lvds->companion);
+
+		/*
+		 * FIXME: We should not be messing with the companion encoder
+		 * private data from the primary encoder, but since
+		 * rcar_lvds_mode_set gets called into for the primary encoder
+		 * only, we don't have much of a choice for now.
+		 */
+		companion_lvds->mode = lvds->mode;
+	}
 }
 
 static int rcar_lvds_attach(struct drm_bridge *bridge)
-- 
2.7.4


WARNING: multiple messages have this Message-ID (diff)
From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
To: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>, Sean Paul <sean@poorly.run>,
	Andrzej Hajda <a.hajda@samsung.com>
Cc: Fabrizio Castro <fabrizio.castro@bp.renesas.com>,
	devicetree@vger.kernel.org,
	Chris Paterson <Chris.Paterson2@renesas.com>,
	ebiharaml@si-linux.co.jp,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Biju Das <biju.das@bp.renesas.com>,
	linux-renesas-soc@vger.kernel.org,
	Simon Horman <horms@verge.net.au>,
	Jacopo Mondi <jacopo+renesas@jmondi.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH v4 5/7] drm: rcar-du: lvds: Fix mode for companion encoder
Date: Fri,  6 Dec 2019 16:32:52 +0000	[thread overview]
Message-ID: <1575649974-31472-6-git-send-email-fabrizio.castro@bp.renesas.com> (raw)
In-Reply-To: <1575649974-31472-1-git-send-email-fabrizio.castro@bp.renesas.com>

Primary and companion encoders need to set the same mode for
things to work properly.

rcar_lvds_mode_set gets called into for the primary encoder only,
therefore initialize the companion encoder mode while sorting
the primary encoder mode out.

Fixes: fa440d870358 ("drm: rcar-du: lvds: Add support for dual-link mode")
Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

---
v3->v4:
* New patch extracted from patch:
  "drm: rcar-du: lvds: Add dual-LVDS panels support"
---
 drivers/gpu/drm/rcar-du/rcar_lvds.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index cb2147c..eed5611 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -614,6 +614,18 @@ static void rcar_lvds_mode_set(struct drm_bridge *bridge,
 	lvds->display_mode = *adjusted_mode;
 
 	rcar_lvds_get_lvds_mode(lvds);
+	if (lvds->companion) {
+		struct rcar_lvds *companion_lvds = bridge_to_rcar_lvds(
+							lvds->companion);
+
+		/*
+		 * FIXME: We should not be messing with the companion encoder
+		 * private data from the primary encoder, but since
+		 * rcar_lvds_mode_set gets called into for the primary encoder
+		 * only, we don't have much of a choice for now.
+		 */
+		companion_lvds->mode = lvds->mode;
+	}
 }
 
 static int rcar_lvds_attach(struct drm_bridge *bridge)
-- 
2.7.4

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

  parent reply	other threads:[~2019-12-06 16:33 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-06 16:32 [PATCH v4 0/7] Add dual-LVDS panel support to EK874 Fabrizio Castro
2019-12-06 16:32 ` Fabrizio Castro
2019-12-06 16:32 ` [PATCH v4 1/7] drm: of: Add drm_of_lvds_get_dual_link_pixel_order Fabrizio Castro
2019-12-06 16:32   ` Fabrizio Castro
2019-12-13 21:05   ` Laurent Pinchart
2019-12-13 21:05     ` Laurent Pinchart
2019-12-16 17:52     ` Fabrizio Castro
2019-12-16 17:52       ` Fabrizio Castro
2019-12-06 16:32 ` [PATCH v4 2/7] drm: rcar-du: lvds: Improve identification of panels Fabrizio Castro
2019-12-06 16:32   ` Fabrizio Castro
2019-12-13 21:21   ` Laurent Pinchart
2019-12-13 21:21     ` Laurent Pinchart
2019-12-16 18:00     ` Fabrizio Castro
2019-12-16 18:00       ` Fabrizio Castro
2019-12-06 16:32 ` [PATCH v4 3/7] drm: rcar-du: lvds: Get dual link configuration from DT Fabrizio Castro
2019-12-06 16:32   ` Fabrizio Castro
2019-12-13 21:30   ` Laurent Pinchart
2019-12-13 21:30     ` Laurent Pinchart
2019-12-16 18:10     ` Fabrizio Castro
2019-12-16 18:10       ` Fabrizio Castro
2019-12-06 16:32 ` [PATCH v4 4/7] drm: rcar-du: lvds: Allow for even and odd pixels swap Fabrizio Castro
2019-12-06 16:32   ` Fabrizio Castro
2019-12-13 21:40   ` Laurent Pinchart
2019-12-13 21:40     ` Laurent Pinchart
2019-12-16 18:36     ` Fabrizio Castro
2019-12-16 18:36       ` Fabrizio Castro
2019-12-06 16:32 ` Fabrizio Castro [this message]
2019-12-06 16:32   ` [PATCH v4 5/7] drm: rcar-du: lvds: Fix mode for companion encoder Fabrizio Castro
2019-12-13 21:41   ` Laurent Pinchart
2019-12-13 21:41     ` Laurent Pinchart
2019-12-16 18:43     ` Fabrizio Castro
2019-12-16 18:43       ` Fabrizio Castro
2019-12-06 16:32 ` [PATCH v4 6/7] dt-bindings: display: Add idk-2121wr binding Fabrizio Castro
2019-12-06 16:32   ` Fabrizio Castro
2019-12-13 22:16   ` Laurent Pinchart
2019-12-13 22:16     ` Laurent Pinchart
2019-12-06 16:32 ` [PATCH v4 7/7] arm64: dts: renesas: Add EK874 board with idk-2121wr display support Fabrizio Castro
2019-12-06 16: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=1575649974-31472-6-git-send-email-fabrizio.castro@bp.renesas.com \
    --to=fabrizio.castro@bp.renesas.com \
    --cc=Chris.Paterson2@renesas.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=biju.das@bp.renesas.com \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ebiharaml@si-linux.co.jp \
    --cc=geert+renesas@glider.be \
    --cc=horms@verge.net.au \
    --cc=jacopo+renesas@jmondi.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=magnus.damm@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=mripard@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=sean@poorly.run \
    --cc=thierry.reding@gmail.com \
    /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 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.