ipmmu-vmsa.c (05aed9412b0bd0d9a985d94010c42ff0a5c6cc29) ipmmu-vmsa.c (abfd6fe0cd535d31ee83b668be6eb59ce6a8469d)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * IOMMU API for Renesas VMSA-compatible IPMMU
4 * Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 *
6 * Copyright (C) 2014 Renesas Electronics Corporation
7 */
8

--- 353 unchanged lines hidden (view full) ---

362}
363
364static void ipmmu_tlb_flush(unsigned long iova, size_t size,
365 size_t granule, void *cookie)
366{
367 ipmmu_tlb_flush_all(cookie);
368}
369
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * IOMMU API for Renesas VMSA-compatible IPMMU
4 * Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 *
6 * Copyright (C) 2014 Renesas Electronics Corporation
7 */
8

--- 353 unchanged lines hidden (view full) ---

362}
363
364static void ipmmu_tlb_flush(unsigned long iova, size_t size,
365 size_t granule, void *cookie)
366{
367 ipmmu_tlb_flush_all(cookie);
368}
369
370static void ipmmu_tlb_add_flush(unsigned long iova, size_t size,
371 size_t granule, bool leaf, void *cookie)
372{
373 /* The hardware doesn't support selective TLB flush. */
374}
375
376static const struct iommu_flush_ops ipmmu_flush_ops = {
377 .tlb_flush_all = ipmmu_tlb_flush_all,
378 .tlb_flush_walk = ipmmu_tlb_flush,
379 .tlb_flush_leaf = ipmmu_tlb_flush,
370static const struct iommu_flush_ops ipmmu_flush_ops = {
371 .tlb_flush_all = ipmmu_tlb_flush_all,
372 .tlb_flush_walk = ipmmu_tlb_flush,
373 .tlb_flush_leaf = ipmmu_tlb_flush,
380 .tlb_add_flush = ipmmu_tlb_add_flush,
381 .tlb_sync = ipmmu_tlb_flush_all,
382};
383
384/* -----------------------------------------------------------------------------
385 * Domain/Context Management
386 */
387
388static int ipmmu_domain_allocate_context(struct ipmmu_vmsa_device *mmu,

--- 869 unchanged lines hidden ---
374 .tlb_sync = ipmmu_tlb_flush_all,
375};
376
377/* -----------------------------------------------------------------------------
378 * Domain/Context Management
379 */
380
381static int ipmmu_domain_allocate_context(struct ipmmu_vmsa_device *mmu,

--- 869 unchanged lines hidden ---