aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r--drivers/ata/libata-core.c381
1 files changed, 215 insertions, 166 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 481089c85a94..ef5612e42881 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -335,8 +335,7 @@ void ata_force_cbl(struct ata_port *ap)
335 continue; 335 continue;
336 336
337 ap->cbl = fe->param.cbl; 337 ap->cbl = fe->param.cbl;
338 ata_port_printk(ap, KERN_NOTICE, 338 ata_port_notice(ap, "FORCE: cable set to %s\n", fe->param.name);
339 "FORCE: cable set to %s\n", fe->param.name);
340 return; 339 return;
341 } 340 }
342} 341}
@@ -378,8 +377,7 @@ static void ata_force_link_limits(struct ata_link *link)
378 /* only honor the first spd limit */ 377 /* only honor the first spd limit */
379 if (!did_spd && fe->param.spd_limit) { 378 if (!did_spd && fe->param.spd_limit) {
380 link->hw_sata_spd_limit = (1 << fe->param.spd_limit) - 1; 379 link->hw_sata_spd_limit = (1 << fe->param.spd_limit) - 1;
381 ata_link_printk(link, KERN_NOTICE, 380 ata_link_notice(link, "FORCE: PHY spd limit set to %s\n",
382 "FORCE: PHY spd limit set to %s\n",
383 fe->param.name); 381 fe->param.name);
384 did_spd = true; 382 did_spd = true;
385 } 383 }
@@ -387,7 +385,7 @@ static void ata_force_link_limits(struct ata_link *link)
387 /* let lflags stack */ 385 /* let lflags stack */
388 if (fe->param.lflags) { 386 if (fe->param.lflags) {
389 link->flags |= fe->param.lflags; 387 link->flags |= fe->param.lflags;
390 ata_link_printk(link, KERN_NOTICE, 388 ata_link_notice(link,
391 "FORCE: link flag 0x%x forced -> 0x%x\n", 389 "FORCE: link flag 0x%x forced -> 0x%x\n",
392 fe->param.lflags, link->flags); 390 fe->param.lflags, link->flags);
393 } 391 }
@@ -442,8 +440,8 @@ static void ata_force_xfermask(struct ata_device *dev)
442 dev->pio_mask = pio_mask; 440 dev->pio_mask = pio_mask;
443 } 441 }
444 442
445 ata_dev_printk(dev, KERN_NOTICE, 443 ata_dev_notice(dev, "FORCE: xfer_mask set to %s\n",
446 "FORCE: xfer_mask set to %s\n", fe->param.name); 444 fe->param.name);
447 return; 445 return;
448 } 446 }
449} 447}
@@ -486,8 +484,8 @@ static void ata_force_horkage(struct ata_device *dev)
486 dev->horkage |= fe->param.horkage_on; 484 dev->horkage |= fe->param.horkage_on;
487 dev->horkage &= ~fe->param.horkage_off; 485 dev->horkage &= ~fe->param.horkage_off;
488 486
489 ata_dev_printk(dev, KERN_NOTICE, 487 ata_dev_notice(dev, "FORCE: horkage modified (%s)\n",
490 "FORCE: horkage modified (%s)\n", fe->param.name); 488 fe->param.name);
491 } 489 }
492} 490}
493 491
@@ -711,8 +709,8 @@ u64 ata_tf_read_block(struct ata_taskfile *tf, struct ata_device *dev)
711 sect = tf->lbal; 709 sect = tf->lbal;
712 710
713 if (!sect) { 711 if (!sect) {
714 ata_dev_printk(dev, KERN_WARNING, "device reported " 712 ata_dev_warn(dev,
715 "invalid CHS sector 0\n"); 713 "device reported invalid CHS sector 0\n");
716 sect = 1; /* oh well */ 714 sect = 1; /* oh well */
717 } 715 }
718 716
@@ -1230,8 +1228,9 @@ static int ata_read_native_max_address(struct ata_device *dev, u64 *max_sectors)
1230 1228
1231 err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0); 1229 err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0);
1232 if (err_mask) { 1230 if (err_mask) {
1233 ata_dev_printk(dev, KERN_WARNING, "failed to read native " 1231 ata_dev_warn(dev,
1234 "max address (err_mask=0x%x)\n", err_mask); 1232 "failed to read native max address (err_mask=0x%x)\n",
1233 err_mask);
1235 if (err_mask == AC_ERR_DEV && (tf.feature & ATA_ABORTED)) 1234 if (err_mask == AC_ERR_DEV && (tf.feature & ATA_ABORTED))
1236 return -EACCES; 1235 return -EACCES;
1237 return -EIO; 1236 return -EIO;
@@ -1292,8 +1291,9 @@ static int ata_set_max_sectors(struct ata_device *dev, u64 new_sectors)
1292 1291
1293 err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0); 1292 err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0);
1294 if (err_mask) { 1293 if (err_mask) {
1295 ata_dev_printk(dev, KERN_WARNING, "failed to set " 1294 ata_dev_warn(dev,
1296 "max address (err_mask=0x%x)\n", err_mask); 1295 "failed to set max address (err_mask=0x%x)\n",
1296 err_mask);
1297 if (err_mask == AC_ERR_DEV && 1297 if (err_mask == AC_ERR_DEV &&
1298 (tf.feature & (ATA_ABORTED | ATA_IDNF))) 1298 (tf.feature & (ATA_ABORTED | ATA_IDNF)))
1299 return -EACCES; 1299 return -EACCES;
@@ -1336,8 +1336,8 @@ static int ata_hpa_resize(struct ata_device *dev)
1336 * be unlocked, skip HPA resizing. 1336 * be unlocked, skip HPA resizing.
1337 */ 1337 */
1338 if (rc == -EACCES || !unlock_hpa) { 1338 if (rc == -EACCES || !unlock_hpa) {
1339 ata_dev_printk(dev, KERN_WARNING, "HPA support seems " 1339 ata_dev_warn(dev,
1340 "broken, skipping HPA handling\n"); 1340 "HPA support seems broken, skipping HPA handling\n");
1341 dev->horkage |= ATA_HORKAGE_BROKEN_HPA; 1341 dev->horkage |= ATA_HORKAGE_BROKEN_HPA;
1342 1342
1343 /* we can continue if device aborted the command */ 1343 /* we can continue if device aborted the command */
@@ -1355,14 +1355,13 @@ static int ata_hpa_resize(struct ata_device *dev)
1355 return 0; 1355 return 0;
1356 1356
1357 if (native_sectors > sectors) 1357 if (native_sectors > sectors)
1358 ata_dev_printk(dev, KERN_INFO, 1358 ata_dev_info(dev,
1359 "HPA detected: current %llu, native %llu\n", 1359 "HPA detected: current %llu, native %llu\n",
1360 (unsigned long long)sectors, 1360 (unsigned long long)sectors,
1361 (unsigned long long)native_sectors); 1361 (unsigned long long)native_sectors);
1362 else if (native_sectors < sectors) 1362 else if (native_sectors < sectors)
1363 ata_dev_printk(dev, KERN_WARNING, 1363 ata_dev_warn(dev,
1364 "native sectors (%llu) is smaller than " 1364 "native sectors (%llu) is smaller than sectors (%llu)\n",
1365 "sectors (%llu)\n",
1366 (unsigned long long)native_sectors, 1365 (unsigned long long)native_sectors,
1367 (unsigned long long)sectors); 1366 (unsigned long long)sectors);
1368 return 0; 1367 return 0;
@@ -1372,10 +1371,10 @@ static int ata_hpa_resize(struct ata_device *dev)
1372 rc = ata_set_max_sectors(dev, native_sectors); 1371 rc = ata_set_max_sectors(dev, native_sectors);
1373 if (rc == -EACCES) { 1372 if (rc == -EACCES) {
1374 /* if device aborted the command, skip HPA resizing */ 1373 /* if device aborted the command, skip HPA resizing */
1375 ata_dev_printk(dev, KERN_WARNING, "device aborted resize " 1374 ata_dev_warn(dev,
1376 "(%llu -> %llu), skipping HPA handling\n", 1375 "device aborted resize (%llu -> %llu), skipping HPA handling\n",
1377 (unsigned long long)sectors, 1376 (unsigned long long)sectors,
1378 (unsigned long long)native_sectors); 1377 (unsigned long long)native_sectors);
1379 dev->horkage |= ATA_HORKAGE_BROKEN_HPA; 1378 dev->horkage |= ATA_HORKAGE_BROKEN_HPA;
1380 return 0; 1379 return 0;
1381 } else if (rc) 1380 } else if (rc)
@@ -1384,14 +1383,14 @@ static int ata_hpa_resize(struct ata_device *dev)
1384 /* re-read IDENTIFY data */ 1383 /* re-read IDENTIFY data */
1385 rc = ata_dev_reread_id(dev, 0); 1384 rc = ata_dev_reread_id(dev, 0);
1386 if (rc) { 1385 if (rc) {
1387 ata_dev_printk(dev, KERN_ERR, "failed to re-read IDENTIFY " 1386 ata_dev_err(dev,
1388 "data after HPA resizing\n"); 1387 "failed to re-read IDENTIFY data after HPA resizing\n");
1389 return rc; 1388 return rc;
1390 } 1389 }
1391 1390
1392 if (print_info) { 1391 if (print_info) {
1393 u64 new_sectors = ata_id_n_sectors(dev->id); 1392 u64 new_sectors = ata_id_n_sectors(dev->id);
1394 ata_dev_printk(dev, KERN_INFO, 1393 ata_dev_info(dev,
1395 "HPA unlocked: %llu -> %llu, native %llu\n", 1394 "HPA unlocked: %llu -> %llu, native %llu\n",
1396 (unsigned long long)sectors, 1395 (unsigned long long)sectors,
1397 (unsigned long long)new_sectors, 1396 (unsigned long long)new_sectors,
@@ -1655,8 +1654,8 @@ unsigned ata_exec_internal_sg(struct ata_device *dev,
1655 ata_qc_complete(qc); 1654 ata_qc_complete(qc);
1656 1655
1657 if (ata_msg_warn(ap)) 1656 if (ata_msg_warn(ap))
1658 ata_dev_printk(dev, KERN_WARNING, 1657 ata_dev_warn(dev, "qc timeout (cmd 0x%x)\n",
1659 "qc timeout (cmd 0x%x)\n", command); 1658 command);
1660 } 1659 }
1661 1660
1662 spin_unlock_irqrestore(ap->lock, flags); 1661 spin_unlock_irqrestore(ap->lock, flags);
@@ -1870,7 +1869,7 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
1870 int rc; 1869 int rc;
1871 1870
1872 if (ata_msg_ctl(ap)) 1871 if (ata_msg_ctl(ap))
1873 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER\n", __func__); 1872 ata_dev_dbg(dev, "%s: ENTER\n", __func__);
1874 1873
1875retry: 1874retry:
1876 ata_tf_init(dev, &tf); 1875 ata_tf_init(dev, &tf);
@@ -1909,14 +1908,13 @@ retry:
1909 1908
1910 if (err_mask) { 1909 if (err_mask) {
1911 if (err_mask & AC_ERR_NODEV_HINT) { 1910 if (err_mask & AC_ERR_NODEV_HINT) {
1912 ata_dev_printk(dev, KERN_DEBUG, 1911 ata_dev_dbg(dev, "NODEV after polling detection\n");
1913 "NODEV after polling detection\n");
1914 return -ENOENT; 1912 return -ENOENT;
1915 } 1913 }
1916 1914
1917 if (is_semb) { 1915 if (is_semb) {
1918 ata_dev_printk(dev, KERN_INFO, "IDENTIFY failed on " 1916 ata_dev_info(dev,
1919 "device w/ SEMB sig, disabled\n"); 1917 "IDENTIFY failed on device w/ SEMB sig, disabled\n");
1920 /* SEMB is not supported yet */ 1918 /* SEMB is not supported yet */
1921 *p_class = ATA_DEV_SEMB_UNSUP; 1919 *p_class = ATA_DEV_SEMB_UNSUP;
1922 return 0; 1920 return 0;
@@ -1942,8 +1940,8 @@ retry:
1942 * both flavors of IDENTIFYs which happens 1940 * both flavors of IDENTIFYs which happens
1943 * sometimes with phantom devices. 1941 * sometimes with phantom devices.
1944 */ 1942 */
1945 ata_dev_printk(dev, KERN_DEBUG, 1943 ata_dev_dbg(dev,
1946 "both IDENTIFYs aborted, assuming NODEV\n"); 1944 "both IDENTIFYs aborted, assuming NODEV\n");
1947 return -ENOENT; 1945 return -ENOENT;
1948 } 1946 }
1949 1947
@@ -1953,9 +1951,9 @@ retry:
1953 } 1951 }
1954 1952
1955 if (dev->horkage & ATA_HORKAGE_DUMP_ID) { 1953 if (dev->horkage & ATA_HORKAGE_DUMP_ID) {
1956 ata_dev_printk(dev, KERN_DEBUG, "dumping IDENTIFY data, " 1954 ata_dev_dbg(dev, "dumping IDENTIFY data, "
1957 "class=%d may_fallback=%d tried_spinup=%d\n", 1955 "class=%d may_fallback=%d tried_spinup=%d\n",
1958 class, may_fallback, tried_spinup); 1956 class, may_fallback, tried_spinup);
1959 print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 1957 print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET,
1960 16, 2, id, ATA_ID_WORDS * sizeof(*id), true); 1958 16, 2, id, ATA_ID_WORDS * sizeof(*id), true);
1961 } 1959 }
@@ -2034,8 +2032,8 @@ retry:
2034 2032
2035 err_out: 2033 err_out:
2036 if (ata_msg_warn(ap)) 2034 if (ata_msg_warn(ap))
2037 ata_dev_printk(dev, KERN_WARNING, "failed to IDENTIFY " 2035 ata_dev_warn(dev, "failed to IDENTIFY (%s, err_mask=0x%x)\n",
2038 "(%s, err_mask=0x%x)\n", reason, err_mask); 2036 reason, err_mask);
2039 return rc; 2037 return rc;
2040} 2038}
2041 2039
@@ -2065,9 +2063,8 @@ static int ata_do_link_spd_horkage(struct ata_device *dev)
2065 * guaranteed by setting sata_spd_limit to target_limit above. 2063 * guaranteed by setting sata_spd_limit to target_limit above.
2066 */ 2064 */
2067 if (plink->sata_spd > target) { 2065 if (plink->sata_spd > target) {
2068 ata_dev_printk(dev, KERN_INFO, 2066 ata_dev_info(dev, "applying link speed limit horkage to %s\n",
2069 "applying link speed limit horkage to %s\n", 2067 sata_spd_string(target));
2070 sata_spd_string(target));
2071 return -EAGAIN; 2068 return -EAGAIN;
2072 } 2069 }
2073 return 0; 2070 return 0;
@@ -2110,8 +2107,9 @@ static int ata_dev_config_ncq(struct ata_device *dev,
2110 err_mask = ata_dev_set_feature(dev, SETFEATURES_SATA_ENABLE, 2107 err_mask = ata_dev_set_feature(dev, SETFEATURES_SATA_ENABLE,
2111 SATA_FPDMA_AA); 2108 SATA_FPDMA_AA);
2112 if (err_mask) { 2109 if (err_mask) {
2113 ata_dev_printk(dev, KERN_ERR, "failed to enable AA" 2110 ata_dev_err(dev,
2114 "(error_mask=0x%x)\n", err_mask); 2111 "failed to enable AA (error_mask=0x%x)\n",
2112 err_mask);
2115 if (err_mask != AC_ERR_DEV) { 2113 if (err_mask != AC_ERR_DEV) {
2116 dev->horkage |= ATA_HORKAGE_BROKEN_FPDMA_AA; 2114 dev->horkage |= ATA_HORKAGE_BROKEN_FPDMA_AA;
2117 return -EIO; 2115 return -EIO;
@@ -2154,31 +2152,28 @@ int ata_dev_configure(struct ata_device *dev)
2154 int rc; 2152 int rc;
2155 2153
2156 if (!ata_dev_enabled(dev) && ata_msg_info(ap)) { 2154 if (!ata_dev_enabled(dev) && ata_msg_info(ap)) {
2157 ata_dev_printk(dev, KERN_INFO, "%s: ENTER/EXIT -- nodev\n", 2155 ata_dev_info(dev, "%s: ENTER/EXIT -- nodev\n", __func__);
2158 __func__);
2159 return 0; 2156 return 0;
2160 } 2157 }
2161 2158
2162 if (ata_msg_probe(ap)) 2159 if (ata_msg_probe(ap))
2163 ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER\n", __func__); 2160 ata_dev_dbg(dev, "%s: ENTER\n", __func__);
2164 2161
2165 /* set horkage */ 2162 /* set horkage */
2166 dev->horkage |= ata_dev_blacklisted(dev); 2163 dev->horkage |= ata_dev_blacklisted(dev);
2167 ata_force_horkage(dev); 2164 ata_force_horkage(dev);
2168 2165
2169 if (dev->horkage & ATA_HORKAGE_DISABLE) { 2166 if (dev->horkage & ATA_HORKAGE_DISABLE) {
2170 ata_dev_printk(dev, KERN_INFO, 2167 ata_dev_info(dev, "unsupported device, disabling\n");
2171 "unsupported device, disabling\n");
2172 ata_dev_disable(dev); 2168 ata_dev_disable(dev);
2173 return 0; 2169 return 0;
2174 } 2170 }
2175 2171
2176 if ((!atapi_enabled || (ap->flags & ATA_FLAG_NO_ATAPI)) && 2172 if ((!atapi_enabled || (ap->flags & ATA_FLAG_NO_ATAPI)) &&
2177 dev->class == ATA_DEV_ATAPI) { 2173 dev->class == ATA_DEV_ATAPI) {
2178 ata_dev_printk(dev, KERN_WARNING, 2174 ata_dev_warn(dev, "WARNING: ATAPI is %s, device ignored\n",
2179 "WARNING: ATAPI is %s, device ignored.\n", 2175 atapi_enabled ? "not supported with this driver"
2180 atapi_enabled ? "not supported with this driver" 2176 : "disabled");
2181 : "disabled");
2182 ata_dev_disable(dev); 2177 ata_dev_disable(dev);
2183 return 0; 2178 return 0;
2184 } 2179 }
@@ -2199,12 +2194,12 @@ int ata_dev_configure(struct ata_device *dev)
2199 2194
2200 /* print device capabilities */ 2195 /* print device capabilities */
2201 if (ata_msg_probe(ap)) 2196 if (ata_msg_probe(ap))
2202 ata_dev_printk(dev, KERN_DEBUG, 2197 ata_dev_dbg(dev,
2203 "%s: cfg 49:%04x 82:%04x 83:%04x 84:%04x " 2198 "%s: cfg 49:%04x 82:%04x 83:%04x 84:%04x "
2204 "85:%04x 86:%04x 87:%04x 88:%04x\n", 2199 "85:%04x 86:%04x 87:%04x 88:%04x\n",
2205 __func__, 2200 __func__,
2206 id[49], id[82], id[83], id[84], 2201 id[49], id[82], id[83], id[84],
2207 id[85], id[86], id[87], id[88]); 2202 id[85], id[86], id[87], id[88]);
2208 2203
2209 /* initialize to-be-configured parameters */ 2204 /* initialize to-be-configured parameters */
2210 dev->flags &= ~ATA_DFLAG_CFG_MASK; 2205 dev->flags &= ~ATA_DFLAG_CFG_MASK;
@@ -2238,17 +2233,15 @@ int ata_dev_configure(struct ata_device *dev)
2238 if (ata_id_is_cfa(id)) { 2233 if (ata_id_is_cfa(id)) {
2239 /* CPRM may make this media unusable */ 2234 /* CPRM may make this media unusable */
2240 if (id[ATA_ID_CFA_KEY_MGMT] & 1) 2235 if (id[ATA_ID_CFA_KEY_MGMT] & 1)
2241 ata_dev_printk(dev, KERN_WARNING, 2236 ata_dev_warn(dev,
2242 "supports DRM functions and may " 2237 "supports DRM functions and may not be fully accessible\n");
2243 "not be fully accessible.\n");
2244 snprintf(revbuf, 7, "CFA"); 2238 snprintf(revbuf, 7, "CFA");
2245 } else { 2239 } else {
2246 snprintf(revbuf, 7, "ATA-%d", ata_id_major_version(id)); 2240 snprintf(revbuf, 7, "ATA-%d", ata_id_major_version(id));
2247 /* Warn the user if the device has TPM extensions */ 2241 /* Warn the user if the device has TPM extensions */
2248 if (ata_id_has_tpm(id)) 2242 if (ata_id_has_tpm(id))
2249 ata_dev_printk(dev, KERN_WARNING, 2243 ata_dev_warn(dev,
2250 "supports DRM functions and may " 2244 "supports DRM functions and may not be fully accessible\n");
2251 "not be fully accessible.\n");
2252 } 2245 }
2253 2246
2254 dev->n_sectors = ata_id_n_sectors(id); 2247 dev->n_sectors = ata_id_n_sectors(id);
@@ -2285,12 +2278,11 @@ int ata_dev_configure(struct ata_device *dev)
2285 2278
2286 /* print device info to dmesg */ 2279 /* print device info to dmesg */
2287 if (ata_msg_drv(ap) && print_info) { 2280 if (ata_msg_drv(ap) && print_info) {
2288 ata_dev_printk(dev, KERN_INFO, 2281 ata_dev_info(dev, "%s: %s, %s, max %s\n",
2289 "%s: %s, %s, max %s\n", 2282 revbuf, modelbuf, fwrevbuf,
2290 revbuf, modelbuf, fwrevbuf, 2283 ata_mode_string(xfer_mask));
2291 ata_mode_string(xfer_mask)); 2284 ata_dev_info(dev,
2292 ata_dev_printk(dev, KERN_INFO, 2285 "%llu sectors, multi %u: %s %s\n",
2293 "%Lu sectors, multi %u: %s %s\n",
2294 (unsigned long long)dev->n_sectors, 2286 (unsigned long long)dev->n_sectors,
2295 dev->multi_count, lba_desc, ncq_desc); 2287 dev->multi_count, lba_desc, ncq_desc);
2296 } 2288 }
@@ -2311,15 +2303,14 @@ int ata_dev_configure(struct ata_device *dev)
2311 2303
2312 /* print device info to dmesg */ 2304 /* print device info to dmesg */
2313 if (ata_msg_drv(ap) && print_info) { 2305 if (ata_msg_drv(ap) && print_info) {
2314 ata_dev_printk(dev, KERN_INFO, 2306 ata_dev_info(dev, "%s: %s, %s, max %s\n",
2315 "%s: %s, %s, max %s\n", 2307 revbuf, modelbuf, fwrevbuf,
2316 revbuf, modelbuf, fwrevbuf, 2308 ata_mode_string(xfer_mask));
2317 ata_mode_string(xfer_mask)); 2309 ata_dev_info(dev,
2318 ata_dev_printk(dev, KERN_INFO, 2310 "%llu sectors, multi %u, CHS %u/%u/%u\n",
2319 "%Lu sectors, multi %u, CHS %u/%u/%u\n", 2311 (unsigned long long)dev->n_sectors,
2320 (unsigned long long)dev->n_sectors, 2312 dev->multi_count, dev->cylinders,
2321 dev->multi_count, dev->cylinders, 2313 dev->heads, dev->sectors);
2322 dev->heads, dev->sectors);
2323 } 2314 }
2324 } 2315 }
2325 2316
@@ -2336,8 +2327,7 @@ int ata_dev_configure(struct ata_device *dev)
2336 rc = atapi_cdb_len(id); 2327 rc = atapi_cdb_len(id);
2337 if ((rc < 12) || (rc > ATAPI_CDB_LEN)) { 2328 if ((rc < 12) || (rc > ATAPI_CDB_LEN)) {
2338 if (ata_msg_warn(ap)) 2329 if (ata_msg_warn(ap))
2339 ata_dev_printk(dev, KERN_WARNING, 2330 ata_dev_warn(dev, "unsupported CDB len\n");
2340 "unsupported CDB len\n");
2341 rc = -EINVAL; 2331 rc = -EINVAL;
2342 goto err_out_nosup; 2332 goto err_out_nosup;
2343 } 2333 }
@@ -2358,9 +2348,9 @@ int ata_dev_configure(struct ata_device *dev)
2358 err_mask = ata_dev_set_feature(dev, 2348 err_mask = ata_dev_set_feature(dev,
2359 SETFEATURES_SATA_ENABLE, SATA_AN); 2349 SETFEATURES_SATA_ENABLE, SATA_AN);
2360 if (err_mask) 2350 if (err_mask)
2361 ata_dev_printk(dev, KERN_ERR, 2351 ata_dev_err(dev,
2362 "failed to enable ATAPI AN " 2352 "failed to enable ATAPI AN (err_mask=0x%x)\n",
2363 "(err_mask=0x%x)\n", err_mask); 2353 err_mask);
2364 else { 2354 else {
2365 dev->flags |= ATA_DFLAG_AN; 2355 dev->flags |= ATA_DFLAG_AN;
2366 atapi_an_string = ", ATAPI AN"; 2356 atapi_an_string = ", ATAPI AN";
@@ -2379,12 +2369,12 @@ int ata_dev_configure(struct ata_device *dev)
2379 2369
2380 /* print device info to dmesg */ 2370 /* print device info to dmesg */
2381 if (ata_msg_drv(ap) && print_info) 2371 if (ata_msg_drv(ap) && print_info)
2382 ata_dev_printk(dev, KERN_INFO, 2372 ata_dev_info(dev,
2383 "ATAPI: %s, %s, max %s%s%s%s\n", 2373 "ATAPI: %s, %s, max %s%s%s%s\n",
2384 modelbuf, fwrevbuf, 2374 modelbuf, fwrevbuf,
2385 ata_mode_string(xfer_mask), 2375 ata_mode_string(xfer_mask),
2386 cdb_intr_string, atapi_an_string, 2376 cdb_intr_string, atapi_an_string,
2387 dma_dir_string); 2377 dma_dir_string);
2388 } 2378 }
2389 2379
2390 /* determine max_sectors */ 2380 /* determine max_sectors */
@@ -2396,8 +2386,7 @@ int ata_dev_configure(struct ata_device *dev)
2396 200 sectors */ 2386 200 sectors */
2397 if (ata_dev_knobble(dev)) { 2387 if (ata_dev_knobble(dev)) {
2398 if (ata_msg_drv(ap) && print_info) 2388 if (ata_msg_drv(ap) && print_info)
2399 ata_dev_printk(dev, KERN_INFO, 2389 ata_dev_info(dev, "applying bridge limits\n");
2400 "applying bridge limits\n");
2401 dev->udma_mask &= ATA_UDMA5; 2390 dev->udma_mask &= ATA_UDMA5;
2402 dev->max_sectors = ATA_MAX_SECTORS; 2391 dev->max_sectors = ATA_MAX_SECTORS;
2403 } 2392 }
@@ -2423,26 +2412,23 @@ int ata_dev_configure(struct ata_device *dev)
2423 bugs */ 2412 bugs */
2424 2413
2425 if (print_info) { 2414 if (print_info) {
2426 ata_dev_printk(dev, KERN_WARNING, 2415 ata_dev_warn(dev,
2427"Drive reports diagnostics failure. This may indicate a drive\n"); 2416"Drive reports diagnostics failure. This may indicate a drive\n");
2428 ata_dev_printk(dev, KERN_WARNING, 2417 ata_dev_warn(dev,
2429"fault or invalid emulation. Contact drive vendor for information.\n"); 2418"fault or invalid emulation. Contact drive vendor for information.\n");
2430 } 2419 }
2431 } 2420 }
2432 2421
2433 if ((dev->horkage & ATA_HORKAGE_FIRMWARE_WARN) && print_info) { 2422 if ((dev->horkage & ATA_HORKAGE_FIRMWARE_WARN) && print_info) {
2434 ata_dev_printk(dev, KERN_WARNING, "WARNING: device requires " 2423 ata_dev_warn(dev, "WARNING: device requires firmware update to be fully functional\n");
2435 "firmware update to be fully functional.\n"); 2424 ata_dev_warn(dev, " contact the vendor or visit http://ata.wiki.kernel.org\n");
2436 ata_dev_printk(dev, KERN_WARNING, " contact the vendor "
2437 "or visit http://ata.wiki.kernel.org.\n");
2438 } 2425 }
2439 2426
2440 return 0; 2427 return 0;
2441 2428
2442err_out_nosup: 2429err_out_nosup:
2443 if (ata_msg_probe(ap)) 2430 if (ata_msg_probe(ap))
2444 ata_dev_printk(dev, KERN_DEBUG, 2431 ata_dev_dbg(dev, "%s: EXIT, err\n", __func__);
2445 "%s: EXIT, err\n", __func__);
2446 return rc; 2432 return rc;
2447} 2433}
2448 2434
@@ -2663,13 +2649,11 @@ static void sata_print_link_status(struct ata_link *link)
2663 2649
2664 if (ata_phys_link_online(link)) { 2650 if (ata_phys_link_online(link)) {
2665 tmp = (sstatus >> 4) & 0xf; 2651 tmp = (sstatus >> 4) & 0xf;
2666 ata_link_printk(link, KERN_INFO, 2652 ata_link_info(link, "SATA link up %s (SStatus %X SControl %X)\n",
2667 "SATA link up %s (SStatus %X SControl %X)\n", 2653 sata_spd_string(tmp), sstatus, scontrol);
2668 sata_spd_string(tmp), sstatus, scontrol);
2669 } else { 2654 } else {
2670 ata_link_printk(link, KERN_INFO, 2655 ata_link_info(link, "SATA link down (SStatus %X SControl %X)\n",
2671 "SATA link down (SStatus %X SControl %X)\n", 2656 sstatus, scontrol);
2672 sstatus, scontrol);
2673 } 2657 }
2674} 2658}
2675 2659
@@ -2758,8 +2742,8 @@ int sata_down_spd_limit(struct ata_link *link, u32 spd_limit)
2758 2742
2759 link->sata_spd_limit = mask; 2743 link->sata_spd_limit = mask;
2760 2744
2761 ata_link_printk(link, KERN_WARNING, "limiting SATA link speed to %s\n", 2745 ata_link_warn(link, "limiting SATA link speed to %s\n",
2762 sata_spd_string(fls(mask))); 2746 sata_spd_string(fls(mask)));
2763 2747
2764 return 0; 2748 return 0;
2765} 2749}
@@ -3136,8 +3120,7 @@ int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel)
3136 snprintf(buf, sizeof(buf), "%s", 3120 snprintf(buf, sizeof(buf), "%s",
3137 ata_mode_string(xfer_mask)); 3121 ata_mode_string(xfer_mask));
3138 3122
3139 ata_dev_printk(dev, KERN_WARNING, 3123 ata_dev_warn(dev, "limiting speed to %s\n", buf);
3140 "limiting speed to %s\n", buf);
3141 } 3124 }
3142 3125
3143 ata_unpack_xfermask(xfer_mask, &dev->pio_mask, &dev->mwdma_mask, 3126 ata_unpack_xfermask(xfer_mask, &dev->pio_mask, &dev->mwdma_mask,
@@ -3164,9 +3147,9 @@ static int ata_dev_set_mode(struct ata_device *dev)
3164 dev_err_whine = " (SET_XFERMODE skipped)"; 3147 dev_err_whine = " (SET_XFERMODE skipped)";
3165 else { 3148 else {
3166 if (nosetxfer) 3149 if (nosetxfer)
3167 ata_dev_printk(dev, KERN_WARNING, 3150 ata_dev_warn(dev,
3168 "NOSETXFER but PATA detected - can't " 3151 "NOSETXFER but PATA detected - can't "
3169 "skip SETXFER, might malfunction\n"); 3152 "skip SETXFER, might malfunction\n");
3170 err_mask = ata_dev_set_xfermode(dev); 3153 err_mask = ata_dev_set_xfermode(dev);
3171 } 3154 }
3172 3155
@@ -3216,15 +3199,14 @@ static int ata_dev_set_mode(struct ata_device *dev)
3216 DPRINTK("xfer_shift=%u, xfer_mode=0x%x\n", 3199 DPRINTK("xfer_shift=%u, xfer_mode=0x%x\n",
3217 dev->xfer_shift, (int)dev->xfer_mode); 3200 dev->xfer_shift, (int)dev->xfer_mode);
3218 3201
3219 ata_dev_printk(dev, KERN_INFO, "configured for %s%s\n", 3202 ata_dev_info(dev, "configured for %s%s\n",
3220 ata_mode_string(ata_xfer_mode2mask(dev->xfer_mode)), 3203 ata_mode_string(ata_xfer_mode2mask(dev->xfer_mode)),
3221 dev_err_whine); 3204 dev_err_whine);
3222 3205
3223 return 0; 3206 return 0;
3224 3207
3225 fail: 3208 fail:
3226 ata_dev_printk(dev, KERN_ERR, "failed to set xfermode " 3209 ata_dev_err(dev, "failed to set xfermode (err_mask=0x%x)\n", err_mask);
3227 "(err_mask=0x%x)\n", err_mask);
3228 return -EIO; 3210 return -EIO;
3229} 3211}
3230 3212
@@ -3286,7 +3268,7 @@ int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
3286 /* step 2: always set host PIO timings */ 3268 /* step 2: always set host PIO timings */
3287 ata_for_each_dev(dev, link, ENABLED) { 3269 ata_for_each_dev(dev, link, ENABLED) {
3288 if (dev->pio_mode == 0xff) { 3270 if (dev->pio_mode == 0xff) {
3289 ata_dev_printk(dev, KERN_WARNING, "no PIO support\n"); 3271 ata_dev_warn(dev, "no PIO support\n");
3290 rc = -EINVAL; 3272 rc = -EINVAL;
3291 goto out; 3273 goto out;
3292 } 3274 }
@@ -3404,7 +3386,7 @@ int ata_wait_ready(struct ata_link *link, unsigned long deadline,
3404 3386
3405 if (!warned && time_after(now, start + 5 * HZ) && 3387 if (!warned && time_after(now, start + 5 * HZ) &&
3406 (deadline - now > 3 * HZ)) { 3388 (deadline - now > 3 * HZ)) {
3407 ata_link_printk(link, KERN_WARNING, 3389 ata_link_warn(link,
3408 "link is slow to respond, please be patient " 3390 "link is slow to respond, please be patient "
3409 "(ready=%d)\n", tmp); 3391 "(ready=%d)\n", tmp);
3410 warned = 1; 3392 warned = 1;
@@ -3552,16 +3534,14 @@ int sata_link_resume(struct ata_link *link, const unsigned long *params,
3552 } while ((scontrol & 0xf0f) != 0x300 && --tries); 3534 } while ((scontrol & 0xf0f) != 0x300 && --tries);
3553 3535
3554 if ((scontrol & 0xf0f) != 0x300) { 3536 if ((scontrol & 0xf0f) != 0x300) {
3555 ata_link_printk(link, KERN_ERR, 3537 ata_link_err(link, "failed to resume link (SControl %X)\n",
3556 "failed to resume link (SControl %X)\n", 3538 scontrol);
3557 scontrol);
3558 return 0; 3539 return 0;
3559 } 3540 }
3560 3541
3561 if (tries < ATA_LINK_RESUME_TRIES) 3542 if (tries < ATA_LINK_RESUME_TRIES)
3562 ata_link_printk(link, KERN_WARNING, 3543 ata_link_warn(link, "link resume succeeded after %d retries\n",
3563 "link resume succeeded after %d retries\n", 3544 ATA_LINK_RESUME_TRIES - tries);
3564 ATA_LINK_RESUME_TRIES - tries);
3565 3545
3566 if ((rc = sata_link_debounce(link, params, deadline))) 3546 if ((rc = sata_link_debounce(link, params, deadline)))
3567 return rc; 3547 return rc;
@@ -3678,8 +3658,9 @@ int ata_std_prereset(struct ata_link *link, unsigned long deadline)
3678 rc = sata_link_resume(link, timing, deadline); 3658 rc = sata_link_resume(link, timing, deadline);
3679 /* whine about phy resume failure but proceed */ 3659 /* whine about phy resume failure but proceed */
3680 if (rc && rc != -EOPNOTSUPP) 3660 if (rc && rc != -EOPNOTSUPP)
3681 ata_link_printk(link, KERN_WARNING, "failed to resume " 3661 ata_link_warn(link,
3682 "link for reset (errno=%d)\n", rc); 3662 "failed to resume link for reset (errno=%d)\n",
3663 rc);
3683 } 3664 }
3684 3665
3685 /* no point in trying softreset on offline link */ 3666 /* no point in trying softreset on offline link */
@@ -3795,8 +3776,7 @@ int sata_link_hardreset(struct ata_link *link, const unsigned long *timing,
3795 /* online is set iff link is online && reset succeeded */ 3776 /* online is set iff link is online && reset succeeded */
3796 if (online) 3777 if (online)
3797 *online = false; 3778 *online = false;
3798 ata_link_printk(link, KERN_ERR, 3779 ata_link_err(link, "COMRESET failed (errno=%d)\n", rc);
3799 "COMRESET failed (errno=%d)\n", rc);
3800 } 3780 }
3801 DPRINTK("EXIT, rc=%d\n", rc); 3781 DPRINTK("EXIT, rc=%d\n", rc);
3802 return rc; 3782 return rc;
@@ -3880,8 +3860,8 @@ static int ata_dev_same_device(struct ata_device *dev, unsigned int new_class,
3880 unsigned char serial[2][ATA_ID_SERNO_LEN + 1]; 3860 unsigned char serial[2][ATA_ID_SERNO_LEN + 1];
3881 3861
3882 if (dev->class != new_class) { 3862 if (dev->class != new_class) {
3883 ata_dev_printk(dev, KERN_INFO, "class mismatch %d != %d\n", 3863 ata_dev_info(dev, "class mismatch %d != %d\n",
3884 dev->class, new_class); 3864 dev->class, new_class);
3885 return 0; 3865 return 0;
3886 } 3866 }
3887 3867
@@ -3891,14 +3871,14 @@ static int ata_dev_same_device(struct ata_device *dev, unsigned int new_class,
3891 ata_id_c_string(new_id, serial[1], ATA_ID_SERNO, sizeof(serial[1])); 3871 ata_id_c_string(new_id, serial[1], ATA_ID_SERNO, sizeof(serial[1]));
3892 3872
3893 if (strcmp(model[0], model[1])) { 3873 if (strcmp(model[0], model[1])) {
3894 ata_dev_printk(dev, KERN_INFO, "model number mismatch " 3874 ata_dev_info(dev, "model number mismatch '%s' != '%s'\n",
3895 "'%s' != '%s'\n", model[0], model[1]); 3875 model[0], model[1]);
3896 return 0; 3876 return 0;
3897 } 3877 }
3898 3878
3899 if (strcmp(serial[0], serial[1])) { 3879 if (strcmp(serial[0], serial[1])) {
3900 ata_dev_printk(dev, KERN_INFO, "serial number mismatch " 3880 ata_dev_info(dev, "serial number mismatch '%s' != '%s'\n",
3901 "'%s' != '%s'\n", serial[0], serial[1]); 3881 serial[0], serial[1]);
3902 return 0; 3882 return 0;
3903 } 3883 }
3904 3884
@@ -3968,8 +3948,8 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
3968 new_class != ATA_DEV_ATA && 3948 new_class != ATA_DEV_ATA &&
3969 new_class != ATA_DEV_ATAPI && 3949 new_class != ATA_DEV_ATAPI &&
3970 new_class != ATA_DEV_SEMB) { 3950 new_class != ATA_DEV_SEMB) {
3971 ata_dev_printk(dev, KERN_INFO, "class mismatch %u != %u\n", 3951 ata_dev_info(dev, "class mismatch %u != %u\n",
3972 dev->class, new_class); 3952 dev->class, new_class);
3973 rc = -ENODEV; 3953 rc = -ENODEV;
3974 goto fail; 3954 goto fail;
3975 } 3955 }
@@ -3990,9 +3970,9 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
3990 return 0; 3970 return 0;
3991 3971
3992 /* n_sectors has changed */ 3972 /* n_sectors has changed */
3993 ata_dev_printk(dev, KERN_WARNING, "n_sectors mismatch %llu != %llu\n", 3973 ata_dev_warn(dev, "n_sectors mismatch %llu != %llu\n",
3994 (unsigned long long)n_sectors, 3974 (unsigned long long)n_sectors,
3995 (unsigned long long)dev->n_sectors); 3975 (unsigned long long)dev->n_sectors);
3996 3976
3997 /* 3977 /*
3998 * Something could have caused HPA to be unlocked 3978 * Something could have caused HPA to be unlocked
@@ -4001,9 +3981,9 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
4001 */ 3981 */
4002 if (dev->n_native_sectors == n_native_sectors && 3982 if (dev->n_native_sectors == n_native_sectors &&
4003 dev->n_sectors > n_sectors && dev->n_sectors == n_native_sectors) { 3983 dev->n_sectors > n_sectors && dev->n_sectors == n_native_sectors) {
4004 ata_dev_printk(dev, KERN_WARNING, 3984 ata_dev_warn(dev,
4005 "new n_sectors matches native, probably " 3985 "new n_sectors matches native, probably "
4006 "late HPA unlock, n_sectors updated\n"); 3986 "late HPA unlock, n_sectors updated\n");
4007 /* use the larger n_sectors */ 3987 /* use the larger n_sectors */
4008 return 0; 3988 return 0;
4009 } 3989 }
@@ -4017,9 +3997,9 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
4017 if (dev->n_native_sectors == n_native_sectors && 3997 if (dev->n_native_sectors == n_native_sectors &&
4018 dev->n_sectors < n_sectors && n_sectors == n_native_sectors && 3998 dev->n_sectors < n_sectors && n_sectors == n_native_sectors &&
4019 !(dev->horkage & ATA_HORKAGE_BROKEN_HPA)) { 3999 !(dev->horkage & ATA_HORKAGE_BROKEN_HPA)) {
4020 ata_dev_printk(dev, KERN_WARNING, 4000 ata_dev_warn(dev,
4021 "old n_sectors matches native, probably " 4001 "old n_sectors matches native, probably "
4022 "late HPA lock, will try to unlock HPA\n"); 4002 "late HPA lock, will try to unlock HPA\n");
4023 /* try unlocking HPA */ 4003 /* try unlocking HPA */
4024 dev->flags |= ATA_DFLAG_UNLOCK_HPA; 4004 dev->flags |= ATA_DFLAG_UNLOCK_HPA;
4025 rc = -EIO; 4005 rc = -EIO;
@@ -4030,7 +4010,7 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
4030 dev->n_native_sectors = n_native_sectors; 4010 dev->n_native_sectors = n_native_sectors;
4031 dev->n_sectors = n_sectors; 4011 dev->n_sectors = n_sectors;
4032 fail: 4012 fail:
4033 ata_dev_printk(dev, KERN_ERR, "revalidation failed (errno=%d)\n", rc); 4013 ata_dev_err(dev, "revalidation failed (errno=%d)\n", rc);
4034 return rc; 4014 return rc;
4035} 4015}
4036 4016
@@ -4358,15 +4338,15 @@ static void ata_dev_xfermask(struct ata_device *dev)
4358 4338
4359 if (ata_dma_blacklisted(dev)) { 4339 if (ata_dma_blacklisted(dev)) {
4360 xfer_mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA); 4340 xfer_mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA);
4361 ata_dev_printk(dev, KERN_WARNING, 4341 ata_dev_warn(dev,
4362 "device is on DMA blacklist, disabling DMA\n"); 4342 "device is on DMA blacklist, disabling DMA\n");
4363 } 4343 }
4364 4344
4365 if ((host->flags & ATA_HOST_SIMPLEX) && 4345 if ((host->flags & ATA_HOST_SIMPLEX) &&
4366 host->simplex_claimed && host->simplex_claimed != ap) { 4346 host->simplex_claimed && host->simplex_claimed != ap) {
4367 xfer_mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA); 4347 xfer_mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA);
4368 ata_dev_printk(dev, KERN_WARNING, "simplex DMA is claimed by " 4348 ata_dev_warn(dev,
4369 "other device, disabling DMA\n"); 4349 "simplex DMA is claimed by other device, disabling DMA\n");
4370 } 4350 }
4371 4351
4372 if (ap->flags & ATA_FLAG_NO_IORDY) 4352 if (ap->flags & ATA_FLAG_NO_IORDY)
@@ -4386,8 +4366,8 @@ static void ata_dev_xfermask(struct ata_device *dev)
4386 if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA)) 4366 if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA))
4387 /* UDMA/44 or higher would be available */ 4367 /* UDMA/44 or higher would be available */
4388 if (cable_is_40wire(ap)) { 4368 if (cable_is_40wire(ap)) {
4389 ata_dev_printk(dev, KERN_WARNING, 4369 ata_dev_warn(dev,
4390 "limited to UDMA/33 due to 40-wire cable\n"); 4370 "limited to UDMA/33 due to 40-wire cable\n");
4391 xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA); 4371 xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
4392 } 4372 }
4393 4373
@@ -4954,8 +4934,8 @@ int ata_qc_complete_multiple(struct ata_port *ap, u32 qc_active)
4954 done_mask = ap->qc_active ^ qc_active; 4934 done_mask = ap->qc_active ^ qc_active;
4955 4935
4956 if (unlikely(done_mask & qc_active)) { 4936 if (unlikely(done_mask & qc_active)) {
4957 ata_port_printk(ap, KERN_ERR, "illegal qc_active transition " 4937 ata_port_err(ap, "illegal qc_active transition (%08x->%08x)\n",
4958 "(%08x->%08x)\n", ap->qc_active, qc_active); 4938 ap->qc_active, qc_active);
4959 return -EINVAL; 4939 return -EINVAL;
4960 } 4940 }
4961 4941
@@ -6022,14 +6002,13 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht)
6022 ap->udma_mask); 6002 ap->udma_mask);
6023 6003
6024 if (!ata_port_is_dummy(ap)) { 6004 if (!ata_port_is_dummy(ap)) {
6025 ata_port_printk(ap, KERN_INFO, 6005 ata_port_info(ap, "%cATA max %s %s\n",
6026 "%cATA max %s %s\n", 6006 (ap->flags & ATA_FLAG_SATA) ? 'S' : 'P',
6027 (ap->flags & ATA_FLAG_SATA) ? 'S' : 'P', 6007 ata_mode_string(xfer_mask),
6028 ata_mode_string(xfer_mask), 6008 ap->link.eh_info.desc);
6029 ap->link.eh_info.desc);
6030 ata_ehi_clear_desc(&ap->link.eh_info); 6009 ata_ehi_clear_desc(&ap->link.eh_info);
6031 } else 6010 } else
6032 ata_port_printk(ap, KERN_INFO, "DUMMY\n"); 6011 ata_port_info(ap, "DUMMY\n");
6033 } 6012 }
6034 6013
6035 /* perform each probe asynchronously */ 6014 /* perform each probe asynchronously */
@@ -6599,6 +6578,76 @@ const struct ata_port_info ata_dummy_port_info = {
6599}; 6578};
6600 6579
6601/* 6580/*
6581 * Utility print functions
6582 */
6583int ata_port_printk(const struct ata_port *ap, const char *level,
6584 const char *fmt, ...)
6585{
6586 struct va_format vaf;
6587 va_list args;
6588 int r;
6589
6590 va_start(args, fmt);
6591
6592 vaf.fmt = fmt;
6593 vaf.va = &args;
6594
6595 r = printk("%sata%u: %pV", level, ap->print_id, &vaf);
6596
6597 va_end(args);
6598
6599 return r;
6600}
6601EXPORT_SYMBOL(ata_port_printk);
6602
6603int ata_link_printk(const struct ata_link *link, const char *level,
6604 const char *fmt, ...)
6605{
6606 struct va_format vaf;
6607 va_list args;
6608 int r;
6609
6610 va_start(args, fmt);
6611
6612 vaf.fmt = fmt;
6613 vaf.va = &args;
6614
6615 if (sata_pmp_attached(link->ap) || link->ap->slave_link)
6616 r = printk("%sata%u.%02u: %pV",
6617 level, link->ap->print_id, link->pmp, &vaf);
6618 else
6619 r = printk("%sata%u: %pV",
6620 level, link->ap->print_id, &vaf);
6621
6622 va_end(args);
6623
6624 return r;
6625}
6626EXPORT_SYMBOL(ata_link_printk);
6627
6628int ata_dev_printk(const struct ata_device *dev, const char *level,
6629 const char *fmt, ...)
6630{
6631 struct va_format vaf;
6632 va_list args;
6633 int r;
6634
6635 va_start(args, fmt);
6636
6637 vaf.fmt = fmt;
6638 vaf.va = &args;
6639
6640 r = printk("%sata%u.%02u: %pV",
6641 level, dev->link->ap->print_id, dev->link->pmp + dev->devno,
6642 &vaf);
6643
6644 va_end(args);
6645
6646 return r;
6647}
6648EXPORT_SYMBOL(ata_dev_printk);
6649
6650/*
6602 * libata is essentially a library of internal helper functions for 6651 * libata is essentially a library of internal helper functions for
6603 * low-level ATA host controller drivers. As such, the API/ABI is 6652 * low-level ATA host controller drivers. As such, the API/ABI is
6604 * likely to change as new drivers are added and updated. 6653 * likely to change as new drivers are added and updated.