summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
index f06bf1c5..9dfe3083 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
@@ -696,6 +696,7 @@ static int init_runlist(struct gk20a *g, struct fifo_gk20a *f)
696 u32 active_engine_id, pbdma_id, engine_id; 696 u32 active_engine_id, pbdma_id, engine_id;
697 int flags = nvgpu_is_enabled(g, NVGPU_MM_USE_PHYSICAL_SG) ? 697 int flags = nvgpu_is_enabled(g, NVGPU_MM_USE_PHYSICAL_SG) ?
698 NVGPU_DMA_FORCE_CONTIGUOUS : 0; 698 NVGPU_DMA_FORCE_CONTIGUOUS : 0;
699 int err = 0;
699 700
700 nvgpu_log_fn(g, " "); 701 nvgpu_log_fn(g, " ");
701 702
@@ -733,7 +734,7 @@ static int init_runlist(struct gk20a *g, struct fifo_gk20a *f)
733 f->num_runlist_entries, runlist_size); 734 f->num_runlist_entries, runlist_size);
734 735
735 for (i = 0; i < MAX_RUNLIST_BUFFERS; i++) { 736 for (i = 0; i < MAX_RUNLIST_BUFFERS; i++) {
736 int err = nvgpu_dma_alloc_flags_sys(g, flags, 737 err = nvgpu_dma_alloc_flags_sys(g, flags,
737 runlist_size, 738 runlist_size,
738 &runlist->mem[i]); 739 &runlist->mem[i]);
739 if (err) { 740 if (err) {
@@ -741,7 +742,13 @@ static int init_runlist(struct gk20a *g, struct fifo_gk20a *f)
741 goto clean_up_runlist; 742 goto clean_up_runlist;
742 } 743 }
743 } 744 }
744 nvgpu_mutex_init(&runlist->runlist_lock); 745
746 err = nvgpu_mutex_init(&runlist->runlist_lock);
747 if (err != 0) {
748 nvgpu_err(g,
749 "Error in runlist_lock mutex initialization");
750 goto clean_up_runlist;
751 }
745 752
746 /* None of buffers is pinned if this value doesn't change. 753 /* None of buffers is pinned if this value doesn't change.
747 Otherwise, one of them (cur_buffer) must have been pinned. */ 754 Otherwise, one of them (cur_buffer) must have been pinned. */
@@ -773,7 +780,7 @@ static int init_runlist(struct gk20a *g, struct fifo_gk20a *f)
773clean_up_runlist: 780clean_up_runlist:
774 gk20a_fifo_delete_runlist(f); 781 gk20a_fifo_delete_runlist(f);
775 nvgpu_log_fn(g, "fail"); 782 nvgpu_log_fn(g, "fail");
776 return -ENOMEM; 783 return err;
777} 784}
778 785
779u32 gk20a_fifo_intr_0_error_mask(struct gk20a *g) 786u32 gk20a_fifo_intr_0_error_mask(struct gk20a *g)