scsi: ufs: Utilize Transfer Request List Completion Notification Register
authorCan Guo <cang@codeaurora.org>
Mon, 24 May 2021 08:36:58 +0000 (01:36 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Jun 2021 02:18:03 +0000 (22:18 -0400)
commit6f7151729647e58ac7c522081255fd0c07b38105
tree122a0941a900c9e6bb2d93869a98eb227db1df53
parenta45f937110fa6b0c2c06a5d3ef026963a5759050
scsi: ufs: Utilize Transfer Request List Completion Notification Register

By reading the UTP Transfer Request List Completion Notification Register,
which is added in UFSHCI Ver 3.0, SW can easily get the compeleted transfer
requests. Thus, SW can get rid of host lock, which is used to synchronize
the tr_doorbell and outstanding_reqs, on transfer requests dispatch and
completion paths. This can further benefit random read/write performance.

Link: https://lore.kernel.org/r/1621845419-14194-4-git-send-email-cang@codeaurora.org
Cc: Stanley Chu <stanley.chu@mediatek.com>
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Reviewed-by: Bean Huo <beanhuo@micron.com>
Co-developed-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h
drivers/scsi/ufs/ufshci.h