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

Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface



On Fri, Oct 03, 2025 at 01:18:32PM -0400, John David Anglin wrote:
> On 2025-10-03 11:01 a.m., Jason Gunthorpe wrote:
> > This doesn't actually use the virt at all:
> > 
> >     offset = ((unsigned long) addr) & ~IOVP_MASK;
> >     if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
> >             ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned 
> > long)addr, hint);
> > 
> > And ccio_io_pdir_entry():
> >     pa = lpa(vba);
> > 
> > Is a special instruction that uses virt but AI tells me that special
> > LPA instruction is returning phys. Not sure if that is a different
> > value than virt_to_phys()..
> 
> ccio_io_pdir_entry currently only supports KERNEL_SPACE.  For KERNEL_SPACE, 
> lpa() and
> virt_to_phys() are equivalent if page is mapped.  lpa() returns 0 if a 
> non-access data
> TLB fault occurs (i.e., page isn't mapped).  Not sure if that
> matters.

After unfolding everything the expression is

  lpa(phys_to_virt(pa))

So if that is always equal to pa then lets just drop it.

phys_to_virt() always returns something kernel mapped, and it can't be
unmapped.

Jason



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.