Re: [PATCH 2/6] PCI: iproc: Add INTx support with better modeling

From: Ray Jui
Date: Wed May 30 2018 - 13:27:28 EST


Hi Andy,

On 5/29/2018 5:59 PM, Andy Shevchenko wrote:
On Wed, May 30, 2018 at 12:58 AM, Ray Jui <ray.jui@xxxxxxxxxxxx> wrote:
Add PCIe legacy interrupt INTx support to the iProc PCIe driver by
modeling it with its own IRQ domain. All 4 interrupts INTA, INTB, INTC,
INTD share the same interrupt line connected to the GIC in the system,
while the status of each INTx can be obtained through the INTX CSR
register

+ while ((status = iproc_pcie_read_reg(pcie, IPROC_PCIE_INTX_CSR) &
+ SYS_RC_INTX_MASK) != 0) {
+ for_each_set_bit(bit, &status, PCI_NUM_INTX) {
+ virq = irq_find_mapping(pcie->irq_domain, bit + 1);
+ if (virq)
+ generic_handle_irq(virq);
+ else
+ dev_err(dev, "unexpected INTx%u\n", bit);
+ }
+ }

do {
status = ...;
for_each_set_bit() {
...
}
} while (status);

would look slightly better for my opinion.


Indeed. I agree with you. I'll wait for comments before sending out v2 which will include this improvement.

Thanks,

Ray