irqchip updates for 4.16-rc5
- IMX GPCv2 cleanup - GICv3 iomem annontation fixes - GICv3 ITS minimal ITE allocation now matching the LPIs'. -----BEGIN PGP SIGNATURE----- iQJJBAABCAAzFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAlqlMX0VHG1hcmMuenlu Z2llckBhcm0uY29tAAoJECPQ0LrRPXpDY7kP/0JWOR9fhN7q8bI7WWFIbOUQWuzA xKFg6SkrvEVS7LyCQ5CNqOAfkxOAh2jQL2W/IjFOXgL1ossP7QVzMA70m6x7GlUZ jtZsbo5+wBue+DHGDup/FDWekmb//ybJqoaMbmp3K1A9KzfivfUdg27d/4PCnVCB wd9cFhTcbjiOBwlrpznvkqnkwNYiUo3Sy1nJFsKjl4e0blNfWCi3AhsISjxob2dn 5C/2KvRsYTpfWswgu0w3C4jpv6eITPcN1kMYkwo+fuvpf+iwpaR9u7juKW3QJMXd MyS6lK6oov7lxAgDUInXRigomRPVjmsK01iHE1u7+XlmxyvWcZyk83qd6ewP5HGp zQbyUqXpp4VG+QsEyAwy4kUAHJIgVNXIfbdIFCFAvhV73X59pVQXVA+DaIlGyJQ4 S7T1+nvzMGAENRDiq+RRQYzgluFBgck5BsSHcYDyTgDcQILEoZlKNziyBx/+tudu 3DpljijChOObqFG0EdCzg4Q22Pre26bxmLKJnc7Pkwrb85stt/vUqo0HII/KRyyl bV26Sa6dFv8ZIb/smWzMQGyrjHBheRoCbNGWF7vsPgaD0O3iwKetczNJ0gC7lLC9 Yv6KIiygA+5+CLupdZDMZK2yfZE5NuEu/fv+zr7gjbHJpp9hSNEyrrdh1HpoeNf1 I2H2OGjFQX5zF+87 =6Nok -----END PGP SIGNATURE----- Merge tag 'irqchip-4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent Pull irqchip updates for 4.16-rc5 from Marc Zyngier - IMX GPCv2 cleanup - GICv3 iomem annontation fixes - GICv3 ITS minimal ITE allocation now matching the LPIs'.
This commit is contained in:
commit
a2f9e6500f
@ -1412,7 +1412,7 @@ static struct irq_chip its_irq_chip = {
|
||||
* This gives us (((1UL << id_bits) - 8192) >> 5) possible allocations.
|
||||
*/
|
||||
#define IRQS_PER_CHUNK_SHIFT 5
|
||||
#define IRQS_PER_CHUNK (1 << IRQS_PER_CHUNK_SHIFT)
|
||||
#define IRQS_PER_CHUNK (1UL << IRQS_PER_CHUNK_SHIFT)
|
||||
#define ITS_MAX_LPI_NRBITS 16 /* 64K LPIs */
|
||||
|
||||
static unsigned long *lpi_bitmap;
|
||||
@ -2119,11 +2119,10 @@ static struct its_device *its_create_device(struct its_node *its, u32 dev_id,
|
||||
|
||||
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
||||
/*
|
||||
* At least one bit of EventID is being used, hence a minimum
|
||||
* of two entries. No, the architecture doesn't let you
|
||||
* express an ITT with a single entry.
|
||||
* We allocate at least one chunk worth of LPIs bet device,
|
||||
* and thus that many ITEs. The device may require less though.
|
||||
*/
|
||||
nr_ites = max(2UL, roundup_pow_of_two(nvecs));
|
||||
nr_ites = max(IRQS_PER_CHUNK, roundup_pow_of_two(nvecs));
|
||||
sz = nr_ites * its->ite_size;
|
||||
sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1;
|
||||
itt = kzalloc(sz, GFP_KERNEL);
|
||||
@ -2495,7 +2494,7 @@ static int its_vpe_set_affinity(struct irq_data *d,
|
||||
|
||||
static void its_vpe_schedule(struct its_vpe *vpe)
|
||||
{
|
||||
void * __iomem vlpi_base = gic_data_rdist_vlpi_base();
|
||||
void __iomem *vlpi_base = gic_data_rdist_vlpi_base();
|
||||
u64 val;
|
||||
|
||||
/* Schedule the VPE */
|
||||
@ -2527,7 +2526,7 @@ static void its_vpe_schedule(struct its_vpe *vpe)
|
||||
|
||||
static void its_vpe_deschedule(struct its_vpe *vpe)
|
||||
{
|
||||
void * __iomem vlpi_base = gic_data_rdist_vlpi_base();
|
||||
void __iomem *vlpi_base = gic_data_rdist_vlpi_base();
|
||||
u32 count = 1000000; /* 1s! */
|
||||
bool clean;
|
||||
u64 val;
|
||||
|
@ -28,20 +28,6 @@ struct gpcv2_irqchip_data {
|
||||
|
||||
static struct gpcv2_irqchip_data *imx_gpcv2_instance;
|
||||
|
||||
/*
|
||||
* Interface for the low level wakeup code.
|
||||
*/
|
||||
u32 imx_gpcv2_get_wakeup_source(u32 **sources)
|
||||
{
|
||||
if (!imx_gpcv2_instance)
|
||||
return 0;
|
||||
|
||||
if (sources)
|
||||
*sources = imx_gpcv2_instance->wakeup_sources;
|
||||
|
||||
return IMR_NUM;
|
||||
}
|
||||
|
||||
static int gpcv2_wakeup_source_save(void)
|
||||
{
|
||||
struct gpcv2_irqchip_data *cd;
|
||||
|
Loading…
Reference in New Issue
Block a user