Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1409752

Re: [PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq before request_irq

From Daniel Lezcano <daniel.lezcano@linaro.org>
Newsgroups linux.kernel
Subject Re: [PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq before request_irq
Date 2016-05-31 01:20 +0200
Message-ID <rEEDw-2CK-13@gated-at.bofh.it> (permalink)
References <rCDLz-7RB-5@gated-at.bofh.it> <rCDLz-7RB-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 05/25/2016 11:49 AM, Caesar Wang wrote:
> From: Huang Tao <huangtao@rock-chips.com>
>
> rk_timer_interrupt_clear and rk_timer_disable is unnecessary before
> request_irq. Timer should keep disabled before booting Linux.

That's true in the perfect world :/ Some version has u-boot letting the 
timer with irq enabled, therefore as soon as request_irq is done, an irq 
fires and leads to a kernel panic.

On the other side, this timer is not used on the other rockchip version 
than rk3399 because of no need of a broadcast timer, so removing these 
two lines may be acceptable.

Can try the changes with another board, eg rk3288 (and forcing to use 
this timer). Can you do the test and confirm it does not break with 
different version of u-boot ?

Thanks!

   -- Daniel

> Signed-off-by: Huang Tao <huangtao@rock-chips.com>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Jianqun Xu <jay.xu@rock-chips.com>
> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
> ---
>
>   drivers/clocksource/rockchip_timer.c | 3 ---
>   1 file changed, 3 deletions(-)
>
> diff --git a/drivers/clocksource/rockchip_timer.c b/drivers/clocksource/rockchip_timer.c
> index b991b28..b93fed6 100644
> --- a/drivers/clocksource/rockchip_timer.c
> +++ b/drivers/clocksource/rockchip_timer.c
> @@ -158,9 +158,6 @@ static void __init rk_timer_init(struct device_node *np)
>   	ce->cpumask = cpumask_of(0);
>   	ce->rating = 250;
>
> -	rk_timer_interrupt_clear(ce);
> -	rk_timer_disable(ce);
> -
>   	ret = request_irq(irq, rk_timer_interrupt, IRQF_TIMER, TIMER_NAME, ce);
>   	if (ret) {
>   		pr_err("Failed to initialize '%s': %d\n", TIMER_NAME, ret);
>


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq before request_irq Caesar Wang <wxt@rock-chips.com> - 2016-05-25 12:00 +0200
  Re: [PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq  before request_irq Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-05-31 01:20 +0200
    Re: [PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq  before request_irq Doug Anderson <dianders@chromium.org> - 2016-05-31 19:10 +0200
      Re: [PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq  before request_irq Doug Anderson <dianders@chromium.org> - 2016-06-01 04:40 +0200
      Re: [PATCH 2/5] clocksource: rockchip: remove unnecessary clear irq  before request_irq "Huang, Tao" <huangtao@rock-chips.com> - 2016-06-01 04:40 +0200

csiph-web