[PATCH v2 0/4] Improve the UFS driver link hibernation code

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

 



Hi Martin,

UFS controllers can behave as follows with regard to link hibernation:
(a) The UIC completion interrupt is not generated after having submitted a power
    management command.
(b) The UIC completion interrupt is generated and reenabling the UIC completion
    interrupt does not affect the link hibernation state.
(c) The UIC completion interrupt is generated and reenabling the UIC completion
    interrupt causes the link to exit the link hibernation state.

Support these cases as follows:
 * Support (a) by setting UFSHCD_QUIRK_DISABLE_UIC_INTR_FOR_PWR_CMDS in the
   host controller driver and by disabling UIC completion interrupts before
   submitting a power management command.
 * Support (b) and (c) by leaving UIC completion interrupts enabled while
   submitting a power management command.

Please consider this patch series for the next merge window.

Thanks,

Bart.

Changes compared to v1 of this patch series:
 - A patch that improves the struct ufs_hba documentation has been added.
 - Patch 2/2 has been split into two patches.
 - Instead of leaving the UIC completion interrupt enabled, disable it if
   UFSHCD_QUIRK_DISABLE_UIC_INTR_FOR_PWR_CMDS has been set.

Bart Van Assche (4):
  scsi: ufs: core: Improve the struct ufs_hba documentation
  scsi: ufs: core: Make ufshcd_uic_cmd_compl() easier to read
  scsi: ufs: core: Always initialize the UIC done completion
  scsi: ufs: core: Change the approach for power change UIC commands

 drivers/ufs/core/ufshcd.c       | 47 ++++++++++++++++++++-------------
 drivers/ufs/host/ufs-mediatek.c |  1 +
 drivers/ufs/host/ufs-qcom.c     |  2 ++
 include/ufs/ufshcd.h            | 13 ++++++---
 4 files changed, 41 insertions(+), 22 deletions(-)





[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