[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45e1dff3-aff1-4a41-ab24-6eddf6171e3a@bell.net>
Date: Fri, 3 Oct 2025 16:28:45 -0400
From: John David Anglin <dave.anglin@...l.net>
To: Jason Gunthorpe <jgg@...dia.com>
Cc: Leon Romanovsky <leon@...nel.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Leon Romanovsky <leonro@...dia.com>, Andreas Larsson <andreas@...sler.com>,
Borislav Petkov <bp@...en8.de>, Dave Hansen <dave.hansen@...ux.intel.com>,
"David S. Miller" <davem@...emloft.net>, Geoff Levand <geoff@...radead.org>,
Helge Deller <deller@....de>, Ingo Molnar <mingo@...hat.com>,
iommu@...ts.linux.dev,
"James E.J. Bottomley" <James.Bottomley@...senpartnership.com>,
Jason Wang <jasowang@...hat.com>, Juergen Gross <jgross@...e.com>,
linux-alpha@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mips@...r.kernel.org, linux-parisc@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, Madhavan Srinivasan <maddy@...ux.ibm.com>,
Matt Turner <mattst88@...il.com>, Michael Ellerman <mpe@...erman.id.au>,
"Michael S. Tsirkin" <mst@...hat.com>,
Richard Henderson <richard.henderson@...aro.org>,
sparclinux@...r.kernel.org, Stefano Stabellini <sstabellini@...nel.org>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Thomas Gleixner <tglx@...utronix.de>, virtualization@...ts.linux.dev,
x86@...nel.org, xen-devel@...ts.xenproject.org,
Magnus Lindholm <linmag7@...il.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
On 2025-10-03 1:26 p.m., Jason Gunthorpe wrote:
> 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.
If lpa() was replaced by virt_to_phys(), the result would always be equal to pa. So, I think it
can be dropped.
Dave
--
John David Anglin dave.anglin@...l.net
Powered by blists - more mailing lists