diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index d7fdffb0..a34f06b2 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -689,18 +689,25 @@ struct gpu_ops { | |||
689 | int (*get_netlist_name)(struct gk20a *g, int index, char *name); | 689 | int (*get_netlist_name)(struct gk20a *g, int index, char *name); |
690 | bool (*is_fw_defined)(void); | 690 | bool (*is_fw_defined)(void); |
691 | } gr_ctx; | 691 | } gr_ctx; |
692 | #ifdef CONFIG_GK20A_CTXSW_TRACE | ||
693 | /* | ||
694 | * Currently only supported on Linux due to the extremely tight | ||
695 | * integration with Linux device driver structure (in particular | ||
696 | * mmap). | ||
697 | */ | ||
692 | struct { | 698 | struct { |
693 | int (*init)(struct gk20a *g); | 699 | int (*init)(struct gk20a *g); |
694 | int (*max_entries)(struct gk20a *, | 700 | int (*max_entries)(struct gk20a *, |
695 | struct nvgpu_ctxsw_trace_filter *); | 701 | struct nvgpu_ctxsw_trace_filter *filter); |
696 | int (*flush)(struct gk20a *g); | 702 | int (*flush)(struct gk20a *g); |
697 | int (*poll)(struct gk20a *g); | 703 | int (*poll)(struct gk20a *g); |
698 | int (*enable)(struct gk20a *g); | 704 | int (*enable)(struct gk20a *g); |
699 | int (*disable)(struct gk20a *g); | 705 | int (*disable)(struct gk20a *g); |
700 | bool (*is_enabled)(struct gk20a *g); | 706 | bool (*is_enabled)(struct gk20a *g); |
701 | int (*reset)(struct gk20a *g); | 707 | int (*reset)(struct gk20a *g); |
702 | int (*bind_channel)(struct gk20a *, struct channel_gk20a *); | 708 | int (*bind_channel)(struct gk20a *g, struct channel_gk20a *ch); |
703 | int (*unbind_channel)(struct gk20a *, struct channel_gk20a *); | 709 | int (*unbind_channel)(struct gk20a *g, |
710 | struct channel_gk20a *ch); | ||
704 | int (*deinit)(struct gk20a *g); | 711 | int (*deinit)(struct gk20a *g); |
705 | int (*alloc_user_buffer)(struct gk20a *g, | 712 | int (*alloc_user_buffer)(struct gk20a *g, |
706 | void **buf, size_t *size); | 713 | void **buf, size_t *size); |
@@ -710,6 +717,7 @@ struct gpu_ops { | |||
710 | int (*set_filter)(struct gk20a *g, | 717 | int (*set_filter)(struct gk20a *g, |
711 | struct nvgpu_ctxsw_trace_filter *filter); | 718 | struct nvgpu_ctxsw_trace_filter *filter); |
712 | } fecs_trace; | 719 | } fecs_trace; |
720 | #endif | ||
713 | struct { | 721 | struct { |
714 | bool (*support_sparse)(struct gk20a *g); | 722 | bool (*support_sparse)(struct gk20a *g); |
715 | u64 (*gmmu_map)(struct vm_gk20a *vm, | 723 | u64 (*gmmu_map)(struct vm_gk20a *vm, |