2023-05-31 06:06:14

by Avri Altman

[permalink] [raw]
Subject: [PATCH v2] scsi: ufs: core: Do not open code SZ_x

v1 -> v2: Attend UTMRD as well

A tad cleanup - No functional change.

Signed-off-by: Avri Altman <[email protected]>
Reviewed-by: Bean Huo <[email protected]>
Reviewed-by: Stanley Chu <[email protected]>
---
drivers/ufs/core/ufshcd.c | 10 +++++-----
include/ufs/ufshci.h | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index fdf5073c7c6c..10a10f8f0bd1 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -2519,7 +2519,7 @@ static void ufshcd_sgl_to_prdt(struct ufs_hba *hba, struct ufshcd_lrb *lrbp, int
* 11b to indicate Dword granularity. A value of '3'
* indicates 4 bytes, '7' indicates 8 bytes, etc."
*/
- WARN_ONCE(len > 256 * 1024, "len = %#x\n", len);
+ WARN_ONCE(len > SZ_256K, "len = %#x\n", len);
prd->size = cpu_to_le32(len - 1);
prd->addr = cpu_to_le64(sg->dma_address);
prd->reserved = 0;
@@ -3765,7 +3765,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)

/*
* Allocate memory for UTP Transfer descriptors
- * UFSHCI requires 1024 byte alignment of UTRD
+ * UFSHCI requires 1KB alignment of UTRD
*/
utrdl_size = (sizeof(struct utp_transfer_req_desc) * hba->nutrs);
hba->utrdl_base_addr = dmam_alloc_coherent(hba->dev,
@@ -3773,7 +3773,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
&hba->utrdl_dma_addr,
GFP_KERNEL);
if (!hba->utrdl_base_addr ||
- WARN_ON(hba->utrdl_dma_addr & (1024 - 1))) {
+ WARN_ON(hba->utrdl_dma_addr & (SZ_1K - 1))) {
dev_err(hba->dev,
"Transfer Descriptor Memory allocation failed\n");
goto out;
@@ -3797,7 +3797,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
&hba->utmrdl_dma_addr,
GFP_KERNEL);
if (!hba->utmrdl_base_addr ||
- WARN_ON(hba->utmrdl_dma_addr & (1024 - 1))) {
+ WARN_ON(hba->utmrdl_dma_addr & (SZ_1K - 1))) {
dev_err(hba->dev,
"Task Management Descriptor Memory allocation failed\n");
goto out;
@@ -8760,7 +8760,7 @@ static const struct scsi_host_template ufshcd_driver_template = {
.cmd_per_lun = UFSHCD_CMD_PER_LUN,
.can_queue = UFSHCD_CAN_QUEUE,
.max_segment_size = PRDT_DATA_BYTE_COUNT_MAX,
- .max_sectors = (1 << 20) / SECTOR_SIZE, /* 1 MiB */
+ .max_sectors = SZ_1M / SECTOR_SIZE,
.max_host_blocked = 1,
.track_queue_depth = 1,
.skip_settle_delay = 1,
diff --git a/include/ufs/ufshci.h b/include/ufs/ufshci.h
index 11424bb03814..db2d5db5c88e 100644
--- a/include/ufs/ufshci.h
+++ b/include/ufs/ufshci.h
@@ -453,7 +453,7 @@ enum {
};

/* The maximum length of the data byte count field in the PRDT is 256KB */
-#define PRDT_DATA_BYTE_COUNT_MAX (256 * 1024)
+#define PRDT_DATA_BYTE_COUNT_MAX SZ_256K
/* The granularity of the data byte count field in the PRDT is 32-bit */
#define PRDT_DATA_BYTE_COUNT_PAD 4

--
2.40.0



2023-05-31 06:07:38

by Bao D. Nguyen

[permalink] [raw]
Subject: Re: [PATCH v2] scsi: ufs: core: Do not open code SZ_x

On 5/30/2023 10:17 PM, Avri Altman wrote:
> v1 -> v2: Attend UTMRD as well
>
> A tad cleanup - No functional change.
While you are at it, how about
blk_queue_update_dma_alignment(q, 4096 - 1) in ufshcd_slave_configure()

and drivers/ufs/core/ufshpb.c
pool_size = PAGE_ALIGN(ufshpb_host_map_kbytes * 1024) / PAGE_SIZE;

Thanks,
Bao
>
> Signed-off-by: Avri Altman <[email protected]>
> Reviewed-by: Bean Huo <[email protected]>
> Reviewed-by: Stanley Chu <[email protected]>
> ---
> drivers/ufs/core/ufshcd.c | 10 +++++-----
> include/ufs/ufshci.h | 2 +-
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
> index fdf5073c7c6c..10a10f8f0bd1 100644
> --- a/drivers/ufs/core/ufshcd.c
> +++ b/drivers/ufs/core/ufshcd.c
> @@ -2519,7 +2519,7 @@ static void ufshcd_sgl_to_prdt(struct ufs_hba *hba, struct ufshcd_lrb *lrbp, int
> * 11b to indicate Dword granularity. A value of '3'
> * indicates 4 bytes, '7' indicates 8 bytes, etc."
> */
> - WARN_ONCE(len > 256 * 1024, "len = %#x\n", len);
> + WARN_ONCE(len > SZ_256K, "len = %#x\n", len);
> prd->size = cpu_to_le32(len - 1);
> prd->addr = cpu_to_le64(sg->dma_address);
> prd->reserved = 0;
> @@ -3765,7 +3765,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
>
> /*
> * Allocate memory for UTP Transfer descriptors
> - * UFSHCI requires 1024 byte alignment of UTRD
> + * UFSHCI requires 1KB alignment of UTRD
> */
> utrdl_size = (sizeof(struct utp_transfer_req_desc) * hba->nutrs);
> hba->utrdl_base_addr = dmam_alloc_coherent(hba->dev,
> @@ -3773,7 +3773,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
> &hba->utrdl_dma_addr,
> GFP_KERNEL);
> if (!hba->utrdl_base_addr ||
> - WARN_ON(hba->utrdl_dma_addr & (1024 - 1))) {
> + WARN_ON(hba->utrdl_dma_addr & (SZ_1K - 1))) {
> dev_err(hba->dev,
> "Transfer Descriptor Memory allocation failed\n");
> goto out;
> @@ -3797,7 +3797,7 @@ static int ufshcd_memory_alloc(struct ufs_hba *hba)
> &hba->utmrdl_dma_addr,
> GFP_KERNEL);
> if (!hba->utmrdl_base_addr ||
> - WARN_ON(hba->utmrdl_dma_addr & (1024 - 1))) {
> + WARN_ON(hba->utmrdl_dma_addr & (SZ_1K - 1))) {
> dev_err(hba->dev,
> "Task Management Descriptor Memory allocation failed\n");
> goto out;
> @@ -8760,7 +8760,7 @@ static const struct scsi_host_template ufshcd_driver_template = {
> .cmd_per_lun = UFSHCD_CMD_PER_LUN,
> .can_queue = UFSHCD_CAN_QUEUE,
> .max_segment_size = PRDT_DATA_BYTE_COUNT_MAX,
> - .max_sectors = (1 << 20) / SECTOR_SIZE, /* 1 MiB */
> + .max_sectors = SZ_1M / SECTOR_SIZE,
> .max_host_blocked = 1,
> .track_queue_depth = 1,
> .skip_settle_delay = 1,
> diff --git a/include/ufs/ufshci.h b/include/ufs/ufshci.h
> index 11424bb03814..db2d5db5c88e 100644
> --- a/include/ufs/ufshci.h
> +++ b/include/ufs/ufshci.h
> @@ -453,7 +453,7 @@ enum {
> };
>
> /* The maximum length of the data byte count field in the PRDT is 256KB */
> -#define PRDT_DATA_BYTE_COUNT_MAX (256 * 1024)
> +#define PRDT_DATA_BYTE_COUNT_MAX SZ_256K
> /* The granularity of the data byte count field in the PRDT is 32-bit */
> #define PRDT_DATA_BYTE_COUNT_PAD 4
>