Re: [PATCH 2/2] PCI:designware:Fix iATU programming for cfg1, io and mem viewport

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

 



On Thursday, February 27, 2014 10:18 AM, Jingoo Han wrote:
> On Wednesday, February 26, 2014 7:52 PM, Pratyush Anand wrote:
> > On Wed, Feb 26, 2014 at 03:47:27PM +0800, Kishon Vijay Abraham I wrote:
> > > On Wednesday 26 February 2014 12:01 PM, Ajay Khandelwal wrote:
> > > > Hi Kishon,
> > > >
> > > > On 2/21/2014 10:58 AM, Kishon Vijay Abraham I wrote:
> > > >> Thanks for the patch. I have just burnt my PCIE-to-PCI bridge card :-s Will
> > > >> test this once I get a new card.
> > > >
> > > > were you able to solve issue in PCIE-to-PCI bridge.
> > >
> > > oh yes. I was giving the total configuration space as 4k (2k for cfg0 and  2k
> > > for cfg1). But there was some problem when I write 0x800 to
> > > PCIE_ATU_LOWER_BASE. If I read back PCIE_ATU_LOWER_BASE after writing 0x800, it
> > > has 0x0.
> > >
> > > So I increased the configuration space to 8k (4k for cfg0 and  4k for cfg1).
> > > With this I write 0x1000 to  PCIE_ATU_LOWER_BASE and able to enumerate devices
> > > behind a PCIE-to-PCI bridge.
> >
> > As per designware specs minimum value of CX_ATU_MIN_REGION_SIZE is 4 KB.
> > Depending on the SOC it can be configured from 4 to 64KB. So you can
> > not have an address translation unit less than 4 KB in any SOC.
> 
> In the case of Exynos, the minimum value of CX_ATU_MIN_REGION_SIZE is 64KB.

Oh! Sorry.

I got the response from one of our hardware engineers
about 'CX_ATU_MIN_REGION_SIZE'. The minimum value of
CX_ATU_MIN_REGION_SIZE is 4KB.

Sorry for confusing you. :-(

Best regards,
Jingoo Han

> 
> >
> > I think, it would be worth to mention this information in designware pcie binding
> > documentation.
> >
> > However I am surprised, how does it work in case of exynos. Jingoo??
> 
> I don't know. However, there was no issue at my side.
> Currently, I am testing only Ethernet cards & SATA cards.
> 
> > Size of configuration space passed from DT is 0x1000 in exynos. As per
> > my understanding (and what snps specs says), this value should be
> > minimum 0x2000 in any SOC, as we divide this space equally for cfg0 and
> > cfg1 in driver.
> 
> I changed 'Size of configuration space passed from DT' from 0x1000 to
> 0x2000 as below:
> 
> 	ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00002000   /* configuration space */
> 		     0x81000000 0 0          0x40002000 0 0x00010000   /* downstream I/O */
>    		     0x82000000 0 0x40012000 0x40012000 0 0x1ffee000>; /* non-prefetchable memory */
> 
> Then, I tested it on Exynos platform; it works properly with
> Ethernet card.
> 
> Best regards,
> Jingoo Han
> 
> >
> > Regards
> > Pratysuh
> >
> > > >
> > > > On SPEAr I see issues with PCIe to PCI bridge and PCIe to PCIe switch.
> > > >
> > > > Imprecise external abort is generated, providing hook for abort(similar
> > > > to imx6) solves this.
> > >
> > > But this issue seems to be different :-s
> > >
> > > Thanks
> > > Kishon

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux