diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index be9c7cd4..4ad9d85b 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -2506,7 +2506,13 @@ unsigned int gk20a_event_id_poll(struct file *filep, poll_table *wait) | |||
2506 | 2506 | ||
2507 | mutex_lock(&event_id_data->lock); | 2507 | mutex_lock(&event_id_data->lock); |
2508 | 2508 | ||
2509 | if (!event_id_data->is_tsg) { | 2509 | if (event_id_data->is_tsg) { |
2510 | struct tsg_gk20a *tsg = g->fifo.tsg + event_id_data->id; | ||
2511 | |||
2512 | gk20a_dbg_info( | ||
2513 | "found pending event_id=%d on TSG=%d\n", | ||
2514 | event_id, tsg->tsgid); | ||
2515 | } else { | ||
2510 | struct channel_gk20a *ch = g->fifo.channel | 2516 | struct channel_gk20a *ch = g->fifo.channel |
2511 | + event_id_data->id; | 2517 | + event_id_data->id; |
2512 | 2518 | ||
@@ -2526,7 +2532,13 @@ int gk20a_event_id_release(struct inode *inode, struct file *filp) | |||
2526 | struct gk20a_event_id_data *event_id_data = filp->private_data; | 2532 | struct gk20a_event_id_data *event_id_data = filp->private_data; |
2527 | struct gk20a *g = event_id_data->g; | 2533 | struct gk20a *g = event_id_data->g; |
2528 | 2534 | ||
2529 | if (!event_id_data->is_tsg) { | 2535 | if (event_id_data->is_tsg) { |
2536 | struct tsg_gk20a *tsg = g->fifo.tsg + event_id_data->id; | ||
2537 | |||
2538 | mutex_lock(&tsg->event_id_list_lock); | ||
2539 | list_del_init(&event_id_data->event_id_node); | ||
2540 | mutex_unlock(&tsg->event_id_list_lock); | ||
2541 | } else { | ||
2530 | struct channel_gk20a *ch = g->fifo.channel + event_id_data->id; | 2542 | struct channel_gk20a *ch = g->fifo.channel + event_id_data->id; |
2531 | 2543 | ||
2532 | mutex_lock(&ch->event_id_list_lock); | 2544 | mutex_lock(&ch->event_id_list_lock); |
@@ -2540,7 +2552,7 @@ int gk20a_event_id_release(struct inode *inode, struct file *filp) | |||
2540 | return 0; | 2552 | return 0; |
2541 | } | 2553 | } |
2542 | 2554 | ||
2543 | static const struct file_operations gk20a_event_id_ops = { | 2555 | const struct file_operations gk20a_event_id_ops = { |
2544 | .owner = THIS_MODULE, | 2556 | .owner = THIS_MODULE, |
2545 | .poll = gk20a_event_id_poll, | 2557 | .poll = gk20a_event_id_poll, |
2546 | .release = gk20a_event_id_release, | 2558 | .release = gk20a_event_id_release, |