[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120526084819.GF24149@n2100.arm.linux.org.uk>
Date: Sat, 26 May 2012 09:48:19 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Alessandro Rubini <rubini@...dd.com>
Cc: linux-kernel@...r.kernel.org,
Giancarlo Asnaghi <giancarlo.asnaghi@...com>,
Alan Cox <alan@...ux.intel.com>, x86@...nel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Arnd Bergmann <arnd@...db.de>,
linux-arm-kernel@...ts.infradead.org, linux-serial@...r.kernel.org,
linux-arch@...r.kernel.org
Subject: Re: [PATCH 6/6] serial: add amba-pl011-pci
One other point.
On Fri, May 25, 2012 at 05:48:57PM +0200, Alessandro Rubini wrote:
> +/* This is a template, copied every time a new pci device appears */
> +static AMBA_APB_DEVICE(pl011_pci_template, "pl011-pci", 0,
> + 0 /* base */, {0} /* irqs */, NULL /* data */);
APB device. It's a _peripheral_, it only has a _slave_ port which can't
initiate DMA, so:
> + if (pdev->vendor == PCI_VENDOR_ID_STMICRO) {
> + /* Under sta2x11, DMA is there but limited to 512M */
> + adev->dma_mask = SZ_512M - 1;
> + adev->dev.coherent_dma_mask = SZ_512M - 1;
> + }
This is pointless and unnecessary. The PL011 driver itself doesn't use
_this_ struct device for anything to do with DMA at all. That's all
handled by the DMA engine's struct device.
That's true of all APB devices. Only AHB devices with a master port can
initiate bus transactions, and hence cause accesses to other parts of the
system.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists