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 v5.5-rc4 55 lines 1.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright 2019 Linaro, Ltd, Rob Herring <robh@kernel.org> */ 3 4#ifndef __PANFROST_GEM_H__ 5#define __PANFROST_GEM_H__ 6 7#include <drm/drm_gem_shmem_helper.h> 8#include <drm/drm_mm.h> 9 10struct panfrost_mmu; 11 12struct panfrost_gem_object { 13 struct drm_gem_shmem_object base; 14 struct sg_table *sgts; 15 16 struct panfrost_mmu *mmu; 17 struct drm_mm_node node; 18 bool is_mapped :1; 19 bool noexec :1; 20 bool is_heap :1; 21}; 22 23static inline 24struct panfrost_gem_object *to_panfrost_bo(struct drm_gem_object *obj) 25{ 26 return container_of(to_drm_gem_shmem_obj(obj), struct panfrost_gem_object, base); 27} 28 29static inline 30struct panfrost_gem_object *drm_mm_node_to_panfrost_bo(struct drm_mm_node *node) 31{ 32 return container_of(node, struct panfrost_gem_object, node); 33} 34 35struct drm_gem_object *panfrost_gem_create_object(struct drm_device *dev, size_t size); 36 37struct drm_gem_object * 38panfrost_gem_prime_import_sg_table(struct drm_device *dev, 39 struct dma_buf_attachment *attach, 40 struct sg_table *sgt); 41 42struct panfrost_gem_object * 43panfrost_gem_create_with_handle(struct drm_file *file_priv, 44 struct drm_device *dev, size_t size, 45 u32 flags, 46 uint32_t *handle); 47 48int panfrost_gem_open(struct drm_gem_object *obj, struct drm_file *file_priv); 49void panfrost_gem_close(struct drm_gem_object *obj, 50 struct drm_file *file_priv); 51 52void panfrost_gem_shrinker_init(struct drm_device *dev); 53void panfrost_gem_shrinker_cleanup(struct drm_device *dev); 54 55#endif /* __PANFROST_GEM_H__ */