@@ -298,8 +298,8 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
298
298
status = readl_relaxed (gic_data_cpu_base (chip_data ) + GIC_CPU_INTACK );
299
299
raw_spin_unlock (& irq_controller_lock );
300
300
301
- gic_irq = (status & 0x3ff );
302
- if (gic_irq == 1023 )
301
+ gic_irq = (status & GICC_IAR_INT_ID_MASK );
302
+ if (gic_irq == GICC_INT_SPURIOUS )
303
303
goto out ;
304
304
305
305
cascade_irq = irq_find_mapping (chip_data -> domain , gic_irq );
@@ -360,7 +360,7 @@ static void __init gic_dist_init(struct gic_chip_data *gic)
360
360
unsigned int gic_irqs = gic -> gic_irqs ;
361
361
void __iomem * base = gic_data_dist_base (gic );
362
362
363
- writel_relaxed (0 , base + GIC_DIST_CTRL );
363
+ writel_relaxed (GICD_DISABLE , base + GIC_DIST_CTRL );
364
364
365
365
/*
366
366
* Set all global interrupts to this CPU only.
@@ -373,7 +373,7 @@ static void __init gic_dist_init(struct gic_chip_data *gic)
373
373
374
374
gic_dist_config (base , gic_irqs , NULL );
375
375
376
- writel_relaxed (1 , base + GIC_DIST_CTRL );
376
+ writel_relaxed (GICD_ENABLE , base + GIC_DIST_CTRL );
377
377
}
378
378
379
379
static void gic_cpu_init (struct gic_chip_data * gic )
@@ -400,8 +400,8 @@ static void gic_cpu_init(struct gic_chip_data *gic)
400
400
401
401
gic_cpu_config (dist_base , NULL );
402
402
403
- writel_relaxed (0xf0 , base + GIC_CPU_PRIMASK );
404
- writel_relaxed (1 , base + GIC_CPU_CTRL );
403
+ writel_relaxed (GICC_INT_PRI_THRESHOLD , base + GIC_CPU_PRIMASK );
404
+ writel_relaxed (GICC_ENABLE , base + GIC_CPU_CTRL );
405
405
}
406
406
407
407
void gic_cpu_if_down (void )
@@ -467,14 +467,14 @@ static void gic_dist_restore(unsigned int gic_nr)
467
467
if (!dist_base )
468
468
return ;
469
469
470
- writel_relaxed (0 , dist_base + GIC_DIST_CTRL );
470
+ writel_relaxed (GICD_DISABLE , dist_base + GIC_DIST_CTRL );
471
471
472
472
for (i = 0 ; i < DIV_ROUND_UP (gic_irqs , 16 ); i ++ )
473
473
writel_relaxed (gic_data [gic_nr ].saved_spi_conf [i ],
474
474
dist_base + GIC_DIST_CONFIG + i * 4 );
475
475
476
476
for (i = 0 ; i < DIV_ROUND_UP (gic_irqs , 4 ); i ++ )
477
- writel_relaxed (0xa0a0a0a0 ,
477
+ writel_relaxed (GICD_INT_DEF_PRI_X4 ,
478
478
dist_base + GIC_DIST_PRI + i * 4 );
479
479
480
480
for (i = 0 ; i < DIV_ROUND_UP (gic_irqs , 4 ); i ++ )
@@ -485,7 +485,7 @@ static void gic_dist_restore(unsigned int gic_nr)
485
485
writel_relaxed (gic_data [gic_nr ].saved_spi_enable [i ],
486
486
dist_base + GIC_DIST_ENABLE_SET + i * 4 );
487
487
488
- writel_relaxed (1 , dist_base + GIC_DIST_CTRL );
488
+ writel_relaxed (GICD_ENABLE , dist_base + GIC_DIST_CTRL );
489
489
}
490
490
491
491
static void gic_cpu_save (unsigned int gic_nr )
@@ -539,10 +539,11 @@ static void gic_cpu_restore(unsigned int gic_nr)
539
539
writel_relaxed (ptr [i ], dist_base + GIC_DIST_CONFIG + i * 4 );
540
540
541
541
for (i = 0 ; i < DIV_ROUND_UP (32 , 4 ); i ++ )
542
- writel_relaxed (0xa0a0a0a0 , dist_base + GIC_DIST_PRI + i * 4 );
542
+ writel_relaxed (GICD_INT_DEF_PRI_X4 ,
543
+ dist_base + GIC_DIST_PRI + i * 4 );
543
544
544
- writel_relaxed (0xf0 , cpu_base + GIC_CPU_PRIMASK );
545
- writel_relaxed (1 , cpu_base + GIC_CPU_CTRL );
545
+ writel_relaxed (GICC_INT_PRI_THRESHOLD , cpu_base + GIC_CPU_PRIMASK );
546
+ writel_relaxed (GICC_ENABLE , cpu_base + GIC_CPU_CTRL );
546
547
}
547
548
548
549
static int gic_notifier (struct notifier_block * self , unsigned long cmd , void * v )
0 commit comments