Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/* Copyright 2024-2025 Tomeu Vizoso <tomeu@tomeuvizoso.net> */
3
4#ifndef __ROCKET_DRV_H__
5#define __ROCKET_DRV_H__
6
7#include <drm/drm_mm.h>
8#include <drm/gpu_scheduler.h>
9
10#include "rocket_device.h"
11
12extern const struct dev_pm_ops rocket_pm_ops;
13
14struct rocket_iommu_domain {
15 struct iommu_domain *domain;
16 struct kref kref;
17};
18
19struct rocket_file_priv {
20 struct rocket_device *rdev;
21
22 struct rocket_iommu_domain *domain;
23 struct drm_mm mm;
24 struct mutex mm_lock;
25
26 struct drm_sched_entity sched_entity;
27};
28
29struct rocket_iommu_domain *rocket_iommu_domain_get(struct rocket_file_priv *rocket_priv);
30void rocket_iommu_domain_put(struct rocket_iommu_domain *domain);
31
32#endif