cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ipu3-mmu.h (1072B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Copyright (C) 2018 Intel Corporation */
      3/* Copyright 2018 Google LLC. */
      4
      5#ifndef __IPU3_MMU_H
      6#define __IPU3_MMU_H
      7
      8#define IPU3_PAGE_SHIFT		12
      9#define IPU3_PAGE_SIZE		(1UL << IPU3_PAGE_SHIFT)
     10
     11/**
     12 * struct imgu_mmu_info - Describes mmu geometry
     13 *
     14 * @aperture_start:	First address that can be mapped
     15 * @aperture_end:	Last address that can be mapped
     16 */
     17struct imgu_mmu_info {
     18	dma_addr_t aperture_start;
     19	dma_addr_t aperture_end;
     20};
     21
     22struct device;
     23struct scatterlist;
     24
     25struct imgu_mmu_info *imgu_mmu_init(struct device *parent, void __iomem *base);
     26void imgu_mmu_exit(struct imgu_mmu_info *info);
     27void imgu_mmu_suspend(struct imgu_mmu_info *info);
     28void imgu_mmu_resume(struct imgu_mmu_info *info);
     29
     30int imgu_mmu_map(struct imgu_mmu_info *info, unsigned long iova,
     31		 phys_addr_t paddr, size_t size);
     32size_t imgu_mmu_unmap(struct imgu_mmu_info *info, unsigned long iova,
     33		      size_t size);
     34size_t imgu_mmu_map_sg(struct imgu_mmu_info *info, unsigned long iova,
     35		       struct scatterlist *sg, unsigned int nents);
     36#endif