gpu: nvgpu: remove use of NVGPU_CTXSW_FILTER_ISSET

- Remove the usage of NVGPU_CTXSW_FILTER_ISSET splattered
across nvgpu, and replace with a MACRO defined in common code.
The usage is still inside Linux, but this helps the
subsequent unification efforts, e.g. to unify the fecs trace
path.
- Remove "uapi/linux/nvgpu.h" from common code.

EVLR-3078

Change-Id: I60b0e1627576a4b255671d58530d8c773ea6154c
Signed-off-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1803210
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Vaibhav Kachore
2018-08-20 16:59:45 +05:30
committed by mobile promotions
parent 064ba6a7ef
commit 7bf80a1c69
7 changed files with 37 additions and 17 deletions

View File

@@ -46,7 +46,7 @@ struct gk20a_ctxsw_dev {
struct nvgpu_ctxsw_ring_header *hdr;
struct nvgpu_gpu_ctxsw_trace_entry *ents;
struct nvgpu_ctxsw_trace_filter filter;
struct nvgpu_gpu_ctxsw_trace_filter filter;
bool write_enabled;
struct nvgpu_cond readout_wq;
size_t size;
@@ -244,13 +244,25 @@ static int gk20a_ctxsw_dev_ioctl_ring_setup(struct gk20a_ctxsw_dev *dev,
return ret;
}
static void nvgpu_set_ctxsw_trace_filter_args(struct nvgpu_gpu_ctxsw_trace_filter *filter_dst,
struct nvgpu_ctxsw_trace_filter *filter_src)
{
memcpy(filter_dst->tag_bits, filter_src->tag_bits, (NVGPU_CTXSW_FILTER_SIZE + 63) / 64);
}
static void nvgpu_get_ctxsw_trace_filter_args(struct nvgpu_ctxsw_trace_filter *filter_dst,
struct nvgpu_gpu_ctxsw_trace_filter *filter_src)
{
memcpy(filter_dst->tag_bits, filter_src->tag_bits, (NVGPU_CTXSW_FILTER_SIZE + 63) / 64);
}
static int gk20a_ctxsw_dev_ioctl_set_filter(struct gk20a_ctxsw_dev *dev,
struct nvgpu_ctxsw_trace_filter_args *args)
{
struct gk20a *g = dev->g;
nvgpu_mutex_acquire(&dev->write_lock);
dev->filter = args->filter;
nvgpu_set_ctxsw_trace_filter_args(&dev->filter, &args->filter);
nvgpu_mutex_release(&dev->write_lock);
if (g->ops.fecs_trace.set_filter)
@@ -262,7 +274,7 @@ static int gk20a_ctxsw_dev_ioctl_get_filter(struct gk20a_ctxsw_dev *dev,
struct nvgpu_ctxsw_trace_filter_args *args)
{
nvgpu_mutex_acquire(&dev->write_lock);
args->filter = dev->filter;
nvgpu_get_ctxsw_trace_filter_args(&args->filter, &dev->filter);
nvgpu_mutex_release(&dev->write_lock);
return 0;
@@ -650,7 +662,7 @@ int gk20a_ctxsw_trace_write(struct gk20a *g,
goto drop;
}
if (!NVGPU_CTXSW_FILTER_ISSET(entry->tag, &dev->filter)) {
if (!NVGPU_GPU_CTXSW_FILTER_ISSET(entry->tag, &dev->filter)) {
reason = "filtered out";
goto filter;
}

View File

@@ -190,7 +190,7 @@ int vgpu_mmap_user_buffer(struct gk20a *g, struct vm_area_struct *vma)
#ifdef CONFIG_GK20A_CTXSW_TRACE
int vgpu_fecs_trace_max_entries(struct gk20a *g,
struct nvgpu_ctxsw_trace_filter *filter)
struct nvgpu_gpu_ctxsw_trace_filter *filter)
{
struct vgpu_fecs_trace *vcst = (struct vgpu_fecs_trace *)g->fecs_trace;
@@ -202,7 +202,7 @@ int vgpu_fecs_trace_max_entries(struct gk20a *g,
#endif
int vgpu_fecs_trace_set_filter(struct gk20a *g,
struct nvgpu_ctxsw_trace_filter *filter)
struct nvgpu_gpu_ctxsw_trace_filter *filter)
{
struct tegra_vgpu_cmd_msg msg = {
.cmd = TEGRA_VGPU_CMD_FECS_TRACE_SET_FILTER,