All of lore.kernel.org
 help / color / mirror / Atom feed
From: fabrizio.castro@bp.renesas.com (Fabrizio Castro)
To: cip-dev@lists.cip-project.org
Subject: [cip-dev] [PATCH 4.19.y 02/29] iommu/ipmmu-vmsa: Modify ipmmu_slave_whitelist() to check SoC revisions
Date: Wed,  1 May 2019 11:21:56 +0100	[thread overview]
Message-ID: <1556706143-11898-3-git-send-email-fabrizio.castro@bp.renesas.com> (raw)
In-Reply-To: <1556706143-11898-1-git-send-email-fabrizio.castro@bp.renesas.com>

From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

commit b7ee92c6ff0e023a473b2500d771f6bf504fcc1a upstream.

Some R-Car Gen3 SoCs has hardware restrictions on the IPMMU. So,
to check whether this R-Car Gen3 SoC can use the IPMMU correctly,
this patch modifies the ipmmu_slave_whitelist().

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
---
 drivers/iommu/ipmmu-vmsa.c | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
index b3bffd7..acb46cc 100644
--- a/drivers/iommu/ipmmu-vmsa.c
+++ b/drivers/iommu/ipmmu-vmsa.c
@@ -757,12 +757,6 @@ static int ipmmu_init_platform_device(struct device *dev,
 	return 0;
 }
 
-static bool ipmmu_slave_whitelist(struct device *dev)
-{
-	/* By default, do not allow use of IPMMU */
-	return false;
-}
-
 static const struct soc_device_attribute soc_rcar_gen3[] = {
 	{ .soc_id = "r8a774a1", },
 	{ .soc_id = "r8a7795", },
@@ -773,11 +767,35 @@ static const struct soc_device_attribute soc_rcar_gen3[] = {
 	{ /* sentinel */ }
 };
 
+static const struct soc_device_attribute soc_rcar_gen3_whitelist[] = {
+	{ .soc_id = "r8a7795", .revision = "ES3.*" },
+	{ .soc_id = "r8a77965", },
+	{ .soc_id = "r8a77990", },
+	{ .soc_id = "r8a77995", },
+	{ /* sentinel */ }
+};
+
+static bool ipmmu_slave_whitelist(struct device *dev)
+{
+	/*
+	 * For R-Car Gen3 use a white list to opt-in slave devices.
+	 * For Other SoCs, this returns true anyway.
+	 */
+	if (!soc_device_match(soc_rcar_gen3))
+		return true;
+
+	/* Check whether this R-Car Gen3 can use the IPMMU correctly or not */
+	if (!soc_device_match(soc_rcar_gen3_whitelist))
+		return false;
+
+	/* By default, do not allow use of IPMMU */
+	return false;
+}
+
 static int ipmmu_of_xlate(struct device *dev,
 			  struct of_phandle_args *spec)
 {
-	/* For R-Car Gen3 use a white list to opt-in slave devices */
-	if (soc_device_match(soc_rcar_gen3) && !ipmmu_slave_whitelist(dev))
+	if (!ipmmu_slave_whitelist(dev))
 		return -ENODEV;
 
 	iommu_fwspec_add_ids(dev, spec->args, 1);
-- 
2.7.4

  parent reply	other threads:[~2019-05-01 10:21 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-01 10:21 [cip-dev] [PATCH 4.19.y 00/29] Add further support for the RZ/G2M Fabrizio Castro
2019-05-01 10:21 ` [cip-dev] [PATCH 4.19.y 01/29] iommu/ipmmu-vmsa: Hook up R8A774A1 DT maching code Fabrizio Castro
2019-05-01 10:21 ` Fabrizio Castro [this message]
2019-05-02 21:27   ` [cip-dev] [PATCH 4.19.y 02/29] iommu/ipmmu-vmsa: Modify ipmmu_slave_whitelist() to check SoC revisions Pavel Machek
2019-05-03  9:34     ` Fabrizio Castro
2019-05-07  2:11       ` Nobuhiro Iwamatsu
2019-05-01 10:21 ` [cip-dev] [PATCH 4.19.y 03/29] iommu/ipmmu-vmsa: Hook up r8a774c0 DT matching code Fabrizio Castro
2019-05-01 10:21 ` [cip-dev] [PATCH 4.19.y 04/29] dt-bindings: iommu: ipmmu-vmsa: Add r8a774a1 support Fabrizio Castro
2019-05-01 10:21 ` [cip-dev] [PATCH 4.19.y 05/29] dt-bindings: iommu: ipmmu-vmsa: Add r8a774c0 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 06/29] arm64: dts: renesas: r8a774c0: Add IPMMU device nodes Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 07/29] media: rcar-vin: Add support for R-Car R8A77990 Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 08/29] media: rcar-vin: Add support for RZ/G2E Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 09/29] media: rcar-csi2: Add R8A77990 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 10/29] media: rcar: rcar-csi2: Update V3M/E3 PHTW tables Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 11/29] media: rcar-csi2: Handle per-SoC number of channels Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 12/29] media: rcar-csi2: Fix PHTW table values for E3/V3M Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 13/29] media: rcar-csi2: Add support for RZ/G2E Fabrizio Castro
2019-05-02 21:29   ` Pavel Machek
2019-05-03  9:40     ` Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 14/29] media: dt-bindings: rcar-vin: Add R8A774C0 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 15/29] media: dt-bindings: rcar-csi2: Add r8a774c0 Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 16/29] arm64: dts: renesas: r8a774c0: Add VIN and CSI-2 device nodes Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 17/29] ASoC: rsnd: Add r8a774a1 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 18/29] ASoC: rsnd: Add r8a774c0 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 19/29] arm64: dts: renesas: r8a774c0: Add audio support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 20/29] dt-bindings: pwm: rcar: Add r8a774a1 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 21/29] dt-bindings: pwm: rcar: Add r8a774c0 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 22/29] arm64: dts: renesas: r8a774c0: Add PWM support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 23/29] arm64: dts: renesas: r8a774c0: Connect RZ/G2E SYS-DMAC to IPMMU Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 24/29] arm64: dts: renesas: r8a774c0: Connect RZ/G2E AVB " Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 25/29] arm64: dts: renesas: r8a774c0: Connect RZ/G2E Audio-DMAC " Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 26/29] thermal: rcar_thermal: add R8A774C0 support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 27/29] dt-bindings: thermal: rcar-thermal: " Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 28/29] arm64: dts: renesas: r8a774c0: Add thermal support Fabrizio Castro
2019-05-01 10:22 ` [cip-dev] [PATCH 4.19.y 29/29] arm64: defconfig: Enable R-Car thermal driver Fabrizio Castro
2019-05-02 21:34   ` Pavel Machek
2019-05-03 10:25     ` Fabrizio Castro
2019-05-01 20:48 ` [cip-dev] [PATCH 4.19.y 00/29] Add further support for the RZ/G2M Pavel Machek
2019-05-02 21:32 ` Pavel Machek
2019-05-07  1:44   ` nobuhiro1.iwamatsu at toshiba.co.jp
2019-05-07  9:14 ` Chris Paterson
2019-05-07 14:38   ` 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=1556706143-11898-3-git-send-email-fabrizio.castro@bp.renesas.com \
    --to=fabrizio.castro@bp.renesas.com \
    --cc=cip-dev@lists.cip-project.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 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.