Re: [PATCH] iommu/io-pgtable-arm-v7s: Need dma-sync while there is no QUIRK_NO_DMA

From: Robin Murphy
Date: Mon Sep 25 2017 - 05:47:43 EST


On 25/09/17 10:28, Yong Wu wrote:
> Fix the commit 81b3c2521844 ("iommu/io-pgtable: Introduce explicit
> coherency"). If there is no IO_PGTABLE_QUIRK_NO_DMA, we should call
> dma_sync_single_for_device for cache synchronization.

Oops!

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

Thanks,
Robin.

> Signed-off-by: Yong Wu <yong.wu@xxxxxxxxxxxx>
> ---
> Rebased on v4.14-rc1.
> ---
> drivers/iommu/io-pgtable-arm-v7s.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c
> index d665d0d..6961fc3 100644
> --- a/drivers/iommu/io-pgtable-arm-v7s.c
> +++ b/drivers/iommu/io-pgtable-arm-v7s.c
> @@ -245,7 +245,7 @@ static void __arm_v7s_free_table(void *table, int lvl,
> static void __arm_v7s_pte_sync(arm_v7s_iopte *ptep, int num_entries,
> struct io_pgtable_cfg *cfg)
> {
> - if (!(cfg->quirks & IO_PGTABLE_QUIRK_NO_DMA))
> + if (cfg->quirks & IO_PGTABLE_QUIRK_NO_DMA)
> return;
>
> dma_sync_single_for_device(cfg->iommu_dev, __arm_v7s_dma_addr(ptep),
>