ata: libata-core: improve parameter names for ata_dev_set_feature()
authorNiklas Cassel <niklas.cassel@wdc.com>
Tue, 16 Aug 2022 11:53:28 +0000 (13:53 +0200)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Wed, 17 Aug 2022 16:40:42 +0000 (01:40 +0900)
ata_dev_set_feature() is currently used for enabling/disabling any ATA
feature, e.g. SETFEATURES_SPINUP and SETFEATURE_SENSE_DATA, i.e. it is
not only used to enable/disable SATA specific features.

For most features, the enable/disable bit is specified in the subcommand
specific field "count".
It is only for the specific subcommands "Enable SATA feature" (0x10) and
"Disable SATA feature" (0x90) where the field "count" is used to specify
a feature instead of enable/disable. The parameter names for this
function are thus quite misleading.

Rename the parameter names to be more generic and in line with ACS-5,
and remove the references to "SATA FEATURES" in the kernel-doc.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/libata-core.c
drivers/ata/libata.h

index 9478194740e09127a7af263848065db085c2c330..864b26009eaecf4f7911fd018ddd00b1e8ad72be 100644 (file)
@@ -4324,13 +4324,12 @@ static unsigned int ata_dev_set_xfermode(struct ata_device *dev)
 }
 
 /**
- *     ata_dev_set_feature - Issue SET FEATURES - SATA FEATURES
+ *     ata_dev_set_feature - Issue SET FEATURES
  *     @dev: Device to which command will be sent
- *     @enable: Whether to enable or disable the feature
- *     @feature: The sector count represents the feature to set
+ *     @subcmd: The SET FEATURES subcommand to be sent
+ *     @action: The sector count represents a subcommand specific action
  *
- *     Issue SET FEATURES - SATA FEATURES command to device @dev
- *     on port @ap with sector count
+ *     Issue SET FEATURES command to device @dev on port @ap with sector count
  *
  *     LOCKING:
  *     PCI/etc. bus probe sem.
@@ -4338,23 +4337,23 @@ static unsigned int ata_dev_set_xfermode(struct ata_device *dev)
  *     RETURNS:
  *     0 on success, AC_ERR_* mask otherwise.
  */
-unsigned int ata_dev_set_feature(struct ata_device *dev, u8 enable, u8 feature)
+unsigned int ata_dev_set_feature(struct ata_device *dev, u8 subcmd, u8 action)
 {
        struct ata_taskfile tf;
        unsigned int err_mask;
        unsigned int timeout = 0;
 
        /* set up set-features taskfile */
-       ata_dev_dbg(dev, "set features - SATA features\n");
+       ata_dev_dbg(dev, "set features\n");
 
        ata_tf_init(dev, &tf);
        tf.command = ATA_CMD_SET_FEATURES;
-       tf.feature = enable;
+       tf.feature = subcmd;
        tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
        tf.protocol = ATA_PROT_NODATA;
-       tf.nsect = feature;
+       tf.nsect = action;
 
-       if (enable == SETFEATURES_SPINUP)
+       if (subcmd == SETFEATURES_SPINUP)
                timeout = ata_probe_timeout ?
                          ata_probe_timeout * 1000 : SETFEATURES_SPINUP_TIMEOUT;
        err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, timeout);
index 98bc8649c63ff4d8cf2eae1e5ab6f0e7ec588f75..bc84fbb48c0a4d281a35d7f4b0fcaaebf7335026 100644 (file)
@@ -64,7 +64,7 @@ extern int ata_dev_configure(struct ata_device *dev);
 extern int sata_down_spd_limit(struct ata_link *link, u32 spd_limit);
 extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel);
 extern unsigned int ata_dev_set_feature(struct ata_device *dev,
-                                       u8 enable, u8 feature);
+                                       u8 subcmd, u8 action);
 extern void ata_qc_free(struct ata_queued_cmd *qc);
 extern void ata_qc_issue(struct ata_queued_cmd *qc);
 extern void __ata_qc_complete(struct ata_queued_cmd *qc);