Linux Renesas SOC kernel development
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme@de.bosch.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>,
	Simon Horman <horms+renesas@verge.net.au>,
	<linux-renesas-soc@vger.kernel.org>,
	Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Cc: Dirk Behme <dirk.behme@de.bosch.com>
Subject: [PATCH 4/4] drm: rcar-du: Use product register framework
Date: Wed, 25 May 2016 10:58:28 +0200	[thread overview]
Message-ID: <1464166708-18320-5-git-send-email-dirk.behme@de.bosch.com> (raw)
In-Reply-To: <1464166708-18320-1-git-send-email-dirk.behme@de.bosch.com>

Instead of hard coding the product register in the rcar-du, use
the framework for it to get the SoC version and the revision needed
for the enabling the workaround.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
---
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index e10943b..ee639a6 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -13,6 +13,7 @@
 
 #include <linux/clk.h>
 #include <linux/mutex.h>
+#include <linux/soc/renesas/rcar3-prr.h>
 
 #include <drm/drmP.h>
 #include <drm/drm_atomic.h>
@@ -30,12 +31,6 @@
 #include "rcar_du_regs.h"
 #include "rcar_du_vsp.h"
 
-#define PRODUCT_REG	0xfff00044
-#define PRODUCT_H3_BIT	(0x4f << 8)
-#define PRODUCT_MASK	(0x7f << 8)
-#define CUT_ES1		(0x00)
-#define CUT_ES1_MASK	(0x000000ff)
-
 static u32 rcar_du_crtc_read(struct rcar_du_crtc *rcrtc, u32 reg)
 {
 	struct rcar_du_device *rcdu = rcrtc->group->dev;
@@ -167,7 +162,6 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
 	u32 div;
 	u32 dpll_reg = 0;
 	struct dpll_info *dpll;
-	void __iomem *product_reg;
 	bool h3_es1_workaround = false;
 
 	dpll = kzalloc(sizeof(*dpll), GFP_KERNEL);
@@ -175,11 +169,8 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
 		return;
 
 	/* DU2 DPLL Clock Select bit workaround in R-Car H3(ES1.0) */
-	product_reg = ioremap(PRODUCT_REG, 0x04);
-	if (((readl(product_reg) & PRODUCT_MASK) == PRODUCT_H3_BIT)
-		&& ((readl(product_reg) & CUT_ES1_MASK) == CUT_ES1))
+	if (cpu_is_rcar3_h3() && revision_is_rcar3_es1())
 		h3_es1_workaround = true;
-	iounmap(product_reg);
 
 	/* Compute the clock divisor and select the internal or external dot
 	 * clock based on the requested frequency.
-- 
2.8.0

  parent reply	other threads:[~2016-05-25  8:58 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-25  8:58 [PATCH 0/4] ARM: Renesas: R-Car3: Add product register support Dirk Behme
2016-05-25  8:58 ` [PATCH 1/4] " Dirk Behme
2016-05-25  8:58 ` [PATCH 2/4] arm64: dts: Renesas: R-Car3: Add product register Dirk Behme
2016-05-25  8:58 ` [PATCH 3/4] ARM: Renesas: R-Car3: Add cpu and revision handlers Dirk Behme
2016-05-25  8:58 ` Dirk Behme [this message]
2016-05-27  3:40   ` [PATCH 4/4] drm: rcar-du: Use product register framework Magnus Damm
2016-05-27  8:16     ` Dirk Behme
2016-05-27  9:56       ` Magnus Damm
2016-05-27 10:18         ` Dirk Behme
2016-06-01  2:33           ` Magnus Damm
2016-05-26  7:14 ` [PATCH 0/4] ARM: Renesas: R-Car3: Add product register support Geert Uytterhoeven
2016-05-26  7:48   ` Dirk Behme
2016-05-27  3:13     ` Magnus Damm
2016-05-27  7:56       ` Dirk Behme
2016-05-27  8:39         ` Geert Uytterhoeven
2016-05-27  8:44           ` Dirk Behme
2016-05-27  9:00             ` Geert Uytterhoeven
2016-06-01  5:19         ` Magnus Damm
2016-06-01  7:19           ` Dirk Behme
2016-06-01  7:27             ` Geert Uytterhoeven
2016-06-01  7:38               ` Dirk Behme
2016-06-01  8:26                 ` Geert Uytterhoeven
2016-06-01  8:36                   ` Dirk Behme
2016-06-01  8:40                     ` Geert Uytterhoeven
2016-06-01  8:43                       ` Dirk Behme
2016-06-29  7:58           ` Dirk Behme

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=1464166708-18320-5-git-send-email-dirk.behme@de.bosch.com \
    --to=dirk.behme@de.bosch.com \
    --cc=geert+renesas@glider.be \
    --cc=horms+renesas@verge.net.au \
    --cc=koji.matsuoka.xm@renesas.com \
    --cc=linux-renesas-soc@vger.kernel.org \
    /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