diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/pmu_gk20a.h | 15 |
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 | ||
528 | struct pmu_surface { | ||
529 | struct mem_desc vidmem_desc; | ||
530 | struct mem_desc sysmem_desc; | ||
531 | struct flcn_mem_desc_v0 params; | ||
532 | }; | ||
533 | |||
528 | typedef void (*pmu_callback)(struct gk20a *, struct pmu_msg *, void *, u32, | 534 | typedef 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); | |||
797 | int pmu_idle(struct pmu_gk20a *pmu); | 805 | int pmu_idle(struct pmu_gk20a *pmu); |
798 | int pmu_enable_hw(struct pmu_gk20a *pmu, bool enable); | 806 | int pmu_enable_hw(struct pmu_gk20a *pmu, bool enable); |
799 | 807 | ||
808 | void gk20a_pmu_surface_free(struct gk20a *g, struct mem_desc *mem); | ||
809 | void gk20a_pmu_surface_describe(struct gk20a *g, struct mem_desc *mem, | ||
810 | struct flcn_mem_desc_v0 *fb); | ||
811 | int gk20a_pmu_vidmem_surface_alloc(struct gk20a *g, struct mem_desc *mem, | ||
812 | u32 size); | ||
813 | int 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__*/ |