[fix]:修复GICv2、GICv3中断触发模式设置无效的问题 (#7358)

This commit is contained in:
wangqinglin 2023-04-24 17:06:31 +08:00 committed by GitHub
parent ac07f40670
commit fbc1d6f4fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 4 deletions

View File

@ -195,7 +195,7 @@ void arm_gic_set_configuration(rt_uint64_t index, int irq, uint32_t config)
shift = (irq % 16U) << 1U; shift = (irq % 16U) << 1U;
icfgr &= (~(3U << shift)); icfgr &= (~(3U << shift));
icfgr |= (config << shift); icfgr |= (config << (shift + 1));
GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr; GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr;
} }

View File

@ -308,7 +308,7 @@ void arm_gic_set_configuration(rt_uint64_t index, int irq, rt_uint32_t config)
shift = (irq % 16) << 1; shift = (irq % 16) << 1;
icfgr &= (~(3 << shift)); icfgr &= (~(3 << shift));
icfgr |= (config << shift); icfgr |= (config << (shift + 1));
GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr; GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr;
} }

View File

@ -193,7 +193,7 @@ void arm_gic_set_configuration(rt_uint32_t index, int irq, rt_uint32_t config)
shift = (irq % 16U) << 1U; shift = (irq % 16U) << 1U;
icfgr &= (~(3U << shift)); icfgr &= (~(3U << shift));
icfgr |= (config << shift); icfgr |= (config << (shift + 1));
GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr; GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr;
} }

View File

@ -201,7 +201,7 @@ void arm_gic_set_configuration(rt_uint32_t index, int irq, rt_uint32_t config)
shift = (irq % 16U) << 1U; shift = (irq % 16U) << 1U;
icfgr &= (~(3U << shift)); icfgr &= (~(3U << shift));
icfgr |= (config << shift); icfgr |= (config << (shift + 1));
GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr; GIC_DIST_CONFIG(_gic_table[index].dist_hw_base, irq) = icfgr;
} }