mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 13:41:55 +00:00
[SCSI] ufs: Assign UTRLBAU = upper_32_ bits(UTRLD base address)
UTP Transfer request list base registers UTRLBA and UTRLBAU must be assigned, lower-32 and upper-32 bits of UTRLD list physical base addresses respectively. Currently UTRLBAU is being assigned lower-32 bits of UTRLD physical base address. This will cause an issue with controllers that can support 64-bit addressing. This patch correctly assigns upper-32 bits of UTRLD physical base address to UTRLBAU. Reported-by: Rene De Jong <rene.dejong@arm.com> Signed-off-by: Santosh Yaraganavi <santoshsy@gmail.com> Reviewed-by: Vinayak Holikatti <vinholikatti@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
b3b8abd857
commit
85bb4457ef
@ -1032,11 +1032,11 @@ static int ufshcd_initialize_hba(struct ufs_hba *hba)
|
||||
return -EIO;
|
||||
|
||||
/* Configure UTRL and UTMRL base address registers */
|
||||
writel(hba->utrdl_dma_addr,
|
||||
(hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_L));
|
||||
writel(lower_32_bits(hba->utrdl_dma_addr),
|
||||
(hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_L));
|
||||
writel(upper_32_bits(hba->utrdl_dma_addr),
|
||||
(hba->mmio_base + REG_UTP_TRANSFER_REQ_LIST_BASE_H));
|
||||
writel(hba->utmrdl_dma_addr,
|
||||
writel(lower_32_bits(hba->utmrdl_dma_addr),
|
||||
(hba->mmio_base + REG_UTP_TASK_REQ_LIST_BASE_L));
|
||||
writel(upper_32_bits(hba->utmrdl_dma_addr),
|
||||
(hba->mmio_base + REG_UTP_TASK_REQ_LIST_BASE_H));
|
||||
|
Loading…
Reference in New Issue
Block a user