* [PATCH] PCI: keystone: Use PCI_NUM_INTX
@ 2017-08-15 21:37 Bjorn Helgaas
2017-08-15 21:44 ` Bjorn Helgaas
0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2017-08-15 21:37 UTC (permalink / raw)
To: Murali Karicheri; +Cc: linux-pci, Paul Burton
Switch from using a custom MAX_LEGACY_IRQS macro to the generic
PCI_NUM_INTX definition for the number of INTx interrupts.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Murali Karicheri <m-karicheri2@ti.com>
---
drivers/pci/dwc/pci-keystone-dw.c | 4 ++--
drivers/pci/dwc/pci-keystone.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/dwc/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
index df60f48716d9..3b0f206590f9 100644
--- a/drivers/pci/dwc/pci-keystone-dw.c
+++ b/drivers/pci/dwc/pci-keystone-dw.c
@@ -251,7 +251,7 @@ void ks_dw_pcie_enable_legacy_irqs(struct keystone_pcie *ks_pcie)
{
int i;
- for (i = 0; i < MAX_LEGACY_IRQS; i++)
+ for (i = 0; i < PCI_NUM_INTX; i++)
ks_dw_app_writel(ks_pcie, IRQ_ENABLE_SET + (i << 4), 0x1);
}
@@ -557,7 +557,7 @@ int __init ks_dw_pcie_host_init(struct keystone_pcie *ks_pcie,
/* Create legacy IRQ domain */
ks_pcie->legacy_irq_domain =
irq_domain_add_linear(ks_pcie->legacy_intc_np,
- MAX_LEGACY_IRQS,
+ PCI_NUM_INTX,
&ks_dw_pcie_legacy_irq_domain_ops,
NULL);
if (!ks_pcie->legacy_irq_domain) {
diff --git a/drivers/pci/dwc/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
index 74c5825882df..69fc60129f45 100644
--- a/drivers/pci/dwc/pci-keystone.h
+++ b/drivers/pci/dwc/pci-keystone.h
@@ -12,7 +12,6 @@
* published by the Free Software Foundation.
*/
-#define MAX_LEGACY_IRQS 4
#define MAX_MSI_HOST_IRQS 8
#define MAX_LEGACY_HOST_IRQS 4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] PCI: keystone: Use PCI_NUM_INTX
2017-08-15 21:37 [PATCH] PCI: keystone: Use PCI_NUM_INTX Bjorn Helgaas
@ 2017-08-15 21:44 ` Bjorn Helgaas
2017-08-16 18:08 ` Murali Karicheri
0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2017-08-15 21:44 UTC (permalink / raw)
To: Bjorn Helgaas; +Cc: Murali Karicheri, linux-pci, Paul Burton
On Tue, Aug 15, 2017 at 04:37:24PM -0500, Bjorn Helgaas wrote:
> Switch from using a custom MAX_LEGACY_IRQS macro to the generic
> PCI_NUM_INTX definition for the number of INTx interrupts.
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Murali Karicheri <m-karicheri2@ti.com>
> ---
> drivers/pci/dwc/pci-keystone-dw.c | 4 ++--
> drivers/pci/dwc/pci-keystone.h | 1 -
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/dwc/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
> index df60f48716d9..3b0f206590f9 100644
> --- a/drivers/pci/dwc/pci-keystone-dw.c
> +++ b/drivers/pci/dwc/pci-keystone-dw.c
> @@ -251,7 +251,7 @@ void ks_dw_pcie_enable_legacy_irqs(struct keystone_pcie *ks_pcie)
> {
> int i;
>
> - for (i = 0; i < MAX_LEGACY_IRQS; i++)
> + for (i = 0; i < PCI_NUM_INTX; i++)
> ks_dw_app_writel(ks_pcie, IRQ_ENABLE_SET + (i << 4), 0x1);
> }
>
> @@ -557,7 +557,7 @@ int __init ks_dw_pcie_host_init(struct keystone_pcie *ks_pcie,
> /* Create legacy IRQ domain */
> ks_pcie->legacy_irq_domain =
> irq_domain_add_linear(ks_pcie->legacy_intc_np,
> - MAX_LEGACY_IRQS,
> + PCI_NUM_INTX,
> &ks_dw_pcie_legacy_irq_domain_ops,
> NULL);
> if (!ks_pcie->legacy_irq_domain) {
> diff --git a/drivers/pci/dwc/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
> index 74c5825882df..69fc60129f45 100644
> --- a/drivers/pci/dwc/pci-keystone.h
> +++ b/drivers/pci/dwc/pci-keystone.h
> @@ -12,7 +12,6 @@
> * published by the Free Software Foundation.
> */
>
> -#define MAX_LEGACY_IRQS 4
> #define MAX_MSI_HOST_IRQS 8
> #define MAX_LEGACY_HOST_IRQS 4
BTW, Murali, what is MAX_LEGACY_HOST_IRQS? Is that something we can
replace by PCI_NUM_INTX also?
(PCI_NUM_INTX is a new definition in include/linux/pci.h for the
number of INTx interrupts: INTA, INTB, INTC, INTD).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] PCI: keystone: Use PCI_NUM_INTX
2017-08-15 21:44 ` Bjorn Helgaas
@ 2017-08-16 18:08 ` Murali Karicheri
2017-08-16 18:41 ` Bjorn Helgaas
0 siblings, 1 reply; 4+ messages in thread
From: Murali Karicheri @ 2017-08-16 18:08 UTC (permalink / raw)
To: Bjorn Helgaas, Bjorn Helgaas; +Cc: linux-pci, Paul Burton
On 08/15/2017 05:44 PM, Bjorn Helgaas wrote:
> On Tue, Aug 15, 2017 at 04:37:24PM -0500, Bjorn Helgaas wrote:
>> Switch from using a custom MAX_LEGACY_IRQS macro to the generic
>> PCI_NUM_INTX definition for the number of INTx interrupts.
>>
>> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: Murali Karicheri <m-karicheri2@ti.com>
>> ---
>> drivers/pci/dwc/pci-keystone-dw.c | 4 ++--
>> drivers/pci/dwc/pci-keystone.h | 1 -
>> 2 files changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/pci/dwc/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
>> index df60f48716d9..3b0f206590f9 100644
>> --- a/drivers/pci/dwc/pci-keystone-dw.c
>> +++ b/drivers/pci/dwc/pci-keystone-dw.c
>> @@ -251,7 +251,7 @@ void ks_dw_pcie_enable_legacy_irqs(struct keystone_pcie *ks_pcie)
>> {
>> int i;
>>
>> - for (i = 0; i < MAX_LEGACY_IRQS; i++)
>> + for (i = 0; i < PCI_NUM_INTX; i++)
>> ks_dw_app_writel(ks_pcie, IRQ_ENABLE_SET + (i << 4), 0x1);
>> }
>>
>> @@ -557,7 +557,7 @@ int __init ks_dw_pcie_host_init(struct keystone_pcie *ks_pcie,
>> /* Create legacy IRQ domain */
>> ks_pcie->legacy_irq_domain =
>> irq_domain_add_linear(ks_pcie->legacy_intc_np,
>> - MAX_LEGACY_IRQS,
>> + PCI_NUM_INTX,
>> &ks_dw_pcie_legacy_irq_domain_ops,
>> NULL);
>> if (!ks_pcie->legacy_irq_domain) {
>> diff --git a/drivers/pci/dwc/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
>> index 74c5825882df..69fc60129f45 100644
>> --- a/drivers/pci/dwc/pci-keystone.h
>> +++ b/drivers/pci/dwc/pci-keystone.h
>> @@ -12,7 +12,6 @@
>> * published by the Free Software Foundation.
>> */
>>
>> -#define MAX_LEGACY_IRQS 4
>> #define MAX_MSI_HOST_IRQS 8
>> #define MAX_LEGACY_HOST_IRQS 4
>
> BTW, Murali, what is MAX_LEGACY_HOST_IRQS? Is that something we can
> replace by PCI_NUM_INTX also?
>
It is the number of interrupts going to the ARM GIC controller for Legacy
PCI interrupts. Corresponding for MSI is MAX_MSI_HOST_IRQS. MAX_LEGACY_IRQS
is for number of PCI Legacy irq line one PCI bus. In keystone case, it is
1 to 1. So it can be changed.
Murali
> (PCI_NUM_INTX is a new definition in include/linux/pci.h for the
> number of INTx interrupts: INTA, INTB, INTC, INTD).
>
--
Murali Karicheri
Linux Kernel, Keystone
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] PCI: keystone: Use PCI_NUM_INTX
2017-08-16 18:08 ` Murali Karicheri
@ 2017-08-16 18:41 ` Bjorn Helgaas
0 siblings, 0 replies; 4+ messages in thread
From: Bjorn Helgaas @ 2017-08-16 18:41 UTC (permalink / raw)
To: Murali Karicheri; +Cc: Bjorn Helgaas, linux-pci, Paul Burton
On Wed, Aug 16, 2017 at 02:08:15PM -0400, Murali Karicheri wrote:
> On 08/15/2017 05:44 PM, Bjorn Helgaas wrote:
> > On Tue, Aug 15, 2017 at 04:37:24PM -0500, Bjorn Helgaas wrote:
> >> Switch from using a custom MAX_LEGACY_IRQS macro to the generic
> >> PCI_NUM_INTX definition for the number of INTx interrupts.
> >>
> >> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> >> Cc: Murali Karicheri <m-karicheri2@ti.com>
> >> ---
> >> drivers/pci/dwc/pci-keystone-dw.c | 4 ++--
> >> drivers/pci/dwc/pci-keystone.h | 1 -
> >> 2 files changed, 2 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/pci/dwc/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
> >> index df60f48716d9..3b0f206590f9 100644
> >> --- a/drivers/pci/dwc/pci-keystone-dw.c
> >> +++ b/drivers/pci/dwc/pci-keystone-dw.c
> >> @@ -251,7 +251,7 @@ void ks_dw_pcie_enable_legacy_irqs(struct keystone_pcie *ks_pcie)
> >> {
> >> int i;
> >>
> >> - for (i = 0; i < MAX_LEGACY_IRQS; i++)
> >> + for (i = 0; i < PCI_NUM_INTX; i++)
> >> ks_dw_app_writel(ks_pcie, IRQ_ENABLE_SET + (i << 4), 0x1);
> >> }
> >>
> >> @@ -557,7 +557,7 @@ int __init ks_dw_pcie_host_init(struct keystone_pcie *ks_pcie,
> >> /* Create legacy IRQ domain */
> >> ks_pcie->legacy_irq_domain =
> >> irq_domain_add_linear(ks_pcie->legacy_intc_np,
> >> - MAX_LEGACY_IRQS,
> >> + PCI_NUM_INTX,
> >> &ks_dw_pcie_legacy_irq_domain_ops,
> >> NULL);
> >> if (!ks_pcie->legacy_irq_domain) {
> >> diff --git a/drivers/pci/dwc/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
> >> index 74c5825882df..69fc60129f45 100644
> >> --- a/drivers/pci/dwc/pci-keystone.h
> >> +++ b/drivers/pci/dwc/pci-keystone.h
> >> @@ -12,7 +12,6 @@
> >> * published by the Free Software Foundation.
> >> */
> >>
> >> -#define MAX_LEGACY_IRQS 4
> >> #define MAX_MSI_HOST_IRQS 8
> >> #define MAX_LEGACY_HOST_IRQS 4
> >
> > BTW, Murali, what is MAX_LEGACY_HOST_IRQS? Is that something we can
> > replace by PCI_NUM_INTX also?
> >
>
> It is the number of interrupts going to the ARM GIC controller for Legacy
> PCI interrupts. Corresponding for MSI is MAX_MSI_HOST_IRQS. MAX_LEGACY_IRQS
> is for number of PCI Legacy irq line one PCI bus. In keystone case, it is
> 1 to 1. So it can be changed.
Thanks, Murali. I have the following patches on pci/host-keystone. I
added one to remove duplicate definitions from pci-keystone.h and
pci-keystone.c.
commit 44b5557a13bdc04fda582b6fdfa3819792fbfe94
Author: Bjorn Helgaas <bhelgaas@google.com>
Date: Wed Aug 16 13:32:34 2017 -0500
PCI: keystone: Remove duplicate MAX_*_IRQS defs
MAX_MSI_HOST_IRQS and MAX_LEGACY_HOST_IRQS are defined in both
pci-keystone.h (which is included by pci-keystone.c) and in pci-keystone.c
itself.
Remove the duplicate definitions from pci-keystone.c.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Murali Karicheri <m-karicheri2@ti.com>
diff --git a/drivers/pci/dwc/pci-keystone.c b/drivers/pci/dwc/pci-keystone.c
index 4783cec1f78d..fb8504690923 100644
--- a/drivers/pci/dwc/pci-keystone.c
+++ b/drivers/pci/dwc/pci-keystone.c
@@ -32,10 +32,6 @@
#define DRIVER_NAME "keystone-pcie"
-/* driver specific constants */
-#define MAX_MSI_HOST_IRQS 8
-#define MAX_LEGACY_HOST_IRQS 4
-
/* DEV_STAT_CTRL */
#define PCIE_CAP_BASE 0x70
commit da4c4be36dc347b9b7eb0760054caa53e31abcc0
Author: Bjorn Helgaas <bhelgaas@google.com>
Date: Tue Aug 15 16:27:57 2017 -0500
PCI: keystone: Use PCI_NUM_INTX
Switch from using custom MAX_LEGACY_IRQS and MAX_LEGACY_HOST_IRQS macros to
the generic PCI_NUM_INTX definition for the number of INTx interrupts.
Based-on-similar-patches-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Murali Karicheri <m-karicheri2@ti.com>
diff --git a/drivers/pci/dwc/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
index df60f48716d9..3b0f206590f9 100644
--- a/drivers/pci/dwc/pci-keystone-dw.c
+++ b/drivers/pci/dwc/pci-keystone-dw.c
@@ -251,7 +251,7 @@ void ks_dw_pcie_enable_legacy_irqs(struct keystone_pcie *ks_pcie)
{
int i;
- for (i = 0; i < MAX_LEGACY_IRQS; i++)
+ for (i = 0; i < PCI_NUM_INTX; i++)
ks_dw_app_writel(ks_pcie, IRQ_ENABLE_SET + (i << 4), 0x1);
}
@@ -557,7 +557,7 @@ int __init ks_dw_pcie_host_init(struct keystone_pcie *ks_pcie,
/* Create legacy IRQ domain */
ks_pcie->legacy_irq_domain =
irq_domain_add_linear(ks_pcie->legacy_intc_np,
- MAX_LEGACY_IRQS,
+ PCI_NUM_INTX,
&ks_dw_pcie_legacy_irq_domain_ops,
NULL);
if (!ks_pcie->legacy_irq_domain) {
diff --git a/drivers/pci/dwc/pci-keystone.c b/drivers/pci/dwc/pci-keystone.c
index fb8504690923..9256b04e0c50 100644
--- a/drivers/pci/dwc/pci-keystone.c
+++ b/drivers/pci/dwc/pci-keystone.c
@@ -169,7 +169,7 @@ static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
if (legacy) {
np_temp = &ks_pcie->legacy_intc_np;
- max_host_irqs = MAX_LEGACY_HOST_IRQS;
+ max_host_irqs = PCI_NUM_INTX;
host_irqs = &ks_pcie->legacy_host_irqs[0];
} else {
np_temp = &ks_pcie->msi_intc_np;
diff --git a/drivers/pci/dwc/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
index 74c5825882df..30b7bc2ac380 100644
--- a/drivers/pci/dwc/pci-keystone.h
+++ b/drivers/pci/dwc/pci-keystone.h
@@ -12,9 +12,7 @@
* published by the Free Software Foundation.
*/
-#define MAX_LEGACY_IRQS 4
#define MAX_MSI_HOST_IRQS 8
-#define MAX_LEGACY_HOST_IRQS 4
struct keystone_pcie {
struct dw_pcie *pci;
@@ -22,7 +20,7 @@ struct keystone_pcie {
/* PCI Device ID */
u32 device_id;
int num_legacy_host_irqs;
- int legacy_host_irqs[MAX_LEGACY_HOST_IRQS];
+ int legacy_host_irqs[PCI_NUM_INTX];
struct device_node *legacy_intc_np;
int num_msi_host_irqs;
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-08-16 18:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-15 21:37 [PATCH] PCI: keystone: Use PCI_NUM_INTX Bjorn Helgaas
2017-08-15 21:44 ` Bjorn Helgaas
2017-08-16 18:08 ` Murali Karicheri
2017-08-16 18:41 ` Bjorn Helgaas
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).