From ed6e3960903b9e2ba82ded06d1abfe3dec0ac865 Mon Sep 17 00:00:00 2001 From: Philip Elcan Date: Wed, 3 Oct 2018 14:52:49 -0400 Subject: gpu: nvgpu: channel: make chid u32 The chid member of the channel_gk20a struct was being used as a unsigned value. By being declared as an int, it was causing MISRA 10.3 violations for implicit assignment of different types. JIRA NVGPU-647 Change-Id: I7477fad6f0c837cf7ede1dba803158b1dda717af Signed-off-by: Philip Elcan Reviewed-on: https://git-master.nvidia.com/r/1918470 Signed-off-by: Debarshi Dutta (cherry picked from commit 1c7bb9b538200a11aa3ef31d72038d8ba820dfca in dev-kernel) Reviewed-on: https://git-master.nvidia.com/r/2008514 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h | 2 +- drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 2 +- drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 2 +- drivers/gpu/nvgpu/include/nvgpu/channel.h | 2 +- drivers/gpu/nvgpu/os/linux/ioctl_dbg.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h index 50002557..fb5ae1fa 100644 --- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h @@ -88,7 +88,7 @@ dbg_session_data_from_dbg_s_entry(struct nvgpu_list_node *node) struct dbg_session_channel_data { int channel_fd; - int chid; + u32 chid; struct nvgpu_list_node ch_entry; struct dbg_session_data *session_data; int (*unbind_single_channel)(struct dbg_session_gk20a *dbg_s, diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index e5ccfcb4..9691d51b 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c @@ -3394,7 +3394,7 @@ u32 *gk20a_runlist_construct_locked(struct fifo_gk20a *f, /* add runnable channels bound to this TSG */ nvgpu_list_for_each_entry(ch, &tsg->ch_list, channel_gk20a, ch_entry) { - if (!test_bit(ch->chid, + if (!test_bit((int)ch->chid, runlist->active_channels)) { continue; } diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 20c13097..8cb66279 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -8067,7 +8067,7 @@ bool gk20a_is_channel_ctx_resident(struct channel_gk20a *ch) nvgpu_log(g, gpu_dbg_fn | gpu_dbg_gpu_dbg, "curr_gr_chid=%d curr_tsgid=%d, ch->tsgid=%d" " ch->chid=%d", - (curr_ch != NULL) ? curr_ch->chid : -1, + (curr_ch != NULL) ? curr_ch->chid : U32_MAX, curr_gr_tsgid, ch->tsgid, ch->chid); diff --git a/drivers/gpu/nvgpu/include/nvgpu/channel.h b/drivers/gpu/nvgpu/include/nvgpu/channel.h index 8d2d9b44..6cdcb973 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/channel.h +++ b/drivers/gpu/nvgpu/include/nvgpu/channel.h @@ -242,7 +242,7 @@ struct channel_gk20a { nvgpu_atomic_t bound; - int chid; + u32 chid; u32 tsgid; pid_t pid; pid_t tgid; diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c index 63d33c6b..0dc163e2 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c @@ -456,7 +456,7 @@ static int dbg_unbind_single_channel_gk20a(struct dbg_session_gk20a *dbg_s, struct dbg_session_channel_data *ch_data) { struct gk20a *g = dbg_s->g; - int chid; + u32 chid; struct dbg_session_data *session_data; struct dbg_profiler_object_data *prof_obj, *tmp_obj; struct dbg_session_channel_data_linux *ch_data_linux; -- cgit v1.2.2