|
|
@@ -815,6 +815,8 @@ static int its_alloc_tables(const char *node_name, struct its_node *its)
|
|
|
int psz = SZ_64K;
|
|
|
u64 shr = GITS_BASER_InnerShareable;
|
|
|
u64 cache = GITS_BASER_WaWb;
|
|
|
+ u64 typer = readq_relaxed(its->base + GITS_TYPER);
|
|
|
+ u32 ids = GITS_TYPER_DEVBITS(typer);
|
|
|
|
|
|
for (i = 0; i < GITS_BASER_NR_REGS; i++) {
|
|
|
u64 val = readq_relaxed(its->base + GITS_BASER + i * 8);
|
|
|
@@ -838,9 +840,6 @@ static int its_alloc_tables(const char *node_name, struct its_node *its)
|
|
|
* For other tables, only allocate a single page.
|
|
|
*/
|
|
|
if (type == GITS_BASER_TYPE_DEVICE) {
|
|
|
- u64 typer = readq_relaxed(its->base + GITS_TYPER);
|
|
|
- u32 ids = GITS_TYPER_DEVBITS(typer);
|
|
|
-
|
|
|
/*
|
|
|
* 'order' was initialized earlier to the default page
|
|
|
* granule of the the ITS. We can't have an allocation
|