gpio: merrifield: Switch over to MSI interrupts
PATCH 1/2 gpio: merrifield: Switch over to MSI interrupts
Some devices may support MSI interrupts. Let's at least try to use them in platforms that provide MSI capability.
Signed-off-by Andy Shevchenko <[email protected]>
--- drivers/gpio/gpio-merrifield.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/gpio/gpio-merrifield.c +5 -1
@@ -473,6 +473,10 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *idraw_spin_lock_init (&priv->lock); + ret =pci_alloc_irq_vectors (pdev,1 ,1 ,PCI_IRQ_ALL_TYPES ); +if (ret <0 ) +return ret; + girq = &priv->chip.irq; girq->chip = &mrfld_irqchip; girq->init_hw = mrfld_irq_init_hw;
@@ -482,7 +486,7 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id sizeof(*girq->parents), GFP_KERNEL);if (!girq->parents)return -ENOMEM ; - girq->parents[0 ] = pdev->irq; + girq->parents[0 ] =pci_irq_vector (pdev,0 ); girq->first = irq_base; girq->default_type =IRQ_TYPE_NONE ; girq->handler = handle_bad_irq;
Signature · 1 line
2.25.1
PATCH 2/2 gpio: merrifield: Better show how GPIO and IRQ bases are derived from hardware
It's a bit hard to realize what the BAR1 is for and what is the layout of the data in it. Be slightly more verbose to better show how GPIO and IRQ bases are derived from the hardware.
Signed-off-by Andy Shevchenko <[email protected]>
--- drivers/gpio/gpio-merrifield.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/gpio/gpio-merrifield.c +2 -2
@@ -443,8 +443,8 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id base =pcim_iomap_table (pdev)[1 ]; - irq_base =readl (base); - gpio_base =readl (sizeof (u32) + base); + irq_base =readl (base +0 *sizeof (u32)); + gpio_base =readl (base +1 *sizeof (u32));/* Release the IO mapping, since we already get the info from BAR1 */ pcim_iounmap_regions (pdev,BIT (1 ));
Signature · 1 line
2.25.1
Quoted 2 lines · Andy Shevchenko
Some devices may support MSI interrupts. Let's at least try to use them in platforms that provide MSI capability.
This is wrong patch, please ignore.
I'll send v2 soon.
Signature · 2 lines
With Best Regards, Andy Shevchenko