25
25
#define QUEUE_ID_OFFSET 16
26
26
27
27
#define MCQ_CFG_MAC_MASK GENMASK(16, 8)
28
- #define MCQ_QCFG_SIZE 0x40
29
28
#define MCQ_ENTRY_SIZE_IN_DWORD 8
30
29
#define CQE_UCD_BA GENMASK_ULL(63, 7)
31
30
@@ -228,10 +227,6 @@ int ufshcd_mcq_memory_alloc(struct ufs_hba *hba)
228
227
return 0 ;
229
228
}
230
229
231
-
232
- /* Operation and runtime registers configuration */
233
- #define MCQ_CFG_n (r , i ) ((r) + MCQ_QCFG_SIZE * (i))
234
-
235
230
static void __iomem * mcq_opr_base (struct ufs_hba * hba ,
236
231
enum ufshcd_mcq_opr n , int i )
237
232
{
@@ -336,29 +331,29 @@ void ufshcd_mcq_make_queues_operational(struct ufs_hba *hba)
336
331
337
332
/* Submission Queue Lower Base Address */
338
333
ufsmcq_writelx (hba , lower_32_bits (hwq -> sqe_dma_addr ),
339
- MCQ_CFG_n (REG_SQLBA , i ));
334
+ ufshcd_mcq_cfg_offset (REG_SQLBA , i ));
340
335
/* Submission Queue Upper Base Address */
341
336
ufsmcq_writelx (hba , upper_32_bits (hwq -> sqe_dma_addr ),
342
- MCQ_CFG_n (REG_SQUBA , i ));
337
+ ufshcd_mcq_cfg_offset (REG_SQUBA , i ));
343
338
/* Submission Queue Doorbell Address Offset */
344
339
ufsmcq_writelx (hba , ufshcd_mcq_opr_offset (hba , OPR_SQD , i ),
345
- MCQ_CFG_n (REG_SQDAO , i ));
340
+ ufshcd_mcq_cfg_offset (REG_SQDAO , i ));
346
341
/* Submission Queue Interrupt Status Address Offset */
347
342
ufsmcq_writelx (hba , ufshcd_mcq_opr_offset (hba , OPR_SQIS , i ),
348
- MCQ_CFG_n (REG_SQISAO , i ));
343
+ ufshcd_mcq_cfg_offset (REG_SQISAO , i ));
349
344
350
345
/* Completion Queue Lower Base Address */
351
346
ufsmcq_writelx (hba , lower_32_bits (hwq -> cqe_dma_addr ),
352
- MCQ_CFG_n (REG_CQLBA , i ));
347
+ ufshcd_mcq_cfg_offset (REG_CQLBA , i ));
353
348
/* Completion Queue Upper Base Address */
354
349
ufsmcq_writelx (hba , upper_32_bits (hwq -> cqe_dma_addr ),
355
- MCQ_CFG_n (REG_CQUBA , i ));
350
+ ufshcd_mcq_cfg_offset (REG_CQUBA , i ));
356
351
/* Completion Queue Doorbell Address Offset */
357
352
ufsmcq_writelx (hba , ufshcd_mcq_opr_offset (hba , OPR_CQD , i ),
358
- MCQ_CFG_n (REG_CQDAO , i ));
353
+ ufshcd_mcq_cfg_offset (REG_CQDAO , i ));
359
354
/* Completion Queue Interrupt Status Address Offset */
360
355
ufsmcq_writelx (hba , ufshcd_mcq_opr_offset (hba , OPR_CQIS , i ),
361
- MCQ_CFG_n (REG_CQISAO , i ));
356
+ ufshcd_mcq_cfg_offset (REG_CQISAO , i ));
362
357
363
358
/* Save the base addresses for quicker access */
364
359
hwq -> mcq_sq_head = mcq_opr_base (hba , OPR_SQD , i ) + REG_SQHP ;
@@ -375,15 +370,15 @@ void ufshcd_mcq_make_queues_operational(struct ufs_hba *hba)
375
370
376
371
/* Completion Queue Enable|Size to Completion Queue Attribute */
377
372
ufsmcq_writel (hba , (1 << QUEUE_EN_OFFSET ) | qsize ,
378
- MCQ_CFG_n (REG_CQATTR , i ));
373
+ ufshcd_mcq_cfg_offset (REG_CQATTR , i ));
379
374
380
375
/*
381
376
* Submission Qeueue Enable|Size|Completion Queue ID to
382
377
* Submission Queue Attribute
383
378
*/
384
379
ufsmcq_writel (hba , (1 << QUEUE_EN_OFFSET ) | qsize |
385
380
(i << QUEUE_ID_OFFSET ),
386
- MCQ_CFG_n (REG_SQATTR , i ));
381
+ ufshcd_mcq_cfg_offset (REG_SQATTR , i ));
387
382
}
388
383
}
389
384
EXPORT_SYMBOL_GPL (ufshcd_mcq_make_queues_operational );
0 commit comments