diff options
| -rw-r--r-- | Documentation/ABI/testing/sysfs-bus-pci-devices-cciss | 7 | ||||
| -rw-r--r-- | drivers/block/cciss.c | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss b/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss index f5bb0a3bb8c0..53d99edd1d75 100644 --- a/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss +++ b/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss | |||
| @@ -71,3 +71,10 @@ Description: Value of 1 indicates the controller can honor the reset_devices | |||
| 71 | a dump device, as kdump requires resetting the device in order | 71 | a dump device, as kdump requires resetting the device in order |
| 72 | to work reliably. | 72 | to work reliably. |
| 73 | 73 | ||
| 74 | Where: /sys/bus/pci/devices/<dev>/ccissX/transport_mode | ||
| 75 | Date: July 2011 | ||
| 76 | Kernel Version: 3.0 | ||
| 77 | Contact: iss_storagedev@hp.com | ||
| 78 | Description: Value of "simple" indicates that the controller has been placed | ||
| 79 | in "simple mode". Value of "performant" indicates that the | ||
| 80 | controller has been placed in "performant mode". | ||
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 61f0b5b6a415..6da7edea700a 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
| @@ -641,6 +641,18 @@ static ssize_t host_store_rescan(struct device *dev, | |||
| 641 | } | 641 | } |
| 642 | static DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan); | 642 | static DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan); |
| 643 | 643 | ||
| 644 | static ssize_t host_show_transport_mode(struct device *dev, | ||
| 645 | struct device_attribute *attr, | ||
| 646 | char *buf) | ||
| 647 | { | ||
| 648 | struct ctlr_info *h = to_hba(dev); | ||
| 649 | |||
| 650 | return snprintf(buf, 20, "%s\n", | ||
| 651 | h->transMethod & CFGTBL_Trans_Performant ? | ||
| 652 | "performant" : "simple"); | ||
| 653 | } | ||
| 654 | static DEVICE_ATTR(transport_mode, S_IRUGO, host_show_transport_mode, NULL); | ||
| 655 | |||
| 644 | static ssize_t dev_show_unique_id(struct device *dev, | 656 | static ssize_t dev_show_unique_id(struct device *dev, |
| 645 | struct device_attribute *attr, | 657 | struct device_attribute *attr, |
| 646 | char *buf) | 658 | char *buf) |
| @@ -813,6 +825,7 @@ static DEVICE_ATTR(usage_count, S_IRUGO, cciss_show_usage_count, NULL); | |||
| 813 | static struct attribute *cciss_host_attrs[] = { | 825 | static struct attribute *cciss_host_attrs[] = { |
| 814 | &dev_attr_rescan.attr, | 826 | &dev_attr_rescan.attr, |
| 815 | &dev_attr_resettable.attr, | 827 | &dev_attr_resettable.attr, |
| 828 | &dev_attr_transport_mode.attr, | ||
| 816 | NULL | 829 | NULL |
| 817 | }; | 830 | }; |
| 818 | 831 | ||
