summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
index d8af5d7c..93247411 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
@@ -525,6 +525,12 @@ struct pmu_payload {
525 } in, out; 525 } in, out;
526}; 526};
527 527
528struct pmu_surface {
529 struct mem_desc vidmem_desc;
530 struct mem_desc sysmem_desc;
531 struct flcn_mem_desc_v0 params;
532};
533
528typedef void (*pmu_callback)(struct gk20a *, struct pmu_msg *, void *, u32, 534typedef void (*pmu_callback)(struct gk20a *, struct pmu_msg *, void *, u32,
529 u32); 535 u32);
530 536
@@ -539,12 +545,14 @@ struct pmu_sequence {
539 struct pmu_allocation_v2 in_v2; 545 struct pmu_allocation_v2 in_v2;
540 struct pmu_allocation_v3 in_v3; 546 struct pmu_allocation_v3 in_v3;
541 }; 547 };
548 struct mem_desc *in_mem;
542 union { 549 union {
543 struct pmu_allocation_v0 out_v0; 550 struct pmu_allocation_v0 out_v0;
544 struct pmu_allocation_v1 out_v1; 551 struct pmu_allocation_v1 out_v1;
545 struct pmu_allocation_v2 out_v2; 552 struct pmu_allocation_v2 out_v2;
546 struct pmu_allocation_v3 out_v3; 553 struct pmu_allocation_v3 out_v3;
547 }; 554 };
555 struct mem_desc *out_mem;
548 u8 *out_payload; 556 u8 *out_payload;
549 pmu_callback callback; 557 pmu_callback callback;
550 void* cb_params; 558 void* cb_params;
@@ -797,4 +805,11 @@ int gk20a_pmu_reset(struct gk20a *g);
797int pmu_idle(struct pmu_gk20a *pmu); 805int pmu_idle(struct pmu_gk20a *pmu);
798int pmu_enable_hw(struct pmu_gk20a *pmu, bool enable); 806int pmu_enable_hw(struct pmu_gk20a *pmu, bool enable);
799 807
808void gk20a_pmu_surface_free(struct gk20a *g, struct mem_desc *mem);
809void gk20a_pmu_surface_describe(struct gk20a *g, struct mem_desc *mem,
810 struct flcn_mem_desc_v0 *fb);
811int gk20a_pmu_vidmem_surface_alloc(struct gk20a *g, struct mem_desc *mem,
812 u32 size);
813int gk20a_pmu_sysmem_surface_alloc(struct gk20a *g, struct mem_desc *mem,
814 u32 size);
800#endif /*__PMU_GK20A_H__*/ 815#endif /*__PMU_GK20A_H__*/