| 1 |
|
| 2 |
|
| 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 |
|
| 12 | extern const struct dev_pm_ops rocket_pm_ops;
|
| 13 |
|
| 14 | struct rocket_iommu_domain {
|
| 15 | struct iommu_domain *domain;
|
| 16 | struct kref kref;
|
| 17 | };
|
| 18 |
|
| 19 | struct 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 |
|
| 29 | struct rocket_iommu_domain *rocket_iommu_domain_get(struct rocket_file_priv *rocket_priv);
|
| 30 | void rocket_iommu_domain_put(struct rocket_iommu_domain *domain);
|
| 31 |
|
| 32 | #endif
|