|
48 | 48 |
|
49 | 49 | #define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0)
|
50 | 50 |
|
| 51 | +static u32 lpi_id_bits; |
| 52 | + |
| 53 | +/* |
| 54 | + * We allocate memory for PROPBASE to cover 2 ^ lpi_id_bits LPIs to |
| 55 | + * deal with (one configuration byte per interrupt). PENDBASE has to |
| 56 | + * be 64kB aligned (one bit per LPI, plus 8192 bits for SPI/PPI/SGI). |
| 57 | + */ |
| 58 | +#define LPI_NRBITS lpi_id_bits |
| 59 | +#define LPI_PROPBASE_SZ ALIGN(BIT(LPI_NRBITS), SZ_64K) |
| 60 | +#define LPI_PENDBASE_SZ ALIGN(BIT(LPI_NRBITS) / 8, SZ_64K) |
| 61 | + |
| 62 | +#define LPI_PROP_DEFAULT_PRIO 0xa0 |
| 63 | + |
51 | 64 | /*
|
52 | 65 | * Collection structure - just an ID, and a redistributor address to
|
53 | 66 | * ping. We use one per CPU as a bag of interrupts assigned to this
|
@@ -701,7 +714,6 @@ static struct irq_chip its_irq_chip = {
|
701 | 714 |
|
702 | 715 | static unsigned long *lpi_bitmap;
|
703 | 716 | static u32 lpi_chunks;
|
704 |
| -static u32 lpi_id_bits; |
705 | 717 | static DEFINE_SPINLOCK(lpi_lock);
|
706 | 718 |
|
707 | 719 | static int its_lpi_to_chunk(int lpi)
|
@@ -796,17 +808,6 @@ static void its_lpi_free(struct event_lpi_map *map)
|
796 | 808 | kfree(map->col_map);
|
797 | 809 | }
|
798 | 810 |
|
799 |
| -/* |
800 |
| - * We allocate memory for PROPBASE to cover 2 ^ lpi_id_bits LPIs to |
801 |
| - * deal with (one configuration byte per interrupt). PENDBASE has to |
802 |
| - * be 64kB aligned (one bit per LPI, plus 8192 bits for SPI/PPI/SGI). |
803 |
| - */ |
804 |
| -#define LPI_NRBITS lpi_id_bits |
805 |
| -#define LPI_PROPBASE_SZ ALIGN(BIT(LPI_NRBITS), SZ_64K) |
806 |
| -#define LPI_PENDBASE_SZ ALIGN(BIT(LPI_NRBITS) / 8, SZ_64K) |
807 |
| - |
808 |
| -#define LPI_PROP_DEFAULT_PRIO 0xa0 |
809 |
| - |
810 | 811 | static int __init its_alloc_lpi_tables(void)
|
811 | 812 | {
|
812 | 813 | phys_addr_t paddr;
|
|
0 commit comments