Messages in this thread | | | Date | Wed, 16 Nov 2022 12:19:09 +0100 | Subject | Re: [PATCH 2/9] clk: qcom: gdsc: Add configurable poll timeout | From | Konrad Dybcio <> |
| |
On 16/11/2022 11:47, Abel Vesa wrote: > Depending on the platform, the poll timeout delay might be different, > so allow the platform specific drivers to specify their own values. > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > drivers/clk/qcom/gdsc.c | 5 ++++- > drivers/clk/qcom/gdsc.h | 1 + > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c > index 0f21a8a767ac..3753f3ef7241 100644 > --- a/drivers/clk/qcom/gdsc.c > +++ b/drivers/clk/qcom/gdsc.c > @@ -107,7 +107,7 @@ static int gdsc_poll_status(struct gdsc *sc, enum gdsc_status status) > do { > if (gdsc_check_status(sc, status)) > return 0; > - } while (ktime_us_delta(ktime_get(), start) < TIMEOUT_US); > + } while (ktime_us_delta(ktime_get(), start) < sc->poll_timeout); What about the second usage of TIMEOUT_US (in gdsc_toggle_logic)? Is it fine for that to be the default value?
Konrad > > if (gdsc_check_status(sc, status)) > return 0; > @@ -454,6 +454,9 @@ static int gdsc_init(struct gdsc *sc) > if (ret) > goto err_disable_supply; > > + if (!sc->poll_timeout) > + sc->poll_timeout = 500; > + > return 0; > > err_disable_supply: > diff --git a/drivers/clk/qcom/gdsc.h b/drivers/clk/qcom/gdsc.h > index 803512688336..9a1e1fb3d12f 100644 > --- a/drivers/clk/qcom/gdsc.h > +++ b/drivers/clk/qcom/gdsc.h > @@ -36,6 +36,7 @@ struct gdsc { > struct generic_pm_domain *parent; > struct regmap *regmap; > unsigned int gdscr; > + unsigned int poll_timeout; > unsigned int collapse_ctrl; > unsigned int collapse_mask; > unsigned int gds_hw_ctrl;
| |