2023-03-10 16:49:11

by Oleksij Rempel

[permalink] [raw]
Subject: [PATCH v1] clk: imx6ul: fix "failed to get parent" error

On some configuration we may get following error:
[ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)

This happens if selector is configured to not supported value. To avoid
this warnings add dummy parents for not supported values.

Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
Signed-off-by: Oleksij Rempel <[email protected]>
---
drivers/clk/imx/clk-imx6ul.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/clk/imx/clk-imx6ul.c b/drivers/clk/imx/clk-imx6ul.c
index 2836adb817b7..e3696a88b5a3 100644
--- a/drivers/clk/imx/clk-imx6ul.c
+++ b/drivers/clk/imx/clk-imx6ul.c
@@ -95,14 +95,16 @@ static const struct clk_div_table video_div_table[] = {
{ }
};

-static const char * enet1_ref_sels[] = { "enet1_ref_125m", "enet1_ref_pad", };
+static const char * enet1_ref_sels[] = { "enet1_ref_125m", "enet1_ref_pad", "dummy", "dummy"};
static const u32 enet1_ref_sels_table[] = { IMX6UL_GPR1_ENET1_TX_CLK_DIR,
- IMX6UL_GPR1_ENET1_CLK_SEL };
+ IMX6UL_GPR1_ENET1_CLK_SEL, 0,
+ IMX6UL_GPR1_ENET1_TX_CLK_DIR | IMX6UL_GPR1_ENET1_CLK_SEL };
static const u32 enet1_ref_sels_table_mask = IMX6UL_GPR1_ENET1_TX_CLK_DIR |
IMX6UL_GPR1_ENET1_CLK_SEL;
-static const char * enet2_ref_sels[] = { "enet2_ref_125m", "enet2_ref_pad", };
+static const char * enet2_ref_sels[] = { "enet2_ref_125m", "enet2_ref_pad", "dummy", "dummy"};
static const u32 enet2_ref_sels_table[] = { IMX6UL_GPR1_ENET2_TX_CLK_DIR,
- IMX6UL_GPR1_ENET2_CLK_SEL };
+ IMX6UL_GPR1_ENET2_CLK_SEL, 0,
+ IMX6UL_GPR1_ENET2_TX_CLK_DIR | IMX6UL_GPR1_ENET2_CLK_SEL };
static const u32 enet2_ref_sels_table_mask = IMX6UL_GPR1_ENET2_TX_CLK_DIR |
IMX6UL_GPR1_ENET2_CLK_SEL;

--
2.30.2



2023-03-10 20:01:30

by Stefan Wahren

[permalink] [raw]
Subject: Re: [PATCH v1] clk: imx6ul: fix "failed to get parent" error

Am 10.03.23 um 17:45 schrieb Oleksij Rempel:
> On some configuration we may get following error:
> [ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>
> This happens if selector is configured to not supported value. To avoid
> this warnings add dummy parents for not supported values.
>
> Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
> Signed-off-by: Oleksij Rempel <[email protected]>

Reported-by: Stefan Wahren <[email protected]>
Tested-by: Stefan Wahren <[email protected]>


2023-03-12 12:58:00

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH v1] clk: imx6ul: fix "failed to get parent" error

> Subject: [PATCH v1] clk: imx6ul: fix "failed to get parent" error
>
> On some configuration we may get following error:
> [ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>
> This happens if selector is configured to not supported value. To avoid this
> warnings add dummy parents for not supported values.
>
> Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
> Signed-off-by: Oleksij Rempel <[email protected]>
[Peng Fan]

Reviewed-by: Peng Fan <[email protected]>
> ---
> drivers/clk/imx/clk-imx6ul.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clk/imx/clk-imx6ul.c b/drivers/clk/imx/clk-imx6ul.c index
> 2836adb817b7..e3696a88b5a3 100644
> --- a/drivers/clk/imx/clk-imx6ul.c
> +++ b/drivers/clk/imx/clk-imx6ul.c
> @@ -95,14 +95,16 @@ static const struct clk_div_table video_div_table[] = {
> { }
> };
>
> -static const char * enet1_ref_sels[] = { "enet1_ref_125m",
> "enet1_ref_pad", };
> +static const char * enet1_ref_sels[] = { "enet1_ref_125m",
> +"enet1_ref_pad", "dummy", "dummy"};
> static const u32 enet1_ref_sels_table[] =
> { IMX6UL_GPR1_ENET1_TX_CLK_DIR,
> - IMX6UL_GPR1_ENET1_CLK_SEL };
> + IMX6UL_GPR1_ENET1_CLK_SEL, 0,
> +
> IMX6UL_GPR1_ENET1_TX_CLK_DIR | IMX6UL_GPR1_ENET1_CLK_SEL };
> static const u32 enet1_ref_sels_table_mask =
> IMX6UL_GPR1_ENET1_TX_CLK_DIR |
> IMX6UL_GPR1_ENET1_CLK_SEL;
> -static const char * enet2_ref_sels[] = { "enet2_ref_125m",
> "enet2_ref_pad", };
> +static const char * enet2_ref_sels[] = { "enet2_ref_125m",
> +"enet2_ref_pad", "dummy", "dummy"};
> static const u32 enet2_ref_sels_table[] =
> { IMX6UL_GPR1_ENET2_TX_CLK_DIR,
> - IMX6UL_GPR1_ENET2_CLK_SEL };
> + IMX6UL_GPR1_ENET2_CLK_SEL, 0,
> +
> IMX6UL_GPR1_ENET2_TX_CLK_DIR | IMX6UL_GPR1_ENET2_CLK_SEL };
> static const u32 enet2_ref_sels_table_mask =
> IMX6UL_GPR1_ENET2_TX_CLK_DIR |
> IMX6UL_GPR1_ENET2_CLK_SEL;
>
> --
> 2.30.2


2023-03-20 21:28:10

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v1] clk: imx6ul: fix "failed to get parent" error

Quoting Oleksij Rempel (2023-03-10 08:45:23)
> On some configuration we may get following error:
> [ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>
> This happens if selector is configured to not supported value. To avoid
> this warnings add dummy parents for not supported values.
>
> Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
> Signed-off-by: Oleksij Rempel <[email protected]>
> ---

Applied to clk-fixes