mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 12:43:55 +08:00
m68k: sun3/sun3c: use legacy_timer_tick
These two are different from all other machines: * sun3 does not call timer_routine() but open-codes it except for the profile_tick() call that appears to be unintentionally missing. * sun3x has a commented-out timer irq handler but no functional timer tick I could find. Change both to calling the new legacy_timer_tick here, which includes the call to profile_tick() but does not fix sun3x as that is still commented out. Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
d644409404
commit
4a1c287aab
@ -99,6 +99,7 @@ config HP300
|
|||||||
config SUN3X
|
config SUN3X
|
||||||
bool "Sun3x support"
|
bool "Sun3x support"
|
||||||
depends on MMU
|
depends on MMU
|
||||||
|
select LEGACY_TIMER_TICK
|
||||||
select MMU_MOTOROLA if MMU
|
select MMU_MOTOROLA if MMU
|
||||||
select M68030
|
select M68030
|
||||||
help
|
help
|
||||||
@ -126,6 +127,7 @@ config SUN3
|
|||||||
depends on MMU
|
depends on MMU
|
||||||
depends on !MMU_MOTOROLA
|
depends on !MMU_MOTOROLA
|
||||||
select MMU_SUN3 if MMU
|
select MMU_SUN3 if MMU
|
||||||
|
select LEGACY_TIMER_TICK
|
||||||
select NO_DMA
|
select NO_DMA
|
||||||
select M68020
|
select M68020
|
||||||
help
|
help
|
||||||
|
@ -73,8 +73,7 @@ static irqreturn_t sun3_int5(int irq, void *dev_id)
|
|||||||
#ifdef CONFIG_SUN3
|
#ifdef CONFIG_SUN3
|
||||||
intersil_clear();
|
intersil_clear();
|
||||||
#endif
|
#endif
|
||||||
xtime_update(1);
|
legacy_timer_tick(1);
|
||||||
update_process_times(user_mode(get_irq_regs()));
|
|
||||||
cnt = kstat_irqs_cpu(irq, 0);
|
cnt = kstat_irqs_cpu(irq, 0);
|
||||||
if (!(cnt % 20))
|
if (!(cnt % 20))
|
||||||
sun3_leds(led_pattern[cnt % 160 / 20]);
|
sun3_leds(led_pattern[cnt % 160 / 20]);
|
||||||
|
@ -77,14 +77,13 @@ int sun3x_hwclk(int set, struct rtc_time *t)
|
|||||||
#if 0
|
#if 0
|
||||||
static irqreturn_t sun3x_timer_tick(int irq, void *dev_id)
|
static irqreturn_t sun3x_timer_tick(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
irq_handler_t timer_routine = dev_id;
|
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
/* Clear the pending interrupt - pulse the enable line low */
|
/* Clear the pending interrupt - pulse the enable line low */
|
||||||
disable_irq(5);
|
disable_irq(5);
|
||||||
enable_irq(5);
|
enable_irq(5);
|
||||||
timer_routine(0, NULL);
|
legacy_timer_tick(1);
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
Loading…
Reference in New Issue
Block a user