Messages in this thread | | | Subject | Re: [Xen-devel] [PATCH 01/11] xen/arm: use dma-noncoherent.h calls for xen-swiotlb cache maintainance | From | Julien Grall <> | Date | Mon, 19 Aug 2019 12:45:17 +0100 |
| |
Hi Christoph,
On 8/16/19 2:00 PM, Christoph Hellwig wrote: > +static inline void xen_dma_map_page(struct device *hwdev, struct page *page, > + dma_addr_t dev_addr, unsigned long offset, size_t size, > + enum dma_data_direction dir, unsigned long attrs) > +{ > + unsigned long page_pfn = page_to_xen_pfn(page); > + unsigned long dev_pfn = XEN_PFN_DOWN(dev_addr); > + unsigned long compound_pages = > + (1<<compound_order(page)) * XEN_PFN_PER_PAGE; > + bool local = (page_pfn <= dev_pfn) && > + (dev_pfn - page_pfn < compound_pages); > +
The Arm version as a comment here. Could we retain it?
> + if (local) > + dma_direct_map_page(hwdev, page, offset, size, dir, attrs); > + else > + __xen_dma_map_page(hwdev, page, dev_addr, offset, size, dir, attrs); > +} > +
Cheers,
-- Julien Grall
| |