[PATCH v1 1/2] mmc: core: Add a retries parameter to __mmc_switch function

2021-04-14 Thread Bean Huo
From: Bean Huo Add command retries parameter to __mmc_switch(), let caller pass retries according to the caller's condition. Signed-off-by: Bean Huo --- drivers/mmc/core/mmc.c | 22 +++--- drivers/mmc/core/mmc_ops.c | 7 --- drivers/mmc/core/mmc_ops.h | 2 +- 3 files

[PATCH v1 2/2] mmc: core: Let sanitize not retry in case of timeout/failure

2021-04-14 Thread Bean Huo
From: Bean Huo Not any commands need to retry in case of timeout/failure. Currently, the sanitize command is issued by the IOCTL interface, and once its timeouts, the user normally decides to retry or not . Just blindly retry three times sanitize in the driver, it doesn't help sanitize retry

[PATCH v1 0/2] Let sanitize not retry in case of timeout/failure

2021-04-14 Thread Bean Huo
From: Bean Huo Bean Huo (2): mmc: core: Add a retries parameter to __mmc_switch function mmc: core: Let sanitize not retry in case of timeout/failure drivers/mmc/core/mmc.c | 22 +++--- drivers/mmc/core/mmc_ops.c | 11 ++- drivers/mmc/core/mmc_ops.h | 2 +- 3

Re: [PATCH] mmc: add quirk to disable eMMC cache for Micron eMMC v5.0 cards

2021-04-14 Thread Bean Huo
On Thu, 2021-04-08 at 10:59 -0700, Scott Branden wrote: > From: Vladimir Olovyannikov > > > > In certain rare combination of operations, Micron eMMC v5.0 cards > > may experience data errors if internal cache is enabled. > > This may lead to eMMC related data errors. > > Introduce a quirk

Re: [PATCH v3 2/2] mmc: core: Let sanitize not retry in case of timeout/failure

2021-04-12 Thread Bean Huo
On Mon, 2021-04-12 at 09:50 +0200, Ulf Hansson wrote: > > diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c > > index 8bfd4d95b386..9778093d7006 100644 > > --- a/drivers/mmc/core/block.c > > +++ b/drivers/mmc/core/block.c > > @@ -836,7 +836,7 @@ static inline int

[PATCH v3 2/2] mmc: core: Let sanitize not retry in case of timeout/failure

2021-04-02 Thread Bean Huo
From: Bean Huo Not any commands need to retry in case of timeout/failure. Currently, the sanitize command is issued by the IOCTL interface, and once its timeouts, the user normally decides to retry or not . Just blindly retry three times sanitize in the driver, it doesn't help sanitize retry

[PATCH v3 0/2] Two minor changes of eMMC sanitize

2021-04-02 Thread Bean Huo
From: Bean Huo Changelog: V1--V2: 1. change wrong nouns in patch 1/2 commit message v2--v3: 1. Replace the original patch 1/2 with the new patch 1/2 based on the Ulf's suggestion. Bean Huo (2): mmc: core: Pass down user specified timeout value to sanitize mmc: core: Let

[PATCH v3 1/2] mmc: core: Pass down user specified timeout value to sanitize

2021-04-02 Thread Bean Huo
From: Bean Huo As the density increases, the 4-minute timeout value for sanitize is no longer feasible. At the same time, devices of different densities have different timeout values, and it is difficult to obtain a unified standard timeout value. Therefore, it is better to pass down user

Re: [PATCH v2 1/2] mmc: core: Let sanitize timeout readable/writable via sysfs

2021-04-02 Thread Bean Huo
On Fri, 2021-04-02 at 00:48 +0200, Ulf Hansson wrote: > On Thu, 1 Apr 2021 at 15:29, Bean Huo wrote: > > > From: Bean Huo > > As the density increases, the 4-minute timeout value for > > sanitize is no longer feasible. At the same time, devices > > of different de

[PATCH v1 1/2] mmc: core: Let sanitize timeout readable/writable via sysfs

2021-04-01 Thread Bean Huo
From: Bean Huo As the density increases, the 4-minute timeout value for disinfection is no longer feasible. At the same time, devices of different densities have different timeout values, and it is difficult to obtain a unified standard timeout value. Therefore, it is better to let the user

[PATCH v1 0/2] Tow minor changes of eMMC sanitize

2021-04-01 Thread Bean Huo
From: Bean Huo Bean Huo (2): mmc: core: Let sanitize timeout readable/writable via sysfs mmc: core: Let sanitize not retry in case of timeout/failure drivers/mmc/core/block.c | 13 --- drivers/mmc/core/mmc.c | 80 -- drivers/mmc/core/mmc_ops.c

[PATCH v2 0/2] Tow minor changes of eMMC sanitize

2021-04-01 Thread Bean Huo
From: Bean Huo Changelog: V1--V2: 1. change wrong nouns in patch 1/2 commit message Bean Huo (2): mmc: core: Let sanitize timeout readable/writable via sysfs mmc: core: Let sanitize not retry in case timeout drivers/mmc/core/block.c | 13 +++--- drivers/mmc/core/mmc.c | 81

[PATCH v2 1/2] mmc: core: Let sanitize timeout readable/writable via sysfs

2021-04-01 Thread Bean Huo
From: Bean Huo As the density increases, the 4-minute timeout value for sanitize is no longer feasible. At the same time, devices of different densities have different timeout values, and it is difficult to obtain a unified standard timeout value. Therefore, it is better to let the user

[PATCH v2 2/2] mmc: core: Let sanitize not retry in case timeout

2021-04-01 Thread Bean Huo
From: Bean Huo Not any commands need to retry in case of timeout/failure. Currently, the sanitize command is issued by the IOCTL interface, and once its timeouts, the user normally decides to retry or not . Just blindly retry three times sanitize in the driver, it doesn't help sanitize retry

[PATCH v1 2/2] mmc: core: Let sanitize not retry in case of timeout/failure

2021-04-01 Thread Bean Huo
From: Bean Huo Not any commands need to retry in case of timeout/failure. Currently, the sanitize command is issued by the IOCTL interface, and once its timeouts, the user normally decides to retry or not . Just blindly retry three times sanitize in the driver, it doesn't help sanitize retry

Re: [PATCH v32 0/4] scsi: ufs: Add Host Performance Booster Support

2021-03-31 Thread Bean Huo
Hi Martin I don't know when/how do you plan to accept this patch. I think the Mobile vendors and chipset vendors are all looking forward to this UFS HPB feature that can be mainlined in the upstream Linux. Since the first version HPB driver submitted in the community, it is now V32, and we have

[PATCH v2] mmc-utils: Add eMMC erase command support

2021-03-24 Thread Bean Huo
in the mmc-utils. Co-developed-by: Bean Huo Signed-off-by: Bean Huo Reviewed-by: Kenneth Gibbons --- Hi Ulf, Please help us review this mmc-utils patch, and if agree, it is possible to make it merged in the official mmc-utils. Changelog: V1--V2: 1. refactor Kimito's original patch 2. change

Re: [PATCH v31 2/4] scsi: ufs: L2P map management for HPB read

2021-03-24 Thread Bean Huo
On Wed, 2021-03-24 at 17:24 +0800, Can Guo wrote: > On 2021-03-24 16:37, Bean Huo wrote: > > On Wed, 2021-03-24 at 09:45 +0800, Can Guo wrote: > > > On 2021-03-23 20:48, Avri Altman wrote: > > > > > > > > On 2021-03-23 14:37, Daejun Park wrote: > >

Re: [PATCH v31 2/4] scsi: ufs: L2P map management for HPB read

2021-03-24 Thread Bean Huo
gt; > > > > > > > > On 2021-03-23 12:22, Can Guo wrote: > > > > > > > > > > On 2021-03-22 17:11, Bean Huo wrote: > > > > > > > > > > > On Mon, 2021-03-22 at 15:54 +0900, Daejun Park > > &

Re: [PATCH v31 2/4] scsi: ufs: L2P map management for HPB read

2021-03-22 Thread Bean Huo
On Mon, 2021-03-22 at 15:54 +0900, Daejun Park wrote: > + switch (rsp_field->hpb_op) { > > + case HPB_RSP_REQ_REGION_UPDATE: > > + if (data_seg_len != DEV_DATA_SEG_LEN) > > + dev_warn(>sdev_ufs_lu->sdev_dev, > > +

Re: [PATCH v1 2/2] mmc: cavium: Remove redundant if-statement checkup

2021-03-19 Thread Bean Huo
On Fri, 2021-03-19 at 15:09 +0100, Ulf Hansson wrote: > On Fri, 19 Mar 2021 at 13:14, Bean Huo wrote: > > > From: Bean Huo > > Currently, we have two ways to issue multiple-block read/write the > > command to the eMMC. One is by normal IO request path fs->block

[PATCH v1 1/2] mmc: cavium: Use '"%s...", __func__' to print function name

2021-03-19 Thread Bean Huo
From: Bean Huo Use preferred way '"%s...", __func__' to print function name. Signed-off-by: Bean Huo --- drivers/mmc/host/cavium.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/mmc/host/cavium.c b/drivers/mmc/host/cavium.c index 4bb8f2800a2b..95

[PATCH v1 0/2] wo minor changes for Cavium MMC host driver

2021-03-19 Thread Bean Huo
From: Bean Huo Bean Huo (2): mmc: cavium: Use '"%s...", __func__' to print function name mmc: cavium: Remove redundant if-statement checkup drivers/mmc/host/cavium.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) -- 2.25.1

[PATCH v1 2/2] mmc: cavium: Remove redundant if-statement checkup

2021-03-19 Thread Bean Huo
From: Bean Huo Currently, we have two ways to issue multiple-block read/write the command to the eMMC. One is by normal IO request path fs->block->mmc. Another one is that we can issue multiple-block read/write through MMC ioctl interface. For the first path, mrq->stop, and mrq->

Re: v3: scsi: ufshcd: use a macro for UFS versions

2021-03-11 Thread Bean Huo
unction > scsi: ufshcd: remove version check > > drivers/scsi/ufs/ufs-qcom.c | 4 +-- > drivers/scsi/ufs/ufshcd.c | 66 ++++++- > -- > drivers/scsi/ufs/ufshci.h | 17 +++- > 3 files changed, 38 insertions(+), 49 deletions(-) > > Thanks for your patch, good look to me. Reviewed-by: Bean Huo

Re: [PATCH] scsi:ufs: remove duplicate include in ufshcd

2021-03-09 Thread Bean Huo
On Sat, 2021-03-06 at 03:47 -0800, menglong8.d...@gmail.com wrote: > From: Zhang Yunkai > > > > 'blkdev.h' included in 'ufshcd.c' is duplicated. > > It is also included in the 18th line. > > > > Signed-off-by: Zhang Yunkai Reviewed-by: Bean Huo

Re: [PATCH v26 4/4] scsi: ufs: Add HPB 2.0 support

2021-03-04 Thread Bean Huo
On Wed, 2021-03-03 at 15:29 +0900, Daejun Park wrote: > + > +static inline int ufshpb_get_read_id(struct ufshpb_lu *hpb) > +{ > + if (++hpb->cur_read_id >= MAX_HPB_READ_ID) > + hpb->cur_read_id = 0; > + return hpb->cur_read_id; > +} > + > +static int

Re: [PATCH v26 4/4] scsi: ufs: Add HPB 2.0 support

2021-03-03 Thread Bean Huo
On Wed, 2021-03-03 at 15:29 +0900, Daejun Park wrote: > + > +static inline void ufshpb_put_pre_req(struct ufshpb_lu *hpb, > + struct ufshpb_req *pre_req) > +{ > + pre_req->req = NULL; > + pre_req->bio = NULL; > + list_add_tail(_req->list_req,

Re: [PATCH v25 4/4] scsi: ufs: Add HPB 2.0 support

2021-03-02 Thread Bean Huo
On Tue, 2021-03-02 at 13:15 +, Avri Altman wrote: > > > > On Fri, 2021-02-26 at 16:35 +0900, Daejun Park wrote: > > > +static void ufshpb_set_unmap_cmd(unsigned char *cdb, struct > > > ufshpb_region *rgn) > > > +{ > > > + cdb[0] = UFSHPB_WRITE_BUFFER; > > > + cdb[1] = rgn ?

Re: [PATCH v25 4/4] scsi: ufs: Add HPB 2.0 support

2021-03-02 Thread Bean Huo
On Fri, 2021-02-26 at 16:35 +0900, Daejun Park wrote: > + > +/* > + * In this driver, WRITE_BUFFER CMD support 36KB (len=9) ~ 512KB > (len=128) as > + * default. It is possible to change range of transfer_len through > sysfs. > + */ > +static inline bool ufshpb_is_required_wb(struct ufshpb_lu

Re: [PATCH] scsi: ufs: Fix incorrect ufshcd_state after ufshcd_reset_and_restore()

2021-03-02 Thread Bean Huo
On Tue, 2021-03-02 at 10:14 +0200, Adrian Hunter wrote: > > > That can result in the state being UFSHCD_STATE_ERROR even though > > > ufshcd_reset_and_restore() is successful and returns zero. > > > > > > Fix by initializing the state to UFSHCD_STATE_RESET in the start > > > of each > > > loop in

Re: [PATCH v25 4/4] scsi: ufs: Add HPB 2.0 support

2021-03-02 Thread Bean Huo
On Fri, 2021-02-26 at 16:35 +0900, Daejun Park wrote: > > > static void __ufshpb_evict_region(struct ufshpb_lu *hpb, > struct ufshpb_region *rgn) > { > @@ -1209,6 +1579,16 @@ static void ufshpb_lu_parameter_init(struct > ufs_hba *hba, > u32

Re: [PATCH v25 4/4] scsi: ufs: Add HPB 2.0 support

2021-03-02 Thread Bean Huo
On Fri, 2021-02-26 at 16:35 +0900, Daejun Park wrote: > +static void ufshpb_set_unmap_cmd(unsigned char *cdb, struct > ufshpb_region *rgn) > +{ > + cdb[0] = UFSHPB_WRITE_BUFFER; > + cdb[1] = rgn ? UFSHPB_WRITE_BUFFER_INACT_SINGLE_ID : > +

Re: [PATCH] scsi: ufs: Fix incorrect ufshcd_state after ufshcd_reset_and_restore()

2021-03-01 Thread Bean Huo
, but in This loop, it it better that, before going to reset flow, ufshcd_state should be set UFSHCD_STATE_RESET. Reviewed-by: Bean Huo

Re: [PATCH v24 2/4] scsi: ufs: L2P map management for HPB read

2021-02-25 Thread Bean Huo
On Wed, 2021-02-24 at 13:54 +0900, Daejun Park wrote: > +static int ufshpb_init_mem_wq(void) > +{ > + int ret; > + unsigned int pool_size; > + > + ufshpb_mctx_cache = kmem_cache_create("ufshpb_mctx_cache", > + sizeof(struct > ufshpb_map_ctx),

Re: [PATCH v24 1/4] scsi: ufs: Introduce HPB feature

2021-02-25 Thread Bean Huo
On Wed, 2021-02-24 at 13:54 +0900, Daejun Park wrote: > > +void ufshpb_init(struct ufs_hba *hba) > +{ > + struct ufshpb_dev_info *hpb_dev_info = >ufshpb_dev; > + int try; > + int ret; > + > + if (!ufshpb_is_allowed(hba)) > + return; > + Here it is better to check

Re: [PATCH v22 4/4] scsi: ufs: Add HPB 2.0 support

2021-02-23 Thread Bean Huo
On Mon, 2021-02-22 at 18:31 +0900, Daejun Park wrote: > } > } > @@ -532,8 +870,8 @@ static int ufshpb_execute_map_req(struct > ufshpb_lu *hpb, > if (unlikely(last)) > mem_size = hpb->last_srgn_entries * HPB_ENTRY_SIZE; > > -

Re: [PATCH v22 4/4] scsi: ufs: Add HPB 2.0 support

2021-02-22 Thread Bean Huo
On Mon, 2021-02-22 at 18:31 +0900, Daejun Park wrote: > +} > +static DEVICE_ATTR_RW(requeue_timeout_ms); > + > +static struct attribute *hpb_dev_param_attrs[] = { > + _attr_requeue_timeout_ms.attr, > +}; here, you lost a NULL member at the end of attribute struct. Bean

Re: [PATCH V2 4/4] scsi: ufs-debugfs: Add user-defined exception event rate limiting

2021-02-15 Thread Bean Huo
gt; > Signed-off-by: Adrian Hunter Acked-by: Bean Huo

Re: [PATCH V2 3/4] scsi: ufs-debugfs: Add user-defined exception_event_mask

2021-02-15 Thread Bean Huo
al-or of those two. A mutex is needed to ensure that the masks > match > what was written to the device. > > Signed-off-by: Adrian Hunter Hi Adrian, I tested this series patch on my platform, and you can add: Acked-by: Bean Huo Bean

Re: [PATCH V2 1/4] scsi: ufs: Add exception event tracepoint

2021-02-14 Thread Bean Huo
.. 732.609312: > ufshcd_exception_event: :00:12.5: status 0x4 > > Signed-off-by: Adrian Hunter Reviewed-by: Bean Huo

Re: [PATCH] scsi: ufs: Fix a duplicate dev quirk number

2021-02-11 Thread Bean Huo
On Thu, 2021-02-11 at 12:46 +0200, Avri Altman wrote: > fixes: 2b2bfc8aa519 (scsi: ufs: Introduce a quirk to allow only > page-aligned sg entries) > > Signed-off-by: Avri Altman thanks Avri. Reviewed-by: Bean Huo

Re: [PATCH v19 3/3] scsi: ufs: Prepare HPB read for cached sub-region

2021-02-09 Thread Bean Huo
On Tue, 2021-02-09 at 13:25 +, Avri Altman wrote: > > > > > > > > > + put_unaligned_be64(ppn, [6]); > > > > > > > > You are assuming the HPB entries read out by "HPB Read Buffer" > > > > cmd > > > > are > > > > in Little > > > > Endian, which is why you are using put_unaligned_be64

Re: [PATCH] scsi: ufs: create a hook for unipro dme control

2021-02-08 Thread Bean Huo
On Mon, 2021-02-08 at 20:56 +0800, Leo Liou wrote: > Based on ufshci spec, it defines that "Offset C0h to FFh" belong > to vendor specific. If cpu vendor doesn't support these commands, it > makes the dme errors: > > ufs: dme-set: attr-id 0xd041 val 0x1fff failed 0 retries > ufs: dme-set: attr-id

Re: [PATCH v19 3/3] scsi: ufs: Prepare HPB read for cached sub-region

2021-02-08 Thread Bean Huo
On Fri, 2021-02-05 at 11:29 +0800, Can Guo wrote: > > + return ppn_table[offset]; > > +} > > + > > +static void > > +ufshpb_get_pos_from_lpn(struct ufshpb_lu *hpb, unsigned long lpn, > > int > > *rgn_idx, > > + int *srgn_idx, int *offset) > > +{ > > + int rgn_offset; >

Re: [PATCH v19 3/3] scsi: ufs: Prepare HPB read for cached sub-region

2021-02-07 Thread Bean Huo
On Sun, 2021-02-07 at 15:36 +0800, Can Guo wrote: > > > > Thanks, I tested Daejun's patchset before, it is also ok (I don't > > know > > which version patchset). maybe we can keep current implementation > > as > > default, then if there is conflict, and submit the quirk. > > > > Yeah, you've

Re: [PATCH v19 2/3] scsi: ufs: L2P map management for HPB read

2021-02-06 Thread Bean Huo
On Sat, 2021-02-06 at 15:23 +0800, Can Guo wrote: > > + dev_dbg(>sdev_ufs_lu->sdev_dev, "Noti: #ACT %u #INACT > > %u\n", > > + rsp_field->active_rgn_cnt, rsp_field- > > >inactive_rgn_cnt); > > + > > + queue_work(ufshpb_wq, >map_work); > > +} > > + > > +/* > > + * This function

Re: [PATCH v19 3/3] scsi: ufs: Prepare HPB read for cached sub-region

2021-02-05 Thread Bean Huo
On Fri, 2021-02-05 at 14:06 +, Avri Altman wrote: > > > > + put_unaligned_be64(ppn, [6]); > > > > > > You are assuming the HPB entries read out by "HPB Read Buffer" > > > cmd > > > are > > > in Little > > > Endian, which is why you are using put_unaligned_be64 here. > > > However, > > >

Re: [PATCH v19 3/3] scsi: ufs: Prepare HPB read for cached sub-region

2021-02-05 Thread Bean Huo
On Fri, 2021-02-05 at 11:29 +0800, Can Guo wrote: > > + *rgn_idx = lpn >> hpb->entries_per_rgn_shift; > > + rgn_offset = lpn & hpb->entries_per_rgn_mask; > > + *srgn_idx = rgn_offset >> hpb->entries_per_srgn_shift; > > + *offset = rgn_offset & hpb->entries_per_srgn_mask; > > +} > >

Re: [PATCH v2 0/9] Add Host control mode to HPB

2021-02-05 Thread Bean Huo
On Fri, 2021-02-05 at 12:36 +0100, Bean Huo wrote: > > to whatever recommendation received from the device - In host > > control > > mode, the host uses its own algorithms to decide which regions > > should > > be activated or inactivated. > > > >

Re: [PATCH v19 2/3] scsi: ufs: L2P map management for HPB read

2021-02-05 Thread Bean Huo
On Fri, 2021-02-05 at 11:42 +, Avri Altman wrote: > > "If the requested field of the HPB Region or HPB Sub-Region is out > > of > > range, then the device shall terminate the command by sending > > RESPONSE > > UPIU with CHECK CONDITION status, with the SENSE KEY set to ILLEGAL > > REQUEST,

Re: [PATCH v2 0/9] Add Host control mode to HPB

2021-02-05 Thread Bean Huo
On Tue, 2021-02-02 at 10:29 +0200, Avri Altman wrote: > v1 -> v2: > - attend Greg's and Daejun's comments > - add patch 9 making host mode parameters configurable > - rebase on Daejun's v19 > > > The HPB spec defines 2 control modes - device control mode and host > control mode. In oppose to

Re: [PATCH v19 2/3] scsi: ufs: L2P map management for HPB read

2021-02-05 Thread Bean Huo
On Fri, 2021-01-29 at 14:30 +0900, Daejun Park wrote: > +static void ufshpb_set_read_buf_cmd(unsigned char *cdb, int rgn_idx, > + int srgn_idx, int > srgn_mem_size) > +{ > + cdb[0] = UFSHPB_READ_BUFFER; > + cdb[1] = UFSHPB_READ_BUFFER_ID; > + >

Re: [PATCH 3/4] scsi: ufs-debugfs: Add user-defined exception_event_mask

2021-02-04 Thread Bean Huo
On Wed, 2021-02-03 at 11:56 +0200, Adrian Hunter wrote: > > > > Hallo Adrian > > Hi Bean > > Thanks for the review > > > > > Would you like sharing the advantage of this debugfs node comparing > > to > > sysfs node "attributes/exception_event_control(if it is writable)"? > > Primarily this

Re: [PATCH 3/4] scsi: ufs-debugfs: Add user-defined exception_event_mask

2021-02-03 Thread Bean Huo
On Tue, 2021-01-19 at 16:15 +0200, Adrian Hunter wrote: > Allow users to enable specific exception events via debugfs. > > The bits enabled by the driver ee_drv_ctrl are separated from the > bits > enabled by the user ee_usr_ctrl. The control mask ee_mask_ctrl is the > logical-or of those two. A

Re: [PATCH 1/4] scsi: ufs: Add exception event tracepoint

2021-02-03 Thread Bean Huo
On Tue, 2021-01-19 at 16:15 +0200, Adrian Hunter wrote: > Currently, exception event status can be read from > wExceptionEventStatus > attribute (sysfs file attributes/exception_event_status under the UFS > host > controller device directory). Polling that attribute to track UFS > exception >

Re: [PATCH 2/4] scsi: ufs: Add exception event definitions

2021-02-03 Thread Bean Huo
On Tue, 2021-01-19 at 16:15 +0200, Adrian Hunter wrote: > For readability and completeness, add exception event definitions. > > Signed-off-by: Adrian Hunter Reviewed-by: Bean Huo

Re: [PATCH V2] scsi: ufs: Add UFS3.0 in ufs HCI version check

2021-01-29 Thread Bean Huo
On Tue, 2021-01-19 at 17:37 +0530, Nitin Rawat wrote: > As per JESD223D UFS HCI v3.0 spec, HCI version 3.0 > is also supported. Hence Adding UFS3.0 in UFS HCI > version check to avoid logging of the error message. > > Signed-off-by: Nitin Rawat > --- > drivers/scsi/ufs/ufshcd.c | 5 +++-- >

Re: [PATCH v2] scsi: ufs: Give clk scaling min gear a value

2021-01-28 Thread Bean Huo
ing()") > > Signed-off-by: Can Guo Reviewed-by: Bean Huo Tested-by: Bean Huo

[PATCH] scsi: ufs: Cleanup WB buffer flush toggle implementation

2021-01-21 Thread Bean Huo
From: Bean Huo Delete ufshcd_wb_buf_flush_enable() and ufshcd_wb_buf_flush_disable(), move the implementation into ufshcd_wb_toggle_flush(). Reviewed-by: Stanley Chu Reviewed-by: Can Guo Signed-off-by: Bean Huo --- Changelog: 1. Rebased the patch onto 5.12/scsi-staging, since

Re: [PATCH v7 0/6] Several changes for UFS WriteBooster

2021-01-21 Thread Bean Huo
On Wed, 2021-01-20 at 22:15 -0500, Martin K. Petersen wrote: > Bean, > > > Bean Huo (6): > >scsi: ufs: Add "wb_on" sysfs node to control WB on/off > >docs: ABI: Add wb_on documentation for new entry wb_on > >scsi: ufs: Changes comment in the fun

[PATCH v7 0/6] Several changes for UFS WriteBooster

2021-01-19 Thread Bean Huo
From: Bean Huo Changelog: v6--v7: 1. Change wb_on sysfs documentation and add information that WriteBooster is already enabled after power-on/reset(Incorporate Adrian Hunter's suggestion) v5--v6: 1. Remove original patch 7/7: "scsi: ufs: Keep device active mode

[PATCH v7 1/6] scsi: ufs: Add "wb_on" sysfs node to control WB on/off

2021-01-19 Thread Bean Huo
From: Bean Huo Currently UFS WriteBooster driver uses clock scaling up/down to set WB on/off, for the platform which doesn't support UFSHCD_CAP_CLK_SCALING, WB will be always on. Provide a sysfs attribute to enable/disable WB during runtime. Write 1/0 to "wb_on" sysfs node to enable/d

[PATCH v7 4/6] scsi: ufs: Remove two WB related fields from struct ufs_dev_info

2021-01-19 Thread Bean Huo
From: Bean Huo d_wb_alloc_units and d_ext_ufs_feature_sup only be used while WB probe. They are just used to confirm the condition that "if bWriteBoosterBufferType is set to 01h but dNumSharedWriteBoosterBufferAllocUnits is set to zero, the WriteBooster feature is disabled", and if

[PATCH v7 5/6] scsi: ufs: Group UFS WB related flags to struct ufs_dev_info

2021-01-19 Thread Bean Huo
From: Bean Huo UFS device-related flags should be grouped in ufs_dev_info. Take wb_enabled and wb_buf_flush_enabled out from the struct ufs_hba, group them to struct ufs_dev_info, and align the names of the structure members vertically. Acked-by: Stanley Chu Reviewed-by: Can Guo Signed-off

[PATCH v7 6/6] scsi: ufs: Cleanup WB buffer flush toggle implementation

2021-01-19 Thread Bean Huo
From: Bean Huo Delete ufshcd_wb_buf_flush_enable() and ufshcd_wb_buf_flush_disable(), move the implementation into ufshcd_wb_toggle_flush(). Signed-off-by: Bean Huo Reviewed-by: Stanley Chu Reviewed-by: Can Guo Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 66

[PATCH v7 3/6] scsi: ufs: Changes comment in the function ufshcd_wb_probe()

2021-01-19 Thread Bean Huo
From: Bean Huo USFHCD supports WriteBooster "LU dedicated buffer” mode and “shared buffer” mode both, so changes the comment in the function ufshcd_wb_probe(). Reviewed-by: Can Guo Reviewed-by: Stanley Chu Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 7 +++ 1 file chang

[PATCH v7 2/6] docs: ABI: Add wb_on documentation for new entry wb_on

2021-01-19 Thread Bean Huo
From: Bean Huo Adds UFS sysfs documentation for new entry wb_on. Signed-off-by: Bean Huo --- Documentation/ABI/testing/sysfs-driver-ufs | 11 +++ 1 file changed, 11 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs

Re: [PATCH v6 1/6] scsi: ufs: Add "wb_on" sysfs node to control WB on/off

2021-01-19 Thread Bean Huo
On Tue, 2021-01-19 at 12:00 +0200, Adrian Hunter wrote: > > > Is it so, that after a full reset, WB is always enabled again? > > > Is > > > that > > > intended? > > > > Hello Adrian > > Good questions. yes, after a full reset, the UFS device side by > > default > > is wb disabled, then WB will

Re: [PATCH v6 1/6] scsi: ufs: Add "wb_on" sysfs node to control WB on/off

2021-01-19 Thread Bean Huo
On Tue, 2021-01-19 at 09:01 +0200, Adrian Hunter wrote: > On 18/01/21 10:10 pm, Bean Huo wrote: > > From: Bean Huo > > > > Currently UFS WriteBooster driver uses clock scaling up/down to set > > WB on/off, for the platform which doesn't support > > UFSHCD_CAP_C

[PATCH] scsi: ufs: delete redundant if statement in ufshcd_intr()

2021-01-18 Thread Bean Huo
From: Bean Huo Once going into while-do loop, intr_status is already true, this if-statement is redundant, remove it. Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs

[PATCH v6 2/6] docs: ABI: Add wb_on documentation for UFS sysfs

2021-01-18 Thread Bean Huo
From: Bean Huo Adds UFS sysfs documentation for new entry wb_on. Signed-off-by: Bean Huo --- Documentation/ABI/testing/sysfs-driver-ufs | 8 1 file changed, 8 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs index

[PATCH v6 1/6] scsi: ufs: Add "wb_on" sysfs node to control WB on/off

2021-01-18 Thread Bean Huo
From: Bean Huo Currently UFS WriteBooster driver uses clock scaling up/down to set WB on/off, for the platform which doesn't support UFSHCD_CAP_CLK_SCALING, WB will be always on. Provide a sysfs attribute to enable/disable WB during runtime. Write 1/0 to "wb_on" sysfs node to enable/d

[PATCH v6 3/6] scsi: ufs: Changes comment in the function ufshcd_wb_probe()

2021-01-18 Thread Bean Huo
From: Bean Huo USFHCD supports WriteBooster "LU dedicated buffer” mode and “shared buffer” mode both, so changes the comment in the function ufshcd_wb_probe(). Reviewed-by: Can Guo Reviewed-by: Stanley Chu Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 7 +++ 1 file chang

[PATCH v6 6/6] scsi: ufs: Cleanup WB buffer flush toggle implementation

2021-01-18 Thread Bean Huo
From: Bean Huo Delete ufshcd_wb_buf_flush_enable() and ufshcd_wb_buf_flush_disable(), move the implementation into ufshcd_wb_toggle_flush(). Signed-off-by: Bean Huo Reviewed-by: Stanley Chu Reviewed-by: Can Guo Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 66

[PATCH v6 5/6] scsi: ufs: Group UFS WB related flags to struct ufs_dev_info

2021-01-18 Thread Bean Huo
From: Bean Huo UFS device-related flags should be grouped in ufs_dev_info. Take wb_enabled and wb_buf_flush_enabled out from the struct ufs_hba, group them to struct ufs_dev_info, and align the names of the structure members vertically. Acked-by: Stanley Chu Reviewed-by: Can Guo Signed-off

[PATCH v6 4/6] scsi: ufs: Remove two WB related fields from struct ufs_dev_info

2021-01-18 Thread Bean Huo
From: Bean Huo d_wb_alloc_units and d_ext_ufs_feature_sup only be used while WB probe. They are just used to confirm the condition that "if bWriteBoosterBufferType is set to 01h but dNumSharedWriteBoosterBufferAllocUnits is set to zero, the WriteBooster feature is disabled", and if

[PATCH v6 0/6] Several changes for UFS WriteBooster

2021-01-18 Thread Bean Huo
From: Bean Huo Changelog: v5--v6: 1. Remove original patch 7/7: "scsi: ufs: Keep device active mode only fWriteBoosterBufferFlushDuringHibernate == 1" 2. Rebased patch onto 5.12/scsi-staging 3. Add protection of PM ops and err_handler for the wb_on entry access V4--V5: 1.

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-12 Thread Bean Huo
On Tue, 2021-01-12 at 08:45 +0800, Can Guo wrote: > > > > > to > > > > > talk to UFS, OCP can happen on VCCQ/VCCQ2. This leads to > > > > > system > > > > > CRASH > > > > > too. > > > > > > > > the same as above, share the crash log. > > > > > > > > > > If you have hand-on experiences on NoC

[PATCH] tracing: Fix two compiling warnings

2021-01-12 Thread Bean Huo
From: Bean Huo Add description for two function parameters, to fix below two warnings: kernel/trace/trace.c:464: warning: Function parameter or member 'this_tr' not described in 'trace_array_put' kernel/trace/trace.c:543: warning: Function parameter or member 'filtered_no_pids' not described

[PATCH v3] scsi: ufs: Remove unnecessary devm_kfree

2021-01-12 Thread Bean Huo
From: Bean Huo The memory allocated with devm_kzalloc() is freed automatically no need to explicitly call devm_kfree, so delete it and save some instruction cycles. Reviewed-by: Eric Biggers Signed-off-by: Bean Huo --- Nothing changed in this patch, just drop one patch from the patchset

Re: [PATCH v2 1/2] scsi: hisi_sas: Remove unnecessary devm_kfree

2021-01-12 Thread Bean Huo
On Tue, 2021-01-12 at 09:03 +, John Garry wrote: > On 11/01/2021 23:10, Bean Huo wrote: > > From: Bean Huo > > > > The memory allocated with devm_kzalloc() is freed automatically > > no need to explicitly call devm_kfree. > > > > This change is not

[PATCH v2 0/2] Remove unnecessary devm_kfree

2021-01-11 Thread Bean Huo
From: Bean Huo Changelog: V1-V2: 1. Remove unused variable i in patch 1/2 2. Add Eric Biggers review tag in patch 2/2 Bean Huo (2): scsi: hisi_sas: Remove unnecessary devm_kfree scsi: ufs: Remove unnecessary devm_kfree drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 28

[PATCH v2 1/2] scsi: hisi_sas: Remove unnecessary devm_kfree

2021-01-11 Thread Bean Huo
From: Bean Huo The memory allocated with devm_kzalloc() is freed automatically no need to explicitly call devm_kfree. Signed-off-by: Bean Huo --- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 28 +- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/drivers/scsi

[PATCH v2 2/2] scsi: ufs: Remove unnecessary devm_kfree

2021-01-11 Thread Bean Huo
From: Bean Huo The memory allocated with devm_kzalloc() is freed automatically no need to explicitly call devm_kfree. Reviewed-by: Eric Biggers Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd-crypto.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/scsi/ufs

[PATCH 2/2] scsi: ufs: Remove unnecessary devm_kfree

2021-01-11 Thread Bean Huo
From: Bean Huo The memory allocated with devm_kzalloc() is freed automatically no need to explicitly call devm_kfree. Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd-crypto.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd-crypto.c b/drivers

[PATCH 1/2] scsi: hisi_sas: Remove unnecessary devm_kfree

2021-01-11 Thread Bean Huo
From: Bean Huo The memory allocated with devm_kzalloc() is freed automatically no need to explicitly call devm_kfree. Signed-off-by: Bean Huo --- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 26 -- 1 file changed, 26 deletions(-) diff --git a/drivers/scsi/hisi_sas

[PATCH 0/2] Remove unnecessary devm_kfree

2021-01-11 Thread Bean Huo
From: Bean Huo *** BLURB HERE *** Bean Huo (2): scsi: hisi_sas: Remove unnecessary devm_kfree scsi: ufs: Remove unnecessary devm_kfree drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 26 -- drivers/scsi/ufs/ufshcd-crypto.c | 4 +--- 2 files changed, 1 insertion

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-11 Thread Bean Huo
On Mon, 2021-01-11 at 17:22 +0800, Can Guo wrote: > > > meaning you are tring to access a register when clocks are > > > disabled. > > > This > > > leads to system CRASH. > > > > > > > OK, let it simple, share this kind of crash log becuase of access > > sysfs > > node in the shutdown flow. > >

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-11 Thread Bean Huo
On Mon, 2021-01-11 at 09:30 +0800, Can Guo wrote: > > > +static inline bool ufshcd_is_sysfs_allowed(struct ufs_hba *hba) > > > +{ > > > + return !hba->shutting_down; > > > +} > > > + > > > > > > Can, > > > > Instead adding new shutting_down flag, can we use availible > > variable > >

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-11 Thread Bean Huo
On Mon, 2021-01-11 at 09:27 +0800, Can Guo wrote: > > > > If accessing sysfs nodes, which triggers a UFS UPIU request to > > read/write UFS device descriptors during shutdown flow, there is > > only > > one issue that sysfs node access failure since UFS device and LINK > > has > > been shutdown.

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-10 Thread Bean Huo
On Sat, 2021-01-02 at 05:59 -0800, Can Guo wrote: > + * @shutting_down: flag to check if shutdown has been invoked > + * @host_sem: semaphore used to serialize concurrent contexts > * @eh_wq: Workqueue that eh_work works on > * @eh_work: Worker to handle UFS errors that require s/w attention >

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-10 Thread Bean Huo
On Sat, 2021-01-09 at 12:51 +0800, Can Guo wrote: > On 2021-01-09 12:45, Can Guo wrote: > > On 2021-01-08 19:29, Bean Huo wrote: > > > On Wed, 2021-01-06 at 09:20 +0800, Can Guo wrote: > > > > Hi Bean, > > > > > > > > On 2021-01-06 02:38,

Re: [PATCH] scsi: ufs: A tad optimization in query upiu trace

2021-01-10 Thread Bean Huo
On Sun, 2021-01-10 at 10:46 +0200, Avri Altman wrote: > Remove a redundant if clause in ufshcd_add_query_upiu_trace. > > Signed-off-by: Avri Altman Looks good to me, thanks. Reviewed-by: Bean Huo

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-08 Thread Bean Huo
On Wed, 2021-01-06 at 09:20 +0800, Can Guo wrote: > Hi Bean, > > On 2021-01-06 02:38, Bean Huo wrote: > > On Tue, 2021-01-05 at 09:07 +0800, Can Guo wrote: > > > On 2021-01-05 04:05, Bean Huo wrote: > > > > On Sat, 2021-01-02 at 05:59 -0800, Can Guo wrote

[PATCH v3] scsi: ufs: Replace sprintf and snprintf with sysfs_emit

2021-01-06 Thread Bean Huo
From: Bean Huo sprintf and snprintf may cause output defect in sysfs content, it is better to use new added sysfs_emit function which knows the size of the temporary buffer. Reviewed-by: Avri Altman Suggested-by: Greg Kroah-Hartman Signed-off-by: Bean Huo --- Nothing changed in this patch

Re: [PATCH 2/2] scsi: ufs: Protect PM ops and err_handler from user access through sysfs

2021-01-05 Thread Bean Huo
On Tue, 2021-01-05 at 09:07 +0800, Can Guo wrote: > On 2021-01-05 04:05, Bean Huo wrote: > > On Sat, 2021-01-02 at 05:59 -0800, Can Guo wrote: > > > + * @shutting_down: flag to check if shutdown has been invoked > > > > I am not much sure if this flag is need, since

[PATCH v4 3/6] scsi: ufs: Don't call trace_ufshcd_upiu() in case trace poit is disabled

2021-01-05 Thread Bean Huo
From: Bean Huo Don't call trace_ufshcd_upiu() in case ufshba_upiu trace poit is not enabled. Acked-by: Steven Rostedt (VMware) Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs

[PATCH v4 6/6] scsi: ufs: Make UPIU trace easier differentiate among CDB, OSF, and TM

2021-01-05 Thread Bean Huo
From: Bean Huo Transaction Specific Fields (TSF) in the UPIU package could be CDB (SCSI/UFS Command Descriptor Block), OSF (Opcode Specific Field), and TM I/O parameter (Task Management Input/Output Parameter). But, currently, we take all of these as CDB in the UPIU trace. Thus makes user

[PATCH v4 5/6] scsi: ufs: Distinguish between TM request UPIU and response UPIU in TM UPIU trace

2021-01-05 Thread Bean Huo
From: Bean Huo Distinguish between TM request UPIU and response UPIU in TM UPIU trace, for the TM response, let TM UPIU trace print its TM response UPIU. Acked-by: Avri Altman Acked-by: Steven Rostedt (VMware) Signed-off-by: Bean Huo --- drivers/scsi/ufs/ufshcd.c | 8 ++-- 1 file

  1   2   3   4   5   6   >