* [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option
@ 2020-03-16 16:34 Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 1/3] clk: renesas: cpg-mssr: add support for ignore-unused clocks Ulrich Hecht
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Ulrich Hecht @ 2020-03-16 16:34 UTC (permalink / raw)
To: linux-renesas-soc
Cc: wsa, geert, fabrizio.castro, ramesh.shanmugasundaram, magnus.damm,
Ulrich Hecht
Hi!
This revision renames the data structure holding the ignore-unused clocks to
something hopefully less confusing, squashes the changes for R-Car Gen3 and
RZ/G2 into one patch each and removes redundant debug output. Functionally,
nothing has changed. Thanks to Wolfram and Geert for the review!
This series adds the option for declaring clocks as "ignore-unused", i.e.
clocks that will not be turned on if not used, but also not turned off if
unused. It also enables this option for the RWDT clocks in (almost) all
SoCs.
The point of this is to allow a WDT that has been enabled by the bootloader
to survive these events:
- deferred probing of the WDT device, which can lead the clock driver
to disable the WDT clock until the WDT is re-probed, giving it a
blind spot
- probe failure in the WDT driver
There are a number of Gen2 and RZ/G1 SoCs that have the RWDT clock declared
as critical in order to allow SMP bringup code to work. These have been
left as they are.
CU
Uli
Ulrich Hecht (3):
clk: renesas: cpg-mssr: add support for ignore-unused clocks
clk: renesas: rcar-gen3: mark RWDT clocks as ignore-unused
clk: renesas: rzg2: mark RWDT clock as ignore-unused
drivers/clk/renesas/r8a774a1-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a774b1-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a774c0-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a7795-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a7796-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a77965-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a77970-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a77980-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a77990-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a77995-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/renesas-cpg-mssr.c | 5 +++++
drivers/clk/renesas/renesas-cpg-mssr.h | 9 +++++++++
12 files changed, 64 insertions(+), 5 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/3] clk: renesas: cpg-mssr: add support for ignore-unused clocks
2020-03-16 16:34 [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Ulrich Hecht
@ 2020-03-16 16:34 ` Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 2/3] clk: renesas: rcar-gen3: mark RWDT clocks as ignore-unused Ulrich Hecht
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ulrich Hecht @ 2020-03-16 16:34 UTC (permalink / raw)
To: linux-renesas-soc
Cc: wsa, geert, fabrizio.castro, ramesh.shanmugasundaram, magnus.damm,
Ulrich Hecht
This adds facilities to mark clocks as "ignore used", i.e. never to be
turned off. The primary application is the RWDT clock, which needs to
remain on throughout the boot process if enabled by the bootloader.
Signed-off-by: Ulrich Hecht <uli+renesas@fpond.eu>
---
drivers/clk/renesas/renesas-cpg-mssr.c | 5 +++++
drivers/clk/renesas/renesas-cpg-mssr.h | 9 +++++++++
2 files changed, 14 insertions(+)
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
index a2663fb..046efc9 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.c
+++ b/drivers/clk/renesas/renesas-cpg-mssr.c
@@ -423,6 +423,11 @@ static void __init cpg_mssr_register_mod_clk(const struct mssr_mod_clk *mod,
init.flags |= CLK_IS_CRITICAL;
break;
}
+ for (i = 0; i < info->num_ignore_unused_mod_clks; i++)
+ if (id == info->ignore_unused_mod_clks[i]) {
+ init.flags |= CLK_IGNORE_UNUSED;
+ break;
+ }
parent_name = __clk_get_name(parent);
init.parent_names = &parent_name;
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.h b/drivers/clk/renesas/renesas-cpg-mssr.h
index 3b852ba..2a4b47e 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.h
+++ b/drivers/clk/renesas/renesas-cpg-mssr.h
@@ -105,6 +105,11 @@ struct device_node;
* @crit_mod_clks: Array with Module Clock IDs of critical clocks that
* should not be disabled without a knowledgeable driver
* @num_crit_mod_clks: Number of entries in crit_mod_clks[]
+ * @ignore_unused_mod_clks: Array with Module Clock IDs of clocks that
+ * should not be disabled even if they seem to
+ * be unused
+ * @num_ignore_unused_mod_clks: Number of entries in
+ * ignore_unused_mod_clks[]
*
* @core_pm_clks: Array with IDs of Core Clocks that are suitable for Power
* Management, in addition to Module Clocks
@@ -141,6 +146,10 @@ struct cpg_mssr_info {
const unsigned int *crit_mod_clks;
unsigned int num_crit_mod_clks;
+ /* Module Clocks that should not be disabled even if unused */
+ const unsigned int *ignore_unused_mod_clks;
+ unsigned int num_ignore_unused_mod_clks;
+
/* Core Clocks suitable for PM, in addition to the Module Clocks */
const unsigned int *core_pm_clks;
unsigned int num_core_pm_clks;
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/3] clk: renesas: rcar-gen3: mark RWDT clocks as ignore-unused
2020-03-16 16:34 [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 1/3] clk: renesas: cpg-mssr: add support for ignore-unused clocks Ulrich Hecht
@ 2020-03-16 16:34 ` Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 3/3] clk: renesas: rzg2: mark RWDT clock " Ulrich Hecht
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ulrich Hecht @ 2020-03-16 16:34 UTC (permalink / raw)
To: linux-renesas-soc
Cc: wsa, geert, fabrizio.castro, ramesh.shanmugasundaram, magnus.damm,
Ulrich Hecht
Ensures RWDT remains alert throughout the boot process if enabled.
This patch applies the change to the following SoCs: r8a7795,
r8a7796, r8a77965, r8a77970, r8a77980, r8a77990 and r8a77995.
Signed-off-by: Ulrich Hecht <uli+renesas@fpond.eu>
---
drivers/clk/renesas/r8a7795-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a7796-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a77965-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a77970-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a77980-cpg-mssr.c | 6 +++++-
drivers/clk/renesas/r8a77990-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a77995-cpg-mssr.c | 6 +++++-
7 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
index ff5b302..99db19e 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
@@ -289,7 +289,9 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
static const unsigned int r8a7795_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
-
+static const unsigned int r8a7795_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -484,6 +486,8 @@ const struct cpg_mssr_info r8a7795_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a7795_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a7795_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a7795_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a7795_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a7795_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a7796-cpg-mssr.c b/drivers/clk/renesas/r8a7796-cpg-mssr.c
index e8d466d..2a81174 100644
--- a/drivers/clk/renesas/r8a7796-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7796-cpg-mssr.c
@@ -264,7 +264,9 @@ static struct mssr_mod_clk r8a7796_mod_clks[] __initdata = {
static const unsigned int r8a7796_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
-
+static const unsigned int r8a7796_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -364,6 +366,8 @@ const struct cpg_mssr_info r8a7796_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a7796_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a7796_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a7796_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a7796_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a7796_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a77965-cpg-mssr.c b/drivers/clk/renesas/r8a77965-cpg-mssr.c
index 7a05a2f..541a932 100644
--- a/drivers/clk/renesas/r8a77965-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77965-cpg-mssr.c
@@ -265,6 +265,9 @@ static const struct mssr_mod_clk r8a77965_mod_clks[] __initconst = {
static const unsigned int r8a77965_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
+static const unsigned int r8a77965_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -350,6 +353,8 @@ const struct cpg_mssr_info r8a77965_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a77965_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a77965_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a77965_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a77965_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a77965_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a77970-cpg-mssr.c b/drivers/clk/renesas/r8a77970-cpg-mssr.c
index cbed376..402aae8 100644
--- a/drivers/clk/renesas/r8a77970-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77970-cpg-mssr.c
@@ -167,7 +167,9 @@ static const struct mssr_mod_clk r8a77970_mod_clks[] __initconst = {
static const unsigned int r8a77970_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
-
+static const unsigned int r8a77970_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -267,6 +269,8 @@ const struct cpg_mssr_info r8a77970_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a77970_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a77970_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a77970_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a77970_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a77970_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a77980-cpg-mssr.c b/drivers/clk/renesas/r8a77980-cpg-mssr.c
index 7227f67..80f3582 100644
--- a/drivers/clk/renesas/r8a77980-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77980-cpg-mssr.c
@@ -182,7 +182,9 @@ static const struct mssr_mod_clk r8a77980_mod_clks[] __initconst = {
static const unsigned int r8a77980_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
-
+static const unsigned int r8a77980_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -238,6 +240,8 @@ const struct cpg_mssr_info r8a77980_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a77980_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a77980_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a77980_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a77980_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a77980_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a77990-cpg-mssr.c b/drivers/clk/renesas/r8a77990-cpg-mssr.c
index 8eda2e3..0d5902c 100644
--- a/drivers/clk/renesas/r8a77990-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77990-cpg-mssr.c
@@ -247,6 +247,9 @@ static const struct mssr_mod_clk r8a77990_mod_clks[] __initconst = {
static const unsigned int r8a77990_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
+static const unsigned int r8a77990_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -296,6 +299,8 @@ const struct cpg_mssr_info r8a77990_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a77990_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a77990_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a77990_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a77990_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a77990_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a77995-cpg-mssr.c b/drivers/clk/renesas/r8a77995-cpg-mssr.c
index 056ebf3..c5277e1 100644
--- a/drivers/clk/renesas/r8a77995-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77995-cpg-mssr.c
@@ -185,7 +185,9 @@ static const struct mssr_mod_clk r8a77995_mod_clks[] __initconst = {
static const unsigned int r8a77995_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
-
+static const unsigned int r8a77995_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -235,6 +237,8 @@ const struct cpg_mssr_info r8a77995_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a77995_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a77995_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a77995_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a77995_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a77995_cpg_mssr_init,
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 3/3] clk: renesas: rzg2: mark RWDT clock as ignore-unused
2020-03-16 16:34 [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 1/3] clk: renesas: cpg-mssr: add support for ignore-unused clocks Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 2/3] clk: renesas: rcar-gen3: mark RWDT clocks as ignore-unused Ulrich Hecht
@ 2020-03-16 16:34 ` Ulrich Hecht
2020-03-18 13:47 ` [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Wolfram Sang
2020-03-18 19:33 ` Wolfram Sang
4 siblings, 0 replies; 6+ messages in thread
From: Ulrich Hecht @ 2020-03-16 16:34 UTC (permalink / raw)
To: linux-renesas-soc
Cc: wsa, geert, fabrizio.castro, ramesh.shanmugasundaram, magnus.damm,
Ulrich Hecht
Ensures RWDT remains alert throughout the boot process if enabled.
This patch applies the change to the following SoCs: r8a774a1,
r8a774b1 and r8a774c0.
Signed-off-by: Ulrich Hecht <uli+renesas@fpond.eu>
---
drivers/clk/renesas/r8a774a1-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a774b1-cpg-mssr.c | 5 +++++
drivers/clk/renesas/r8a774c0-cpg-mssr.c | 5 +++++
3 files changed, 15 insertions(+)
diff --git a/drivers/clk/renesas/r8a774a1-cpg-mssr.c b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
index e05bfa2..8573828 100644
--- a/drivers/clk/renesas/r8a774a1-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
@@ -239,6 +239,9 @@ static const struct mssr_mod_clk r8a774a1_mod_clks[] __initconst = {
static const unsigned int r8a774a1_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
+static const unsigned int r8a774a1_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -324,6 +327,8 @@ const struct cpg_mssr_info r8a774a1_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a774a1_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a774a1_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a774a1_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a774a1_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a774a1_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a774b1-cpg-mssr.c b/drivers/clk/renesas/r8a774b1-cpg-mssr.c
index c9af7091..20666ce 100644
--- a/drivers/clk/renesas/r8a774b1-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774b1-cpg-mssr.c
@@ -235,6 +235,9 @@ static const struct mssr_mod_clk r8a774b1_mod_clks[] __initconst = {
static const unsigned int r8a774b1_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
+static const unsigned int r8a774b1_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -320,6 +323,8 @@ const struct cpg_mssr_info r8a774b1_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a774b1_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a774b1_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a774b1_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a774b1_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a774b1_cpg_mssr_init,
diff --git a/drivers/clk/renesas/r8a774c0-cpg-mssr.c b/drivers/clk/renesas/r8a774c0-cpg-mssr.c
index f91e7a4..9cc5c50 100644
--- a/drivers/clk/renesas/r8a774c0-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774c0-cpg-mssr.c
@@ -240,6 +240,9 @@ static const struct mssr_mod_clk r8a774c0_mod_clks[] __initconst = {
static const unsigned int r8a774c0_crit_mod_clks[] __initconst = {
MOD_CLK_ID(408), /* INTC-AP (GIC) */
};
+static const unsigned int r8a774c0_ignore_unused_mod_clks[] __initconst = {
+ MOD_CLK_ID(402), /* RWDT */
+};
/*
* CPG Clock Data
@@ -289,6 +292,8 @@ const struct cpg_mssr_info r8a774c0_cpg_mssr_info __initconst = {
/* Critical Module Clocks */
.crit_mod_clks = r8a774c0_crit_mod_clks,
.num_crit_mod_clks = ARRAY_SIZE(r8a774c0_crit_mod_clks),
+ .ignore_unused_mod_clks = r8a774c0_ignore_unused_mod_clks,
+ .num_ignore_unused_mod_clks = ARRAY_SIZE(r8a774c0_ignore_unused_mod_clks),
/* Callbacks */
.init = r8a774c0_cpg_mssr_init,
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option
2020-03-16 16:34 [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Ulrich Hecht
` (2 preceding siblings ...)
2020-03-16 16:34 ` [PATCH v2 3/3] clk: renesas: rzg2: mark RWDT clock " Ulrich Hecht
@ 2020-03-18 13:47 ` Wolfram Sang
2020-03-18 19:33 ` Wolfram Sang
4 siblings, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2020-03-18 13:47 UTC (permalink / raw)
To: Ulrich Hecht
Cc: linux-renesas-soc, geert, fabrizio.castro,
ramesh.shanmugasundaram, magnus.damm
[-- Attachment #1: Type: text/plain, Size: 513 bytes --]
> This revision renames the data structure holding the ignore-unused clocks to
> something hopefully less confusing, squashes the changes for R-Car Gen3 and
> RZ/G2 into one patch each and removes redundant debug output. Functionally,
> nothing has changed. Thanks to Wolfram and Geert for the review!
Thanks for the update! Looks good from a visual review. I will do some
testing with the bootloader handover patch later and then give the
apropriate tags. Looking forward to have this topic finally solved :)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option
2020-03-16 16:34 [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Ulrich Hecht
` (3 preceding siblings ...)
2020-03-18 13:47 ` [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Wolfram Sang
@ 2020-03-18 19:33 ` Wolfram Sang
4 siblings, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2020-03-18 19:33 UTC (permalink / raw)
To: Ulrich Hecht
Cc: linux-renesas-soc, geert, fabrizio.castro,
ramesh.shanmugasundaram, magnus.damm
[-- Attachment #1: Type: text/plain, Size: 893 bytes --]
> The point of this is to allow a WDT that has been enabled by the bootloader
> to survive these events:
>
> - deferred probing of the WDT device, which can lead the clock driver
> to disable the WDT clock until the WDT is re-probed, giving it a
> blind spot
> - probe failure in the WDT driver
So, I was trying to test this with the watchdog driver and my patch[1].
To make the watchdog_register_device() call fail, I cleared the ident
struct:
priv->wdev.info = NULL; //&rwdt_ident;
Sadly, the watchdog does not fire after the driver bailed out of probe.
clk_summary rightfully says that the clock is neither prepared nor
enabled.
Did I miss something? I will try some more tomorrow.
Uli, how did you test the ignore_unused feature?
[1] https://patchwork.kernel.org/patch/11101573/
"[PATCH v2] watchdog: renesas_wdt: support handover from bootloader"
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-18 19:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-16 16:34 [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 1/3] clk: renesas: cpg-mssr: add support for ignore-unused clocks Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 2/3] clk: renesas: rcar-gen3: mark RWDT clocks as ignore-unused Ulrich Hecht
2020-03-16 16:34 ` [PATCH v2 3/3] clk: renesas: rzg2: mark RWDT clock " Ulrich Hecht
2020-03-18 13:47 ` [PATCH v2 0/3] clk: renesas: cpg-mssr: add ignore-unused option Wolfram Sang
2020-03-18 19:33 ` Wolfram Sang
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).