ANDROID: scsi: ufs: fix more bad merge resolutions with custom sg entry size

Fix bad merge resolutions between Android-specific commit 8de80df7d7
("ANDROID: scsi: ufs: allow ufs variants to override sg entry size")
and the following upstream commits:

- commit 26f968d7de ("scsi: ufs: Introduce UFSHCD_QUIRK_PRDT_BYTE_GRAN quirk")
- commit cc770ce34a ("scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN")

This should be folded into
ANDROID-scsi-ufs-allow-ufs-variants-to-override-sg-entry-size.patch.

Fixes: 2c136de302 ("Merge 86cfccb669 ("Merge tag 'dlm-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm") into android-mainline")
Fixes: 22a7eefbeb ("Merge 55e0500eb5 ("Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi") into android-mainline")
Bug: 162257402
Change-Id: I3a2f1f5b6df43028dde248b9a932f5595dd13e21
Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
Eric Biggers 2020-10-27 09:26:59 -07:00
parent f48c81611c
commit b691cb35d3

View File

@ -477,7 +477,7 @@ void ufshcd_print_trs(struct ufs_hba *hba, unsigned long bitmap, bool pr_prdt)
prdt_length = le16_to_cpu(
lrbp->utr_descriptor_ptr->prd_table_length);
if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN)
prdt_length /= sizeof(struct ufshcd_sg_entry);
prdt_length /= hba->sg_entry_size;
dev_err(hba->dev,
"UPIU[%d] - PRDT - %d entries phys@0x%llx\n",
@ -2209,8 +2209,7 @@ static int ufshcd_map_sg(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN)
lrbp->utr_descriptor_ptr->prd_table_length =
cpu_to_le16((sg_segments *
sizeof(struct ufshcd_sg_entry)));
cpu_to_le16(sg_segments * hba->sg_entry_size);
else
lrbp->utr_descriptor_ptr->prd_table_length =
cpu_to_le16((u16) (sg_segments));