Message ID | 20201007181407.46889-2-zhouyanjie@wanyeetech.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | Add macro definition for the upcoming new OST driver. | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | total: 0 errors, 2 warnings, 19 lines checked |
On Thu, Oct 08, 2020 at 02:14:07AM +0800, 周琰杰 (Zhou Yanjie) wrote: > The new OST has one global timer and two or four percpu timers, so there will be three > combinations in the upcoming new OST driver: the original GLOBAL_TIMER + PERCPU_TIMER, > the new GLOBAL_TIMER + PERCPU_TIMER0/1 and GLOBAL_TIMER + PERCPU_TIMER0/1/2/3, For this, > add the macro definition about OST_CLK_PERCPU_TIMER0/1/2/3. And in order to ensure that > all the combinations work normally, the original ABI values of OST_CLK_PERCPU_TIMER and > OST_CLK_GLOBAL_TIMER need to be exchanged to ensure that in any combinations, the clock > can be registered (by calling clk_hw_register()) from index 0. Wrap lines at <80 characters. > > I'm sure that exchanging the ABI values of OST_CLK_PERCPU_TIMER and OST_CLK_GLOBAL_TIMER > will not affect the existing related drivers and the SoCs whitch using these drivers, so > we should be able to exchange them safely. Why exactly is this okay? > > Tested-by: 周正 (Zhou Zheng) <sernia.zhou@foxmail.com> > Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> > --- > include/dt-bindings/clock/ingenic,sysost.h | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/include/dt-bindings/clock/ingenic,sysost.h b/include/dt-bindings/clock/ingenic,sysost.h > index 9ac88e90babf..063791b01ab3 100644 > --- a/include/dt-bindings/clock/ingenic,sysost.h > +++ b/include/dt-bindings/clock/ingenic,sysost.h > @@ -1,12 +1,16 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > /* > - * This header provides clock numbers for the ingenic,tcu DT binding. > + * This header provides clock numbers for the Ingenic OST DT binding. > */ > > #ifndef __DT_BINDINGS_CLOCK_INGENIC_OST_H__ > #define __DT_BINDINGS_CLOCK_INGENIC_OST_H__ > > -#define OST_CLK_PERCPU_TIMER 0 > -#define OST_CLK_GLOBAL_TIMER 1 > +#define OST_CLK_PERCPU_TIMER 1 > +#define OST_CLK_GLOBAL_TIMER 0 > +#define OST_CLK_PERCPU_TIMER0 1 > +#define OST_CLK_PERCPU_TIMER1 2 > +#define OST_CLK_PERCPU_TIMER2 3 > +#define OST_CLK_PERCPU_TIMER3 4 > > #endif /* __DT_BINDINGS_CLOCK_INGENIC_OST_H__ */ > -- > 2.11.0 >
Hi Rob, 在 2020/10/13 下午9:29, Rob Herring 写道: > On Thu, Oct 08, 2020 at 02:14:07AM +0800, 周琰杰 (Zhou Yanjie) wrote: >> The new OST has one global timer and two or four percpu timers, so there will be three >> combinations in the upcoming new OST driver: the original GLOBAL_TIMER + PERCPU_TIMER, >> the new GLOBAL_TIMER + PERCPU_TIMER0/1 and GLOBAL_TIMER + PERCPU_TIMER0/1/2/3, For this, >> add the macro definition about OST_CLK_PERCPU_TIMER0/1/2/3. And in order to ensure that >> all the combinations work normally, the original ABI values of OST_CLK_PERCPU_TIMER and >> OST_CLK_GLOBAL_TIMER need to be exchanged to ensure that in any combinations, the clock >> can be registered (by calling clk_hw_register()) from index 0. > Wrap lines at <80 characters. Sorry, I will fix it in the next version. > >> I'm sure that exchanging the ABI values of OST_CLK_PERCPU_TIMER and OST_CLK_GLOBAL_TIMER >> will not affect the existing related drivers and the SoCs whitch using these drivers, so >> we should be able to exchange them safely. > Why exactly is this okay? These definitions are currently only used in two places, one is when using "assigned-clocks" to configure the clock in the DTS file; the other is when registering the clock in the sysost driver. When exchanging the values of "OST_CLK_PERCPU_TIMER" and "OST_CLK_GLOBAL_TIMER", the corresponding values will be changed synchronously when the clock is driven to register and when the clock is configured through "assigned-clocks". Therefore, there is no situation that causes the wrong clock to the configured. And it has been tested on X1000 and X1000 and X1830 SoCs, all working fine. I'm sorry because I didn't think carefully when writing this header file, and caused the current trouble. Thanks and best regards! >> Tested-by: 周正 (Zhou Zheng) <sernia.zhou@foxmail.com> >> Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com> >> --- >> include/dt-bindings/clock/ingenic,sysost.h | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/include/dt-bindings/clock/ingenic,sysost.h b/include/dt-bindings/clock/ingenic,sysost.h >> index 9ac88e90babf..063791b01ab3 100644 >> --- a/include/dt-bindings/clock/ingenic,sysost.h >> +++ b/include/dt-bindings/clock/ingenic,sysost.h >> @@ -1,12 +1,16 @@ >> /* SPDX-License-Identifier: GPL-2.0 */ >> /* >> - * This header provides clock numbers for the ingenic,tcu DT binding. >> + * This header provides clock numbers for the Ingenic OST DT binding. >> */ >> >> #ifndef __DT_BINDINGS_CLOCK_INGENIC_OST_H__ >> #define __DT_BINDINGS_CLOCK_INGENIC_OST_H__ >> >> -#define OST_CLK_PERCPU_TIMER 0 >> -#define OST_CLK_GLOBAL_TIMER 1 >> +#define OST_CLK_PERCPU_TIMER 1 >> +#define OST_CLK_GLOBAL_TIMER 0 >> +#define OST_CLK_PERCPU_TIMER0 1 >> +#define OST_CLK_PERCPU_TIMER1 2 >> +#define OST_CLK_PERCPU_TIMER2 3 >> +#define OST_CLK_PERCPU_TIMER3 4 >> >> #endif /* __DT_BINDINGS_CLOCK_INGENIC_OST_H__ */ >> -- >> 2.11.0 >>
diff --git a/include/dt-bindings/clock/ingenic,sysost.h b/include/dt-bindings/clock/ingenic,sysost.h index 9ac88e90babf..063791b01ab3 100644 --- a/include/dt-bindings/clock/ingenic,sysost.h +++ b/include/dt-bindings/clock/ingenic,sysost.h @@ -1,12 +1,16 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * This header provides clock numbers for the ingenic,tcu DT binding. + * This header provides clock numbers for the Ingenic OST DT binding. */ #ifndef __DT_BINDINGS_CLOCK_INGENIC_OST_H__ #define __DT_BINDINGS_CLOCK_INGENIC_OST_H__ -#define OST_CLK_PERCPU_TIMER 0 -#define OST_CLK_GLOBAL_TIMER 1 +#define OST_CLK_PERCPU_TIMER 1 +#define OST_CLK_GLOBAL_TIMER 0 +#define OST_CLK_PERCPU_TIMER0 1 +#define OST_CLK_PERCPU_TIMER1 2 +#define OST_CLK_PERCPU_TIMER2 3 +#define OST_CLK_PERCPU_TIMER3 4 #endif /* __DT_BINDINGS_CLOCK_INGENIC_OST_H__ */