* [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts
@ 2020-04-08 15:23 Andy Shevchenko
2020-04-08 15:23 ` [PATCH v1 2/2] gpio: merrifield: Better show how GPIO and IRQ bases are derived from hardware Andy Shevchenko
2020-04-08 15:41 ` [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts Andy Shevchenko
0 siblings, 2 replies; 3+ messages in thread
From: Andy Shevchenko @ 2020-04-08 15:23 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, linux-gpio; +Cc: Andy Shevchenko
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 <andriy.shevchenko@linux.intel.com>
---
drivers/gpio/gpio-merrifield.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-merrifield.c b/drivers/gpio/gpio-merrifield.c
index 48918a016cd8..1f0cf909ea40 100644
--- a/drivers/gpio/gpio-merrifield.c
+++ b/drivers/gpio/gpio-merrifield.c
@@ -473,6 +473,10 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id
raw_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;
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v1 2/2] gpio: merrifield: Better show how GPIO and IRQ bases are derived from hardware
2020-04-08 15:23 [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts Andy Shevchenko
@ 2020-04-08 15:23 ` Andy Shevchenko
2020-04-08 15:41 ` [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts Andy Shevchenko
1 sibling, 0 replies; 3+ messages in thread
From: Andy Shevchenko @ 2020-04-08 15:23 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, linux-gpio; +Cc: Andy Shevchenko
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 <andriy.shevchenko@linux.intel.com>
---
drivers/gpio/gpio-merrifield.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-merrifield.c b/drivers/gpio/gpio-merrifield.c
index 1f0cf909ea40..cdd782a186aa 100644
--- a/drivers/gpio/gpio-merrifield.c
+++ b/drivers/gpio/gpio-merrifield.c
@@ -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));
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts
2020-04-08 15:23 [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts Andy Shevchenko
2020-04-08 15:23 ` [PATCH v1 2/2] gpio: merrifield: Better show how GPIO and IRQ bases are derived from hardware Andy Shevchenko
@ 2020-04-08 15:41 ` Andy Shevchenko
1 sibling, 0 replies; 3+ messages in thread
From: Andy Shevchenko @ 2020-04-08 15:41 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, linux-gpio
On Wed, Apr 08, 2020 at 06:23:45PM +0300, Andy Shevchenko wrote:
> 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.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-08 15:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-08 15:23 [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts Andy Shevchenko
2020-04-08 15:23 ` [PATCH v1 2/2] gpio: merrifield: Better show how GPIO and IRQ bases are derived from hardware Andy Shevchenko
2020-04-08 15:41 ` [PATCH v1 1/2] gpio: merrifield: Switch over to MSI interrupts Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).