Message ID | 20210207160934.2955931-3-hch@lst.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/8] powerpc/svm: stop using io_tlb_start | expand |
On Sun, Feb 07, 2021 at 05:09:28PM +0100, Christoph Hellwig wrote: > Use the is_swiotlb_buffer to check if a physical address is > a swiotlb buffer. This works because xen-swiotlb does use the > same buffer as the main swiotlb code, and xen_io_tlb_{start,end} > are just the addresses for it that went through phys_to_virt. > Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > drivers/xen/swiotlb-xen.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c > index 2b385c1b4a99cb..a4026822a889f7 100644 > --- a/drivers/xen/swiotlb-xen.c > +++ b/drivers/xen/swiotlb-xen.c > @@ -111,10 +111,8 @@ static int is_xen_swiotlb_buffer(struct device *dev, dma_addr_t dma_addr) > * have the same virtual address as another address > * in our domain. Therefore _only_ check address within our domain. > */ > - if (pfn_valid(PFN_DOWN(paddr))) { > - return paddr >= virt_to_phys(xen_io_tlb_start) && > - paddr < virt_to_phys(xen_io_tlb_end); > - } > + if (pfn_valid(PFN_DOWN(paddr))) > + return is_swiotlb_buffer(paddr); > return 0; > } > > -- > 2.29.2 >
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c index 2b385c1b4a99cb..a4026822a889f7 100644 --- a/drivers/xen/swiotlb-xen.c +++ b/drivers/xen/swiotlb-xen.c @@ -111,10 +111,8 @@ static int is_xen_swiotlb_buffer(struct device *dev, dma_addr_t dma_addr) * have the same virtual address as another address * in our domain. Therefore _only_ check address within our domain. */ - if (pfn_valid(PFN_DOWN(paddr))) { - return paddr >= virt_to_phys(xen_io_tlb_start) && - paddr < virt_to_phys(xen_io_tlb_end); - } + if (pfn_valid(PFN_DOWN(paddr))) + return is_swiotlb_buffer(paddr); return 0; }
Use the is_swiotlb_buffer to check if a physical address is a swiotlb buffer. This works because xen-swiotlb does use the same buffer as the main swiotlb code, and xen_io_tlb_{start,end} are just the addresses for it that went through phys_to_virt. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/xen/swiotlb-xen.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)