[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160218132038.GA13229@red-moon>
Date: Thu, 18 Feb 2016 13:20:38 +0000
From: Lorenzo Pieralisi <lorenzo.pieralisi@....com>
To: "liudongdong (C)" <liudongdong3@...wei.com>
Cc: Tomasz Nowicki <tn@...ihalf.com>, helgaas@...nel.org,
arnd@...db.de, will.deacon@....com, catalin.marinas@....com,
rafael@...nel.org, hanjun.guo@...aro.org, okaya@...eaurora.org,
jiang.liu@...ux.intel.com, jchandra@...adcom.com,
Stefano.Stabellini@...citrix.com, jcm@...hat.com,
linaro-acpi@...ts.linaro.org, linux-pci@...r.kernel.org,
Liviu.Dudau@....com, ddaney@...iumnetworks.com,
linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
robert.richter@...iumnetworks.com, wangyijing@...wei.com,
mw@...ihalf.com, linux-arm-kernel@...ts.infradead.org
Subject: Re: [Linaro-acpi] [PATCH V5 01/15] ACPI: MCFG: Move mmcfg_list
management to drivers/acpi
On Thu, Feb 18, 2016 at 08:25:35PM +0800, liudongdong (C) wrote:
[...]
> >+/*
> >+ * Map a pci_mmcfg_region, can be overrriden by arch
> >+ */
> >+int __weak pci_mmconfig_map_resource(struct device *dev,
> >+ struct pci_mmcfg_region *mcfg)
> >+{
> >+ struct resource *tmp;
> >+ void __iomem *vaddr;
> >+
> >+ tmp = insert_resource_conflict(&iomem_resource, &mcfg->res);
> >+ if (tmp) {
> >+ dev_warn(dev, "MMCONFIG %pR conflicts with %s %pR\n",
> >+ &mcfg->res, tmp->name, tmp);
> >+ return -EBUSY;
> >+ }
> >+
> >+ vaddr = ioremap(mcfg->res.start, resource_size(&mcfg->res));
^^
while at it, stray white space
> >+ if (!vaddr) {
> >+ release_resource(&mcfg->res);
> >+ return -ENOMEM;
> >+ }
> >+
> >+ mcfg->virt = vaddr;
> Here should be changed to
> mcfg->virt = vaddr - PCI_MMCFG_BUS_OFFSET(mcfg->start_bus);
>
> or when pcie host "start_bus" is not 0, the configuraion access will be wrong.
Well spotted, thanks.
Lorenzo
Powered by blists - more mailing lists