linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1
@ 2023-03-07 16:30 Wolfram Sang
  2023-03-07 16:30 ` [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling Wolfram Sang
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, dri-devel, iommu, linux-kernel, linux-media,
	linux-mmc, linux-pm, linux-usb, netdev

Because H3 ES1 becomes an increasing maintenance burden and was only available
to a development group, we decided to remove upstream support for it. Here are
the patches to remove driver changes. Review tags have been gathered before
during an internal discussion. Only change since the internal version is a
plain rebase to v6.3-rc1. A branch with all removals is here:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/h3es1-removal

Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

Thanks and happy hacking!


Wolfram Sang (11):
  iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling
  drm: rcar-du: remove R-Car H3 ES1.* workarounds
  media: rcar-vin: remove R-Car H3 ES1.* handling
  media: rcar-vin: csi2: remove R-Car H3 ES1.* handling
  media: renesas: fdp1: remove R-Car H3 ES1.* handling
  thermal/drivers/rcar_gen3_thermal: remove R-Car H3 ES1.* handling
  ravb: remove R-Car H3 ES1.* handling
  mmc: renesas_sdhi: remove R-Car H3 ES1.* handling
  usb: host: xhci-rcar: remove leftover quirk handling
  usb: host: xhci-rcar: remove R-Car H3 ES1.* handling
  usb: gadget: udc: renesas_usb3: remove R-Car H3 ES1.* handling

 drivers/gpu/drm/rcar-du/rcar_du_crtc.c        | 37 ++-----------
 drivers/gpu/drm/rcar-du/rcar_du_drv.c         | 48 -----------------
 drivers/gpu/drm/rcar-du/rcar_du_drv.h         |  2 -
 drivers/gpu/drm/rcar-du/rcar_du_regs.h        |  3 +-
 drivers/iommu/ipmmu-vmsa.c                    |  1 -
 .../platform/renesas/rcar-vin/rcar-core.c     | 36 -------------
 .../platform/renesas/rcar-vin/rcar-csi2.c     | 15 ++----
 drivers/media/platform/renesas/rcar_fdp1.c    |  4 --
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 10 ++--
 drivers/net/ethernet/renesas/ravb_main.c      | 15 ------
 drivers/thermal/rcar_gen3_thermal.c           | 52 +------------------
 drivers/usb/gadget/udc/renesas_usb3.c         | 23 +-------
 drivers/usb/host/xhci-rcar.c                  | 34 +-----------
 13 files changed, 16 insertions(+), 264 deletions(-)

-- 
2.35.1


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

* [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-22 13:28   ` Joerg Roedel
  2023-03-07 16:30 ` [PATCH 02/11] drm: rcar-du: remove R-Car H3 ES1.* workarounds Wolfram Sang
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Geert Uytterhoeven, Joerg Roedel,
	Will Deacon, Robin Murphy, iommu, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/iommu/ipmmu-vmsa.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
index bdf1a4e5eae0..ba42001a6f57 100644
--- a/drivers/iommu/ipmmu-vmsa.c
+++ b/drivers/iommu/ipmmu-vmsa.c
@@ -697,7 +697,6 @@ static const struct soc_device_attribute soc_needs_opt_in[] = {
 
 static const struct soc_device_attribute soc_denylist[] = {
 	{ .soc_id = "r8a774a1", },
-	{ .soc_id = "r8a7795", .revision = "ES1.*" },
 	{ .soc_id = "r8a7795", .revision = "ES2.*" },
 	{ .soc_id = "r8a7796", },
 	{ /* sentinel */ }
-- 
2.35.1


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

* [PATCH 02/11] drm: rcar-du: remove R-Car H3 ES1.* workarounds
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
  2023-03-07 16:30 ` [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-08 10:11   ` Kieran Bingham
  2023-03-07 16:30 ` [PATCH 03/11] media: rcar-vin: remove R-Car H3 ES1.* handling Wolfram Sang
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Kieran Bingham, David Airlie,
	Daniel Vetter, dri-devel, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 37 ++------------------
 drivers/gpu/drm/rcar-du/rcar_du_drv.c  | 48 --------------------------
 drivers/gpu/drm/rcar-du/rcar_du_drv.h  |  2 --
 drivers/gpu/drm/rcar-du/rcar_du_regs.h |  3 +-
 4 files changed, 4 insertions(+), 86 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index 008e172ed43b..84411c452e30 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -223,20 +223,6 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
 		 * DU channels that have a display PLL can't use the internal
 		 * system clock, and have no internal clock divider.
 		 */
-
-		/*
-		 * The H3 ES1.x exhibits dot clock duty cycle stability issues.
-		 * We can work around them by configuring the DPLL to twice the
-		 * desired frequency, coupled with a /2 post-divider. Restrict
-		 * the workaround to H3 ES1.x as ES2.0 and all other SoCs have
-		 * no post-divider when a display PLL is present (as shown by
-		 * the workaround breaking HDMI output on M3-W during testing).
-		 */
-		if (rcdu->info->quirks & RCAR_DU_QUIRK_H3_ES1_PCLK_STABILITY) {
-			target *= 2;
-			div = 1;
-		}
-
 		extclk = clk_get_rate(rcrtc->extclock);
 		rcar_du_dpll_divider(rcrtc, &dpll, extclk, target);
 
@@ -245,30 +231,13 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
 		       | DPLLCR_N(dpll.n) | DPLLCR_M(dpll.m)
 		       | DPLLCR_STBY;
 
-		if (rcrtc->index == 1) {
+		if (rcrtc->index == 1)
 			dpllcr |= DPLLCR_PLCS1
 			       |  DPLLCR_INCS_DOTCLKIN1;
-		} else {
-			dpllcr |= DPLLCR_PLCS0_PLL
+		else
+			dpllcr |= DPLLCR_PLCS0
 			       |  DPLLCR_INCS_DOTCLKIN0;
 
-			/*
-			 * On ES2.x we have a single mux controlled via bit 21,
-			 * which selects between DCLKIN source (bit 21 = 0) and
-			 * a PLL source (bit 21 = 1), where the PLL is always
-			 * PLL1.
-			 *
-			 * On ES1.x we have an additional mux, controlled
-			 * via bit 20, for choosing between PLL0 (bit 20 = 0)
-			 * and PLL1 (bit 20 = 1). We always want to use PLL1,
-			 * so on ES1.x, in addition to setting bit 21, we need
-			 * to set the bit 20.
-			 */
-
-			if (rcdu->info->quirks & RCAR_DU_QUIRK_H3_ES1_PLL)
-				dpllcr |= DPLLCR_PLCS0_H3ES1X_PLL1;
-		}
-
 		rcar_du_group_write(rcrtc->group, DPLLCR, dpllcr);
 
 		escr = ESCR_DCLKSEL_DCLKIN | div;
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index b9a94c5260e9..1ffde19cb87f 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -16,7 +16,6 @@
 #include <linux/platform_device.h>
 #include <linux/pm.h>
 #include <linux/slab.h>
-#include <linux/sys_soc.h>
 #include <linux/wait.h>
 
 #include <drm/drm_atomic_helper.h>
@@ -387,43 +386,6 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
 	.dpll_mask =  BIT(2) | BIT(1),
 };
 
-static const struct rcar_du_device_info rcar_du_r8a7795_es1_info = {
-	.gen = 3,
-	.features = RCAR_DU_FEATURE_CRTC_IRQ
-		  | RCAR_DU_FEATURE_CRTC_CLOCK
-		  | RCAR_DU_FEATURE_VSP1_SOURCE
-		  | RCAR_DU_FEATURE_INTERLACED
-		  | RCAR_DU_FEATURE_TVM_SYNC,
-	.quirks = RCAR_DU_QUIRK_H3_ES1_PCLK_STABILITY
-		| RCAR_DU_QUIRK_H3_ES1_PLL,
-	.channels_mask = BIT(3) | BIT(2) | BIT(1) | BIT(0),
-	.routes = {
-		/*
-		 * R8A7795 has one RGB output, two HDMI outputs and one
-		 * LVDS output.
-		 */
-		[RCAR_DU_OUTPUT_DPAD0] = {
-			.possible_crtcs = BIT(3),
-			.port = 0,
-		},
-		[RCAR_DU_OUTPUT_HDMI0] = {
-			.possible_crtcs = BIT(1),
-			.port = 1,
-		},
-		[RCAR_DU_OUTPUT_HDMI1] = {
-			.possible_crtcs = BIT(2),
-			.port = 2,
-		},
-		[RCAR_DU_OUTPUT_LVDS0] = {
-			.possible_crtcs = BIT(0),
-			.port = 3,
-		},
-	},
-	.num_lvds = 1,
-	.num_rpf = 5,
-	.dpll_mask =  BIT(2) | BIT(1),
-};
-
 static const struct rcar_du_device_info rcar_du_r8a7796_info = {
 	.gen = 3,
 	.features = RCAR_DU_FEATURE_CRTC_IRQ
@@ -614,11 +576,6 @@ static const struct of_device_id rcar_du_of_table[] = {
 
 MODULE_DEVICE_TABLE(of, rcar_du_of_table);
 
-static const struct soc_device_attribute rcar_du_soc_table[] = {
-	{ .soc_id = "r8a7795", .revision = "ES1.*", .data = &rcar_du_r8a7795_es1_info },
-	{ /* sentinel */ }
-};
-
 const char *rcar_du_output_name(enum rcar_du_output output)
 {
 	static const char * const names[] = {
@@ -707,7 +664,6 @@ static void rcar_du_shutdown(struct platform_device *pdev)
 
 static int rcar_du_probe(struct platform_device *pdev)
 {
-	const struct soc_device_attribute *soc_attr;
 	struct rcar_du_device *rcdu;
 	unsigned int mask;
 	int ret;
@@ -725,10 +681,6 @@ static int rcar_du_probe(struct platform_device *pdev)
 
 	rcdu->info = of_device_get_match_data(rcdu->dev);
 
-	soc_attr = soc_device_match(rcar_du_soc_table);
-	if (soc_attr)
-		rcdu->info = soc_attr->data;
-
 	platform_set_drvdata(pdev, rcdu);
 
 	/* I/O resources */
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.h b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
index acc3673fefe1..5cfa2bb7ad93 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
@@ -34,8 +34,6 @@ struct rcar_du_device;
 #define RCAR_DU_FEATURE_NO_BLENDING	BIT(5)	/* PnMR.SPIM does not have ALP nor EOR bits */
 
 #define RCAR_DU_QUIRK_ALIGN_128B	BIT(0)	/* Align pitches to 128 bytes */
-#define RCAR_DU_QUIRK_H3_ES1_PCLK_STABILITY BIT(1)	/* H3 ES1 has pclk stability issue */
-#define RCAR_DU_QUIRK_H3_ES1_PLL	BIT(2)	/* H3 ES1 PLL setup differs from non-ES1 */
 
 enum rcar_du_output {
 	RCAR_DU_OUTPUT_DPAD0,
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_regs.h b/drivers/gpu/drm/rcar-du/rcar_du_regs.h
index 789ae9285108..288eff12b2b1 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_regs.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_regs.h
@@ -283,8 +283,7 @@
 #define DPLLCR			0x20044
 #define DPLLCR_CODE		(0x95 << 24)
 #define DPLLCR_PLCS1		(1 << 23)
-#define DPLLCR_PLCS0_PLL	(1 << 21)
-#define DPLLCR_PLCS0_H3ES1X_PLL1	(1 << 20)
+#define DPLLCR_PLCS0		(1 << 21)
 #define DPLLCR_CLKE		(1 << 18)
 #define DPLLCR_FDPLL(n)		((n) << 12)
 #define DPLLCR_N(n)		((n) << 5)
-- 
2.35.1


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

* [PATCH 03/11] media: rcar-vin: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
  2023-03-07 16:30 ` [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling Wolfram Sang
  2023-03-07 16:30 ` [PATCH 02/11] drm: rcar-du: remove R-Car H3 ES1.* workarounds Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-07 16:30 ` [PATCH 04/11] media: rcar-vin: csi2: " Wolfram Sang
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Niklas Söderlund,
	Geert Uytterhoeven, Niklas Söderlund, Mauro Carvalho Chehab,
	linux-media, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 .../platform/renesas/rcar-vin/rcar-core.c     | 36 -------------------
 1 file changed, 36 deletions(-)

diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
index 5e53d6b7036c..ac8f2126540b 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
@@ -17,7 +17,6 @@
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
-#include <linux/sys_soc.h>
 
 #include <media/v4l2-async.h>
 #include <media/v4l2-fwnode.h>
@@ -1183,24 +1182,6 @@ static const struct rvin_info rcar_info_r8a7795 = {
 	.scaler = rvin_scaler_gen3,
 };
 
-static const struct rvin_group_route rcar_info_r8a7795es1_routes[] = {
-	{ .master = 0, .csi = RVIN_CSI20, .chsel = 0x04 },
-	{ .master = 0, .csi = RVIN_CSI21, .chsel = 0x05 },
-	{ .master = 0, .csi = RVIN_CSI40, .chsel = 0x03 },
-	{ .master = 4, .csi = RVIN_CSI20, .chsel = 0x04 },
-	{ .master = 4, .csi = RVIN_CSI21, .chsel = 0x05 },
-	{ .master = 4, .csi = RVIN_CSI41, .chsel = 0x03 },
-	{ /* Sentinel */ }
-};
-
-static const struct rvin_info rcar_info_r8a7795es1 = {
-	.model = RCAR_GEN3,
-	.use_mc = true,
-	.max_width = 4096,
-	.max_height = 4096,
-	.routes = rcar_info_r8a7795es1_routes,
-};
-
 static const struct rvin_group_route rcar_info_r8a7796_routes[] = {
 	{ .master = 0, .csi = RVIN_CSI20, .chsel = 0x04 },
 	{ .master = 0, .csi = RVIN_CSI40, .chsel = 0x03 },
@@ -1372,17 +1353,8 @@ static const struct of_device_id rvin_of_id_table[] = {
 };
 MODULE_DEVICE_TABLE(of, rvin_of_id_table);
 
-static const struct soc_device_attribute r8a7795es1[] = {
-	{
-		.soc_id = "r8a7795", .revision = "ES1.*",
-		.data = &rcar_info_r8a7795es1,
-	},
-	{ /* Sentinel */ }
-};
-
 static int rcar_vin_probe(struct platform_device *pdev)
 {
-	const struct soc_device_attribute *attr;
 	struct rvin_dev *vin;
 	int irq, ret;
 
@@ -1394,14 +1366,6 @@ static int rcar_vin_probe(struct platform_device *pdev)
 	vin->info = of_device_get_match_data(&pdev->dev);
 	vin->alpha = 0xff;
 
-	/*
-	 * Special care is needed on r8a7795 ES1.x since it
-	 * uses different routing than r8a7795 ES2.0.
-	 */
-	attr = soc_device_match(r8a7795es1);
-	if (attr)
-		vin->info = attr->data;
-
 	vin->base = devm_platform_ioremap_resource(pdev, 0);
 	if (IS_ERR(vin->base))
 		return PTR_ERR(vin->base);
-- 
2.35.1


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

* [PATCH 04/11] media: rcar-vin: csi2: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (2 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 03/11] media: rcar-vin: remove R-Car H3 ES1.* handling Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-07 16:30 ` [PATCH 05/11] media: renesas: fdp1: " Wolfram Sang
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Niklas Söderlund,
	Niklas Söderlund, Mauro Carvalho Chehab, linux-media,
	linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 .../media/platform/renesas/rcar-vin/rcar-csi2.c   | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
index 174aa6176f54..5dbd0daa8735 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
@@ -345,7 +345,7 @@ static const struct rcsi2_mbps_reg hsfreqrange_h3_v3h_m3n[] = {
 	{ /* sentinel */ },
 };
 
-static const struct rcsi2_mbps_reg hsfreqrange_m3w_h3es1[] = {
+static const struct rcsi2_mbps_reg hsfreqrange_m3w[] = {
 	{ .mbps =   80,	.reg = 0x00 },
 	{ .mbps =   90,	.reg = 0x10 },
 	{ .mbps =  100,	.reg = 0x20 },
@@ -1369,11 +1369,6 @@ static const struct rcar_csi2_info rcar_csi2_info_r8a7795 = {
 	.clear_ulps = true,
 };
 
-static const struct rcar_csi2_info rcar_csi2_info_r8a7795es1 = {
-	.hsfreqrange = hsfreqrange_m3w_h3es1,
-	.num_channels = 4,
-};
-
 static const struct rcar_csi2_info rcar_csi2_info_r8a7795es2 = {
 	.init_phtw = rcsi2_init_phtw_h3es2,
 	.hsfreqrange = hsfreqrange_h3_v3h_m3n,
@@ -1383,12 +1378,12 @@ static const struct rcar_csi2_info rcar_csi2_info_r8a7795es2 = {
 };
 
 static const struct rcar_csi2_info rcar_csi2_info_r8a7796 = {
-	.hsfreqrange = hsfreqrange_m3w_h3es1,
+	.hsfreqrange = hsfreqrange_m3w,
 	.num_channels = 4,
 };
 
 static const struct rcar_csi2_info rcar_csi2_info_r8a77961 = {
-	.hsfreqrange = hsfreqrange_m3w_h3es1,
+	.hsfreqrange = hsfreqrange_m3w,
 	.num_channels = 4,
 };
 
@@ -1481,10 +1476,6 @@ static const struct of_device_id rcar_csi2_of_table[] = {
 MODULE_DEVICE_TABLE(of, rcar_csi2_of_table);
 
 static const struct soc_device_attribute r8a7795[] = {
-	{
-		.soc_id = "r8a7795", .revision = "ES1.*",
-		.data = &rcar_csi2_info_r8a7795es1,
-	},
 	{
 		.soc_id = "r8a7795", .revision = "ES2.*",
 		.data = &rcar_csi2_info_r8a7795es2,
-- 
2.35.1


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

* [PATCH 05/11] media: renesas: fdp1: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (3 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 04/11] media: rcar-vin: csi2: " Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-08  0:36   ` Kieran Bingham
  2023-04-24 17:37   ` Geert Uytterhoeven
  2023-03-07 16:30 ` [PATCH 06/11] thermal/drivers/rcar_gen3_thermal: " Wolfram Sang
                   ` (6 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Geert Uytterhoeven, Kieran Bingham,
	Mauro Carvalho Chehab, linux-media, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/media/platform/renesas/rcar_fdp1.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/media/platform/renesas/rcar_fdp1.c b/drivers/media/platform/renesas/rcar_fdp1.c
index 37ecf489d112..f4a1fc8ce595 100644
--- a/drivers/media/platform/renesas/rcar_fdp1.c
+++ b/drivers/media/platform/renesas/rcar_fdp1.c
@@ -254,7 +254,6 @@ MODULE_PARM_DESC(debug, "activate debug info");
 
 /* Internal Data (HW Version) */
 #define FD1_IP_INTDATA			0x0800
-#define FD1_IP_H3_ES1			0x02010101
 #define FD1_IP_M3W			0x02010202
 #define FD1_IP_H3			0x02010203
 #define FD1_IP_M3N			0x02010204
@@ -2359,9 +2358,6 @@ static int fdp1_probe(struct platform_device *pdev)
 
 	hw_version = fdp1_read(fdp1, FD1_IP_INTDATA);
 	switch (hw_version) {
-	case FD1_IP_H3_ES1:
-		dprintk(fdp1, "FDP1 Version R-Car H3 ES1\n");
-		break;
 	case FD1_IP_M3W:
 		dprintk(fdp1, "FDP1 Version R-Car M3-W\n");
 		break;
-- 
2.35.1


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

* [PATCH 06/11] thermal/drivers/rcar_gen3_thermal: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (4 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 05/11] media: renesas: fdp1: " Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-08 18:04   ` Daniel Lezcano
  2023-03-07 16:30 ` [PATCH 07/11] ravb: " Wolfram Sang
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Niklas Söderlund,
	Geert Uytterhoeven, Niklas Söderlund, Rafael J. Wysocki,
	Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/thermal/rcar_gen3_thermal.c | 52 ++---------------------------
 1 file changed, 2 insertions(+), 50 deletions(-)

diff --git a/drivers/thermal/rcar_gen3_thermal.c b/drivers/thermal/rcar_gen3_thermal.c
index d6b5b59c5c53..e97d1798b5a3 100644
--- a/drivers/thermal/rcar_gen3_thermal.c
+++ b/drivers/thermal/rcar_gen3_thermal.c
@@ -14,7 +14,6 @@
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
-#include <linux/sys_soc.h>
 #include <linux/thermal.h>
 
 #include "thermal_hwmon.h"
@@ -27,7 +26,6 @@
 #define REG_GEN3_IRQTEMP1	0x14
 #define REG_GEN3_IRQTEMP2	0x18
 #define REG_GEN3_IRQTEMP3	0x1C
-#define REG_GEN3_CTSR		0x20
 #define REG_GEN3_THCTR		0x20
 #define REG_GEN3_TEMP		0x28
 #define REG_GEN3_THCODE1	0x50
@@ -46,14 +44,6 @@
 #define IRQ_TEMPD2		BIT(4)
 #define IRQ_TEMPD3		BIT(5)
 
-/* CTSR bits */
-#define CTSR_PONM	BIT(8)
-#define CTSR_AOUT	BIT(7)
-#define CTSR_THBGR	BIT(5)
-#define CTSR_VMEN	BIT(4)
-#define CTSR_VMST	BIT(1)
-#define CTSR_THSST	BIT(0)
-
 /* THCTR bits */
 #define THCTR_PONM	BIT(6)
 #define THCTR_THSST	BIT(0)
@@ -88,8 +78,6 @@ struct rcar_gen3_thermal_priv {
 	struct rcar_gen3_thermal_tsc *tscs[TSC_MAX_NUM];
 	struct thermal_zone_device_ops ops;
 	unsigned int num_tscs;
-	void (*thermal_init)(struct rcar_gen3_thermal_priv *priv,
-			     struct rcar_gen3_thermal_tsc *tsc);
 	int ptat[3];
 };
 
@@ -248,11 +236,6 @@ static irqreturn_t rcar_gen3_thermal_irq(int irq, void *data)
 	return IRQ_HANDLED;
 }
 
-static const struct soc_device_attribute r8a7795es1[] = {
-	{ .soc_id = "r8a7795", .revision = "ES1.*" },
-	{ /* sentinel */ }
-};
-
 static bool rcar_gen3_thermal_read_fuses(struct rcar_gen3_thermal_priv *priv)
 {
 	unsigned int i;
@@ -311,34 +294,6 @@ static bool rcar_gen3_thermal_read_fuses(struct rcar_gen3_thermal_priv *priv)
 	return true;
 }
 
-static void rcar_gen3_thermal_init_r8a7795es1(struct rcar_gen3_thermal_priv *priv,
-					      struct rcar_gen3_thermal_tsc *tsc)
-{
-	rcar_gen3_thermal_write(tsc, REG_GEN3_CTSR,  CTSR_THBGR);
-	rcar_gen3_thermal_write(tsc, REG_GEN3_CTSR,  0x0);
-
-	usleep_range(1000, 2000);
-
-	rcar_gen3_thermal_write(tsc, REG_GEN3_CTSR, CTSR_PONM);
-
-	rcar_gen3_thermal_write(tsc, REG_GEN3_IRQCTL, 0x3F);
-	rcar_gen3_thermal_write(tsc, REG_GEN3_IRQMSK, 0);
-	if (priv->ops.set_trips)
-		rcar_gen3_thermal_write(tsc, REG_GEN3_IRQEN,
-					IRQ_TEMPD1 | IRQ_TEMP2);
-
-	rcar_gen3_thermal_write(tsc, REG_GEN3_CTSR,
-				CTSR_PONM | CTSR_AOUT | CTSR_THBGR | CTSR_VMEN);
-
-	usleep_range(100, 200);
-
-	rcar_gen3_thermal_write(tsc, REG_GEN3_CTSR,
-				CTSR_PONM | CTSR_AOUT | CTSR_THBGR | CTSR_VMEN |
-				CTSR_VMST | CTSR_THSST);
-
-	usleep_range(1000, 2000);
-}
-
 static void rcar_gen3_thermal_init(struct rcar_gen3_thermal_priv *priv,
 				   struct rcar_gen3_thermal_tsc *tsc)
 {
@@ -474,9 +429,6 @@ static int rcar_gen3_thermal_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	priv->ops = rcar_gen3_tz_of_ops;
-	priv->thermal_init = rcar_gen3_thermal_init;
-	if (soc_device_match(r8a7795es1))
-		priv->thermal_init = rcar_gen3_thermal_init_r8a7795es1;
 
 	platform_set_drvdata(pdev, priv);
 
@@ -516,7 +468,7 @@ static int rcar_gen3_thermal_probe(struct platform_device *pdev)
 	for (i = 0; i < priv->num_tscs; i++) {
 		struct rcar_gen3_thermal_tsc *tsc = priv->tscs[i];
 
-		priv->thermal_init(priv, tsc);
+		rcar_gen3_thermal_init(priv, tsc);
 		rcar_gen3_thermal_calc_coefs(priv, tsc, *ths_tj_1);
 
 		zone = devm_thermal_of_zone_register(dev, i, tsc, &priv->ops);
@@ -564,7 +516,7 @@ static int __maybe_unused rcar_gen3_thermal_resume(struct device *dev)
 	for (i = 0; i < priv->num_tscs; i++) {
 		struct rcar_gen3_thermal_tsc *tsc = priv->tscs[i];
 
-		priv->thermal_init(priv, tsc);
+		rcar_gen3_thermal_init(priv, tsc);
 	}
 
 	return 0;
-- 
2.35.1


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

* [PATCH 07/11] ravb: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (5 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 06/11] thermal/drivers/rcar_gen3_thermal: " Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-07 17:21   ` Simon Horman
  2023-03-08  9:39   ` Sergei Shtylyov
  2023-03-07 16:30 ` [PATCH 08/11] mmc: renesas_sdhi: " Wolfram Sang
                   ` (4 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Geert Uytterhoeven,
	Sergey Shtylyov, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, netdev, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/net/ethernet/renesas/ravb_main.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
index 0f54849a3823..b81f0d8dfda8 100644
--- a/drivers/net/ethernet/renesas/ravb_main.c
+++ b/drivers/net/ethernet/renesas/ravb_main.c
@@ -28,7 +28,6 @@
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
-#include <linux/sys_soc.h>
 #include <linux/reset.h>
 #include <linux/math64.h>
 
@@ -1390,11 +1389,6 @@ static void ravb_adjust_link(struct net_device *ndev)
 		phy_print_status(phydev);
 }
 
-static const struct soc_device_attribute r8a7795es10[] = {
-	{ .soc_id = "r8a7795", .revision = "ES1.0", },
-	{ /* sentinel */ }
-};
-
 /* PHY init function */
 static int ravb_phy_init(struct net_device *ndev)
 {
@@ -1434,15 +1428,6 @@ static int ravb_phy_init(struct net_device *ndev)
 		goto err_deregister_fixed_link;
 	}
 
-	/* This driver only support 10/100Mbit speeds on R-Car H3 ES1.0
-	 * at this time.
-	 */
-	if (soc_device_match(r8a7795es10)) {
-		phy_set_max_speed(phydev, SPEED_100);
-
-		netdev_info(ndev, "limited PHY to 100Mbit/s\n");
-	}
-
 	if (!info->half_duplex) {
 		/* 10BASE, Pause and Asym Pause is not supported */
 		phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_10baseT_Half_BIT);
-- 
2.35.1


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

* [PATCH 08/11] mmc: renesas_sdhi: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (6 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 07/11] ravb: " Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-09 15:02   ` Ulf Hansson
  2023-03-07 16:30 ` [PATCH 09/11] usb: host: xhci-rcar: remove leftover quirk handling Wolfram Sang
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Geert Uytterhoeven, Ulf Hansson,
	linux-mmc, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
index f38003f6b1ca..9ab813903b2c 100644
--- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
@@ -72,11 +72,10 @@ enum renesas_sdhi_dma_cookie {
 
 static unsigned long global_flags;
 /*
- * Workaround for avoiding to use RX DMAC by multiple channels.
- * On R-Car H3 ES1.* and M3-W ES1.0, when multiple SDHI channels use
- * RX DMAC simultaneously, sometimes hundreds of bytes data are not
- * stored into the system memory even if the DMAC interrupt happened.
- * So, this driver then uses one RX DMAC channel only.
+ * Workaround for avoiding to use RX DMAC by multiple channels. On R-Car M3-W
+ * ES1.0, when multiple SDHI channels use RX DMAC simultaneously, sometimes
+ * hundreds of data bytes are not stored into the system memory even if the
+ * DMAC interrupt happened. So, this driver then uses one RX DMAC channel only.
  */
 #define SDHI_INTERNAL_DMAC_RX_IN_USE	0
 
@@ -222,7 +221,6 @@ static const struct renesas_sdhi_quirks sdhi_quirks_r9a09g011 = {
  */
 static const struct soc_device_attribute sdhi_quirks_match[]  = {
 	{ .soc_id = "r8a774a1", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
-	{ .soc_id = "r8a7795", .revision = "ES1.*", .data = &sdhi_quirks_4tap_nohs400_one_rx },
 	{ .soc_id = "r8a7795", .revision = "ES2.0", .data = &sdhi_quirks_4tap },
 	{ .soc_id = "r8a7796", .revision = "ES1.0", .data = &sdhi_quirks_4tap_nohs400_one_rx },
 	{ .soc_id = "r8a7796", .revision = "ES1.[12]", .data = &sdhi_quirks_4tap_nohs400 },
-- 
2.35.1


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

* [PATCH 09/11] usb: host: xhci-rcar: remove leftover quirk handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (7 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 08/11] mmc: renesas_sdhi: " Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-07 16:30 ` [PATCH 10/11] usb: host: xhci-rcar: remove R-Car H3 ES1.* handling Wolfram Sang
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Geert Uytterhoeven, Mathias Nyman,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-kernel

Loading V3 firmware does not need a quirk anymore, remove the leftover
code.

Fixes: ed8603e11124 ("usb: host: xhci-rcar: Simplify getting the firmware name for R-Car Gen3")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. This is in preparation for
R-Car H3 ES1 removal. There are no dependencies.


 drivers/usb/host/xhci-rcar.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
index 7f18509a1d39..567b096a24e9 100644
--- a/drivers/usb/host/xhci-rcar.c
+++ b/drivers/usb/host/xhci-rcar.c
@@ -80,7 +80,6 @@ MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V3);
 
 /* For soc_device_attribute */
 #define RCAR_XHCI_FIRMWARE_V2   BIT(0) /* FIRMWARE V2 */
-#define RCAR_XHCI_FIRMWARE_V3   BIT(1) /* FIRMWARE V3 */
 
 static const struct soc_device_attribute rcar_quirks_match[]  = {
 	{
@@ -152,8 +151,6 @@ static int xhci_rcar_download_firmware(struct usb_hcd *hcd)
 
 	if (quirks & RCAR_XHCI_FIRMWARE_V2)
 		firmware_name = XHCI_RCAR_FIRMWARE_NAME_V2;
-	else if (quirks & RCAR_XHCI_FIRMWARE_V3)
-		firmware_name = XHCI_RCAR_FIRMWARE_NAME_V3;
 	else
 		firmware_name = priv->firmware_name;
 
-- 
2.35.1


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

* [PATCH 10/11] usb: host: xhci-rcar: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (8 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 09/11] usb: host: xhci-rcar: remove leftover quirk handling Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-07 16:30 ` [PATCH 11/11] usb: gadget: udc: renesas_usb3: " Wolfram Sang
  2023-03-09  7:30 ` [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 patchwork-bot+netdevbpf
  11 siblings, 0 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Geert Uytterhoeven,
	Mathias Nyman, Greg Kroah-Hartman, linux-usb, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/usb/host/xhci-rcar.c | 31 ++-----------------------------
 1 file changed, 2 insertions(+), 29 deletions(-)

diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c
index 567b096a24e9..c4925f8d6b06 100644
--- a/drivers/usb/host/xhci-rcar.c
+++ b/drivers/usb/host/xhci-rcar.c
@@ -12,26 +12,22 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/usb/phy.h>
-#include <linux/sys_soc.h>
 
 #include "xhci.h"
 #include "xhci-plat.h"
 #include "xhci-rzv2m.h"
 
 #define XHCI_RCAR_FIRMWARE_NAME_V1	"r8a779x_usb3_v1.dlmem"
-#define XHCI_RCAR_FIRMWARE_NAME_V2	"r8a779x_usb3_v2.dlmem"
 #define XHCI_RCAR_FIRMWARE_NAME_V3	"r8a779x_usb3_v3.dlmem"
 
 /*
-* - The V3 firmware is for almost all R-Car Gen3 (except r8a7795 ES1.x)
-* - The V2 firmware is for r8a7795 ES1.x.
+* - The V3 firmware is for all R-Car Gen3
 * - The V2 firmware is possible to use on R-Car Gen2. However, the V2 causes
 *   performance degradation. So, this driver continues to use the V1 if R-Car
 *   Gen2.
 * - The V1 firmware is impossible to use on R-Car Gen3.
 */
 MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V1);
-MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V2);
 MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V3);
 
 /*** Register Offset ***/
@@ -78,17 +74,6 @@ MODULE_FIRMWARE(XHCI_RCAR_FIRMWARE_NAME_V3);
 #define RCAR_USB3_RX_POL_VAL	BIT(21)
 #define RCAR_USB3_TX_POL_VAL	BIT(4)
 
-/* For soc_device_attribute */
-#define RCAR_XHCI_FIRMWARE_V2   BIT(0) /* FIRMWARE V2 */
-
-static const struct soc_device_attribute rcar_quirks_match[]  = {
-	{
-		.soc_id = "r8a7795", .revision = "ES1.*",
-		.data = (void *)RCAR_XHCI_FIRMWARE_V2,
-	},
-	{ /* sentinel */ }
-};
-
 static void xhci_rcar_start_gen2(struct usb_hcd *hcd)
 {
 	/* LCLK Select */
@@ -134,9 +119,6 @@ static int xhci_rcar_download_firmware(struct usb_hcd *hcd)
 	const struct firmware *fw;
 	int retval, index, j;
 	u32 data, val, temp;
-	u32 quirks = 0;
-	const struct soc_device_attribute *attr;
-	const char *firmware_name;
 
 	/*
 	 * According to the datasheet, "Upon the completion of FW Download,
@@ -145,17 +127,8 @@ static int xhci_rcar_download_firmware(struct usb_hcd *hcd)
 	if (readl(regs + RCAR_USB3_DL_CTRL) & RCAR_USB3_DL_CTRL_FW_SUCCESS)
 		return 0;
 
-	attr = soc_device_match(rcar_quirks_match);
-	if (attr)
-		quirks = (uintptr_t)attr->data;
-
-	if (quirks & RCAR_XHCI_FIRMWARE_V2)
-		firmware_name = XHCI_RCAR_FIRMWARE_NAME_V2;
-	else
-		firmware_name = priv->firmware_name;
-
 	/* request R-Car USB3.0 firmware */
-	retval = request_firmware(&fw, firmware_name, dev);
+	retval = request_firmware(&fw, priv->firmware_name, dev);
 	if (retval)
 		return retval;
 
-- 
2.35.1


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

* [PATCH 11/11] usb: gadget: udc: renesas_usb3: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (9 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 10/11] usb: host: xhci-rcar: remove R-Car H3 ES1.* handling Wolfram Sang
@ 2023-03-07 16:30 ` Wolfram Sang
  2023-03-09  7:30 ` [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 patchwork-bot+netdevbpf
  11 siblings, 0 replies; 24+ messages in thread
From: Wolfram Sang @ 2023-03-07 16:30 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, Geert Uytterhoeven,
	Greg Kroah-Hartman, linux-usb, linux-kernel

R-Car H3 ES1.* was only available to an internal development group and
needed a lot of quirks and workarounds. These become a maintenance
burden now, so our development group decided to remove upstream support
and disable booting for this SoC. Public users only have ES2 onwards.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Please apply individually per subsystem. There are no dependencies and the SoC
doesn't boot anymore since v6.3-rc1.

 drivers/usb/gadget/udc/renesas_usb3.c | 23 +----------------------
 1 file changed, 1 insertion(+), 22 deletions(-)

diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
index bee6bceafc4f..f2ac6447b748 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
@@ -22,7 +22,6 @@
 #include <linux/sizes.h>
 #include <linux/slab.h>
 #include <linux/string.h>
-#include <linux/sys_soc.h>
 #include <linux/uaccess.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
@@ -2781,13 +2780,6 @@ static void renesas_usb3_init_ram(struct renesas_usb3 *usb3, struct device *dev,
 	}
 }
 
-static const struct renesas_usb3_priv renesas_usb3_priv_r8a7795_es1 = {
-	.ramsize_per_ramif = SZ_16K,
-	.num_ramif = 2,
-	.ramsize_per_pipe = SZ_4K,
-	.workaround_for_vbus = true,
-};
-
 static const struct renesas_usb3_priv renesas_usb3_priv_gen3 = {
 	.ramsize_per_ramif = SZ_16K,
 	.num_ramif = 4,
@@ -2829,14 +2821,6 @@ static const struct of_device_id usb3_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, usb3_of_match);
 
-static const struct soc_device_attribute renesas_usb3_quirks_match[] = {
-	{
-		.soc_id = "r8a7795", .revision = "ES1.*",
-		.data = &renesas_usb3_priv_r8a7795_es1,
-	},
-	{ /* sentinel */ }
-};
-
 static const unsigned int renesas_usb3_cable[] = {
 	EXTCON_USB,
 	EXTCON_USB_HOST,
@@ -2854,13 +2838,8 @@ static int renesas_usb3_probe(struct platform_device *pdev)
 	struct renesas_usb3 *usb3;
 	int irq, ret;
 	const struct renesas_usb3_priv *priv;
-	const struct soc_device_attribute *attr;
 
-	attr = soc_device_match(renesas_usb3_quirks_match);
-	if (attr)
-		priv = attr->data;
-	else
-		priv = of_device_get_match_data(&pdev->dev);
+	priv = of_device_get_match_data(&pdev->dev);
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0)
-- 
2.35.1


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

* Re: [PATCH 07/11] ravb: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 07/11] ravb: " Wolfram Sang
@ 2023-03-07 17:21   ` Simon Horman
  2023-03-08  9:39   ` Sergei Shtylyov
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Horman @ 2023-03-07 17:21 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-renesas-soc, Laurent Pinchart, Geert Uytterhoeven,
	Sergey Shtylyov, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, netdev, linux-kernel

On Tue, Mar 07, 2023 at 05:30:35PM +0100, Wolfram Sang wrote:
> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

This brought back some memories.

Signed-off-by: Simon Horman <simon.horman@corigine.com>

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

* Re: [PATCH 05/11] media: renesas: fdp1: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 05/11] media: renesas: fdp1: " Wolfram Sang
@ 2023-03-08  0:36   ` Kieran Bingham
  2023-04-24 17:37   ` Geert Uytterhoeven
  1 sibling, 0 replies; 24+ messages in thread
From: Kieran Bingham @ 2023-03-08  0:36 UTC (permalink / raw)
  To: Wolfram Sang, linux-renesas-soc
  Cc: Wolfram Sang, Geert Uytterhoeven, Mauro Carvalho Chehab,
	linux-media, linux-kernel

Quoting Wolfram Sang (2023-03-07 16:30:33)
> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> ---
> Please apply individually per subsystem. There are no dependencies and the SoC
> doesn't boot anymore since v6.3-rc1.
> 
>  drivers/media/platform/renesas/rcar_fdp1.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/media/platform/renesas/rcar_fdp1.c b/drivers/media/platform/renesas/rcar_fdp1.c
> index 37ecf489d112..f4a1fc8ce595 100644
> --- a/drivers/media/platform/renesas/rcar_fdp1.c
> +++ b/drivers/media/platform/renesas/rcar_fdp1.c
> @@ -254,7 +254,6 @@ MODULE_PARM_DESC(debug, "activate debug info");
>  
>  /* Internal Data (HW Version) */
>  #define FD1_IP_INTDATA                 0x0800
> -#define FD1_IP_H3_ES1                  0x02010101
>  #define FD1_IP_M3W                     0x02010202
>  #define FD1_IP_H3                      0x02010203
>  #define FD1_IP_M3N                     0x02010204
> @@ -2359,9 +2358,6 @@ static int fdp1_probe(struct platform_device *pdev)
>  
>         hw_version = fdp1_read(fdp1, FD1_IP_INTDATA);
>         switch (hw_version) {
> -       case FD1_IP_H3_ES1:
> -               dprintk(fdp1, "FDP1 Version R-Car H3 ES1\n");
> -               break;
>         case FD1_IP_M3W:
>                 dprintk(fdp1, "FDP1 Version R-Car M3-W\n");
>                 break;
> -- 
> 2.35.1
>

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

* Re: [PATCH 07/11] ravb: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 07/11] ravb: " Wolfram Sang
  2023-03-07 17:21   ` Simon Horman
@ 2023-03-08  9:39   ` Sergei Shtylyov
  1 sibling, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2023-03-08  9:39 UTC (permalink / raw)
  To: Wolfram Sang, linux-renesas-soc
  Cc: Laurent Pinchart, Geert Uytterhoeven, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-kernel

Hello!

  (Sending via Gmail account, as the OMP SMTP server rejects...) 

On 3/7/23 7:30 PM, Wolfram Sang wrote:

> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>

[...]

MBR, Sergey

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

* Re: [PATCH 02/11] drm: rcar-du: remove R-Car H3 ES1.* workarounds
  2023-03-07 16:30 ` [PATCH 02/11] drm: rcar-du: remove R-Car H3 ES1.* workarounds Wolfram Sang
@ 2023-03-08 10:11   ` Kieran Bingham
  0 siblings, 0 replies; 24+ messages in thread
From: Kieran Bingham @ 2023-03-08 10:11 UTC (permalink / raw)
  To: Wolfram Sang, linux-renesas-soc
  Cc: Wolfram Sang, Laurent Pinchart, David Airlie, Daniel Vetter,
	dri-devel, linux-kernel

Hi Wolfram,

Quoting Wolfram Sang (2023-03-07 16:30:30)
> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Wow, this lets us get rid of workarounds all throughout.

This looks pretty decisive, and complete to me.

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> ---
> Please apply individually per subsystem. There are no dependencies and the SoC
> doesn't boot anymore since v6.3-rc1.
> 
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 37 ++------------------
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c  | 48 --------------------------
>  drivers/gpu/drm/rcar-du/rcar_du_drv.h  |  2 --
>  drivers/gpu/drm/rcar-du/rcar_du_regs.h |  3 +-
>  4 files changed, 4 insertions(+), 86 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> index 008e172ed43b..84411c452e30 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> @@ -223,20 +223,6 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
>                  * DU channels that have a display PLL can't use the internal
>                  * system clock, and have no internal clock divider.
>                  */
> -
> -               /*
> -                * The H3 ES1.x exhibits dot clock duty cycle stability issues.
> -                * We can work around them by configuring the DPLL to twice the
> -                * desired frequency, coupled with a /2 post-divider. Restrict
> -                * the workaround to H3 ES1.x as ES2.0 and all other SoCs have
> -                * no post-divider when a display PLL is present (as shown by
> -                * the workaround breaking HDMI output on M3-W during testing).
> -                */
> -               if (rcdu->info->quirks & RCAR_DU_QUIRK_H3_ES1_PCLK_STABILITY) {
> -                       target *= 2;
> -                       div = 1;
> -               }
> -
>                 extclk = clk_get_rate(rcrtc->extclock);
>                 rcar_du_dpll_divider(rcrtc, &dpll, extclk, target);
>  
> @@ -245,30 +231,13 @@ static void rcar_du_crtc_set_display_timing(struct rcar_du_crtc *rcrtc)
>                        | DPLLCR_N(dpll.n) | DPLLCR_M(dpll.m)
>                        | DPLLCR_STBY;
>  
> -               if (rcrtc->index == 1) {
> +               if (rcrtc->index == 1)
>                         dpllcr |= DPLLCR_PLCS1
>                                |  DPLLCR_INCS_DOTCLKIN1;
> -               } else {
> -                       dpllcr |= DPLLCR_PLCS0_PLL
> +               else
> +                       dpllcr |= DPLLCR_PLCS0
>                                |  DPLLCR_INCS_DOTCLKIN0;
>  
> -                       /*
> -                        * On ES2.x we have a single mux controlled via bit 21,
> -                        * which selects between DCLKIN source (bit 21 = 0) and
> -                        * a PLL source (bit 21 = 1), where the PLL is always
> -                        * PLL1.
> -                        *
> -                        * On ES1.x we have an additional mux, controlled
> -                        * via bit 20, for choosing between PLL0 (bit 20 = 0)
> -                        * and PLL1 (bit 20 = 1). We always want to use PLL1,
> -                        * so on ES1.x, in addition to setting bit 21, we need
> -                        * to set the bit 20.
> -                        */
> -
> -                       if (rcdu->info->quirks & RCAR_DU_QUIRK_H3_ES1_PLL)
> -                               dpllcr |= DPLLCR_PLCS0_H3ES1X_PLL1;
> -               }
> -
>                 rcar_du_group_write(rcrtc->group, DPLLCR, dpllcr);
>  
>                 escr = ESCR_DCLKSEL_DCLKIN | div;
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index b9a94c5260e9..1ffde19cb87f 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -16,7 +16,6 @@
>  #include <linux/platform_device.h>
>  #include <linux/pm.h>
>  #include <linux/slab.h>
> -#include <linux/sys_soc.h>
>  #include <linux/wait.h>
>  
>  #include <drm/drm_atomic_helper.h>
> @@ -387,43 +386,6 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
>         .dpll_mask =  BIT(2) | BIT(1),
>  };
>  
> -static const struct rcar_du_device_info rcar_du_r8a7795_es1_info = {
> -       .gen = 3,
> -       .features = RCAR_DU_FEATURE_CRTC_IRQ
> -                 | RCAR_DU_FEATURE_CRTC_CLOCK
> -                 | RCAR_DU_FEATURE_VSP1_SOURCE
> -                 | RCAR_DU_FEATURE_INTERLACED
> -                 | RCAR_DU_FEATURE_TVM_SYNC,
> -       .quirks = RCAR_DU_QUIRK_H3_ES1_PCLK_STABILITY
> -               | RCAR_DU_QUIRK_H3_ES1_PLL,
> -       .channels_mask = BIT(3) | BIT(2) | BIT(1) | BIT(0),
> -       .routes = {
> -               /*
> -                * R8A7795 has one RGB output, two HDMI outputs and one
> -                * LVDS output.
> -                */
> -               [RCAR_DU_OUTPUT_DPAD0] = {
> -                       .possible_crtcs = BIT(3),
> -                       .port = 0,
> -               },
> -               [RCAR_DU_OUTPUT_HDMI0] = {
> -                       .possible_crtcs = BIT(1),
> -                       .port = 1,
> -               },
> -               [RCAR_DU_OUTPUT_HDMI1] = {
> -                       .possible_crtcs = BIT(2),
> -                       .port = 2,
> -               },
> -               [RCAR_DU_OUTPUT_LVDS0] = {
> -                       .possible_crtcs = BIT(0),
> -                       .port = 3,
> -               },
> -       },
> -       .num_lvds = 1,
> -       .num_rpf = 5,
> -       .dpll_mask =  BIT(2) | BIT(1),
> -};
> -
>  static const struct rcar_du_device_info rcar_du_r8a7796_info = {
>         .gen = 3,
>         .features = RCAR_DU_FEATURE_CRTC_IRQ
> @@ -614,11 +576,6 @@ static const struct of_device_id rcar_du_of_table[] = {
>  
>  MODULE_DEVICE_TABLE(of, rcar_du_of_table);
>  
> -static const struct soc_device_attribute rcar_du_soc_table[] = {
> -       { .soc_id = "r8a7795", .revision = "ES1.*", .data = &rcar_du_r8a7795_es1_info },
> -       { /* sentinel */ }
> -};
> -
>  const char *rcar_du_output_name(enum rcar_du_output output)
>  {
>         static const char * const names[] = {
> @@ -707,7 +664,6 @@ static void rcar_du_shutdown(struct platform_device *pdev)
>  
>  static int rcar_du_probe(struct platform_device *pdev)
>  {
> -       const struct soc_device_attribute *soc_attr;
>         struct rcar_du_device *rcdu;
>         unsigned int mask;
>         int ret;
> @@ -725,10 +681,6 @@ static int rcar_du_probe(struct platform_device *pdev)
>  
>         rcdu->info = of_device_get_match_data(rcdu->dev);
>  
> -       soc_attr = soc_device_match(rcar_du_soc_table);
> -       if (soc_attr)
> -               rcdu->info = soc_attr->data;
> -
>         platform_set_drvdata(pdev, rcdu);
>  
>         /* I/O resources */
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.h b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
> index acc3673fefe1..5cfa2bb7ad93 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.h
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.h
> @@ -34,8 +34,6 @@ struct rcar_du_device;
>  #define RCAR_DU_FEATURE_NO_BLENDING    BIT(5)  /* PnMR.SPIM does not have ALP nor EOR bits */
>  
>  #define RCAR_DU_QUIRK_ALIGN_128B       BIT(0)  /* Align pitches to 128 bytes */
> -#define RCAR_DU_QUIRK_H3_ES1_PCLK_STABILITY BIT(1)     /* H3 ES1 has pclk stability issue */
> -#define RCAR_DU_QUIRK_H3_ES1_PLL       BIT(2)  /* H3 ES1 PLL setup differs from non-ES1 */
>  
>  enum rcar_du_output {
>         RCAR_DU_OUTPUT_DPAD0,
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_regs.h b/drivers/gpu/drm/rcar-du/rcar_du_regs.h
> index 789ae9285108..288eff12b2b1 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_regs.h
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_regs.h
> @@ -283,8 +283,7 @@
>  #define DPLLCR                 0x20044
>  #define DPLLCR_CODE            (0x95 << 24)
>  #define DPLLCR_PLCS1           (1 << 23)
> -#define DPLLCR_PLCS0_PLL       (1 << 21)
> -#define DPLLCR_PLCS0_H3ES1X_PLL1       (1 << 20)
> +#define DPLLCR_PLCS0           (1 << 21)
>  #define DPLLCR_CLKE            (1 << 18)
>  #define DPLLCR_FDPLL(n)                ((n) << 12)
>  #define DPLLCR_N(n)            ((n) << 5)
> -- 
> 2.35.1
>

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

* Re: [PATCH 06/11] thermal/drivers/rcar_gen3_thermal: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 06/11] thermal/drivers/rcar_gen3_thermal: " Wolfram Sang
@ 2023-03-08 18:04   ` Daniel Lezcano
  0 siblings, 0 replies; 24+ messages in thread
From: Daniel Lezcano @ 2023-03-08 18:04 UTC (permalink / raw)
  To: Wolfram Sang, linux-renesas-soc
  Cc: Laurent Pinchart, Niklas Söderlund, Geert Uytterhoeven,
	Niklas Söderlund, Rafael J. Wysocki, Amit Kucheria,
	Zhang Rui, linux-pm, linux-kernel

On 07/03/2023 17:30, Wolfram Sang wrote:
> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> Please apply individually per subsystem. There are no dependencies and the SoC
> doesn't boot anymore since v6.3-rc1.

Applied, thanks

-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


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

* Re: [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1
  2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
                   ` (10 preceding siblings ...)
  2023-03-07 16:30 ` [PATCH 11/11] usb: gadget: udc: renesas_usb3: " Wolfram Sang
@ 2023-03-09  7:30 ` patchwork-bot+netdevbpf
  11 siblings, 0 replies; 24+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-03-09  7:30 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-renesas-soc, dri-devel, iommu, linux-kernel, linux-media,
	linux-mmc, linux-pm, linux-usb, netdev

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue,  7 Mar 2023 17:30:28 +0100 you wrote:
> Because H3 ES1 becomes an increasing maintenance burden and was only available
> to a development group, we decided to remove upstream support for it. Here are
> the patches to remove driver changes. Review tags have been gathered before
> during an internal discussion. Only change since the internal version is a
> plain rebase to v6.3-rc1. A branch with all removals is here:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/h3es1-removal
> 
> [...]

Here is the summary with links:
  - [07/11] ravb: remove R-Car H3 ES1.* handling
    https://git.kernel.org/netdev/net-next/c/6bf0ad7f2917

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

* Re: [PATCH 08/11] mmc: renesas_sdhi: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 08/11] mmc: renesas_sdhi: " Wolfram Sang
@ 2023-03-09 15:02   ` Ulf Hansson
  0 siblings, 0 replies; 24+ messages in thread
From: Ulf Hansson @ 2023-03-09 15:02 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-renesas-soc, Laurent Pinchart, Geert Uytterhoeven,
	linux-mmc, linux-kernel

On Tue, 7 Mar 2023 at 17:31, Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Applied for next, thanks!

Kind regards
Uffe


> ---
> Please apply individually per subsystem. There are no dependencies and the SoC
> doesn't boot anymore since v6.3-rc1.
>
>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
> index f38003f6b1ca..9ab813903b2c 100644
> --- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
> +++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
> @@ -72,11 +72,10 @@ enum renesas_sdhi_dma_cookie {
>
>  static unsigned long global_flags;
>  /*
> - * Workaround for avoiding to use RX DMAC by multiple channels.
> - * On R-Car H3 ES1.* and M3-W ES1.0, when multiple SDHI channels use
> - * RX DMAC simultaneously, sometimes hundreds of bytes data are not
> - * stored into the system memory even if the DMAC interrupt happened.
> - * So, this driver then uses one RX DMAC channel only.
> + * Workaround for avoiding to use RX DMAC by multiple channels. On R-Car M3-W
> + * ES1.0, when multiple SDHI channels use RX DMAC simultaneously, sometimes
> + * hundreds of data bytes are not stored into the system memory even if the
> + * DMAC interrupt happened. So, this driver then uses one RX DMAC channel only.
>   */
>  #define SDHI_INTERNAL_DMAC_RX_IN_USE   0
>
> @@ -222,7 +221,6 @@ static const struct renesas_sdhi_quirks sdhi_quirks_r9a09g011 = {
>   */
>  static const struct soc_device_attribute sdhi_quirks_match[]  = {
>         { .soc_id = "r8a774a1", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
> -       { .soc_id = "r8a7795", .revision = "ES1.*", .data = &sdhi_quirks_4tap_nohs400_one_rx },
>         { .soc_id = "r8a7795", .revision = "ES2.0", .data = &sdhi_quirks_4tap },
>         { .soc_id = "r8a7796", .revision = "ES1.0", .data = &sdhi_quirks_4tap_nohs400_one_rx },
>         { .soc_id = "r8a7796", .revision = "ES1.[12]", .data = &sdhi_quirks_4tap_nohs400 },
> --
> 2.35.1
>

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

* Re: [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling Wolfram Sang
@ 2023-03-22 13:28   ` Joerg Roedel
  0 siblings, 0 replies; 24+ messages in thread
From: Joerg Roedel @ 2023-03-22 13:28 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-renesas-soc, Laurent Pinchart, Geert Uytterhoeven,
	Will Deacon, Robin Murphy, iommu, linux-kernel

On Tue, Mar 07, 2023 at 05:30:29PM +0100, Wolfram Sang wrote:
>  drivers/iommu/ipmmu-vmsa.c | 1 -
>  1 file changed, 1 deletion(-)

Applied, thanks.

Btw, b4 reported DKIM issues with your submission, can you please check?

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

* Re: [PATCH 05/11] media: renesas: fdp1: remove R-Car H3 ES1.* handling
  2023-03-07 16:30 ` [PATCH 05/11] media: renesas: fdp1: " Wolfram Sang
  2023-03-08  0:36   ` Kieran Bingham
@ 2023-04-24 17:37   ` Geert Uytterhoeven
  2023-04-24 19:17     ` Wolfram Sang
  1 sibling, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2023-04-24 17:37 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-renesas-soc, Kieran Bingham, Mauro Carvalho Chehab,
	linux-media, linux-kernel, Laurent Pinchart

Hi Wolfram,

On Tue, Mar 7, 2023 at 5:31 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> R-Car H3 ES1.* was only available to an internal development group and
> needed a lot of quirks and workarounds. These become a maintenance
> burden now, so our development group decided to remove upstream support
> and disable booting for this SoC. Public users only have ES2 onwards.
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Thanks for your patch, which is now commit af4273b43f2bd9ee ("media:
renesas: fdp1: remove R-Car H3 ES1.* handling") in media/master
(next-20230417 and later).

> --- a/drivers/media/platform/renesas/rcar_fdp1.c
> +++ b/drivers/media/platform/renesas/rcar_fdp1.c
> @@ -254,7 +254,6 @@ MODULE_PARM_DESC(debug, "activate debug info");
>
>  /* Internal Data (HW Version) */
>  #define FD1_IP_INTDATA                 0x0800
> -#define FD1_IP_H3_ES1                  0x02010101
>  #define FD1_IP_M3W                     0x02010202
>  #define FD1_IP_H3                      0x02010203
>  #define FD1_IP_M3N                     0x02010204
> @@ -2359,9 +2358,6 @@ static int fdp1_probe(struct platform_device *pdev)
>
>         hw_version = fdp1_read(fdp1, FD1_IP_INTDATA);
>         switch (hw_version) {
> -       case FD1_IP_H3_ES1:
> -               dprintk(fdp1, "FDP1 Version R-Car H3 ES1\n");
> -               break;
>         case FD1_IP_M3W:
>                 dprintk(fdp1, "FDP1 Version R-Car M3-W\n");
>                 break;

Apparently 0x02010101 is also used on (at least) R-Car M2-W ES1.0,
causing the following annoying (but further harmless?) messages
during boot:

    rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
    rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)

Note that the R-Car Gen2 documentation states the register's contents
are all zeroes.  But that value would trigger the error message, too.

Sorry for not noticing before. Apparently I never booted a kernel
with this patch on koelsch...

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH 05/11] media: renesas: fdp1: remove R-Car H3 ES1.* handling
  2023-04-24 17:37   ` Geert Uytterhoeven
@ 2023-04-24 19:17     ` Wolfram Sang
  2023-04-24 19:37       ` Geert Uytterhoeven
  0 siblings, 1 reply; 24+ messages in thread
From: Wolfram Sang @ 2023-04-24 19:17 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-renesas-soc, Kieran Bingham, Mauro Carvalho Chehab,
	linux-media, linux-kernel, Laurent Pinchart

[-- Attachment #1: Type: text/plain, Size: 914 bytes --]

Hi Geert,

thanks for reporting!

> > -#define FD1_IP_H3_ES1                  0x02010101

...

> Apparently 0x02010101 is also used on (at least) R-Car M2-W ES1.0,
> causing the following annoying (but further harmless?) messages
> during boot:
> 
>     rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
>     rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)

Hmm, that means before my removal patch, Gen2 has been incorrectly
defined as H3 ES1?

> Note that the R-Car Gen2 documentation states the register's contents
> are all zeroes.  But that value would trigger the error message, too.

Bad, but well...

> Sorry for not noticing before. Apparently I never booted a kernel
> with this patch on koelsch...

We could re-add this version and just let it print "FDP1 Initial
Version" or something? I could test this on my Lager board.

All the best,

   Wolfram


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH 05/11] media: renesas: fdp1: remove R-Car H3 ES1.* handling
  2023-04-24 19:17     ` Wolfram Sang
@ 2023-04-24 19:37       ` Geert Uytterhoeven
  2023-04-24 23:52         ` Laurent Pinchart
  0 siblings, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2023-04-24 19:37 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-renesas-soc, Kieran Bingham, Mauro Carvalho Chehab,
	linux-media, linux-kernel, Laurent Pinchart

Hi Wolfram,

On Mon, Apr 24, 2023 at 9:17 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> > > -#define FD1_IP_H3_ES1                  0x02010101
>
> ...
>
> > Apparently 0x02010101 is also used on (at least) R-Car M2-W ES1.0,
> > causing the following annoying (but further harmless?) messages
> > during boot:
> >
> >     rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
> >     rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)
>
> Hmm, that means before my removal patch, Gen2 has been incorrectly
> defined as H3 ES1?

Indeed, but the driver doesn't seem to do anything with the detected
version, except for printing a debug or error message.

> > Note that the R-Car Gen2 documentation states the register's contents
> > are all zeroes.  But that value would trigger the error message, too.
>
> Bad, but well...
>
> > Sorry for not noticing before. Apparently I never booted a kernel
> > with this patch on koelsch...
>
> We could re-add this version and just let it print "FDP1 Initial
> Version" or something? I could test this on my Lager board.

I plan to test it on a few other boards, too...
Just wanted to let you know ASAP...

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH 05/11] media: renesas: fdp1: remove R-Car H3 ES1.* handling
  2023-04-24 19:37       ` Geert Uytterhoeven
@ 2023-04-24 23:52         ` Laurent Pinchart
  0 siblings, 0 replies; 24+ messages in thread
From: Laurent Pinchart @ 2023-04-24 23:52 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Wolfram Sang, linux-renesas-soc, Kieran Bingham,
	Mauro Carvalho Chehab, linux-media, linux-kernel

On Mon, Apr 24, 2023 at 09:37:00PM +0200, Geert Uytterhoeven wrote:
> On Mon, Apr 24, 2023 at 9:17 PM Wolfram Sang wrote:
> > > > -#define FD1_IP_H3_ES1                  0x02010101
> >
> > ...
> >
> > > Apparently 0x02010101 is also used on (at least) R-Car M2-W ES1.0,
> > > causing the following annoying (but further harmless?) messages
> > > during boot:
> > >
> > >     rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
> > >     rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)
> >
> > Hmm, that means before my removal patch, Gen2 has been incorrectly
> > defined as H3 ES1?
> 
> Indeed, but the driver doesn't seem to do anything with the detected
> version, except for printing a debug or error message.

It may not now, but I'd rather get this fixes nonetheless to avoid
forgetting about the issue and wondering later once we take the version
into account why M2-W doesn't work.

> > > Note that the R-Car Gen2 documentation states the register's contents
> > > are all zeroes.  But that value would trigger the error message, too.
> >
> > Bad, but well...
> >
> > > Sorry for not noticing before. Apparently I never booted a kernel
> > > with this patch on koelsch...
> >
> > We could re-add this version and just let it print "FDP1 Initial
> > Version" or something? I could test this on my Lager board.
> 
> I plan to test it on a few other boards, too...
> Just wanted to let you know ASAP...

-- 
Regards,

Laurent Pinchart

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

end of thread, other threads:[~2023-04-24 23:52 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-07 16:30 [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 Wolfram Sang
2023-03-07 16:30 ` [PATCH 01/11] iommu/ipmmu-vmsa: remove R-Car H3 ES1.* handling Wolfram Sang
2023-03-22 13:28   ` Joerg Roedel
2023-03-07 16:30 ` [PATCH 02/11] drm: rcar-du: remove R-Car H3 ES1.* workarounds Wolfram Sang
2023-03-08 10:11   ` Kieran Bingham
2023-03-07 16:30 ` [PATCH 03/11] media: rcar-vin: remove R-Car H3 ES1.* handling Wolfram Sang
2023-03-07 16:30 ` [PATCH 04/11] media: rcar-vin: csi2: " Wolfram Sang
2023-03-07 16:30 ` [PATCH 05/11] media: renesas: fdp1: " Wolfram Sang
2023-03-08  0:36   ` Kieran Bingham
2023-04-24 17:37   ` Geert Uytterhoeven
2023-04-24 19:17     ` Wolfram Sang
2023-04-24 19:37       ` Geert Uytterhoeven
2023-04-24 23:52         ` Laurent Pinchart
2023-03-07 16:30 ` [PATCH 06/11] thermal/drivers/rcar_gen3_thermal: " Wolfram Sang
2023-03-08 18:04   ` Daniel Lezcano
2023-03-07 16:30 ` [PATCH 07/11] ravb: " Wolfram Sang
2023-03-07 17:21   ` Simon Horman
2023-03-08  9:39   ` Sergei Shtylyov
2023-03-07 16:30 ` [PATCH 08/11] mmc: renesas_sdhi: " Wolfram Sang
2023-03-09 15:02   ` Ulf Hansson
2023-03-07 16:30 ` [PATCH 09/11] usb: host: xhci-rcar: remove leftover quirk handling Wolfram Sang
2023-03-07 16:30 ` [PATCH 10/11] usb: host: xhci-rcar: remove R-Car H3 ES1.* handling Wolfram Sang
2023-03-07 16:30 ` [PATCH 11/11] usb: gadget: udc: renesas_usb3: " Wolfram Sang
2023-03-09  7:30 ` [PATCH 00/11] tree-wide: remove support for Renesas R-Car H3 ES1 patchwork-bot+netdevbpf

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).