linux-scsi.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).