Message ID | 1443147298-12603-2-git-send-email-wxt@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/25/2015 04:14 AM, Caesar Wang wrote: > Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, > There are some failure with build up on timer driver for rockchip. > > Says: > /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand 1 -- > `dsb` > ... > > The problem was different semantics of dsb on btw arm32 and arm64, > Here we can convert the dsb with insteading of dsb(sy).The "sy" param > is the default which you are allow to omit, so on arm32 dsb()and dsb(sy) > are the same. > > Signed-off-by: Caesar Wang <wxt@rock-chips.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Hi Daniel, Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: > On 09/25/2015 04:14 AM, Caesar Wang wrote: > > Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, > > There are some failure with build up on timer driver for rockchip. > > > > Says: > > /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand 1 -- > > `dsb` > > ... > > > > The problem was different semantics of dsb on btw arm32 and arm64, > > Here we can convert the dsb with insteading of dsb(sy).The "sy" param > > is the default which you are allow to omit, so on arm32 dsb()and dsb(sy) > > are the same. > > > > Signed-off-by: Caesar Wang <wxt@rock-chips.com> > > Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> as you have "just" Acked these patches, I guess you are expecting them to go through the same tree as the devicetree changes, right? Thanks Heiko
Hi Daniel, ? 2015?10?01? 03:14, Heiko Stübner ??: > Hi Daniel, > > Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>> There are some failure with build up on timer driver for rockchip. >>> >>> Says: >>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand 1 -- >>> `dsb` >>> ... >>> >>> The problem was different semantics of dsb on btw arm32 and arm64, >>> Here we can convert the dsb with insteading of dsb(sy).The "sy" param >>> is the default which you are allow to omit, so on arm32 dsb()and dsb(sy) >>> are the same. >>> >>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> > as you have "just" Acked these patches, I guess you are expecting them to go > through the same tree as the devicetree changes, right? I'm wonder if someone will apply this series patchs but the wait.:-) In fact, I'm no sure that the Acked is really meaning.:- > > Thanks > Heiko > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip
On 10/30/2015 04:43 AM, Caesar Wang wrote: > Hi Daniel, > > ? 2015?10?01? 03:14, Heiko Stübner ??: >> Hi Daniel, >> >> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >>> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>>> There are some failure with build up on timer driver for rockchip. >>>> >>>> Says: >>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand >>>> 1 -- >>>> `dsb` >>>> ... >>>> >>>> The problem was different semantics of dsb on btw arm32 and arm64, >>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" param >>>> is the default which you are allow to omit, so on arm32 dsb()and >>>> dsb(sy) >>>> are the same. >>>> >>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> >> as you have "just" Acked these patches, I guess you are expecting them >> to go >> through the same tree as the devicetree changes, right? > > I'm wonder if someone will apply this series patchs but the wait.:-) > In fact, I'm no sure that the Acked is really meaning.:- Yes, by acking the patch I say I am ok with it and I agree it can go through another tree. I suggest before sending patches you read carefully the file Documentation/SubmittingPatches. Especially, 11), 12) and 13). Thanks. -- Daniel
Hi Daniel, Am Freitag, 30. Oktober 2015, 11:42:29 schrieb Daniel Lezcano: > On 10/30/2015 04:43 AM, Caesar Wang wrote: > > Hi Daniel, > > > > ? 2015?10?01? 03:14, Heiko Stübner ??: > >> Hi Daniel, > >> > >> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: > >>> On 09/25/2015 04:14 AM, Caesar Wang wrote: > >>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, > >>>> There are some failure with build up on timer driver for rockchip. > >>>> > >>>> Says: > >>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand > >>>> 1 -- > >>>> `dsb` > >>>> ... > >>>> > >>>> The problem was different semantics of dsb on btw arm32 and arm64, > >>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" param > >>>> is the default which you are allow to omit, so on arm32 dsb()and > >>>> dsb(sy) > >>>> are the same. > >>>> > >>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> > >>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> > >> as you have "just" Acked these patches, I guess you are expecting them > >> to go > >> through the same tree as the devicetree changes, right? > > > > I'm wonder if someone will apply this series patchs but the wait.:-) > > In fact, I'm no sure that the Acked is really meaning.:- > > Yes, by acking the patch I say I am ok with it and I agree it can go > through another tree. although I guess the two clocksource changes could very well just go through your tree. dsb() -> dsb(sy) is supposed to be equal and the second one is just cosmetics. The Kconfig and dts changes need to wait in any case for 4.5 ... but I guess that may be true for the clocksource changes as well? Heiko
On 10/31/2015 12:47 AM, Heiko Stuebner wrote: > Hi Daniel, > > Am Freitag, 30. Oktober 2015, 11:42:29 schrieb Daniel Lezcano: >> On 10/30/2015 04:43 AM, Caesar Wang wrote: >>> Hi Daniel, >>> >>> ? 2015?10?01? 03:14, Heiko Stübner ??: >>>> Hi Daniel, >>>> >>>> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >>>>> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>>>>> There are some failure with build up on timer driver for rockchip. >>>>>> >>>>>> Says: >>>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand >>>>>> 1 -- >>>>>> `dsb` >>>>>> ... >>>>>> >>>>>> The problem was different semantics of dsb on btw arm32 and arm64, >>>>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" param >>>>>> is the default which you are allow to omit, so on arm32 dsb()and >>>>>> dsb(sy) >>>>>> are the same. >>>>>> >>>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >>>>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> >>>> as you have "just" Acked these patches, I guess you are expecting them >>>> to go >>>> through the same tree as the devicetree changes, right? >>> >>> I'm wonder if someone will apply this series patchs but the wait.:-) >>> In fact, I'm no sure that the Acked is really meaning.:- >> >> Yes, by acking the patch I say I am ok with it and I agree it can go >> through another tree. > > although I guess the two clocksource changes could very well just go > through your tree. dsb() -> dsb(sy) is supposed to be equal and the second > one is just cosmetics. The Kconfig and dts changes need to wait in any case > for 4.5 ... but I guess that may be true for the clocksource changes as well? Ok, I will take the two first patches through my tree. Thanks -- Daniel
On 10/31/2015 12:47 AM, Heiko Stuebner wrote: > Hi Daniel, > > Am Freitag, 30. Oktober 2015, 11:42:29 schrieb Daniel Lezcano: >> On 10/30/2015 04:43 AM, Caesar Wang wrote: >>> Hi Daniel, >>> >>> ? 2015?10?01? 03:14, Heiko Stübner ??: >>>> Hi Daniel, >>>> >>>> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >>>>> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>>>>> There are some failure with build up on timer driver for rockchip. >>>>>> >>>>>> Says: >>>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand >>>>>> 1 -- >>>>>> `dsb` >>>>>> ... >>>>>> >>>>>> The problem was different semantics of dsb on btw arm32 and arm64, >>>>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" param >>>>>> is the default which you are allow to omit, so on arm32 dsb()and >>>>>> dsb(sy) >>>>>> are the same. >>>>>> >>>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >>>>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> >>>> as you have "just" Acked these patches, I guess you are expecting them >>>> to go >>>> through the same tree as the devicetree changes, right? >>> >>> I'm wonder if someone will apply this series patchs but the wait.:-) >>> In fact, I'm no sure that the Acked is really meaning.:- >> >> Yes, by acking the patch I say I am ok with it and I agree it can go >> through another tree. > > although I guess the two clocksource changes could very well just go > through your tree. dsb() -> dsb(sy) is supposed to be equal and the second > one is just cosmetics. The Kconfig and dts changes need to wait in any case > for 4.5 ... but I guess that may be true for the clocksource changes as well? Heiko, Caesar, I am wondering if the dsb() is really necessary. Is it possible you test the timer by removing this instruction ? Otherwise I will have to setup my board again and it will take awhile.
Daniel, ? 2015?11?03? 01:28, Daniel Lezcano ??: > On 10/31/2015 12:47 AM, Heiko Stuebner wrote: >> Hi Daniel, >> >> Am Freitag, 30. Oktober 2015, 11:42:29 schrieb Daniel Lezcano: >>> On 10/30/2015 04:43 AM, Caesar Wang wrote: >>>> Hi Daniel, >>>> >>>> ? 2015?10?01? 03:14, Heiko Stübner ??: >>>>> Hi Daniel, >>>>> >>>>> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >>>>>> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>>>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>>>>>> There are some failure with build up on timer driver for rockchip. >>>>>>> >>>>>>> Says: >>>>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand >>>>>>> 1 -- >>>>>>> `dsb` >>>>>>> ... >>>>>>> >>>>>>> The problem was different semantics of dsb on btw arm32 and arm64, >>>>>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" >>>>>>> param >>>>>>> is the default which you are allow to omit, so on arm32 dsb()and >>>>>>> dsb(sy) >>>>>>> are the same. >>>>>>> >>>>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >>>>>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> >>>>> as you have "just" Acked these patches, I guess you are expecting >>>>> them >>>>> to go >>>>> through the same tree as the devicetree changes, right? >>>> >>>> I'm wonder if someone will apply this series patchs but the wait.:-) >>>> In fact, I'm no sure that the Acked is really meaning.:- >>> >>> Yes, by acking the patch I say I am ok with it and I agree it can go >>> through another tree. >> >> although I guess the two clocksource changes could very well just go >> through your tree. dsb() -> dsb(sy) is supposed to be equal and the >> second >> one is just cosmetics. The Kconfig and dts changes need to wait in >> any case >> for 4.5 ... but I guess that may be true for the clocksource changes >> as well? > > Heiko, Caesar, > > I am wondering if the dsb() is really necessary. Is it possible you > test the timer by removing this instruction ? Otherwise I will have to > setup my board again and it will take awhile. > As the @Arnd suggestion, That's seem ok for me. Although the writel_relaxed() and writel() a bit different with DSB() and L2's sync. Do I need send the patch v3? I will test that on my board. I'm no sure that why the clocksource driver didn't use the writel_relaxed() to work. Okay, I think we should according to the suggestion or required.
On 11/03/2015 03:00 AM, Caesar Wang wrote: > Daniel, > > ? 2015?11?03? 01:28, Daniel Lezcano ??: >> On 10/31/2015 12:47 AM, Heiko Stuebner wrote: >>> Hi Daniel, >>> >>> Am Freitag, 30. Oktober 2015, 11:42:29 schrieb Daniel Lezcano: >>>> On 10/30/2015 04:43 AM, Caesar Wang wrote: >>>>> Hi Daniel, >>>>> >>>>> ? 2015?10?01? 03:14, Heiko Stübner ??: >>>>>> Hi Daniel, >>>>>> >>>>>> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >>>>>>> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>>>>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>>>>>>> There are some failure with build up on timer driver for rockchip. >>>>>>>> >>>>>>>> Says: >>>>>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand >>>>>>>> 1 -- >>>>>>>> `dsb` >>>>>>>> ... >>>>>>>> >>>>>>>> The problem was different semantics of dsb on btw arm32 and arm64, >>>>>>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" >>>>>>>> param >>>>>>>> is the default which you are allow to omit, so on arm32 dsb()and >>>>>>>> dsb(sy) >>>>>>>> are the same. >>>>>>>> >>>>>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >>>>>>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> >>>>>> as you have "just" Acked these patches, I guess you are expecting >>>>>> them >>>>>> to go >>>>>> through the same tree as the devicetree changes, right? >>>>> >>>>> I'm wonder if someone will apply this series patchs but the wait.:-) >>>>> In fact, I'm no sure that the Acked is really meaning.:- >>>> >>>> Yes, by acking the patch I say I am ok with it and I agree it can go >>>> through another tree. >>> >>> although I guess the two clocksource changes could very well just go >>> through your tree. dsb() -> dsb(sy) is supposed to be equal and the >>> second >>> one is just cosmetics. The Kconfig and dts changes need to wait in >>> any case >>> for 4.5 ... but I guess that may be true for the clocksource changes >>> as well? >> >> Heiko, Caesar, >> >> I am wondering if the dsb() is really necessary. Is it possible you >> test the timer by removing this instruction ? Otherwise I will have to >> setup my board again and it will take awhile. >> > > As the @Arnd suggestion, > > That's seem ok for me. > Although the writel_relaxed() and writel() a bit different with DSB() > and L2's sync. > > Do I need send the patch v3? I will test that on my board. > > I'm no sure that why the clocksource driver didn't use the > writel_relaxed() to work. > Okay, I think we should according to the suggestion or required. I think the patch is trivial enough I can do the change myself if you test the change on your side. But it would be a good practice to send the patch you have tested. Up to you ;) Thanks ! -- Daniel
? 2015?11?03? 16:32, Daniel Lezcano ??: > On 11/03/2015 03:00 AM, Caesar Wang wrote: >> Daniel, >> >> ? 2015?11?03? 01:28, Daniel Lezcano ??: >>> On 10/31/2015 12:47 AM, Heiko Stuebner wrote: >>>> Hi Daniel, >>>> >>>> Am Freitag, 30. Oktober 2015, 11:42:29 schrieb Daniel Lezcano: >>>>> On 10/30/2015 04:43 AM, Caesar Wang wrote: >>>>>> Hi Daniel, >>>>>> >>>>>> ? 2015?10?01? 03:14, Heiko Stübner ??: >>>>>>> Hi Daniel, >>>>>>> >>>>>>> Am Dienstag, 29. September 2015, 06:18:03 schrieb Daniel Lezcano: >>>>>>>> On 09/25/2015 04:14 AM, Caesar Wang wrote: >>>>>>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, >>>>>>>>> There are some failure with build up on timer driver for >>>>>>>>> rockchip. >>>>>>>>> >>>>>>>>> Says: >>>>>>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at >>>>>>>>> operand >>>>>>>>> 1 -- >>>>>>>>> `dsb` >>>>>>>>> ... >>>>>>>>> >>>>>>>>> The problem was different semantics of dsb on btw arm32 and >>>>>>>>> arm64, >>>>>>>>> Here we can convert the dsb with insteading of dsb(sy).The "sy" >>>>>>>>> param >>>>>>>>> is the default which you are allow to omit, so on arm32 dsb()and >>>>>>>>> dsb(sy) >>>>>>>>> are the same. >>>>>>>>> >>>>>>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com> >>>>>>>> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> >>>>>>> as you have "just" Acked these patches, I guess you are expecting >>>>>>> them >>>>>>> to go >>>>>>> through the same tree as the devicetree changes, right? >>>>>> >>>>>> I'm wonder if someone will apply this series patchs but the wait.:-) >>>>>> In fact, I'm no sure that the Acked is really meaning.:- >>>>> >>>>> Yes, by acking the patch I say I am ok with it and I agree it can go >>>>> through another tree. >>>> >>>> although I guess the two clocksource changes could very well just go >>>> through your tree. dsb() -> dsb(sy) is supposed to be equal and the >>>> second >>>> one is just cosmetics. The Kconfig and dts changes need to wait in >>>> any case >>>> for 4.5 ... but I guess that may be true for the clocksource changes >>>> as well? >>> >>> Heiko, Caesar, >>> >>> I am wondering if the dsb() is really necessary. Is it possible you >>> test the timer by removing this instruction ? Otherwise I will have to >>> setup my board again and it will take awhile. >>> >> >> As the @Arnd suggestion, >> >> That's seem ok for me. >> Although the writel_relaxed() and writel() a bit different with DSB() >> and L2's sync. >> >> Do I need send the patch v3? I will test that on my board. >> >> I'm no sure that why the clocksource driver didn't use the >> writel_relaxed() to work. >> Okay, I think we should according to the suggestion or required. > > I think the patch is trivial enough I can do the change myself if you > test the change on your side. But it would be a good practice to send > the patch you have tested. Up to you ;) > Yup, that's also happy work. Feel free add my test tag if you remove the dsb(). Tested-by: Caesar Wang <wxt@rock-chips.com> Thanks your send! > Thanks ! > > -- Daniel > >
diff --git a/drivers/clocksource/rockchip_timer.c b/drivers/clocksource/rockchip_timer.c index bb2c2b0..3ace7ac 100644 --- a/drivers/clocksource/rockchip_timer.c +++ b/drivers/clocksource/rockchip_timer.c @@ -49,14 +49,14 @@ static inline void __iomem *rk_base(struct clock_event_device *ce) static inline void rk_timer_disable(struct clock_event_device *ce) { writel_relaxed(TIMER_DISABLE, rk_base(ce) + TIMER_CONTROL_REG); - dsb(); + dsb(sy); } static inline void rk_timer_enable(struct clock_event_device *ce, u32 flags) { writel_relaxed(TIMER_ENABLE | TIMER_INT_UNMASK | flags, rk_base(ce) + TIMER_CONTROL_REG); - dsb(); + dsb(sy); } static void rk_timer_update_counter(unsigned long cycles, @@ -64,13 +64,13 @@ static void rk_timer_update_counter(unsigned long cycles, { writel_relaxed(cycles, rk_base(ce) + TIMER_LOAD_COUNT0); writel_relaxed(0, rk_base(ce) + TIMER_LOAD_COUNT1); - dsb(); + dsb(sy); } static void rk_timer_interrupt_clear(struct clock_event_device *ce) { writel_relaxed(1, rk_base(ce) + TIMER_INT_STATUS); - dsb(); + dsb(sy); } static inline int rk_timer_set_next_event(unsigned long cycles,
Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform, There are some failure with build up on timer driver for rockchip. Says: /tmp/ccdAnNy5.s:47: Error: missing immediate expression at operand 1 -- `dsb` ... The problem was different semantics of dsb on btw arm32 and arm64, Here we can convert the dsb with insteading of dsb(sy).The "sy" param is the default which you are allow to omit, so on arm32 dsb()and dsb(sy) are the same. Signed-off-by: Caesar Wang <wxt@rock-chips.com> --- Changes in v2: - As Heiko/Daniel comments, let's split it into two patch. Changes in v1: - As Russell, Thomas, Daniel comments, let's replace NO_IRQ by '!irq'. drivers/clocksource/rockchip_timer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)