162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2023 Loongson Technology Corporation Limited 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __LSDC_GEM_H__ 762306a36Sopenharmony_ci#define __LSDC_GEM_H__ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <drm/drm_device.h> 1062306a36Sopenharmony_ci#include <drm/drm_gem.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cistruct drm_gem_object * 1362306a36Sopenharmony_cilsdc_prime_import_sg_table(struct drm_device *ddev, 1462306a36Sopenharmony_ci struct dma_buf_attachment *attach, 1562306a36Sopenharmony_ci struct sg_table *sg); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciint lsdc_dumb_map_offset(struct drm_file *file, 1862306a36Sopenharmony_ci struct drm_device *dev, 1962306a36Sopenharmony_ci u32 handle, 2062306a36Sopenharmony_ci uint64_t *offset); 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciint lsdc_dumb_create(struct drm_file *file, 2362306a36Sopenharmony_ci struct drm_device *ddev, 2462306a36Sopenharmony_ci struct drm_mode_create_dumb *args); 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_civoid lsdc_gem_init(struct drm_device *ddev); 2762306a36Sopenharmony_ciint lsdc_show_buffer_object(struct seq_file *m, void *arg); 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cistruct drm_gem_object * 3062306a36Sopenharmony_cilsdc_gem_object_create(struct drm_device *ddev, 3162306a36Sopenharmony_ci u32 domain, 3262306a36Sopenharmony_ci size_t size, 3362306a36Sopenharmony_ci bool kerenl, 3462306a36Sopenharmony_ci struct sg_table *sg, 3562306a36Sopenharmony_ci struct dma_resv *resv); 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci#endif 38