Well, this isn't just RPi4, but basically any ARM or ARM64 system
with non-coherent DMA (which is most of them).

> +     struct page *pg;

Please spell out page.

>  
>       if (hwdev && hwdev->coherent_dma_mask)
>               dma_mask = hwdev->coherent_dma_mask;
> @@ -346,9 +347,11 @@ xen_swiotlb_free_coherent(struct device *hwdev, size_t 
> size, void *vaddr,
>       /* Convert the size to actually allocated. */
>       size = 1UL << (order + XEN_PAGE_SHIFT);
>  
> +     pg = is_vmalloc_addr(vaddr) ? vmalloc_to_page(vaddr) :
> +                                   virt_to_page(vaddr);

Please use plain old if/else to make this more readable.

Reply via email to