Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 | Wed Aug 9 22:37:04 1995 Andries Brouwer <aeb@cwi.nl> As a preparation for new device code, separated the various functions the request->dev field had into the device proper, request->rq_dev and a status field request->rq_status. The 2nd argument of bios_param is now a kdev_t. Wed Jul 19 10:43:15 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * scsi.c (scsi_proc_info): /proc/scsi/scsi now also lists all attached devices. * scsi_proc.c (proc_print_scsidevice): Added. Used by scsi.c and eata_dma_proc.c to produce some device info for /proc/scsi. * eata_dma.c (eata_queue)(eata_int_handler)(eata_scsi_done): Changed handling of internal SCSI commands send to the HBA. Wed Jul 19 10:09:17 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * Linux 1.3.11 released. * eata_dma.c (eata_queue)(eata_int_handler): Added code to do command latency measurements if requested by root through /proc/scsi interface. Throughout Use HZ constant for time references. * eata_pio.c: Use HZ constant for time references. * aic7xxx.c, aic7xxx.h, aic7xxx_asm.c: Changed copyright from BSD to GNU style. * scsi.h: Added READ_12 command opcode constant Wed Jul 19 09:25:30 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * Linux 1.3.10 released. * scsi_proc.c (dispatch_scsi_info): Removed unused variable. Wed Jul 19 09:25:30 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * Linux 1.3.9 released. * scsi.c Blacklist concept expanded to 'support' more device deficiencies. blacklist[] renamed to device_list[] (scan_scsis): Code cleanup. * scsi_debug.c (scsi_debug_proc_info): Added support to control device lockup simulation via /proc/scsi interface. Wed Jul 19 09:22:34 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * Linux 1.3.7 released. * scsi_proc.c: Fixed a number of bugs in directory handling Wed Jul 19 09:18:28 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * Linux 1.3.5 released. * Native wide, multichannel and /proc/scsi support now in official kernel distibution. * scsi.c/h, hosts.c/h et al reindended to increase readability (especially on 80 column wide terminals). * scsi.c, scsi_proc.c, ../../fs/proc/inode.c: Added /proc/scsi/scsi which allows root to scan for hotplugged devices. * scsi.c (scsi_proc_info): Added, to support /proc/scsi/scsi. (scan_scsis): Added some 'spagetti' code to allow scanning for single devices. Thu Jun 20 15:20:27 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * proc.c: Renamed to scsi_proc.c Mon Jun 12 20:32:45 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * Linux 1.3.0 released. Mon May 15 19:33:14 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * scsi.c: Added native multichannel and wide scsi support. * proc.c (dispatch_scsi_info) (build_proc_dir_hba_entries): Updated /proc/scsi interface. Thu May 4 17:58:48 1995 Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de> * sd.c (requeue_sd_request): Zero out the scatterlist only if scsi_malloc returned memory for it. * eata_dma.c (register_HBA) (eata_queue): Add support for large scatter/gatter tables and set use_clustering accordingly * hosts.c: Make use_clustering changable in the Scsi_Host structure. Wed Apr 12 15:25:52 1995 Eric Youngdale (eric@andante) * Linux 1.2.5 released. * buslogic.c: Update to version 1.15 (From Leonard N. Zubkoff). Fixed interrupt routine to avoid races when handling multiple complete commands per interrupt. Seems to come up with faster cards. * eata_dma.c: Update to 2.3.5r. Modularize. Improved error handling thruout and fixed bug interrupt routine which resulted in shifted status bytes. Added blink LED state checks for ISA and EISA HBAs. Memory mamagement bug seems to have disapeared ==> increasing C_P_L_CURRENT_MAX to 16 for now. Decreasing C_P_L_DIV to 3 for performance reasons. * scsi.c: If we get a FMK, EOM, or ILI when attempting to scan the bus, assume that it was just noise on the bus, and ignore the device. * scsi.h: Update and add a bunch of missing commands which we were never using. * sd.c: Use restore_flags in do_sd_request - this may result in latency conditions, but it gets rid of races and crashes. Do not save flags again when searching for a second command to queue. * st.c: Use bytes, not STP->buffer->buffer_size when reading from tape. Tue Apr 4 09:42:08 1995 Eric Youngdale (eric@andante) * Linux 1.2.4 released. * st.c: Fix typo - restoring wrong flags. Wed Mar 29 06:55:12 1995 Eric Youngdale (eric@andante) * Linux 1.2.3 released. * st.c: Perform some waiting operations with interrupts off. Is this correct??? Wed Mar 22 10:34:26 1995 Eric Youngdale (eric@andante) * Linux 1.2.2 released. * aha152x.c: Modularize. Add support for PCMCIA. * eata.c: Update to version 2.0. Fixed bug preventing media detection. If scsi_register_host returns NULL, fail gracefully. * scsi.c: Detect as NEC (for photo-cd purposes) for the 84 and 25 models as "NEC_OLDCDR". * scsi.h: Add define for NEC_OLDCDR * sr.c: Add handling for NEC_OLDCDR. Treat as unknown. * u14-34f.c: Update to version 2.0. Fixed same bug as in eata.c. Mon Mar 6 11:11:20 1995 Eric Youngdale (eric@andante) * Linux 1.2.0 released. Yeah!!! * Minor spelling/punctuation changes throughout. Nothing substantive. Mon Feb 20 21:33:03 1995 Eric Youngdale (eric@andante) * Linux 1.1.95 released. * qlogic.c: Update to version 0.41. * seagate.c: Change some message to be more descriptive about what we detected. * sr.c: spelling/whitespace changes. Mon Feb 20 21:33:03 1995 Eric Youngdale (eric@andante) * Linux 1.1.94 released. Mon Feb 20 08:57:17 1995 Eric Youngdale (eric@andante) * Linux 1.1.93 released. * hosts.h: Change io_port to long int from short. * 53c7,8xx.c: crash on AEN fixed, SCSI reset is no longer a NOP, NULL pointer panic on odd UDCs fixed, two bugs in diagnostic output fixed, should initialize correctly if left running, now loadable, new memory allocation, extraneous diagnostic output suppressed, splx() replaced with save/restore flags. [ Drew ] * hosts.c, hosts.h, scsi_ioctl.c, sd.c, sd_ioctl.c, sg.c, sr.c, sr_ioctl.c: Add special junk at end that Emacs will use for formatting the file. * qlogic.c: Update to v0.40a. Improve parity handling. * scsi.c: Add Hitachi DK312C to blacklist. Change "};" to "}" in many places. Use scsi_init_malloc to get command block - may need this to be dma compatible for some host adapters. Restore interrupts after unregistering a host. * sd.c: Use sti instead of restore flags - causes latency problems. * seagate.c: Use controller_type to determine string used when registering irq. * sr.c: More photo-cd hacks to make sure we get the xa stuff right. * sr.h, sr.c: Change is_xa to xa_flags field. * st.c: Disable retries for write operations. Wed Feb 15 10:52:56 1995 Eric Youngdale (eric@andante) * Linux 1.1.92 released. * eata.c: Update to 1.17. * eata_dma.c: Update to 2.31a. Add more support for /proc/scsi. Continuing modularization. Less crashes because of the bug in the memory management ==> increase C_P_L_CURRENT_MAX to 10 and decrease C_P_L_DIV to 4. * hosts.c: If we remove last host registered, reuse host number. When freeing memory from host being deregistered, free extra_bytes too. * scsi.c (scan_scsis): memset(SDpnt, 0) and set SCmd.device to SDpnt. Change memory allocation to work around bugs in __get_dma_pages. Do not free host if usage count is not zero (for modules). * sr_ioctl.c: Increase IOCTL_TIMEOUT to 3000. * st.c: Allow for ST_EXTRA_DEVS in st data structures. * u14-34f.c: Update to 1.17. Thu Feb 9 10:11:16 1995 Eric Youngdale (eric@andante) * Linux 1.1.91 released. * eata.c: Update to 1.16. Use wish_block instead of host->block. * hosts.c: Initialize wish_block to 0. * hosts.h: Add wish_block. * scsi.c: Use wish_block as indicator that the host should be added to block list. * sg.c: Add SG_EXTRA_DEVS to number of slots. * u14-34f.c: Use wish_block. Tue Feb 7 11:46:04 1995 Eric Youngdale (eric@andante) * Linux 1.1.90 released. * eata.c: Change naming from eata_* to eata2x_*. Now at vers 1.15. Update interrupt handler to take pt_regs as arg. Allow blocking even if loaded as module. Initialize target_time_out array. Do not put sti(); in timing loop. * hosts.c: Do not reuse host numbers. Use scsi_make_blocked_list to generate blocking list. * script_asm.pl: Beats me. Don't know perl. Something to do with phase index. * scsi.c (scsi_make_blocked_list): New function - code copied from hosts.c. * scsi.c: Update code to disable photo CD for Toshiba cdroms. Use just manufacturer name, not model number. * sr.c: Fix setting density for Toshiba drives. * u14-34f.c: Clear target_time_out array during reset. Wed Feb 1 09:20:45 1995 Eric Youngdale (eric@andante) * Linux 1.1.89 released. * Makefile, u14-34f.c: Modularize. * Makefile, eata.c: Modularize. Now version 1.14 * NCR5380.c: Update interrupt handler with new arglist. Minor cleanups. * eata_dma.c: Begin to modularize. Add hooks for /proc/scsi. New version 2.3.0a. Add code in interrupt handler to allow certain CDROM drivers to be detected which return a CHECK_CONDITION during SCSI bus scan. Add opcode check to get all DATA IN and DATA OUT phases right. Utilize HBA_interpret flag. Improvements in HBA identification. Various other minor stuff. * hosts.c: Initialize ->dma_channel and ->io_port when registering a new host. * qlogic.c: Modularize and add PCMCIA support. * scsi.c: Add Hitachi to blacklist. * scsi.c: Change default to no lun scan (too many problem devices). * scsi.h: Define QUEUE_FULL condition. * sd.c: Do not check for non-existent partition until after new media check. * sg.c: Undo previous change which was wrong. * sr_ioctl.c: Increase IOCTL_TIMEOUT to 2000. * st.c: Patches from Kai - improve filemark handling. Tue Jan 31 17:32:12 1995 Eric Youngdale (eric@andante) * Linux 1.1.88 released. * Throughout - spelling/grammar fixups. * scsi.c: Make sure that all buffers are 16 byte aligned - some drivers (buslogic) need this. * scsi.c (scan_scsis): Remove message printed. * scsi.c (scsi_init): Move message here. Mon Jan 30 06:40:25 1995 Eric Youngdale (eric@andante) * Linux 1.1.87 released. * sr.c: Photo-cd related changes. (Gerd Knorr??). * st.c: Changes from Kai related to EOM detection. Mon Jan 23 23:53:10 1995 Eric Youngdale (eric@andante) * Linux 1.1.86 released. * 53c7,8xx.h: Change SG size to 127. * eata_dma: Update to version 2.10i. Remove bug in the registration of multiple HBAs and channels. Minor other improvements and stylistic changes. * scsi.c: Test for Toshiba XM-3401TA and exclude from detection as toshiba drive - photo cd does not work with this drive. * sr.c: Update photocd code. Mon Jan 23 23:53:10 1995 Eric Youngdale (eric@andante) * Linux 1.1.85 released. * st.c, st_ioctl.c, sg.c, sd_ioctl.c, scsi_ioctl.c, hosts.c: include linux/mm.h * qlogic.c, buslogic.c, aha1542.c: Include linux/module.h. Sun Jan 22 22:08:46 1995 Eric Youngdale (eric@andante) * Linux 1.1.84 released. * Makefile: Support for loadable QLOGIC boards. * aha152x.c: Update to version 1.8 from Juergen. * eata_dma.c: Update from Michael Neuffer. Remove hard limit of 2 commands per lun and make it better configurable. Improvements in HBA identification. * in2000.c: Fix biosparam to support large disks. * qlogic.c: Minor changes (change sti -> restore_flags). Wed Jan 18 23:33:09 1995 Eric Youngdale (eric@andante) * Linux 1.1.83 released. * aha1542.c(aha1542_intr_handle): Use arguments handed down to find which irq. * buslogic.c: Likewise. * eata_dma.c: Use min of 2 cmd_per_lun for OCS_enabled boards. * scsi.c: Make RECOVERED_ERROR a SUGGEST_IS_OK. * sd.c: Fail if we are opening a non-existent partition. * sr.c: Bump SR_TIMEOUT to 15000. Do not probe for media size at boot time(hard on changers). Flag device as needing sector size instead. * sr_ioctl.c: Remove CDROMMULTISESSION_SYS ioctl. * ultrastor.c: Fix bug in call to ultrastor_interrupt (wrong #args). Mon Jan 16 07:18:23 1995 Eric Youngdale (eric@andante) * Linux 1.1.82 released. Throughout. - Change all interrupt handlers to accept new calling convention. In particular, we now receive the irq number as one of the arguments. * More minor spelling corrections in some of the new files. * aha1542.c, buslogic.c: Clean up interrupt handler a little now that we receive the irq as an arg. * aha274x.c: s/snarf_region/request_region/ * eata.c: Update to version 1.12. Fix some comments and display a message if we cannot reserve the port addresses. * u14-34f.c: Update to version 1.13. Fix some comments and display a message if we cannot reserve the port addresses. * eata_dma.c: Define get_board_data function (send INQUIRY command). Use to improve detection of variants of different DPT boards. Change version subnumber to "0g". * fdomain.c: Update to version 5.26. Improve detection of some boards repackaged by IBM. * scsi.c (scsi_register_host): Change "name" to const char *. * sr.c: Fix problem in set mode command for Toshiba drives. * sr.c: Fix typo from patch 81. Fri Jan 13 12:54:46 1995 Eric Youngdale (eric@andante) * Linux 1.1.81 released. Codefreeze for 1.2 release announced. Big changes here. * eata_dma.*: New files from Michael Neuffer. (neuffer@goofy.zdv.uni-mainz.de). Should support all eata/dpt cards. * hosts.c, Makefile: Add eata_dma. * README.st: Document MTEOM. Patches from me (ERY) to finish support for low-level loadable scsi. It now works, and is actually useful. * Throughout - add new argument to scsi_init_malloc that takes an additional parameter. This is used as a priority to kmalloc, and you can specify the GFP_DMA flag if you need DMA-able memory. * Makefile: For source files that are loadable, always add name to SCSI_SRCS. Fill in modules: target. * hosts.c: Change next_host to next_scsi_host, and make global. Print hosts after we have identified all of them. Use info() function if present, otherwise use name field. * hosts.h: Change attach function to return int, not void. Define number of device slots to allow for loadable devices. Define tags to tell scsi module code what type of module we are loading. * scsi.c: Fix scan_scsis so that it can be run by a user process. Do not use waiting loops - use up and down mechanism as long as current != task[0]. * scsi.c(scan_scsis): Do not use stack variables for I/O - this could be > 16Mb if we are loading a module at runtime (i.e. use scsi_init_malloc to get some memory we know will be safe). * scsi.c: Change dma freelist to be a set of pages. This allows us to dynamically adjust the size of the list by adding more pages to the pagelist. Fix scsi_malloc and scsi_free accordingly. * scsi_module.c: Fix include. * sd.c: Declare detach function. Increment/decrement module usage count as required. Fix init functions to allow loaded devices. Revalidate all new disks so we get the partition tables. Define detach function. * sr.c: Likewise. * sg.c: Declare detach function. Allow attachment of devices on loaded drivers. * st.c: Declare detach function. Increment/decrement module usage count as required. Tue Jan 10 10:09:58 1995 Eric Youngdale (eric@andante) * Linux 1.1.79 released. Patch from some undetermined individual who needs to get a life :-). * sr.c: Attacked by spelling bee... Patches from Gerd Knorr: * sr.c: make printk messages for photoCD a little more informative. * sr_ioctl.c: Fix CDROMMULTISESSION_SYS ioctl. Mon Jan 9 10:01:37 1995 Eric Youngdale (eric@andante) * Linux 1.1.78 released. * Makefile: Add empty modules: target. * Wheee. Now change register_iomem to request_region. * in2000.c: Bugfix - apparently this is the fix that we have all been waiting for. It fixes a problem whereby the driver is not stable under heavy load. Race condition and all that. Patch from Peter Lu. Wed Jan 4 21:17:40 1995 Eric Youngdale (eric@andante) * Linux 1.1.77 released. * 53c7,8xx.c: Fix from Linus - emulate splx. Throughout: Change "snarf_region" with "register_iomem". * scsi_module.c: New file. Contains support for low-level loadable scsi drivers. [ERY]. * sd.c: More s/int/long/ changes. * seagate.c: Explicitly include linux/config.h * sg.c: Increment/decrement module usage count on open/close. * sg.c: Be a bit more careful about the user not supplying enough information for a valid command. Pass correct size down to scsi_do_cmd. * sr.c: More changes for Photo-CD. This apparently breaks NEC drives. * sr_ioctl.c: Support CDROMMULTISESSION ioctl. Sun Jan 1 19:55:21 1995 Eric Youngdale (eric@andante) * Linux 1.1.76 released. * constants.c: Add type cast in switch statement. * scsi.c (scsi_free): Change datatype of "offset" to long. (scsi_malloc): Change a few more variables to long. Who did this and why was it important? 64 bit machines? Lots of changes to use save_state/restore_state instead of cli/sti. Files changed include: * aha1542.c: * aha1740.c: * buslogic.c: * in2000.c: * scsi.c: * scsi_debug.c: * sd.c: * sr.c: * st.c: Wed Dec 28 16:38:29 1994 Eric Youngdale (eric@andante) * Linux 1.1.75 released. * buslogic.c: Spelling fix. * scsi.c: Add HP C1790A and C2500A scanjet to blacklist. * scsi.c: Spelling fixup. * sd.c: Add support for sd_hardsizes (hard sector sizes). * ultrastor.c: Use save_flags/restore_flags instead of cli/sti. Fri Dec 23 13:36:25 1994 Eric Youngdale (eric@andante) * Linux 1.1.74 released. * README.st: Update from Kai Makisara. * eata.c: New version from Dario - version 1.11. use scsicam bios_param routine. Add support for 2011 and 2021 boards. * hosts.c: Add support for blocking. Linked list automatically generated when shpnt->block is set. * scsi.c: Add sankyo & HP scanjet to blacklist. Add support for kicking things loose when we deadlock. * scsi.c: Recognize scanners and processors in scan_scsis. * scsi_ioctl.h: Increase timeout to 9 seconds. * st.c: New version from Kai - add better support for backspace. * u14-34f.c: New version from Dario. Supports blocking. Wed Dec 14 14:46:30 1994 Eric Youngdale (eric@andante) * Linux 1.1.73 released. * buslogic.c: Update from Dave Gentzel. Version 1.14. Add module related stuff. More fault tolerant if out of DMA memory. * fdomain.c: New version from Rik Faith - version 5.22. Add support for ISA-200S SCSI adapter. * hosts.c: Spelling. * qlogic.c: Update to version 0.38a. Add more support for PCMCIA. * scsi.c: Mask device type with 0x1f during scan_scsis. Add support for deadlocking, err, make that getting out of deadlock situations that are created when we allow the user to limit requests to one host adapter at a time. * scsi.c: Bugfix - pass pid, not SCpnt as second arg to scsi_times_out. * scsi.c: Restore interrupt state to previous value instead of using cli/sti pairs. * scsi.c: Add a bunch of module stuff (all commented out for now). * scsi.c: Clean up scsi_dump_status. Tue Dec 6 12:34:20 1994 Eric Youngdale (eric@andante) * Linux 1.1.72 released. * sg.c: Bugfix - always use sg_free, since we might have big buff. Fri Dec 2 11:24:53 1994 Eric Youngdale (eric@andante) * Linux 1.1.71 released. * sg.c: Clear buff field when not in use. Only call scsi_free if non-null. * scsi.h: Call wake_up(&wait_for_request) when done with a command. * scsi.c (scsi_times_out): Pass pid down so that we can protect against race conditions. * scsi.c (scsi_abort): Zero timeout field if we get the NOT_RUNNING message back from low-level driver. * scsi.c (scsi_done): Restore cmd_len, use_sg here. * scsi.c (request_sense): Not here. * hosts.h: Add new forbidden_addr, forbidden_size fields. Who added these and why???? * hosts.c (scsi_mem_init): Mark pages as reserved if they fall in the forbidden regions. I am not sure - I think this is so that we can deal with boards that do incomplete decoding of their address lines for the bios chips, but I am not entirely sure. * buslogic.c: Set forbidden_addr stuff if using a buggy board. * aha1740.c: Test for NULL pointer in SCtmp. This should not occur, but a nice message is better than a kernel segfault. * 53c7,8xx.c: Add new PCI chip ID for 815. Fri Dec 2 11:24:53 1994 Eric Youngdale (eric@andante) * Linux 1.1.70 released. * ChangeLog, st.c: Spelling. Tue Nov 29 18:48:42 1994 Eric Youngdale (eric@andante) * Linux 1.1.69 released. * u14-34f.h: Non-functional change. [Dario]. * u14-34f.c: Use block field in Scsi_Host to prevent commands from being queued to more than one host at the same time (used when motherboard does not deal with multiple bus-masters very well). Only when SINGLE_HOST_OPERATIONS is defined. Use new cmd_per_lun field. [Dario] * eata.c: Likewise. * st.c: More changes from Kai. Add ready flag to indicate drive status. * README.st: Document this. * sr.c: Bugfix (do not subtract CD_BLOCK_OFFSET) for photo-cd code. * sg.c: Bugfix - fix problem where opcode is not correctly set up. * seagate.[c,h]: Use #defines to set driver name. * scsi_ioctl.c: Zero buffer before executing command. * scsi.c: Use new cmd_per_lun field in Scsi_Hosts as appropriate. Add Sony CDU55S to blacklist. * hosts.h: Add new cmd_per_lun field to Scsi_Hosts. * hosts.c: Initialize cmd_per_lun in Scsi_Hosts from template. * buslogic.c: Use cmd_per_lun field - initialize to different values depending upon bus type (i.e. use 1 if ISA, so we do not hog memory). Use other patches which got lost from 1.1.68. * aha1542.c: Spelling. Tue Nov 29 15:43:50 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.68 released. Add support for 12 byte vendor specific commands in scsi-generics, more (i.e. the last mandatory) low-level changes to support loadable modules, plus a few other changes people have requested lately. Changes by me (ERY) unless otherwise noted. Spelling changes appear from some unknown corner of the universe. * Throughout: Change COMMAND_SIZE() to use SCpnt->cmd_len. * Throughout: Change info() low level function to take a Scsi_Host pointer. This way the info function can return specific information about the host in question, if desired. * All low-level drivers: Add NULL in initializer for the usage_count field added to Scsi_Host_Template. * aha152x.[c,h]: Remove redundant info() function. * aha1542.[c,h]: Likewise. * aha1740.[c,h]: Likewise. * aha274x.[c,h]: Likewise. * eata.[c,h]: Likewise. * pas16.[c,h]: Likewise. * scsi_debug.[c,h]: Likewise. * t128.[c,h]: Likewise. * u14-34f.[c,h]: Likewise. * ultrastor.[c,h]: Likewise. * wd7000.[c,h]: Likewise. * aha1542.c: Add support for command line options with lilo to set DMA parameters, I/O port. From Matt Aarnio. * buslogic.[c,h]: New version (1.13) from Dave Gentzel. * hosts.h: Add new field to Scsi_Hosts "block" to allow blocking all I/O to certain other cards. Helps prevent problems with some ISA motherboards. * hosts.h: Add usage_count to Scsi_Host_Template. * hosts.h: Add n_io_port to Scsi_Host (used when releasing module). * hosts.c: Initialize block field. * in2000.c: Remove "static" declarations from exported functions. * in2000.h: Likewise. * scsi.c: Correctly set cmd_len field as required. Save and change setting when doing a request_sense, restore when done. Move abort timeout message. Fix panic in request_queueable to print correct function name. * scsi.c: When incrementing usage count, walk block linked list for host, and or in SCSI_HOST_BLOCK bit. When decrementing usage count to 0, clear this bit to allow usage to continue, wake up processes waiting. * scsi_ioctl.c: If we have an info() function, call it, otherwise if we have a "name" field, use it, else do nothing. * sd.c, sr.c: Clear cmd_len field prior to each command we generate. * sd.h: Add "has_part_table" bit to rscsi_disks. * sg.[c,h]: Add support for vendor specific 12 byte commands (i.e. override command length in COMMAND_SIZE). * sr.c: Bugfix from Gerd in photocd code. * sr.c: Bugfix in get_sectorsize - always use scsi_malloc buffer - we cannot guarantee that the stack is < 16Mb. Tue Nov 22 15:40:46 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.67 released. * sr.c: Change spelling of manufactor to manufacturer. * scsi.h: Likewise. * scsi.c: Likewise. * qlogic.c: Spelling corrections. * in2000.h: Spelling corrections. * in2000.c: Update from Bill Earnest, change from jshiffle@netcom.com. Support new bios versions. * README.qlogic: Spelling correction. Tue Nov 22 15:40:46 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.66 released. * u14-34f.c: Spelling corrections. * sr.[h,c]: Add support for multi-session CDs from Gerd Knorr. * scsi.h: Add manufactor field for keeping track of device manufacturer. * scsi.c: More spelling corrections. * qlogic.h, qlogic.c, README.qlogic: New driver from Tom Zerucha. * in2000.c, in2000.h: New driver from Brad McLean/Bill Earnest. * fdomain.c: Spelling correction. * eata.c: Spelling correction. Fri Nov 18 15:22:44 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.65 released. * eata.h: Update version string to 1.08.00. * eata.c: Set sg_tablesize correctly for DPT PM2012 boards. * aha274x.seq: Spell checking. * README.st: Likewise. * README.aha274x: Likewise. * ChangeLog: Likewise. Tue Nov 15 15:35:08 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.64 released. * u14-34f.h: Update version number to 1.10.01. * u14-34f.c: Use Scsi_Host can_queue variable instead of one from template. * eata.[c,h]: New driver for DPT boards from Dario Ballabio. * buslogic.c: Use can_queue field. Wed Nov 30 12:09:09 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.63 released. * sd.c: Give I/O error if we attempt 512 byte I/O to a disk with 1024 byte sectors. * scsicam.c: Make sure we do read from whole disk (mask off partition). * scsi.c: Use can_queue in Scsi_Host structure. Fix panic message about invalid host. * hosts.c: Initialize can_queue from template. * hosts.h: Add can_queue to Scsi_Host structure. * aha1740.c: Print out warning about NULL ecbptr. Fri Nov 4 12:40:30 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.62 released. * fdomain.c: Update to version 5.20. (From Rik Faith). Support BIOS version 3.5. * st.h: Add ST_EOD symbol. * st.c: Patches from Kai Makisara - support additional densities, add support for MTFSS, MTBSS, MTWSM commands. * README.st: Update to document new commands. * scsi.c: Add Mediavision CDR-H93MV to blacklist. Sat Oct 29 20:57:36 1994 Eric Youngdale (eric@andante.aib.com) * Linux 1.1.60 released. * u14-34f.[c,h]: New driver from Dario Ballabio. * aic7770.c, aha274x_seq.h, aha274x.seq, aha274x.h, aha274x.c, README.aha274x: New files, new driver from John Aycock. Tue Oct 11 08:47:39 1994 Eric Youngdale (eric@andante) * Linux 1.1.54 released. * Add third PCI chip id. [Drew] * buslogic.c: Set BUSLOGIC_CMDLUN back to 1 [Eric]. * ultrastor.c: Fix asm directives for new GCC. * sr.c, sd.c: Use new end_scsi_request function. * scsi.h(end_scsi_request): Return pointer to block if still active, else return NULL if inactive. Fixes race condition. Sun Oct 9 20:23:14 1994 Eric Youngdale (eric@andante) * Linux 1.1.53 released. * scsi.c: Do not allocate dma bounce buffers if we have exactly 16Mb. Fri Sep 9 05:35:30 1994 Eric Youngdale (eric@andante) * Linux 1.1.51 released. * aha152x.c: Add support for disabling the parity check. Update to version 1.4. [Juergen]. * seagate.c: Tweak debugging message. Wed Aug 31 10:15:55 1994 Eric Youngdale (eric@andante) * Linux 1.1.50 released. * aha152x.c: Add eb800 for Vtech Platinum SMP boards. [Juergen]. * scsi.c: Add Quantum PD1225S to blacklist. Fri Aug 26 09:38:45 1994 Eric Youngdale (eric@andante) * Linux 1.1.49 released. * sd.c: Fix bug when we were deleting the wrong entry if we get an unsupported sector size device. * sr.c: Another spelling patch. Thu Aug 25 09:15:27 1994 Eric Youngdale (eric@andante) * Linux 1.1.48 released. * Throughout: Use new semantics for request_dma, as appropriate. * sr.c: Print correct device number. Sun Aug 21 17:49:23 1994 Eric Youngdale (eric@andante) * Linux 1.1.47 released. * NCR5380.c: Add support for LIMIT_TRANSFERSIZE. * constants.h: Add prototype for print_Scsi_Cmnd. * pas16.c: Some more minor tweaks. Test for Mediavision board. Allow for disks > 1Gb. [Drew??] * sr.c: Set SCpnt->transfersize. Tue Aug 16 17:29:35 1994 Eric Youngdale (eric@andante) * Linux 1.1.46 released. * Throughout: More spelling fixups. * buslogic.c: Add a few more fixups from Dave. Disk translation mainly. * pas16.c: Add a few patches (Drew?). Thu Aug 11 20:45:15 1994 Eric Youngdale (eric@andante) * Linux 1.1.44 released. * hosts.c: Add type casts for scsi_init_malloc. * scsicam.c: Add type cast. Wed Aug 10 19:23:01 1994 Eric Youngdale (eric@andante) * Linux 1.1.43 released. * Throughout: Spelling cleanups. [??] * aha152x.c, NCR53*.c, fdomain.c, g_NCR5380.c, pas16.c, seagate.c, t128.c: Use request_irq, not irqaction. [??] * aha1542.c: Move test for shost before we start to use shost. * aha1542.c, aha1740.c, ultrastor.c, wd7000.c: Use new calling sequence for request_irq. * buslogic.c: Update from Dave Gentzel. Tue Aug 9 09:32:59 1994 Eric Youngdale (eric@andante) * Linux 1.1.42 released. * NCR5380.c: Change NCR5380_print_status to static. * seagate.c: A few more bugfixes. Only Drew knows what they are for. * ultrastor.c: Tweak some __asm__ directives so that it works with newer compilers. [??] Sat Aug 6 21:29:36 1994 Eric Youngdale (eric@andante) * Linux 1.1.40 released. * NCR5380.c: Return SCSI_RESET_WAKEUP from reset function. * aha1542.c: Reset mailbox status after a bus device reset. * constants.c: Fix typo (;;). * g_NCR5380.c: * pas16.c: Correct usage of NCR5380_init. * scsi.c: Remove redundant (and unused variables). * sd.c: Use memset to clear all of rscsi_disks before we use it. * sg.c: Ditto, except for scsi_generics. * sr.c: Ditto, except for scsi_CDs. * st.c: Initialize STp->device. * seagate.c: Fix bug. [Drew] Thu Aug 4 08:47:27 1994 Eric Youngdale (eric@andante) * Linux 1.1.39 released. * Makefile: Fix typo in NCR53C7xx. * st.c: Print correct number for device. Tue Aug 2 11:29:14 1994 Eric Youngdale (eric@esp22) * Linux 1.1.38 released. Lots of changes in 1.1.38. All from Drew unless otherwise noted. * 53c7,8xx.c: New file from Drew. PCI driver. * 53c7,8xx.h: Likewise. * 53c7,8xx.scr: Likewise. * 53c8xx_d.h, 53c8xx_u.h, script_asm.pl: Likewise. * scsicam.c: New file from Drew. Read block 0 on the disk and read the partition table. Attempt to deduce the geometry from the partition table if possible. Only used by 53c[7,8]xx right now, but could be used by any device for which we have no way of identifying the geometry. * sd.c: Use device letters instead of sd%d in a lot of messages. * seagate.c: Fix bug that resulted in lockups with some devices. * sr.c (sr_open): Return -EROFS, not -EACCES if we attempt to open device for write. * hosts.c, Makefile: Update for new driver. * NCR5380.c, NCR5380.h, g_NCR5380.h: Update from Drew to support 53C400 chip. * constants.c: Define CONST_CMND and CONST_MSG. Other minor cleanups along the way. Improve handling of CONST_MSG. * fdomain.c, fdomain.h: New version from Rik Faith. Update to 5.18. Should now support TMC-3260 PCI card with 18C30 chip. * pas16.c: Update with new irq initialization. * t128.c: Update with minor cleanups. * scsi.c (scsi_pid): New variable - gives each command a unique id. Add Quantum LPS5235S to blacklist. Change in_scan to in_scan_scsis and make global. * scsi.h: Add some defines for extended message handling, INITIATE/RELEASE_RECOVERY. Add a few new fields to support sync transfers. * scsi_ioctl.h: Add ioctl to request synchronous transfers. Tue Jul 26 21:36:58 1994 Eric Youngdale (eric@esp22) * Linux 1.1.37 released. * aha1542.c: Always call aha1542_mbenable, use new udelay mechanism so we do not wait a long time if the board does not implement this command. * g_NCR5380.c: Remove #include <linux/config.h> and #if defined(CONFIG_SCSI_*). * seagate.c: Likewise. Next round of changes to support loadable modules. Getting closer now, still not possible to do anything remotely usable. hosts.c: Create a linked list of detected high level devices. (scsi_register_device): New function to insert into this list. (scsi_init): Call scsi_register_device for each of the known high level drivers. hosts.h: Add prototype for linked list header. Add structure definition for device template structure which defines the linked list. scsi.c: (scan_scsis): Use linked list instead of knowledge about existing high level device drivers. (scsi_dev_init): Use init functions for drivers on linked list instead of explicit list to initialize and attach devices to high level drivers. scsi.h: Add new field "attached" to scsi_device - count of number of high level devices attached. sd.c, sr.c, sg.c, st.c: Adjust init/attach functions to use new scheme. Sat Jul 23 13:03:17 1994 Eric Youngdale (eric@esp22) * Linux 1.1.35 released. * ultrastor.c: Change constraint on asm() operand so that it works with gcc 2.6.0. Thu Jul 21 10:37:39 1994 Eric Youngdale (eric@esp22) * Linux 1.1.33 released. * sr.c(sr_open): Do not allow opens with write access. Mon Jul 18 09:51:22 1994 1994 Eric Youngdale (eric@esp22) * Linux 1.1.31 released. * sd.c: Increase SD_TIMEOUT from 300 to 600. * sr.c: Remove stray task_struct* variable that was no longer used. * sr_ioctl.c: Fix typo in up() call. Sun Jul 17 16:25:29 1994 Eric Youngdale (eric@esp22) * Linux 1.1.30 released. * scsi.c (scan_scsis): Fix detection of some Toshiba CDROM drives that report themselves as disk drives. * (Throughout): Use request.sem instead of request.waiting. Should fix swap problem with fdomain. Thu Jul 14 10:51:42 1994 Eric Youngdale (eric@esp22) * Linux 1.1.29 released. * scsi.c (scan_scsis): Add new devices to end of linked list, not to the beginning. * scsi.h (SCSI_SLEEP): Remove brain dead hack to try and save the task state before sleeping. Sat Jul 9 15:01:03 1994 Eric Youngdale (eric@esp22) More changes to eventually support loadable modules. Mainly we want to use linked lists instead of arrays because it is easier to dynamically add and remove things this way. Quite a bit more work is needed before loadable modules are possible (and usable) with scsi, but this is most of the grunge work. * Linux 1.1.28 released. * scsi.c, scsi.h (allocate_device, request_queueable): Change argument from index into scsi_devices to a pointer to the Scsi_Device struct. * Throughout: Change all calls to allocate_device, request_queueable to use new calling sequence. * Throughout: Use SCpnt->device instead of scsi_devices[SCpnt->index]. Ugh - the pointer was there all along - much cleaner this way. * scsi.c (scsi_init_malloc, scsi_free_malloc): New functions - allow us to pretend that we have a working malloc when we initialize. Use this instead of passing memory_start, memory_end around all over the place. * scsi.h, st.c, sr.c, sd.c, sg.c: Change *_init1 functions to use scsi_init_malloc, remove all arguments, no return value. * scsi.h: Remove index field from Scsi_Device and Scsi_Cmnd structs. * scsi.c (scsi_dev_init): Set up for scsi_init_malloc. (scan_scsis): Get SDpnt from scsi_init_malloc, and refresh when we discover a device. Free pointer before returning. Change scsi_devices into a linked list. * scsi.c (scan_scsis): Change to only scan one host. (scsi_dev_init): Loop over all detected hosts, and scan them. * hosts.c (scsi_init_free): Change so that number of extra bytes is stored in struct, and we do not have to pass it each time. * hosts.h: Change Scsi_Host_Template struct to include "next" and "release" functions. Initialize to NULL in all low level adapters. * hosts.c: Rename scsi_hosts to builtin_scsi_hosts, create linked list scsi_hosts, linked together with the new "next" field. Wed Jul 6 05:45:02 1994 Eric Youngdale (eric@esp22) * Linux 1.1.25 released. * aha152x.c: Changes from Juergen - cleanups and updates. * sd.c, sr.c: Use new check_media_change and revalidate file_operations fields. * st.c, st.h: Add changes from Kai Makisara, dated Jun 22. * hosts.h: Change SG_ALL back to 0xff. Apparently soft error in /dev/brain resulted in having this bumped up. Change first parameter in bios_param function to be Disk * instead of index into rscsi_disks. * sd_ioctl.c: Pass pointer to rscsi_disks element instead of index to array. * sd.h: Add struct name "scsi_disk" to typedef for Scsi_Disk. * scsi.c: Remove redundant Maxtor XT8760S from blacklist. In scsi_reset, add printk when DEBUG defined. * All low level drivers: Modify definitions of bios_param in appropriate way. Thu Jun 16 10:31:59 1994 Eric Youngdale (eric@esp22) * Linux 1.1.20 released. * scsi_ioctl.c: Only pass down the actual number of characters required to scsi_do_cmd, not the one rounded up to a even number of sectors. * ultrastor.c: Changes from Caleb Epstein for 24f cards. Support larger SG lists. * ultrastor.c: Changes from me - use scsi_register to register host. Add some consistency checking, Wed Jun 1 21:12:13 1994 Eric Youngdale (eric@esp22) * Linux 1.1.19 released. * scsi.h: Add new return code for reset() function: SCSI_RESET_PUNT. * scsi.c: Make SCSI_RESET_PUNT the same as SCSI_RESET_WAKEUP for now. * aha1542.c: If the command responsible for the reset is not pending, return SCSI_RESET_PUNT. * aha1740.c, buslogic.c, wd7000.c, ultrastor.c: Return SCSI_RESET_PUNT instead of SCSI_RESET_SNOOZE. Tue May 31 19:36:01 1994 Eric Youngdale (eric@esp22) * buslogic.c: Do not print out message about "must be Adaptec" if we have detected a buslogic card. Print out a warning message if we are configuring for >16Mb, since the 445S at board level D or earlier does not work right. The "D" level board can be made to work by flipping an undocumented switch, but this is too subtle. Changes based upon patches in Yggdrasil distribution. * sg.c, sg.h: Return sense data to user. * aha1542.c, aha1740.c, buslogic.c: Do not panic if sense buffer is wrong size. * hosts.c: Test for ultrastor card before any of the others. * scsi.c: Allow boot-time option for max_scsi_luns=? so that buggy firmware has an easy work-around. Sun May 15 20:24:34 1994 Eric Youngdale (eric@esp22) * Linux 1.1.15 released. Post-codefreeze thaw... * buslogic.[c,h]: New driver from David Gentzel. * hosts.h: Add use_clustering field to explicitly say whether clustering should be used for devices attached to this host adapter. The buslogic board apparently supports large SG lists, but it is apparently faster if sd.c condenses this into a smaller list. * sd.c: Use this field instead of heuristic. * All host adapter include files: Add appropriate initializer for use_clustering field. * scsi.h: Add #defines for return codes for the abort and reset functions. There are now a specific set of return codes to fully specify all of the possible things that the low-level adapter could do. * scsi.c: Act based upon return codes from abort/reset functions. * All host adapter abort/reset functions: Return new return code. * Add code in scsi.c to help debug timeouts. Use #define DEBUG_TIMEOUT to enable this. * scsi.c: If the host->irq field is set, use disable_irq/enable_irq before calling queuecommand if we are not already in an interrupt. Reduce races, and we can be sloppier about cli/sti in the interrupt routines now (reduce interrupt latency). * constants.c: Fix some things to eliminate warnings. Add some sense descriptions that were omitted before. * aha1542.c: Watch for SCRD from host adapter - if we see it, set a flag. Currently we only print out the number of pending commands that might need to be restarted. * aha1542.c (aha1542_abort): Look for lost interrupts, OGMB still full, and attempt to recover. Otherwise give up. * aha1542.c (aha1542_reset): Try BUS DEVICE RESET, and then pass DID_RESET back up to the upper level code for all commands running on this target (even on different LUNs). Sat May 7 14:54:01 1994 * Linux 1.1.12 released. * st.c, st.h: New version from Kai. Supports boot time specification of number of buffers. * wd7000.[c,h]: Updated driver from John Boyd. Now supports more than one wd7000 board in machine at one time, among other things. Wed Apr 20 22:20:35 1994 * Linux 1.1.8 released. * sd.c: Add a few type casts where scsi_malloc is called. Wed Apr 13 12:53:29 1994 * Linux 1.1.4 released. * scsi.c: Clean up a few printks (use %p to print pointers). Wed Apr 13 11:33:02 1994 * Linux 1.1.3 released. * fdomain.c: Update to version 5.16 (Handle different FIFO sizes better). Fri Apr 8 08:57:19 1994 * Linux 1.1.2 released. * Throughout: SCSI portion of cluster diffs added. Tue Apr 5 07:41:50 1994 * Linux 1.1 development tree initiated. * The linux 1.0 development tree is now effectively frozen except for obvious bugfixes. ****************************************************************** ****************************************************************** ****************************************************************** ****************************************************************** Sun Apr 17 00:17:39 1994 * Linux 1.0, patchlevel 9 released. * fdomain.c: Update to version 5.16 (Handle different FIFO sizes better). Thu Apr 7 08:36:20 1994 * Linux 1.0, patchlevel8 released. * fdomain.c: Update to version 5.15 from 5.9. Handles 3.4 bios. Sun Apr 3 14:43:03 1994 * Linux 1.0, patchlevel6 released. * wd7000.c: Make stab at fixing race condition. Sat Mar 26 14:14:50 1994 * Linux 1.0, patchlevel5 released. * aha152x.c, Makefile: Fix a few bugs (too much data message). Add a few more bios signatures. (Patches from Juergen). * aha1542.c: Fix race condition in aha1542_out. Mon Mar 21 16:36:20 1994 * Linux 1.0, patchlevel3 released. * sd.c, st.c, sr.c, sg.c: Return -ENXIO, not -ENODEV if we attempt to open a non-existent device. * scsi.c: Add Chinon cdrom to blacklist. * sr_ioctl.c: Check return status of verify_area. Sat Mar 6 16:06:19 1994 * Linux 1.0 released (technically a pre-release). * scsi.c: Add IMS CDD521, Maxtor XT-8760S to blacklist. Tue Feb 15 10:58:20 1994 * pl15e released. * aha1542.c: For 1542C, allow dynamic device scan with >1Gb turned off. * constants.c: Fix typo in definition of CONSTANTS. * pl15d released. Fri Feb 11 10:10:16 1994 * pl15c released. * scsi.c: Add Maxtor XT-3280 and Rodime RO3000S to blacklist. * scsi.c: Allow tagged queueing for scsi 3 devices as well. Some really old devices report a version number of 0. Disallow LUN != 0 for these. Thu Feb 10 09:48:57 1994 * pl15b released. Sun Feb 6 12:19:46 1994 * pl15a released. Fri Feb 4 09:02:17 1994 * scsi.c: Add Teac cdrom to blacklist. Thu Feb 3 14:16:43 1994 * pl15 released. Tue Feb 1 15:47:43 1994 * pl14w released. * wd7000.c (wd_bases): Fix typo in last change. Mon Jan 24 17:37:23 1994 * pl14u released. * aha1542.c: Support 1542CF/extended bios. Different from 1542C * wd7000.c: Allow bios at 0xd8000 as well. * ultrastor.c: Do not truncate cylinders to 1024. * fdomain.c: Update to version 5.9 (add new bios signature). * NCR5380.c: Update from Drew - should work a lot better now. Sat Jan 8 15:13:10 1994 * pl14o released. * sr_ioctl.c: Zero reserved field before trying to set audio volume. Wed Jan 5 13:21:10 1994 * pl14m released. * fdomain.c: Update to version 5.8. No functional difference??? Tue Jan 4 14:26:13 1994 * pl14l released. * ultrastor.c: Remove outl, inl functions (now provided elsewhere). Mon Jan 3 12:27:25 1994 * pl14k released. * aha152x.c: Remove insw and outsw functions. * fdomain.c: Ditto. Wed Dec 29 09:47:20 1993 * pl14i released. * scsi.c: Support RECOVERED_ERROR for tape drives. * st.c: Update of tape driver from Kai. Tue Dec 21 09:18:30 1993 * pl14g released. * aha1542.[c,h]: Support extended BIOS stuff. * scsi.c: Clean up messages about disks, so they are displayed as sda, sdb, etc instead of sd0, sd1, etc. * sr.c: Force reread of capacity if disk was changed. Clear buffer before asking for capacity/sectorsize (some drives do not report this properly). Set needs_sector_size flag if drive did not return sensible sector size. Mon Dec 13 12:13:47 1993 * aha152x.c: Update to version .101 from Juergen. Mon Nov 29 03:03:00 1993 * linux 0.99.14 released. * All scsi stuff moved from kernel/blk_drv/scsi to drivers/scsi. * Throughout: Grammatical corrections to various comments. * Makefile: fix so that we do not need to compile things we are not going to use. * NCR5380.c, NCR5380.h, g_NCR5380.c, g_NCR5380.h, pas16.c, pas16.h, t128.c, t128.h: New files from Drew. * aha152x.c, aha152x.h: New files from Juergen Fischer. * aha1542.c: Support for more than one 1542 in the machine at the same time. Make functions static that do not need visibility. * aha1740.c: Set NEEDS_JUMPSTART flag in reset function, so we know to restart the command. Change prototype of aha1740_reset to take a command pointer. * constants.c: Clean up a few things. * fdomain.c: Update to version 5.6. Move snarf_region. Allow board to be set at different SCSI ids. Remove support for reselection (did not work well). Set JUMPSTART flag in reset code. * hosts.c: Support new low-level adapters. Allow for more than one adapter of a given type. * hosts.h: Allow for more than one adapter of a given type. * scsi.c: Add scsi_device_types array, if NEEDS_JUMPSTART is set after a low-level reset, start the command again. Sort blacklist, and add Maxtor MXT-1240S, XT-4170S, NEC CDROM 84, Seagate ST157N. * scsi.h: Add constants for tagged queueing. * Throughout: Use constants from major.h instead of hardcoded numbers for major numbers. * scsi_ioctl.c: Fix bug in buffer length in ioctl_command. Use verify_area in GET_IDLUN ioctl. Add new ioctls for TAGGED_QUEUE_ENABLE, DISABLE. Only allow IOCTL_SEND_COMMAND by superuser. * sd.c: Only pay attention to UNIT_ATTENTION for removable disks. Fix bug where sometimes portions of blocks would get lost resulting in processes hanging. Add messages when we spin up a disk, and fix a bug in the timing. Increase read-ahead for disks that are on a scatter-gather capable host adapter. * seagate.c: Fix so that some parameters can be set from the lilo prompt. Supply jumpstart flag if we are resetting and need the command restarted. Fix so that we return 1 if we detect a card so that multiple card detection works correctly. Add yet another signature for FD cards (950). Add another signature for ST0x. * sg.c, sg.h: New files from Lawrence Foard for generic scsi access. * sr.c: Add type casts for (void*) so that we can do pointer arithmetic. Works with GCC without this, but it is not strictly correct. Same bugfix as was in sd.c. Increase read-ahead a la disk driver. * sr_ioctl.c: Use scsi_malloc buffer instead of buffer from stack since we cannot guarantee that the stack is < 16Mb. ultrastor.c: Update to support 24f properly (JFC's driver). wd7000.c: Supply jumpstart flag for reset. Do not round up number of cylinders in biosparam function. Sat Sep 4 20:49:56 1993 * 0.99pl13 released. * Throughout: Use check_region/snarf_region for all low-level drivers. * aha1542.c: Do hard reset instead of soft (some ethercard probes screw us up). * scsi.c: Add new flag ASKED_FOR_SENSE so that we can tell if we are in a loop whereby the device returns null sense data. * sd.c: Add code to spin up a drive if it is not already spinning. Do this one at a time to make it easier on power supplies. * sd_ioctl.c: Use sync_dev instead of fsync_dev in BLKFLSBUF ioctl. * seagate.c: Switch around DATA/CONTROL lines. * st.c: Change sense to unsigned. Thu Aug 5 11:59:18 1993 * 0.99pl12 released. * constants.c, constants.h: New files with ascii descriptions of various conditions. * Makefile: Do not try and count the number of low-level drivers, just generate the list of .o files. * aha1542.c: Replace 16 with sizeof(SCpnt->sense_buffer). Add tests for addresses > 16Mb, panic if we find one. * aha1740.c: Ditto with sizeof(). * fdomain.c: Update to version 3.18. Add new signature, register IRQ with irqaction. Use ID 7 for new board. Be more intelligent about obtaining the h/s/c numbers for biosparam. * hosts.c: Do not depend upon Makefile generated count of the number of low-level host adapters. * scsi.c: Use array for scsi_command_size instead of a function. Add Texel cdrom and Maxtor XT-4380S to blacklist. Allow compile time option for no-multi lun scan. Add semaphore for possible problems with handshaking, assume device is faulty until we know it not to be the case. Add DEBUG_INIT symbol to dump info as we scan for devices. Zero sense buffer so we can tell if we need to request it. When examining sense information, request sense if buffer is all zero. If RESET, request sense information to see what to do next. * scsi_debug.c: Change some constants to use symbols like INT_MAX. * scsi_ioctl.c (kernel_scsi_ioctl): New function -for making ioctl calls from kernel space. * sd.c: Increase timeout to 300. Use functions in constants.h to display info. Use scsi_malloc buffer for READ_CAPACITY, since we cannot guarantee that a stack based buffer is < 16Mb. * sd_ioctl.c: Add BLKFLSBUF ioctl. * seagate.c: Add new compile time options for ARBITRATE, SLOW_HANDSHAKE, and SLOW_RATE. Update assembly loops for transferring data. Use kernel_scsi_ioctl to request mode page with geometry. * sr.c: Use functions in constants.c to display messages. * st.c: Support for variable block size. * ultrastor.c: Do not use cache for tape drives. Set unchecked_isa_dma flag, even though this may not be needed (gets set later). Sat Jul 17 18:32:44 1993 * 0.99pl11 released. C++ compilable. * Throughout: Add type casts all over the place, and use "ip" instead of "info" in the various biosparam functions. * Makefile: Compile seagate.c with C++ compiler. * aha1542.c: Always set ccb pointer as this gets trashed somehow on some systems. Add a few type casts. Update biosparam function a little. * aha1740.c: Add a few type casts. * fdomain.c: Update to version 3.17 from 3.6. Now works with TMC-18C50. * scsi.c: Minor changes here and there with datatypes. Save use_sg when requesting sense information so that this can properly be restored if we retry the command. Set aside dma buffers assuming each block is 1 page, not 1Kb minix block. * scsi_ioctl.c: Add a few type casts. Other minor changes. * sd.c: Correctly free all scsi_malloc'd memory if we run out of dma_pool. Store blocksize information for each partition. * seagate.c: Minor cleanups here and there. * sr.c: Set up blocksize array for all discs. Fix bug in freeing buffers if we run out of dma pool. Thu Jun 2 17:58:11 1993 * 0.99pl10 released. * aha1542.c: Support for BT 445S (VL-bus board with no dma channel). * fdomain.c: Upgrade to version 3.6. Preliminary support for TNC-18C50. * scsi.c: First attempt to fix problem with old_use_sg. Change NOT_READY to a SUGGEST_ABORT. Fix timeout race where time might get decremented past zero. * sd.c: Add block_fsync function to dispatch table. * sr.c: Increase timeout to 500 from 250. Add entry for sync in dispatch table (supply NULL). If we do not have a sectorsize, try and get it in the sd_open function. Add new function just to obtain sectorsize. * sr.h: Add needs_sector_size semaphore. * st.c: Add NULL for fsync in dispatch table. * wd7000.c: Allow another condition for power on that are normal and do not require a panic. Thu Apr 22 23:10:11 1993 * 0.99pl9 released. * aha1542.c: Use (void) instead of () in setup_mailboxes. * scsi.c: Initialize transfersize and underflow fields in SCmd to 0. Do not panic for unsupported message bytes. * scsi.h: Allocate 12 bytes instead of 10 for commands. Add transfersize and underflow fields. * scsi_ioctl.c: Further bugfix to ioctl_probe. * sd.c: Use long instead of int for last parameter in sd_ioctl. Initialize transfersize and underflow fields. * sd_ioctl.c: Ditto for sd_ioctl(,,,,); * seagate.c: New version from Drew. Includes new signatures for FD cards. Support for 0ws jumper. Correctly initialize scsi_hosts[hostnum].this_id. Improved handing of disconnect/reconnect, and support command linking. Use transfersize and underflow fields. Support scatter-gather. * sr.c, sr_ioctl.c: Use long instead of int for last parameter in sr_ioctl. Use buffer and buflength in do_ioctl. Patches from Chris Newbold for scsi-2 audio commands. * ultrastor.c: Comment out in_byte (compiler warning). * wd7000.c: Change () to (void) in wd7000_enable_dma. Wed Mar 31 16:36:25 1993 * 0.99pl8 released. * aha1542.c: Handle mailboxes better for 1542C. Do not truncate number of cylinders at 1024 for biosparam call. * aha1740.c: Fix a few minor bugs for multiple devices. Same as above for biosparam. * scsi.c: Add lockable semaphore for removable devices that can have media removal prevented. Add another signature for flopticals. (allocate_device): Fix race condition. Allow more space in dma pool for blocksizes of up to 4Kb. * scsi.h: Define COMMAND_SIZE. Define a SCSI specific version of INIT_REQUEST that can run with interrupts off. * scsi_ioctl.c: Make ioctl_probe function more idiot-proof. If a removable device says ILLEGAL REQUEST to a door-locking command, clear lockable flag. Add SCSI_IOCTL_GET_IDLUN ioctl. Do not attempt to lock door for devices that do not have lockable semaphore set. * sd.c: Fix race condition for multiple disks. Use INIT_SCSI_REQUEST instead of INIT_REQUEST. Allow sector sizes of 1024 and 256. For removable disks that are not ready, mark them as having a media change (some drives do not report this later). * seagate.c: Use volatile keyword for memory-mapped register pointers. * sr.c: Fix race condition, a la sd.c. Increase the number of retries to 1. Use INIT_SCSI_REQUEST. Allow 512 byte sector sizes. Do a read_capacity when we init the device so we know the size and sectorsize. * st.c: If ioctl not found in st.c, try scsi_ioctl for others. * ultrastor.c: Do not truncate number of cylinders at 1024 for biosparam call. * wd7000.c: Ditto. Throughout: Use COMMAND_SIZE macro to determine length of scsi command. Sat Mar 13 17:31:29 1993 * 0.99pl7 released. Throughout: Improve punctuation in some messages, and use new verify_area syntax. * aha1542.c: Handle unexpected interrupts better. * scsi.c: Ditto. Handle reset conditions a bit better, asking for sense information and retrying if required. * scsi_ioctl.c: Allow for 12 byte scsi commands. * ultrastor.c: Update to use scatter-gather. Sat Feb 20 17:57:15 1993 * 0.99pl6 released. * fdomain.c: Update to version 3.5. Handle spurious interrupts better. * sd.c: Use register_blkdev function. * sr.c: Ditto. * st.c: Use register_chrdev function. * wd7000.c: Undo previous change. Sat Feb 6 11:20:43 1993 * 0.99pl5 released. * scsi.c: Fix bug in testing for UNIT_ATTENTION. * wd7000.c: Check at more addresses for bios. Fix bug in biosparam (heads & sectors turned around). Wed Jan 20 18:13:59 1993 * 0.99pl4 released. * scsi.c: Ignore leading spaces when looking for blacklisted devices. * seagate.c: Add a few new signatures for FD cards. Another patch with SCint to fix race condition. Use recursion_depth to keep track of how many times we have been recursively called, and do not start another command unless we are on the outer level. Fixes bug with Syquest cartridge drives (used to crash kernel), because they do not disconnect with large data transfers. Tue Jan 12 14:33:36 1993 * 0.99pl3 released. * fdomain.c: Update to version 3.3 (a few new signatures). * scsi.c: Add CDU-541, Denon DRD-25X to blacklist. (allocate_request, request_queueable): Init request.waiting to NULL if non-buffer type of request. * seagate.c: Allow controller to be overridden with CONTROLLER symbol. Set SCint=NULL when we are done, to remove race condition. * st.c: Changes from Kai. Wed Dec 30 20:03:47 1992 * 0.99pl2 released. * scsi.c: Blacklist back in. Remove Newbury drive as other bugfix eliminates need for it here. * sd.c: Return ENODEV instead of EACCES if no such device available. (sd_init) Init blkdev_fops earlier so that sd_open is available sooner. * sr.c: Same as above for sd.c. * st.c: Return ENODEV instead of ENXIO if no device. Init chrdev_fops sooner, so that it is always there even if no tapes. * seagate.c (controller_type): New variable to keep track of ST0x or FD. Modify signatures list to indicate controller type, and init controller_type once we find a match. * wd7000.c (wd7000_set_sync): Remove redundant function. Sun Dec 20 16:26:24 1992 * 0.99pl1 released. * scsi_ioctl.c: Bugfix - check dev->index, not dev->id against NR_SCSI_DEVICES. * sr_ioctl.c: Verify that device exists before allowing an ioctl. * st.c: Patches from Kai - change timeout values, improve end of tape handling. Sun Dec 13 18:15:23 1992 * 0.99 kernel released. Baseline for this ChangeLog. |