Commit 63ad1ef4 authored by danh-arm's avatar danh-arm Committed by GitHub
Browse files

Merge pull request #672 from soby-mathew/sm/irouter_offset

GICv3: Fix the GICD_IROUTER offset
parents 405f42f9 61e30277
......@@ -141,6 +141,7 @@ static inline unsigned int gicd_read_pidr2(uintptr_t base)
static inline unsigned long long gicd_read_irouter(uintptr_t base, unsigned int id)
{
assert(id >= MIN_SPI_ID);
return mmio_read_64(base + GICD_IROUTER + (id << 3));
}
......@@ -148,6 +149,7 @@ static inline void gicd_write_irouter(uintptr_t base,
unsigned int id,
unsigned long long affinity)
{
assert(id >= MIN_SPI_ID);
mmio_write_64(base + GICD_IROUTER + (id << 3), affinity);
}
......
......@@ -55,7 +55,11 @@
#define GICD_SETSPI_SR 0x50
#define GICD_CLRSPI_SR 0x50
#define GICD_IGRPMODR 0xd00
#define GICD_IROUTER 0x6100
/*
* GICD_IROUTER<n> register is at 0x6000 + 8n, where n is the interrupt id and
* n >= 32, making the effective offset as 0x6100.
*/
#define GICD_IROUTER 0x6000
#define GICD_PIDR2_GICV3 0xffe8
#define IGRPMODR_SHIFT 5
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment