Re: [PATCH 2/2] pci: host: new driver for Marvell Armada 7K/8K PCIe controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hello,

On Mon, 11 Apr 2016 17:56:51 +0200, Thomas Petazzoni wrote:

> > > +	struct pcie_port *pp = arg;
> > > +	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
> > > +	void __iomem *base = pcie->base;
> > > +	u32 val;
> > > +
> > > +	val = readl(base + PCIE_GLOBAL_INT_CAUSE1_REG);
> > > +	writel(val, base + PCIE_GLOBAL_INT_CAUSE1_REG);
> > > +
> > > +	return IRQ_HANDLED;
> > 
> > Maybe a comment as to why you are just throwing them away.
> 
> I'll have a look into this.

Enabling the INT A-D interrupts is needed for the PCI device drivers to
receive interrupts from their respective PCI devices. But then, once
you enable the INT A-D interrupts, they are also latched into the PCIe
controller, so if you don't acknowledge them in the PCIe controller
level, at the first interrupt coming from a PCI device, the system
hangs. I've added a comment in the driver about this.

> Is this needed? The clocks are registered in of_clk_init(), i.e at
> time_init() time. This is way before the device drivers get probed, no?

The clock drivers are now regular platform drivers, so I'll add the
EPROBE_DEFER handling logic.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux