Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.2-rc2 80 lines 1.9 kB view raw
1/* exynos_drm_iommu.h 2 * 3 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 4 * Authoer: Inki Dae <inki.dae@samsung.com> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2 of the License, or (at your 9 * option) any later version. 10 */ 11 12#ifndef _EXYNOS_DRM_IOMMU_H_ 13#define _EXYNOS_DRM_IOMMU_H_ 14 15#define EXYNOS_DEV_ADDR_START 0x20000000 16#define EXYNOS_DEV_ADDR_SIZE 0x40000000 17 18#ifdef CONFIG_DRM_EXYNOS_IOMMU 19 20int drm_create_iommu_mapping(struct drm_device *drm_dev); 21 22void drm_release_iommu_mapping(struct drm_device *drm_dev); 23 24int drm_iommu_attach_device(struct drm_device *drm_dev, 25 struct device *subdrv_dev); 26 27void drm_iommu_detach_device(struct drm_device *dev_dev, 28 struct device *subdrv_dev); 29 30static inline bool is_drm_iommu_supported(struct drm_device *drm_dev) 31{ 32#ifdef CONFIG_ARM_DMA_USE_IOMMU 33 struct device *dev = drm_dev->dev; 34 35 return dev->archdata.mapping ? true : false; 36#else 37 return false; 38#endif 39} 40 41int drm_iommu_attach_device_if_possible( 42 struct exynos_drm_crtc *exynos_crtc, struct drm_device *drm_dev, 43 struct device *subdrv_dev); 44 45#else 46 47static inline int drm_create_iommu_mapping(struct drm_device *drm_dev) 48{ 49 return 0; 50} 51 52static inline void drm_release_iommu_mapping(struct drm_device *drm_dev) 53{ 54} 55 56static inline int drm_iommu_attach_device(struct drm_device *drm_dev, 57 struct device *subdrv_dev) 58{ 59 return 0; 60} 61 62static inline void drm_iommu_detach_device(struct drm_device *drm_dev, 63 struct device *subdrv_dev) 64{ 65} 66 67static inline bool is_drm_iommu_supported(struct drm_device *drm_dev) 68{ 69 return false; 70} 71 72static inline int drm_iommu_attach_device_if_possible( 73 struct exynos_drm_crtc *exynos_crtc, struct drm_device *drm_dev, 74 struct device *subdrv_dev) 75{ 76 return 0; 77} 78 79#endif 80#endif