#include "scsi_priv.h"
#include "scsi_logging.h"
+#include "ufs/ufshcd.h"
static struct device_type scsi_dev_type;
static DEVICE_ATTR(supported_mode, S_IRUGO | S_IWUSR, show_shost_supported_mode, NULL);
+/* for Argos */
+static ssize_t show_shost_transferred_cnt(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct Scsi_Host *shost = class_to_shost(dev);
+ struct ufs_hba *hba = shost_priv(shost);
+
+ return sprintf(buf, "%u\n", hba->transferred_sector);
+}
+static DEVICE_ATTR(transferred_cnt, 0444, show_shost_transferred_cnt, NULL);
+
static ssize_t
show_shost_active_mode(struct device *dev,
struct device_attribute *attr, char *buf)
&dev_attr_prot_guard_type.attr,
&dev_attr_host_reset.attr,
&dev_attr_eh_deadline.attr,
+ &dev_attr_transferred_cnt.attr,
NULL
};
prd_table[i].upper_addr =
cpu_to_le32(upper_32_bits(sg->dma_address));
prd_table[i].reserved = 0;
+ hba->transferred_sector += prd_table[i].size;
+
}
} else {
lrbp->utr_descriptor_ptr->prd_table_length = 0;