lkml.org 
[lkml]   [2013]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 05/14] lib: Add I/O map cache implementation
    On Wed, Jan 09, 2013 at 04:12:31PM -0700, Stephen Warren wrote:
    > On 01/09/2013 03:10 PM, Arnd Bergmann wrote:
    > > On Wednesday 09 January 2013, Thierry Reding wrote:
    > >> What happens on Tegra is that we need to map 256 MiB of physical memory
    > >> to access all the PCIe extended configuration space. However, ioremap()
    > >> on such a large region fails if not enough vmalloc() space is available.
    > >>
    > >> This was observed when somebody tested this on CardHu which has a 1 GiB
    > >> of RAM and therefore remapping the full 256 MiB fails.
    > ...
    > > Have you checked if the hardware supports an alternative config
    > > space access mechanism that does not depend on a huge address range?
    > > A lot of them provide an index/data register pair somewhere, as the
    > > original PC implementation did.
    >
    > That would be nice, but I've talked to the HW engineers, and there's no
    > indication that any alternative mechanism exists.

    It seems to be convention that extended config space is often only
    accessible through mmio space, that was true on x86 last I checked
    too..

    You could decrease the size of the mapping to only span the bus
    numbers that are configured for use via DT.

    Are there any concerns about these config registers being accessed
    from a context where a new mapping can't be made? Interrupt? Machine
    Check? PCI-E Advanced Error Reporting?

    Cheers,
    Jason


    \
     
     \ /
      Last update: 2013-01-10 01:01    [W:2.364 / U:0.336 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site