accel/ivpu: Add PM support
[linux-2.6-block.git] / drivers / accel / ivpu / ivpu_drv.h
index 4f2c4268f1dd9ea8e6671a92c27c1744da22050c..f47b4965db2e33ced85211672116e7c7a0cc3aad 100644 (file)
@@ -76,6 +76,7 @@ struct ivpu_hw_info;
 struct ivpu_mmu_info;
 struct ivpu_fw_info;
 struct ivpu_ipc_info;
+struct ivpu_pm_info;
 
 struct ivpu_device {
        struct drm_device drm;
@@ -89,11 +90,15 @@ struct ivpu_device {
        struct ivpu_mmu_info *mmu;
        struct ivpu_fw_info *fw;
        struct ivpu_ipc_info *ipc;
+       struct ivpu_pm_info *pm;
 
        struct ivpu_mmu_context gctx;
        struct xarray context_xa;
        struct xa_limit context_xa_limit;
 
+       struct xarray submitted_jobs_xa;
+       struct task_struct *job_done_thread;
+
        atomic64_t unique_id_counter;
 
        struct {
@@ -111,6 +116,8 @@ struct ivpu_device {
 struct ivpu_file_priv {
        struct kref ref;
        struct ivpu_device *vdev;
+       struct mutex lock; /* Protects cmdq */
+       struct ivpu_cmdq *cmdq[IVPU_NUM_ENGINES];
        struct ivpu_mmu_context ctx;
        u32 priority;
        bool has_mmu_faults;