linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Physical memory addresses/PCI memory addresses/io_remap
@ 2000-12-14 17:56 Petr Vandrovec
  2000-12-14 18:37 ` Alan Cox
  0 siblings, 1 reply; 2+ messages in thread
From: Petr Vandrovec @ 2000-12-14 17:56 UTC (permalink / raw)
  To: Russell King; +Cc: linux-kernel

On 14 Dec 00 at 15:16, Russell King wrote:
>   virtual space    - address space that the kernel runs in
>   physical space   - address space that the CPU sits in
>   PCI memory space - memory address space that the PCI peripherals sit in
    == bus address...
> 
> Many, if not all ARM architectures have physical address 0 different from
> PCI memory address 0.
> 
> According to include/linux/fb.h, fb drivers should place a physical address
> into "fix.smem_start" and "fix.mmio_start", which can then be passed to
> io_remap_page_range.
> 
> 1. Should pci_resource_start be returning the PCI memory space address or
>    a physical memory space address?

I believe that pci_resource_start() should return physical address, not
bus one. It already happens on PReP.
 
> 3. Do we need a macro to convert PCI memory space addresses to physical
>    memory space addresses?

No. You need PCI memory space address only for busmastering transfers.
And for PCI DMA there is specialized API... Currently all bus -> physical
mapping should be hidden in platform specific PCI code.
 
> 4. What does this mean for ioremap?  (currently, on ARM, ioremap takes
>    PCI memory space addresses, not a physical memory address, which makes
>    the physmap MTD driver technically broken).

And ioremap() should take physical address, returning virtual one.
                                            Best regards,
                                                    Petr Vandrovec
                                                    vandrove@vc.cvut.cz
                                                    
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Physical memory addresses/PCI memory addresses/io_remap
  2000-12-14 17:56 Physical memory addresses/PCI memory addresses/io_remap Petr Vandrovec
@ 2000-12-14 18:37 ` Alan Cox
  0 siblings, 0 replies; 2+ messages in thread
From: Alan Cox @ 2000-12-14 18:37 UTC (permalink / raw)
  To: Petr Vandrovec; +Cc: Russell King, linux-kernel

> > 1. Should pci_resource_start be returning the PCI memory space address or
> >    a physical memory space address?
> 
> I believe that pci_resource_start() should return physical address, not
> bus one. It already happens on PReP.

It returns a cookie for use with ioremap. Who says that a given device has
a constant bus or physical mapping that is unique ?

> > 4. What does this mean for ioremap?  (currently, on ARM, ioremap takes
> >    PCI memory space addresses, not a physical memory address, which makes
> >    the physmap MTD driver technically broken).
> 
> And ioremap() should take physical address, returning virtual one.

No. Ioremap takes a cookie and returns a different cookie suitable for using
with readb/writeb/memcpy_fromio and friends.

Eg on Sparc64 its a physical address and readb uses TLB bypass

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-12-14 19:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-12-14 17:56 Physical memory addresses/PCI memory addresses/io_remap Petr Vandrovec
2000-12-14 18:37 ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).