Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1253969

Re: [PATCH v11 1/6] PCI: designware: move calculation of bus addresses to DRA7xx

From Bjorn Helgaas <helgaas@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH v11 1/6] PCI: designware: move calculation of bus addresses to DRA7xx
Date 2015-10-22 18:40 +0200
Message-ID <qmr4d-82p-5@gated-at.bofh.it> (permalink)
References <qka7x-31d-23@gated-at.bofh.it> <qka7y-31d-43@gated-at.bofh.it> <qm9TI-7Yz-5@gated-at.bofh.it> <qmitX-3Mm-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Gabriele,

On Thu, Oct 22, 2015 at 07:21:41AM +0000, Gabriele Paoloni wrote:
> > -----Original Message-----
> > From: Bjorn Helgaas [mailto:helgaas@kernel.org]

> > >  #define	PCIECTRL_DRA7XX_CONF_PHY_CS			0x010C
> > >  #define	LINK_UP						BIT(16)
> > > +#define	CPU_TO_BUS_ADDR					0x0FFFFFFF
> > 
> > "CPU_TO_BUS_ADDR" is a very generic name.  Since you do have DRA7XX in
> > other #defines and static symbols in this file, maybe it could be DRA7XX to
> > make it obvious that it only applies here?
> 
> Ok will change to DRA7XX_CPU_TO_BUS_ADRR in v12
> ..

> > > +	if (pp->io_mod_base)
> > > +		pp->io_mod_base &= CPU_TO_BUS_ADDR;
> > 
> > These are equivalent to
> > 
> >   pp->io_mod_base &= CPU_TO_BUS_ADDR;
> > 
> > (You don't need to test whether they're zero first.)
> 
> Yes agreed, will change in v12
> ...

> > >  	cfg_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "config");
> > > @@ -415,8 +411,7 @@ int dw_pcie_host_init(struct pcie_port *pp)
> > >  			pp->io_base = range.cpu_addr;
> > >
> > >  			/* Find the untranslated IO space address */
> > > -			pp->io_mod_base = of_read_number(parser.range -
> > > -							 parser.np + na, ns);
> > > +			pp->io_mod_base = range.cpu_addr;
> > 
> > So apparently
> > 
> >   "of_read_number() == range.cpu_addr & CPU_TO_BUS_ADDR" on DRA7xx
> >   "of_read_number() == range.cpu_addr" everywhere else?
> 
> Yes correct
> 
> > Is that right?  Is that a valid assumption, i.e., are we assuming
> > anything about DTs in the field that we shouldn't?
> 
> Before I wrote a patch that was generic to accommodate intermediate level
> of translation between PCI_addr -> BUS_addr -> CPU_addr
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/360922.html
> 
> After discussion we agreed to solve it with a bitmask rather than adding
> a field to of_pci_range to make it generic.
> The bitmask only applies to DRA7xx

I haven't gotten all the way through this series yet, but don't bother with
a v12 just for these minor changes.  I can easily fix them up when applying
it.

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH v11 1/6] PCI: designware: move calculation of bus  addresses to DRA7xx Bjorn Helgaas <helgaas@kernel.org> - 2015-10-22 00:20 +0200
  RE: [PATCH v11 1/6] PCI: designware: move calculation of bus  addresses to DRA7xx Gabriele Paoloni <gabriele.paoloni@huawei.com> - 2015-10-22 09:30 +0200
    Re: [PATCH v11 1/6] PCI: designware: move calculation of bus  addresses to DRA7xx Bjorn Helgaas <helgaas@kernel.org> - 2015-10-22 18:40 +0200
      RE: [PATCH v11 1/6] PCI: designware: move calculation of bus  addresses to DRA7xx Gabriele Paoloni <gabriele.paoloni@huawei.com> - 2015-10-22 18:40 +0200
      Re: [PATCH v11 1/6] PCI: designware: move calculation of bus addresses  to DRA7xx Zhou Wang <wangzhou1@hisilicon.com> - 2015-10-26 08:30 +0100

csiph-web