[PATCH V4 0/3] Add ufs provisioning support in driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This change adds a new API ufshcd_do_config_device() to
write configuration descriptor with the provisioning data.
Configfs support is added in driver to trigger ufs provisioning at
runtime. Provisioning data is parsed from vendor specific provisioning
file. This parsed data is passed as a buffer via configfs to provision
ufs device.

Changes since V3:
	1)scsi: ufs: set the device reference clock setting
	  Updated logic to retain default ref_clk frequency setting
	  programmed in device in case if invalid value is passed via
	  devicetree setting.
	  Replaced of_property_read_u32() with device_property_read_u32().
	  Removed invalid checks.

	2)scsi: ufs: Add ufs provisioning support
	  Added pm_runtime_get/put_sync and scsi_block/unblock_request
	  in runtime provisioning for stable operation.
	     
  	3)scsi: ufs: Add configfs support for ufs provisioning
	  Updated Documentation with missing buffer entries required for
	  runtime provisioning. Used config option to support conditional
	  compilation for configfs api's.

Changes since V2:
	Added configfs support for ufs provisioning and removed sysfs
	support.

Changes since V1:
	Added device tree entry to parse reference clock frequency
	instead of hardcoding 19.2 MHz, as it can vary for different
	vendors. Also removed setting ref_clk again during runtime
	provisioning as it will be already set during probe.
	Used get_unaligned_be*/put_unaligned_be* where applicable.

Changes since RFC:
	Added check to avoid ufs runtime provisioning if
	Configuration decriptor lock attribute is set to one.
	Instead of parsing ref_clk frequency via device tree, used
	correct enum ref_clk_freq value(19.2 Mhz for proviosioning).
	Added config_descriptor sysfs entry to provision ufs and also
	updated documentation for its correct usage.
	Added more protection against bad data handling in sysfs code.


Sayali Lokhande (2):
  scsi: ufs: Add ufs provisioning support
  scsi: ufs: Add configfs support for ufs provisioning

Subhash Jadavani (1):
  scsi: ufs: set the device reference clock setting

 Documentation/ABI/testing/configfs-driver-ufs      |  15 ++
 .../devicetree/bindings/ufs/ufshcd-pltfrm.txt      |   7 +
 drivers/scsi/ufs/Makefile                          |   1 +
 drivers/scsi/ufs/ufs-configfs.c                    | 198 +++++++++++++++
 drivers/scsi/ufs/ufs.h                             |  39 +++
 drivers/scsi/ufs/ufshcd-pltfrm.c                   |   2 +
 drivers/scsi/ufs/ufshcd.c                          | 272 +++++++++++++++++++++
 drivers/scsi/ufs/ufshcd.h                          |  22 ++
 8 files changed, 556 insertions(+)
 create mode 100644 Documentation/ABI/testing/configfs-driver-ufs
 create mode 100644 drivers/scsi/ufs/ufs-configfs.c

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux