* [PATCH v2] scsi: ufs: make ufshcd_get_lists_status() register operation obvious
@ 2017-04-26 17:28 kusumi.tomohiro
2017-04-26 17:48 ` Subhash Jadavani
2017-04-26 22:30 ` Martin K. Petersen
0 siblings, 2 replies; 3+ messages in thread
From: kusumi.tomohiro @ 2017-04-26 17:28 UTC (permalink / raw)
To: subhashj, vinholikatti, linux-scsi; +Cc: Tomohiro Kusumi
From: Tomohiro Kusumi <tkusumi@tuxera.com>
It could be just cmp 0xe instead of >>1 and cmp 0x7, with readable code.
Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
drivers/scsi/ufs/ufshcd.c | 11 +----------
drivers/scsi/ufs/ufshci.h | 4 ++++
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 9278666..95911fea 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -668,16 +668,7 @@ static inline void ufshcd_outstanding_req_clear(struct ufs_hba *hba, int tag)
*/
static inline int ufshcd_get_lists_status(u32 reg)
{
- /*
- * The mask 0xFF is for the following HCS register bits
- * Bit Description
- * 0 Device Present
- * 1 UTRLRDY
- * 2 UTMRLRDY
- * 3 UCRDY
- * 4-7 reserved
- */
- return ((reg & 0xFF) >> 1) ^ 0x07;
+ return !((reg & UFSHCD_STATUS_READY) == UFSHCD_STATUS_READY);
}
/**
diff --git a/drivers/scsi/ufs/ufshci.h b/drivers/scsi/ufs/ufshci.h
index d14e9b9..8cd4f0e 100644
--- a/drivers/scsi/ufs/ufshci.h
+++ b/drivers/scsi/ufs/ufshci.h
@@ -159,6 +159,10 @@ enum {
#define DEVICE_ERROR_INDICATOR UFS_BIT(5)
#define UIC_POWER_MODE_CHANGE_REQ_STATUS_MASK UFS_MASK(0x7, 8)
+#define UFSHCD_STATUS_READY (UTP_TRANSFER_REQ_LIST_READY |\
+ UTP_TASK_REQ_LIST_READY |\
+ UIC_COMMAND_READY)
+
enum {
PWR_OK = 0x0,
PWR_LOCAL = 0x01,
--
2.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2] scsi: ufs: make ufshcd_get_lists_status() register operation obvious
2017-04-26 17:28 [PATCH v2] scsi: ufs: make ufshcd_get_lists_status() register operation obvious kusumi.tomohiro
@ 2017-04-26 17:48 ` Subhash Jadavani
2017-04-26 22:30 ` Martin K. Petersen
1 sibling, 0 replies; 3+ messages in thread
From: Subhash Jadavani @ 2017-04-26 17:48 UTC (permalink / raw)
To: kusumi.tomohiro; +Cc: vinholikatti, linux-scsi, Tomohiro Kusumi
On 2017-04-26 10:28, kusumi.tomohiro@gmail.com wrote:
> From: Tomohiro Kusumi <tkusumi@tuxera.com>
>
> It could be just cmp 0xe instead of >>1 and cmp 0x7, with readable
> code.
>
> Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
> ---
> drivers/scsi/ufs/ufshcd.c | 11 +----------
> drivers/scsi/ufs/ufshci.h | 4 ++++
> 2 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 9278666..95911fea 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -668,16 +668,7 @@ static inline void
> ufshcd_outstanding_req_clear(struct ufs_hba *hba, int tag)
> */
> static inline int ufshcd_get_lists_status(u32 reg)
> {
> - /*
> - * The mask 0xFF is for the following HCS register bits
> - * Bit Description
> - * 0 Device Present
> - * 1 UTRLRDY
> - * 2 UTMRLRDY
> - * 3 UCRDY
> - * 4-7 reserved
> - */
> - return ((reg & 0xFF) >> 1) ^ 0x07;
> + return !((reg & UFSHCD_STATUS_READY) == UFSHCD_STATUS_READY);
> }
>
> /**
> diff --git a/drivers/scsi/ufs/ufshci.h b/drivers/scsi/ufs/ufshci.h
> index d14e9b9..8cd4f0e 100644
> --- a/drivers/scsi/ufs/ufshci.h
> +++ b/drivers/scsi/ufs/ufshci.h
> @@ -159,6 +159,10 @@ enum {
> #define DEVICE_ERROR_INDICATOR UFS_BIT(5)
> #define UIC_POWER_MODE_CHANGE_REQ_STATUS_MASK UFS_MASK(0x7, 8)
>
> +#define UFSHCD_STATUS_READY (UTP_TRANSFER_REQ_LIST_READY |\
> + UTP_TASK_REQ_LIST_READY |\
> + UIC_COMMAND_READY)
> +
> enum {
> PWR_OK = 0x0,
> PWR_LOCAL = 0x01,
Looks good to me.
Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v2] scsi: ufs: make ufshcd_get_lists_status() register operation obvious
2017-04-26 17:28 [PATCH v2] scsi: ufs: make ufshcd_get_lists_status() register operation obvious kusumi.tomohiro
2017-04-26 17:48 ` Subhash Jadavani
@ 2017-04-26 22:30 ` Martin K. Petersen
1 sibling, 0 replies; 3+ messages in thread
From: Martin K. Petersen @ 2017-04-26 22:30 UTC (permalink / raw)
To: kusumi.tomohiro; +Cc: subhashj, vinholikatti, linux-scsi, Tomohiro Kusumi
> It could be just cmp 0xe instead of >>1 and cmp 0x7, with readable
> code.
Applied to 4.12/scsi-queue. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-04-26 22:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-26 17:28 [PATCH v2] scsi: ufs: make ufshcd_get_lists_status() register operation obvious kusumi.tomohiro
2017-04-26 17:48 ` Subhash Jadavani
2017-04-26 22:30 ` Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox