diff options
author | Tejun Heo <tj@kernel.org> | 2010-09-01 11:50:04 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-10-21 20:21:04 -0400 |
commit | c93b263e0d4fa8ce5fec0142a98196d1a127e845 (patch) | |
tree | 6495053b65f7a79d1e5c11aaea77dd25e4082a84 /drivers/ata/libata-core.c | |
parent | c43d559f0423816bb2918d892131d21c51816c3d (diff) |
libata: clean up lpm related symbols and sysfs show/store functions
Link power management related symbols are in confusing state w/ mixed
usages of lpm, ipm and pm. This patch cleans up lpm related symbols
and sysfs show/store functions as follows.
* lpm states - NOT_AVAILABLE, MIN_POWER, MAX_PERFORMANCE and
MEDIUM_POWER are renamed to ATA_LPM_UNKNOWN and
ATA_LPM_{MIN|MAX|MED}_POWER.
* Pre/postfixes are unified to lpm.
* sysfs show/store functions for link_power_management_policy were
curiously named get/put and unnecessarily complex. Renamed to
show/store and simplified.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r-- | drivers/ata/libata-core.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 92cd5f375b8f..380ceb000aad 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -1030,7 +1030,7 @@ const char *sata_spd_string(unsigned int spd) | |||
1030 | return spd_str[spd - 1]; | 1030 | return spd_str[spd - 1]; |
1031 | } | 1031 | } |
1032 | 1032 | ||
1033 | static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy) | 1033 | static int ata_dev_set_dipm(struct ata_device *dev, enum ata_lpm_policy policy) |
1034 | { | 1034 | { |
1035 | struct ata_link *link = dev->link; | 1035 | struct ata_link *link = dev->link; |
1036 | struct ata_port *ap = link->ap; | 1036 | struct ata_port *ap = link->ap; |
@@ -1040,14 +1040,14 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy) | |||
1040 | 1040 | ||
1041 | /* | 1041 | /* |
1042 | * disallow DIPM for drivers which haven't set | 1042 | * disallow DIPM for drivers which haven't set |
1043 | * ATA_FLAG_IPM. This is because when DIPM is enabled, | 1043 | * ATA_FLAG_LPM. This is because when DIPM is enabled, |
1044 | * phy ready will be set in the interrupt status on | 1044 | * phy ready will be set in the interrupt status on |
1045 | * state changes, which will cause some drivers to | 1045 | * state changes, which will cause some drivers to |
1046 | * think there are errors - additionally drivers will | 1046 | * think there are errors - additionally drivers will |
1047 | * need to disable hot plug. | 1047 | * need to disable hot plug. |
1048 | */ | 1048 | */ |
1049 | if (!(ap->flags & ATA_FLAG_IPM) || !ata_dev_enabled(dev)) { | 1049 | if (!(ap->flags & ATA_FLAG_LPM) || !ata_dev_enabled(dev)) { |
1050 | ap->pm_policy = NOT_AVAILABLE; | 1050 | ap->lpm_policy = ATA_LPM_UNKNOWN; |
1051 | return -EINVAL; | 1051 | return -EINVAL; |
1052 | } | 1052 | } |
1053 | 1053 | ||
@@ -1066,8 +1066,8 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy) | |||
1066 | return rc; | 1066 | return rc; |
1067 | 1067 | ||
1068 | switch (policy) { | 1068 | switch (policy) { |
1069 | case MIN_POWER: | 1069 | case ATA_LPM_MIN_POWER: |
1070 | /* no restrictions on IPM transitions */ | 1070 | /* no restrictions on LPM transitions */ |
1071 | scontrol &= ~(0x3 << 8); | 1071 | scontrol &= ~(0x3 << 8); |
1072 | rc = sata_scr_write(link, SCR_CONTROL, scontrol); | 1072 | rc = sata_scr_write(link, SCR_CONTROL, scontrol); |
1073 | if (rc) | 1073 | if (rc) |
@@ -1078,8 +1078,8 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy) | |||
1078 | err_mask = ata_dev_set_feature(dev, | 1078 | err_mask = ata_dev_set_feature(dev, |
1079 | SETFEATURES_SATA_ENABLE, SATA_DIPM); | 1079 | SETFEATURES_SATA_ENABLE, SATA_DIPM); |
1080 | break; | 1080 | break; |
1081 | case MEDIUM_POWER: | 1081 | case ATA_LPM_MED_POWER: |
1082 | /* allow IPM to PARTIAL */ | 1082 | /* allow LPM to PARTIAL */ |
1083 | scontrol &= ~(0x1 << 8); | 1083 | scontrol &= ~(0x1 << 8); |
1084 | scontrol |= (0x2 << 8); | 1084 | scontrol |= (0x2 << 8); |
1085 | rc = sata_scr_write(link, SCR_CONTROL, scontrol); | 1085 | rc = sata_scr_write(link, SCR_CONTROL, scontrol); |
@@ -1087,21 +1087,21 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy) | |||
1087 | return rc; | 1087 | return rc; |
1088 | 1088 | ||
1089 | /* | 1089 | /* |
1090 | * we don't have to disable DIPM since IPM flags | 1090 | * we don't have to disable DIPM since LPM flags |
1091 | * disallow transitions to SLUMBER, which effectively | 1091 | * disallow transitions to SLUMBER, which effectively |
1092 | * disable DIPM if it does not support PARTIAL | 1092 | * disable DIPM if it does not support PARTIAL |
1093 | */ | 1093 | */ |
1094 | break; | 1094 | break; |
1095 | case NOT_AVAILABLE: | 1095 | case ATA_LPM_UNKNOWN: |
1096 | case MAX_PERFORMANCE: | 1096 | case ATA_LPM_MAX_POWER: |
1097 | /* disable all IPM transitions */ | 1097 | /* disable all LPM transitions */ |
1098 | scontrol |= (0x3 << 8); | 1098 | scontrol |= (0x3 << 8); |
1099 | rc = sata_scr_write(link, SCR_CONTROL, scontrol); | 1099 | rc = sata_scr_write(link, SCR_CONTROL, scontrol); |
1100 | if (rc) | 1100 | if (rc) |
1101 | return rc; | 1101 | return rc; |
1102 | 1102 | ||
1103 | /* | 1103 | /* |
1104 | * we don't have to disable DIPM since IPM flags | 1104 | * we don't have to disable DIPM since LPM flags |
1105 | * disallow all transitions which effectively | 1105 | * disallow all transitions which effectively |
1106 | * disable DIPM anyway. | 1106 | * disable DIPM anyway. |
1107 | */ | 1107 | */ |
@@ -1125,9 +1125,9 @@ static int ata_dev_set_dipm(struct ata_device *dev, enum link_pm policy) | |||
1125 | * enabling Host Initiated Power management. | 1125 | * enabling Host Initiated Power management. |
1126 | * | 1126 | * |
1127 | * Locking: Caller. | 1127 | * Locking: Caller. |
1128 | * Returns: -EINVAL if IPM is not supported, 0 otherwise. | 1128 | * Returns: -EINVAL if LPM is not supported, 0 otherwise. |
1129 | */ | 1129 | */ |
1130 | void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy) | 1130 | void ata_dev_enable_pm(struct ata_device *dev, enum ata_lpm_policy policy) |
1131 | { | 1131 | { |
1132 | int rc = 0; | 1132 | int rc = 0; |
1133 | struct ata_port *ap = dev->link->ap; | 1133 | struct ata_port *ap = dev->link->ap; |
@@ -1141,9 +1141,9 @@ void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy) | |||
1141 | 1141 | ||
1142 | enable_pm_out: | 1142 | enable_pm_out: |
1143 | if (rc) | 1143 | if (rc) |
1144 | ap->pm_policy = MAX_PERFORMANCE; | 1144 | ap->lpm_policy = ATA_LPM_MAX_POWER; |
1145 | else | 1145 | else |
1146 | ap->pm_policy = policy; | 1146 | ap->lpm_policy = policy; |
1147 | return /* rc */; /* hopefully we can use 'rc' eventually */ | 1147 | return /* rc */; /* hopefully we can use 'rc' eventually */ |
1148 | } | 1148 | } |
1149 | 1149 | ||
@@ -1164,15 +1164,15 @@ static void ata_dev_disable_pm(struct ata_device *dev) | |||
1164 | { | 1164 | { |
1165 | struct ata_port *ap = dev->link->ap; | 1165 | struct ata_port *ap = dev->link->ap; |
1166 | 1166 | ||
1167 | ata_dev_set_dipm(dev, MAX_PERFORMANCE); | 1167 | ata_dev_set_dipm(dev, ATA_LPM_MAX_POWER); |
1168 | if (ap->ops->disable_pm) | 1168 | if (ap->ops->disable_pm) |
1169 | ap->ops->disable_pm(ap); | 1169 | ap->ops->disable_pm(ap); |
1170 | } | 1170 | } |
1171 | #endif /* CONFIG_PM */ | 1171 | #endif /* CONFIG_PM */ |
1172 | 1172 | ||
1173 | void ata_lpm_schedule(struct ata_port *ap, enum link_pm policy) | 1173 | void ata_lpm_schedule(struct ata_port *ap, enum ata_lpm_policy policy) |
1174 | { | 1174 | { |
1175 | ap->pm_policy = policy; | 1175 | ap->lpm_policy = policy; |
1176 | ap->link.eh_info.action |= ATA_EH_LPM; | 1176 | ap->link.eh_info.action |= ATA_EH_LPM; |
1177 | ap->link.eh_info.flags |= ATA_EHI_NO_AUTOPSY; | 1177 | ap->link.eh_info.flags |= ATA_EHI_NO_AUTOPSY; |
1178 | ata_port_schedule_eh(ap); | 1178 | ata_port_schedule_eh(ap); |
@@ -1201,7 +1201,7 @@ static void ata_lpm_disable(struct ata_host *host) | |||
1201 | 1201 | ||
1202 | for (i = 0; i < host->n_ports; i++) { | 1202 | for (i = 0; i < host->n_ports; i++) { |
1203 | struct ata_port *ap = host->ports[i]; | 1203 | struct ata_port *ap = host->ports[i]; |
1204 | ata_lpm_schedule(ap, ap->pm_policy); | 1204 | ata_lpm_schedule(ap, ap->lpm_policy); |
1205 | } | 1205 | } |
1206 | } | 1206 | } |
1207 | #endif /* CONFIG_PM */ | 1207 | #endif /* CONFIG_PM */ |
@@ -2564,7 +2564,7 @@ int ata_dev_configure(struct ata_device *dev) | |||
2564 | if (dev->flags & ATA_DFLAG_LBA48) | 2564 | if (dev->flags & ATA_DFLAG_LBA48) |
2565 | dev->max_sectors = ATA_MAX_SECTORS_LBA48; | 2565 | dev->max_sectors = ATA_MAX_SECTORS_LBA48; |
2566 | 2566 | ||
2567 | if (!(dev->horkage & ATA_HORKAGE_IPM)) { | 2567 | if (!(dev->horkage & ATA_HORKAGE_LPM)) { |
2568 | if (ata_id_has_hipm(dev->id)) | 2568 | if (ata_id_has_hipm(dev->id)) |
2569 | dev->flags |= ATA_DFLAG_HIPM; | 2569 | dev->flags |= ATA_DFLAG_HIPM; |
2570 | if (ata_id_has_dipm(dev->id)) | 2570 | if (ata_id_has_dipm(dev->id)) |
@@ -2591,11 +2591,11 @@ int ata_dev_configure(struct ata_device *dev) | |||
2591 | dev->max_sectors = min_t(unsigned int, ATA_MAX_SECTORS_128, | 2591 | dev->max_sectors = min_t(unsigned int, ATA_MAX_SECTORS_128, |
2592 | dev->max_sectors); | 2592 | dev->max_sectors); |
2593 | 2593 | ||
2594 | if (ata_dev_blacklisted(dev) & ATA_HORKAGE_IPM) { | 2594 | if (ata_dev_blacklisted(dev) & ATA_HORKAGE_LPM) { |
2595 | dev->horkage |= ATA_HORKAGE_IPM; | 2595 | dev->horkage |= ATA_HORKAGE_LPM; |
2596 | 2596 | ||
2597 | /* reset link pm_policy for this port to no pm */ | 2597 | /* reset link pm_policy for this port to no pm */ |
2598 | ap->pm_policy = MAX_PERFORMANCE; | 2598 | ap->lpm_policy = ATA_LPM_MAX_POWER; |
2599 | } | 2599 | } |
2600 | 2600 | ||
2601 | if (ap->ops->dev_config) | 2601 | if (ap->ops->dev_config) |