File tree 2 files changed +3
-5
lines changed
2 files changed +3
-5
lines changed Original file line number Diff line number Diff line change @@ -74,9 +74,8 @@ void arm_gic_ack(rt_uint32_t index, int irq)
74
74
irq = irq - _gic_table [index ].offset ;
75
75
RT_ASSERT (irq >= 0 );
76
76
77
- GIC_DIST_ENABLE_CLEAR (_gic_table [index ].dist_hw_base , irq ) = mask ;
77
+ GIC_DIST_PENDING_CLEAR (_gic_table [index ].dist_hw_base , irq ) = mask ;
78
78
GIC_CPU_EOI (_gic_table [index ].cpu_hw_base ) = irq ;
79
- GIC_DIST_ENABLE_SET (_gic_table [index ].dist_hw_base , irq ) = mask ;
80
79
}
81
80
82
81
void arm_gic_mask (rt_uint32_t index , int irq )
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ static struct arm_gic _gic_table[ARM_GIC_MAX_NR];
37
37
#define GIC_DIST_ENABLE_SET (hw_base , n ) __REG32((hw_base) + 0x100 + (n/32) * 4)
38
38
#define GIC_DIST_ENABLE_CLEAR (hw_base , n ) __REG32((hw_base) + 0x180 + (n/32) * 4)
39
39
#define GIC_DIST_PENDING_SET (hw_base , n ) __REG32((hw_base) + 0x200)
40
- #define GIC_DIST_PENDING_CLEAR (hw_base , n ) __REG32((hw_base) + 0x280)
40
+ #define GIC_DIST_PENDING_CLEAR (hw_base , n ) __REG32((hw_base) + 0x280 + (n/32) * 4 )
41
41
#define GIC_DIST_ACTIVE_BIT (hw_base ) __REG32((hw_base) + 0x300)
42
42
#define GIC_DIST_PRI (hw_base , n ) __REG32((hw_base) + 0x400 + (n/4) * 4)
43
43
#define GIC_DIST_TARGET (hw_base , n ) __REG32((hw_base) + 0x800 + (n/4) * 4)
@@ -68,9 +68,8 @@ void arm_gic_ack(rt_uint32_t index, int irq)
68
68
irq = irq - _gic_table [index ].offset ;
69
69
RT_ASSERT (irq >= 0 );
70
70
71
- GIC_DIST_ENABLE_CLEAR (_gic_table [index ].dist_hw_base , irq ) = mask ;
71
+ GIC_DIST_PENDING_CLEAR (_gic_table [index ].dist_hw_base , irq ) = mask ;
72
72
GIC_CPU_EOI (_gic_table [index ].cpu_hw_base ) = irq ;
73
- GIC_DIST_ENABLE_SET (_gic_table [index ].dist_hw_base , irq ) = mask ;
74
73
}
75
74
76
75
void arm_gic_mask (rt_uint32_t index , int irq )
You can’t perform that action at this time.
0 commit comments