All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bean Huo <christopher.lee.eu@gmail.com>
To: Bart Van Assche <bvanassche@acm.org>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Can Guo <cang@codeaurora.org>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH 00/29] UFS patches for kernel v5.19
Date: Fri, 01 Apr 2022 11:28:30 +0200	[thread overview]
Message-ID: <abd8eb1700c3cf914af76bf767eff0877e2e82cf.camel@gmail.com> (raw)
In-Reply-To: <20220331223424.1054715-1-bvanassche@acm.org>

Bart,

Agree that the current UFS driver is messy, but I don't think there was
such a big structural change before UFS 4.0 was released, especially
the design of the UFS CQE driver. If you already have a plan for CQE,
it's best to state it in the patch. If you have made such a big change
in an environment that is now very stable, do we have to make changes
after UFS 4.0? ?


Kind regards,
Bean


On Thu, 2022-03-31 at 15:33 -0700, Bart Van Assche wrote:
> Hi Martin,
> 
> This patch series includes the following changes:
> - Separation of UFS core and UFS driver source code into separate
> directories.
> - Split the ufshcd.h header file into two header files - one file
> that
>   defines the interface with UFS drivers and another file with
> definitions
>   only used in the core.
> - Multiple source code cleanup patches.
> - A few patches with minor functional changes.
> 
> Please consider these changes for kernel v5.19.
> 
> Thank you,
> 
> Bart.
> 
> Bart Van Assche (29):
>   scsi: ufs: Declare ufshcd_wait_for_register() static
>   scsi: ufs: Remove superfluous boolean conversions
>   scsi: ufs: Simplify statements that return a boolean
>   scsi: ufs: Remove ufshcd_lrb.sense_bufflen
>   scsi: ufs: Remove ufshcd_lrb.sense_buffer
>   scsi: ufs: Use get_unaligned_be16() instead of be16_to_cpup()
>   scsi: ufs: Remove the UFS_FIX() and END_FIX() macros
>   scsi: ufs: Rename struct ufs_dev_fix into ufs_dev_quirk
>   scsi: ufs: Declare the quirks array const
>   scsi: ufs: Invert the return value of ufshcd_is_hba_active()
>   scsi: ufs: Remove unused constants and code
>   scsi: ufs: Switch to aggregate initialization
>   scsi: ufs: Remove the LUN quiescing code from ufshcd_wl_shutdown()
>   scsi: ufs: Make the config_scaling_param calls type safe
>   scsi: ufs: Remove the driver version
>   scsi: ufs: Rename sdev_ufs_device into ufs_device_wlun
>   scsi: ufs: Use an SPDX license identifier in the Kconfig file
>   scsi: ufs: Remove paths from source code comments
>   scsi: ufs: Remove the TRUE and FALSE definitions
>   scsi: ufs: Remove locking from around single register writes
>   scsi: ufs: Introduce ufshcd_clkgate_delay_set()
>   scsi: ufs: qcom: Fix ufs_qcom_resume()
>   scsi: ufs: Remove unnecessary ufshcd-crypto.h include directives
>   scsi: ufs: Fix kernel-doc syntax in ufshcd.h
>   scsi: ufs: Minimize #include directives
>   scsi: ufs: Split the ufshcd.h header file
>   scsi: ufs: Move the struct ufs_ref_clk definition
>   scsi: ufs: Move the ufs_is_valid_unit_desc_lun() definition
>   scsi: ufs: Split the drivers/scsi/ufs directory
> 
>  drivers/scsi/Kconfig                          |   3 +-
>  drivers/scsi/Makefile                         |   4 +-
>  drivers/scsi/ufs-core/Kconfig                 |  82 ++++
>  drivers/scsi/ufs-core/Makefile                |  10 +
>  drivers/scsi/{ufs => ufs-core}/ufs-debugfs.c  |   4 +-
>  drivers/scsi/{ufs => ufs-core}/ufs-debugfs.h  |   0
>  .../{ufs => ufs-core}/ufs-fault-injection.c   |   4 +-
>  .../{ufs => ufs-core}/ufs-fault-injection.h   |   0
>  drivers/scsi/{ufs => ufs-core}/ufs-hwmon.c    |   4 +-
>  drivers/scsi/{ufs => ufs-core}/ufs-sysfs.c    |   8 +-
>  drivers/scsi/{ufs => ufs-core}/ufs-sysfs.h    |   3 +-
>  drivers/scsi/{ufs => ufs-core}/ufs_bsg.c      |   6 +
>  drivers/scsi/{ufs => ufs-core}/ufs_bsg.h      |   7 +-
>  .../scsi/{ufs => ufs-core}/ufshcd-crypto.c    |   2 +-
>  .../scsi/{ufs => ufs-core}/ufshcd-crypto.h    |   7 +-
>  drivers/scsi/ufs-core/ufshcd-priv.h           | 296 ++++++++++++++
>  drivers/scsi/{ufs => ufs-core}/ufshcd.c       | 254 ++++++------
>  drivers/scsi/{ufs => ufs-core}/ufshpb.c       |  10 +-
>  drivers/scsi/{ufs => ufs-core}/ufshpb.h       |   0
>  drivers/scsi/ufs-drivers/Kconfig              | 118 ++++++
>  drivers/scsi/{ufs => ufs-drivers}/Makefile    |  12 -
>  .../scsi/{ufs => ufs-drivers}/cdns-pltfrm.c   |   5 +-
>  .../{ufs => ufs-drivers}/tc-dwc-g210-pci.c    |   8 +-
>  .../{ufs => ufs-drivers}/tc-dwc-g210-pltfrm.c |  10 +-
>  .../scsi/{ufs => ufs-drivers}/tc-dwc-g210.c   |   8 +-
>  .../scsi/{ufs => ufs-drivers}/tc-dwc-g210.h   |   2 +
>  .../scsi/{ufs => ufs-drivers}/ti-j721e-ufs.c  |   0
>  .../scsi/{ufs => ufs-drivers}/ufs-exynos.c    |  17 +-
>  .../scsi/{ufs => ufs-drivers}/ufs-exynos.h    |   8 +-
>  drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.c  |  17 +-
>  drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.h  |   0
>  .../{ufs => ufs-drivers}/ufs-mediatek-trace.h |   2 +-
>  .../scsi/{ufs => ufs-drivers}/ufs-mediatek.c  |  40 +-
>  .../scsi/{ufs => ufs-drivers}/ufs-mediatek.h  |   0
>  .../scsi/{ufs => ufs-drivers}/ufs-qcom-ice.c  |   3 +-
>  drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.c  |  49 +--
>  drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.h  |   6 +-
>  .../scsi/{ufs => ufs-drivers}/ufshcd-dwc.c    |   6 +-
>  .../scsi/{ufs => ufs-drivers}/ufshcd-dwc.h    |   2 +
>  .../scsi/{ufs => ufs-drivers}/ufshcd-pci.c    |  14 +-
>  .../scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.c |  35 +-
>  .../scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.h |   2 +-
>  .../scsi/{ufs => ufs-drivers}/ufshci-dwc.h    |   0
>  drivers/scsi/ufs/Kconfig                      | 211 ----------
>  {drivers/scsi/ufs => include/scsi}/ufs.h      |  35 --
>  .../scsi/ufs => include/scsi}/ufs_quirks.h    |  15 +-
>  {drivers/scsi/ufs => include/scsi}/ufshcd.h   | 366 ++++----------
> ----
>  {drivers/scsi/ufs => include/scsi}/ufshci.h   |   2 +
>  {drivers/scsi/ufs => include/scsi}/unipro.h   |  16 -
>  49 files changed, 856 insertions(+), 857 deletions(-)
>  create mode 100644 drivers/scsi/ufs-core/Kconfig
>  create mode 100644 drivers/scsi/ufs-core/Makefile
>  rename drivers/scsi/{ufs => ufs-core}/ufs-debugfs.c (99%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs-debugfs.h (100%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs-fault-injection.c (100%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs-fault-injection.h (100%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs-hwmon.c (98%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs-sysfs.c (99%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs-sysfs.h (95%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs_bsg.c (97%)
>  rename drivers/scsi/{ufs => ufs-core}/ufs_bsg.h (77%)
>  rename drivers/scsi/{ufs => ufs-core}/ufshcd-crypto.c (99%)
>  rename drivers/scsi/{ufs => ufs-core}/ufshcd-crypto.h (94%)
>  create mode 100644 drivers/scsi/ufs-core/ufshcd-priv.h
>  rename drivers/scsi/{ufs => ufs-core}/ufshcd.c (98%)
>  rename drivers/scsi/{ufs => ufs-core}/ufshpb.c (99%)
>  rename drivers/scsi/{ufs => ufs-core}/ufshpb.h (100%)
>  create mode 100644 drivers/scsi/ufs-drivers/Kconfig
>  rename drivers/scsi/{ufs => ufs-drivers}/Makefile (56%)
>  rename drivers/scsi/{ufs => ufs-drivers}/cdns-pltfrm.c (99%)
>  rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210-pci.c (98%)
>  rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210-pltfrm.c (98%)
>  rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210.c (99%)
>  rename drivers/scsi/{ufs => ufs-drivers}/tc-dwc-g210.h (95%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ti-j721e-ufs.c (100%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-exynos.c (99%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-exynos.h (97%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.c (99%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-hisi.h (100%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-mediatek-trace.h (92%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-mediatek.c (97%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-mediatek.h (100%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-qcom-ice.c (99%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.c (98%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufs-qcom.h (98%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-dwc.c (98%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-dwc.h (95%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-pci.c (99%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.c (94%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufshcd-pltfrm.h (98%)
>  rename drivers/scsi/{ufs => ufs-drivers}/ufshci-dwc.h (100%)
>  delete mode 100644 drivers/scsi/ufs/Kconfig
>  rename {drivers/scsi/ufs => include/scsi}/ufs.h (93%)
>  rename {drivers/scsi/ufs => include/scsi}/ufs_quirks.h (94%)
>  rename {drivers/scsi/ufs => include/scsi}/ufshcd.h (82%)
>  rename {drivers/scsi/ufs => include/scsi}/ufshci.h (99%)
>  rename {drivers/scsi/ufs => include/scsi}/unipro.h (98%)
> 


  parent reply	other threads:[~2022-04-02 11:53 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-31 22:33 [PATCH 00/29] UFS patches for kernel v5.19 Bart Van Assche
2022-03-31 22:33 ` [PATCH 01/29] scsi: ufs: Declare ufshcd_wait_for_register() static Bart Van Assche
2022-04-01 18:33   ` Avri Altman
2022-04-03  9:45   ` Bean Huo
2022-03-31 22:33 ` [PATCH 02/29] scsi: ufs: Remove superfluous boolean conversions Bart Van Assche
2022-03-31 23:44   ` Bjorn Andersson
2022-04-03  3:20     ` Bart Van Assche
2022-04-01 18:35   ` Avri Altman
2022-03-31 22:33 ` [PATCH 03/29] scsi: ufs: Simplify statements that return a boolean Bart Van Assche
2022-03-31 23:45   ` Bjorn Andersson
2022-04-01 18:49   ` Avri Altman
2022-04-03  3:30     ` Bart Van Assche
2022-03-31 22:33 ` [PATCH 04/29] scsi: ufs: Remove ufshcd_lrb.sense_bufflen Bart Van Assche
2022-04-01 18:56   ` Avri Altman
2022-03-31 22:34 ` [PATCH 05/29] scsi: ufs: Remove ufshcd_lrb.sense_buffer Bart Van Assche
2022-04-01 19:21   ` Avri Altman
2022-04-03  4:26     ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 06/29] scsi: ufs: Use get_unaligned_be16() instead of be16_to_cpup() Bart Van Assche
2022-04-03 11:20   ` Bean Huo
2022-03-31 22:34 ` [PATCH 07/29] scsi: ufs: Remove the UFS_FIX() and END_FIX() macros Bart Van Assche
2022-04-01 19:43   ` Avri Altman
2022-03-31 22:34 ` [PATCH 08/29] scsi: ufs: Rename struct ufs_dev_fix into ufs_dev_quirk Bart Van Assche
2022-04-01 19:47   ` Avri Altman
2022-04-04 21:15     ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 09/29] scsi: ufs: Declare the quirks array const Bart Van Assche
2022-04-01 19:56   ` Avri Altman
2022-04-04 21:14     ` Bart Van Assche
2022-04-08 14:41       ` Krzysztof Kozlowski
2022-04-05  6:14   ` Avri Altman
2022-03-31 22:34 ` [PATCH 10/29] scsi: ufs: Invert the return value of ufshcd_is_hba_active() Bart Van Assche
2022-04-02  6:32   ` Avri Altman
2022-03-31 22:34 ` [PATCH 11/29] scsi: ufs: Remove unused constants and code Bart Van Assche
2022-04-02  6:59   ` Avri Altman
2022-04-04  2:07     ` Bart Van Assche
2022-04-05  6:55       ` Avri Altman
2022-04-07  2:33         ` Stanley Chu
2022-03-31 22:34 ` [PATCH 12/29] scsi: ufs: Switch to aggregate initialization Bart Van Assche
2022-04-02  7:07   ` Avri Altman
2022-03-31 22:34 ` [PATCH 13/29] scsi: ufs: Remove the LUN quiescing code from ufshcd_wl_shutdown() Bart Van Assche
2022-04-01  6:20   ` Adrian Hunter
2022-04-01 13:52     ` Bart Van Assche
2022-04-01 14:35       ` Adrian Hunter
2022-04-05 19:11         ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 14/29] scsi: ufs: Make the config_scaling_param calls type safe Bart Van Assche
2022-03-31 23:48   ` Bjorn Andersson
2022-04-01  4:08     ` Bart Van Assche
2022-04-03  3:51       ` Bjorn Andersson
2022-03-31 22:34 ` [PATCH 15/29] scsi: ufs: Remove the driver version Bart Van Assche
2022-04-03  7:10   ` Avri Altman
2022-04-03 21:51     ` Bart Van Assche
2022-04-03 15:52   ` Bean Huo
2022-04-04  6:25   ` Avri Altman
2022-03-31 22:34 ` [PATCH 16/29] scsi: ufs: Rename sdev_ufs_device into ufs_device_wlun Bart Van Assche
2022-04-03  7:25   ` Avri Altman
2022-03-31 22:34 ` [PATCH 17/29] scsi: ufs: Use an SPDX license identifier in the Kconfig file Bart Van Assche
2022-03-31 22:34 ` [PATCH 18/29] scsi: ufs: Remove paths from source code comments Bart Van Assche
2022-04-03  7:33   ` Avri Altman
2022-03-31 22:34 ` [PATCH 19/29] scsi: ufs: Remove the TRUE and FALSE definitions Bart Van Assche
2022-04-01  2:19   ` Chanho Park
2022-04-04  2:39     ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 20/29] scsi: ufs: Remove locking from around single register writes Bart Van Assche
2022-04-05  6:19   ` Avri Altman
2022-03-31 22:34 ` [PATCH 21/29] scsi: ufs: Introduce ufshcd_clkgate_delay_set() Bart Van Assche
2022-04-05  6:20   ` Avri Altman
2022-03-31 22:34 ` [PATCH 22/29] scsi: ufs: qcom: Fix ufs_qcom_resume() Bart Van Assche
2022-03-31 23:50   ` Bjorn Andersson
2022-03-31 22:34 ` [PATCH 23/29] scsi: ufs: Remove unnecessary ufshcd-crypto.h include directives Bart Van Assche
2022-03-31 22:34 ` [PATCH 24/29] scsi: ufs: Fix kernel-doc syntax in ufshcd.h Bart Van Assche
2022-04-05  6:27   ` Avri Altman
2022-03-31 22:34 ` [PATCH 25/29] scsi: ufs: Minimize #include directives Bart Van Assche
2022-04-01  6:53   ` Adrian Hunter
2022-04-01 13:52     ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 26/29] scsi: ufs: Split the ufshcd.h header file Bart Van Assche
2022-04-01  0:21   ` Chanho Park
2022-04-01  4:14     ` Bart Van Assche
2022-04-01  4:30       ` Chanho Park
2022-04-05  6:39   ` Avri Altman
2022-04-05 14:10     ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 27/29] scsi: ufs: Move the struct ufs_ref_clk definition Bart Van Assche
2022-04-05  6:50   ` Avri Altman
2022-03-31 22:34 ` [PATCH 28/29] scsi: ufs: Move the ufs_is_valid_unit_desc_lun() definition Bart Van Assche
2022-04-05  6:53   ` Avri Altman
2022-04-05 14:13     ` Bart Van Assche
2022-03-31 22:34 ` [PATCH 29/29] scsi: ufs: Split the drivers/scsi/ufs directory Bart Van Assche
2022-04-01  5:12   ` Christoph Hellwig
2022-04-01 13:56     ` Bart Van Assche
2022-04-01  6:38   ` Adrian Hunter
2022-04-01 13:58     ` Bart Van Assche
2022-04-01 17:03       ` Alim Akhtar
2022-04-02  3:21         ` Bart Van Assche
     [not found] ` <CGME20220331223522epcas2p4f8f20c2ec00dbc6d5a7bf855a1dd7395@epcms2p5>
2022-04-01  6:14   ` [PATCH 04/29] scsi: ufs: Remove ufshcd_lrb.sense_bufflen Keoseong Park
2022-04-01  9:28 ` Bean Huo [this message]
2022-04-01  9:32 ` [PATCH 00/29] UFS patches for kernel v5.19 Bean Huo
2022-04-01 14:12   ` Bart Van Assche
2022-04-03  5:59     ` Avri Altman
2022-04-03 21:36       ` Bean Huo
2022-04-03 21:54         ` Bart Van Assche
2022-04-04  8:12           ` Bean Huo
2022-04-04 21:13             ` Bart Van Assche
2022-04-05  9:33               ` Bean Huo
2022-04-05 14:22                 ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=abd8eb1700c3cf914af76bf767eff0877e2e82cf.camel@gmail.com \
    --to=christopher.lee.eu@gmail.com \
    --cc=adrian.hunter@intel.com \
    --cc=bvanassche@acm.org \
    --cc=cang@codeaurora.org \
    --cc=jaegeuk@kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.