]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge branch '6.15/scsi-fixes' into 6.16/scsi-staging
authorMartin K. Petersen <martin.petersen@oracle.com>
Tue, 29 Apr 2025 00:56:57 +0000 (20:56 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 29 Apr 2025 00:56:57 +0000 (20:56 -0400)
Pull in fixes from 6.15 and resolve a few conflicts so we can have a
clean base for UFS patches.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1  2 
Documentation/ABI/testing/sysfs-driver-ufs
drivers/scsi/hisi_sas/hisi_sas_main.c
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
drivers/ufs/core/ufs-sysfs.c
drivers/ufs/core/ufshcd.c
drivers/ufs/host/ufs-qcom.c
include/ufs/ufs.h
include/ufs/ufshcd.h

index e7b49bc894f57af17c3b72a249130ab89d186387,e36d2de16cbdadf706239283bd16e9f7ee00957f..d4140dc6c5ba285fb8a97efdd1812c15116d07d0
@@@ -1605,51 -1605,34 +1605,83 @@@ Description
  
                The attribute is read/write.
  
+ What:         /sys/bus/platform/drivers/ufshcd/*/device_lvl_exception_count
+ What:         /sys/bus/platform/devices/*.ufs/device_lvl_exception_count
+ Date:         March 2025
+ Contact:      Bao D. Nguyen <quic_nguyenb@quicinc.com>
+ Description:
+               This attribute is applicable to ufs devices compliant to the
+               JEDEC specifications version 4.1 or later. The
+               device_lvl_exception_count is a counter indicating the number of
+               times the device level exceptions have occurred since the last
+               time this variable is reset.  Writing a 0 value to this
+               attribute will reset the device_lvl_exception_count.  If the
+               device_lvl_exception_count reads a positive value, the user
+               application should read the device_lvl_exception_id attribute to
+               know more information about the exception.
+               The attribute is read/write.
+ What:         /sys/bus/platform/drivers/ufshcd/*/device_lvl_exception_id
+ What:         /sys/bus/platform/devices/*.ufs/device_lvl_exception_id
+ Date:         March 2025
+ Contact:      Bao D. Nguyen <quic_nguyenb@quicinc.com>
+ Description:
+               Reading the device_lvl_exception_id returns the
+               qDeviceLevelExceptionID attribute of the ufs device JEDEC
+               specification version 4.1. The definition of the
+               qDeviceLevelExceptionID is the ufs device vendor specific
+               implementation.  Refer to the device manufacturer datasheet for
+               more information on the meaning of the qDeviceLevelExceptionID
+               attribute value.
+               The attribute is read only.
++
 +What:         /sys/bus/platform/drivers/ufshcd/*/wb_resize_enable
 +What:         /sys/bus/platform/devices/*.ufs/wb_resize_enable
 +Date:         April 2025
 +Contact:      Huan Tang <tanghuan@vivo.com>
 +Description:
 +              The host can enable the WriteBooster buffer resize by setting this
 +              attribute.
 +
 +              ========  ======================================
 +              idle      There is no resize operation
 +              decrease  Decrease WriteBooster buffer size
 +              increase  Increase WriteBooster buffer size
 +              ========  ======================================
 +
 +              The file is write only.
 +
 +What:         /sys/bus/platform/drivers/ufshcd/*/attributes/wb_resize_hint
 +What:         /sys/bus/platform/devices/*.ufs/attributes/wb_resize_hint
 +Date:         April 2025
 +Contact:      Huan Tang <tanghuan@vivo.com>
 +Description:
 +              wb_resize_hint indicates hint information about which type of resize
 +              for WriteBooster buffer is recommended by the device.
 +
 +              =========  ======================================
 +              keep       Recommend keep the buffer size
 +              decrease   Recommend to decrease the buffer size
 +              increase   Recommend to increase the buffer size
 +              =========  ======================================
 +
 +              The file is read only.
 +
 +What:         /sys/bus/platform/drivers/ufshcd/*/attributes/wb_resize_status
 +What:         /sys/bus/platform/devices/*.ufs/attributes/wb_resize_status
 +Date:         April 2025
 +Contact:      Huan Tang <tanghuan@vivo.com>
 +Description:
 +              The host can check the resize operation status of the WriteBooster
 +              buffer by reading this attribute.
 +
 +              ================  ========================================
 +              idle              Resize operation is not issued
 +              in_progress       Resize operation in progress
 +              complete_success  Resize operation completed successfully
 +              general_failure   Resize operation general failure
 +              ================  ========================================
 +
 +              The file is read only.
Simple merge
Simple merge
index be65fc4b5ccd3a0d21e72a3b7a66f0dc6f8943c7,5cb6132b8147a38302d5ea13b82c3bab5033c481..dc55c94fa45e592d815e6177b0a09390b2bcef97
@@@ -6080,22 -6107,7 +6104,22 @@@ int ufshcd_wb_toggle_buf_flush(struct u
        return ret;
  }
  
- static bool ufshcd_wb_presrv_usrspc_keep_vcc_on(struct ufs_hba *hba,
 +int ufshcd_wb_set_resize_en(struct ufs_hba *hba, enum wb_resize_en en_mode)
 +{
 +      int ret;
 +      u8 index;
 +
 +      index = ufshcd_wb_get_query_index(hba);
 +      ret = ufshcd_query_attr_retry(hba, UPIU_QUERY_OPCODE_WRITE_ATTR,
 +                              QUERY_ATTR_IDN_WB_BUF_RESIZE_EN, index, 0, &en_mode);
 +      if (ret)
 +              dev_err(hba->dev, "%s: Enable WB buf resize operation failed %d\n",
 +                      __func__, ret);
 +
 +      return ret;
 +}
 +
+ static bool ufshcd_wb_curr_buff_threshold_check(struct ufs_hba *hba,
                                                u32 avail_buf)
  {
        u32 cur_buf;
Simple merge
index 9188f7aa99dab2211466fe3f89425c09fc94382d,1c47136d8715f370d0e8691b25eeb595d8b035d1..c0c59a8f7256020389196dabf3a22c8727105131
@@@ -181,9 -181,7 +181,10 @@@ enum attr_idn 
        QUERY_ATTR_IDN_WB_BUFF_LIFE_TIME_EST    = 0x1E,
        QUERY_ATTR_IDN_CURR_WB_BUFF_SIZE        = 0x1F,
        QUERY_ATTR_IDN_TIMESTAMP                = 0x30,
+       QUERY_ATTR_IDN_DEV_LVL_EXCEPTION_ID     = 0x34,
 +      QUERY_ATTR_IDN_WB_BUF_RESIZE_HINT       = 0x3C,
 +      QUERY_ATTR_IDN_WB_BUF_RESIZE_EN         = 0x3D,
 +      QUERY_ATTR_IDN_WB_BUF_RESIZE_STATUS     = 0x3E,
  };
  
  /* Descriptor idn for Query requests */
Simple merge