diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index 11db5b23..bf4673bf 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | |||
@@ -377,10 +377,9 @@ int gk20a_pmu_mutex_release(struct nvgpu_pmu *pmu, u32 id, u32 *token) | |||
377 | return 0; | 377 | return 0; |
378 | } | 378 | } |
379 | 379 | ||
380 | int gk20a_pmu_queue_head(struct nvgpu_pmu *pmu, struct pmu_queue *queue, | 380 | int gk20a_pmu_queue_head(struct gk20a *g, struct nvgpu_falcon_queue *queue, |
381 | u32 *head, bool set) | 381 | u32 *head, bool set) |
382 | { | 382 | { |
383 | struct gk20a *g = gk20a_from_pmu(pmu); | ||
384 | u32 queue_head_size = 0; | 383 | u32 queue_head_size = 0; |
385 | 384 | ||
386 | if (g->ops.pmu.pmu_get_queue_head_size) | 385 | if (g->ops.pmu.pmu_get_queue_head_size) |
@@ -414,10 +413,9 @@ int gk20a_pmu_queue_head(struct nvgpu_pmu *pmu, struct pmu_queue *queue, | |||
414 | return 0; | 413 | return 0; |
415 | } | 414 | } |
416 | 415 | ||
417 | int gk20a_pmu_queue_tail(struct nvgpu_pmu *pmu, struct pmu_queue *queue, | 416 | int gk20a_pmu_queue_tail(struct gk20a *g, struct nvgpu_falcon_queue *queue, |
418 | u32 *tail, bool set) | 417 | u32 *tail, bool set) |
419 | { | 418 | { |
420 | struct gk20a *g = gk20a_from_pmu(pmu); | ||
421 | u32 queue_tail_size = 0; | 419 | u32 queue_tail_size = 0; |
422 | 420 | ||
423 | if (g->ops.pmu.pmu_get_queue_tail_size) | 421 | if (g->ops.pmu.pmu_get_queue_tail_size) |
@@ -692,7 +690,7 @@ bool gk20a_pmu_is_interrupted(struct nvgpu_pmu *pmu) | |||
692 | void gk20a_pmu_isr(struct gk20a *g) | 690 | void gk20a_pmu_isr(struct gk20a *g) |
693 | { | 691 | { |
694 | struct nvgpu_pmu *pmu = &g->pmu; | 692 | struct nvgpu_pmu *pmu = &g->pmu; |
695 | struct pmu_queue *queue; | 693 | struct nvgpu_falcon_queue *queue; |
696 | u32 intr, mask; | 694 | u32 intr, mask; |
697 | bool recheck = false; | 695 | bool recheck = false; |
698 | 696 | ||
@@ -749,9 +747,10 @@ void gk20a_pmu_isr(struct gk20a *g) | |||
749 | 747 | ||
750 | if (recheck) { | 748 | if (recheck) { |
751 | queue = &pmu->queue[PMU_MESSAGE_QUEUE]; | 749 | queue = &pmu->queue[PMU_MESSAGE_QUEUE]; |
752 | if (!nvgpu_pmu_queue_is_empty(pmu, queue)) | 750 | if (!nvgpu_flcn_queue_is_empty(pmu->flcn, queue)) { |
753 | gk20a_writel(g, pwr_falcon_irqsset_r(), | 751 | gk20a_writel(g, pwr_falcon_irqsset_r(), |
754 | pwr_falcon_irqsset_swgen0_set_f()); | 752 | pwr_falcon_irqsset_swgen0_set_f()); |
753 | } | ||
755 | } | 754 | } |
756 | 755 | ||
757 | nvgpu_mutex_release(&pmu->isr_mutex); | 756 | nvgpu_mutex_release(&pmu->isr_mutex); |