Skip to content

Commit 5bc155c

Browse files
Tomer Tayarogabbay
authored andcommitted
accel/habanalabs/gaudi2: use correct registers to dump QM CQ info
The QM CQ PTR_LO/PTR_HI/TSIZE registers are for pushing a CQ entry, and although they are updated by HW even when descriptors are fetched by PQ and CB addresses are fed into CQ, the correct registers to use when dumping the CQ info are the ones with the _STS suffix. Signed-off-by: Tomer Tayar <ttayar@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
1 parent 47a5528 commit 5bc155c

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

drivers/accel/habanalabs/gaudi2/gaudi2.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7868,15 +7868,15 @@ static void handle_lower_qman_data_on_err(struct hl_device *hdev, u64 qman_base,
78687868
is_arc_cq = FIELD_GET(PDMA0_QM_CP_STS_CUR_CQ_MASK, cp_sts); /* 0 - legacy CQ, 1 - ARC_CQ */
78697869

78707870
if (is_arc_cq) {
7871-
lo = RREG32(qman_base + QM_ARC_CQ_PTR_LO_OFFSET);
7872-
hi = RREG32(qman_base + QM_ARC_CQ_PTR_HI_OFFSET);
7871+
lo = RREG32(qman_base + QM_ARC_CQ_PTR_LO_STS_OFFSET);
7872+
hi = RREG32(qman_base + QM_ARC_CQ_PTR_HI_STS_OFFSET);
78737873
cq_ptr = ((u64) hi) << 32 | lo;
7874-
cq_ptr_size = RREG32(qman_base + QM_ARC_CQ_TSIZE_OFFSET);
7874+
cq_ptr_size = RREG32(qman_base + QM_ARC_CQ_TSIZE_STS_OFFSET);
78757875
} else {
7876-
lo = RREG32(qman_base + QM_CQ_PTR_LO_4_OFFSET);
7877-
hi = RREG32(qman_base + QM_CQ_PTR_HI_4_OFFSET);
7876+
lo = RREG32(qman_base + QM_CQ_PTR_LO_STS_4_OFFSET);
7877+
hi = RREG32(qman_base + QM_CQ_PTR_HI_STS_4_OFFSET);
78787878
cq_ptr = ((u64) hi) << 32 | lo;
7879-
cq_ptr_size = RREG32(qman_base + QM_CQ_TSIZE_4_OFFSET);
7879+
cq_ptr_size = RREG32(qman_base + QM_CQ_TSIZE_STS_4_OFFSET);
78807880
}
78817881

78827882
lo = RREG32(qman_base + QM_CP_CURRENT_INST_LO_4_OFFSET);

drivers/accel/habanalabs/include/gaudi2/asic_reg/gaudi2_regs.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,13 @@
242242
#define QM_FENCE2_OFFSET (mmPDMA0_QM_CP_FENCE2_RDATA_0 - mmPDMA0_QM_BASE)
243243
#define QM_SEI_STATUS_OFFSET (mmPDMA0_QM_SEI_STATUS - mmPDMA0_QM_BASE)
244244

245-
#define QM_CQ_PTR_LO_4_OFFSET (mmPDMA0_QM_CQ_PTR_LO_4 - mmPDMA0_QM_BASE)
246-
#define QM_CQ_PTR_HI_4_OFFSET (mmPDMA0_QM_CQ_PTR_HI_4 - mmPDMA0_QM_BASE)
247-
#define QM_CQ_TSIZE_4_OFFSET (mmPDMA0_QM_CQ_TSIZE_4 - mmPDMA0_QM_BASE)
245+
#define QM_CQ_TSIZE_STS_4_OFFSET (mmPDMA0_QM_CQ_TSIZE_STS_4 - mmPDMA0_QM_BASE)
246+
#define QM_CQ_PTR_LO_STS_4_OFFSET (mmPDMA0_QM_CQ_PTR_LO_STS_4 - mmPDMA0_QM_BASE)
247+
#define QM_CQ_PTR_HI_STS_4_OFFSET (mmPDMA0_QM_CQ_PTR_HI_STS_4 - mmPDMA0_QM_BASE)
248248

249-
#define QM_ARC_CQ_PTR_LO_OFFSET (mmPDMA0_QM_ARC_CQ_PTR_LO - mmPDMA0_QM_BASE)
250-
#define QM_ARC_CQ_PTR_HI_OFFSET (mmPDMA0_QM_ARC_CQ_PTR_HI - mmPDMA0_QM_BASE)
251-
#define QM_ARC_CQ_TSIZE_OFFSET (mmPDMA0_QM_ARC_CQ_TSIZE - mmPDMA0_QM_BASE)
249+
#define QM_ARC_CQ_TSIZE_STS_OFFSET (mmPDMA0_QM_ARC_CQ_TSIZE_STS - mmPDMA0_QM_BASE)
250+
#define QM_ARC_CQ_PTR_LO_STS_OFFSET (mmPDMA0_QM_ARC_CQ_PTR_LO_STS - mmPDMA0_QM_BASE)
251+
#define QM_ARC_CQ_PTR_HI_STS_OFFSET (mmPDMA0_QM_ARC_CQ_PTR_HI_STS - mmPDMA0_QM_BASE)
252252

253253
#define QM_CP_STS_4_OFFSET (mmPDMA0_QM_CP_STS_4 - mmPDMA0_QM_BASE)
254254
#define QM_CP_CURRENT_INST_LO_4_OFFSET (mmPDMA0_QM_CP_CURRENT_INST_LO_4 - mmPDMA0_QM_BASE)

0 commit comments

Comments
 (0)