Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d12fb13f authored by shaoyunl's avatar shaoyunl Committed by Oded Gabbay
Browse files

drm/amdkfd: Fix SDMA ring buffer size calculation



ffs function return the position of the first bit set on 1 based.
(bit zero returns 1).

Signed-off-by: default avatarshaoyun liu <shaoyun.liu@amd.com>
Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent cf21654b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -202,8 +202,8 @@ static int update_mqd_sdma(struct mqd_manager *mm, void *mqd,
	struct cik_sdma_rlc_registers *m;

	m = get_sdma_mqd(mqd);
	m->sdma_rlc_rb_cntl = ffs(q->queue_size / sizeof(unsigned int)) <<
			SDMA0_RLC0_RB_CNTL__RB_SIZE__SHIFT |
	m->sdma_rlc_rb_cntl = (ffs(q->queue_size / sizeof(unsigned int)) - 1)
			<< SDMA0_RLC0_RB_CNTL__RB_SIZE__SHIFT |
			q->vmid << SDMA0_RLC0_RB_CNTL__RB_VMID__SHIFT |
			1 << SDMA0_RLC0_RB_CNTL__RPTR_WRITEBACK_ENABLE__SHIFT |
			6 << SDMA0_RLC0_RB_CNTL__RPTR_WRITEBACK_TIMER__SHIFT;