• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/dev/pms/RefTisa/tisa/sassata/sata/host/

Lines Matching defs:LBA

386        case SCSIOPC_WRITE_SAME_10: /*  sector and LBA; SAT p64 case 3 accessing payload and very
774 fis->d.lbaMid = 0xFF; /* FIS LBA (7 :0 ) */
775 fis->d.lbaHigh = 0xFF; /* FIS LBA (15:8 ) */
779 fis->d.lbaMid = (bit8)scsiCmnd->expDataLength; /* FIS LBA (7 :0 ) */
780 fis->d.lbaHigh = (bit8)(scsiCmnd->expDataLength>>8); /* FIS LBA (15:8 ) */
783 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
784 fis->d.device = 0; /* FIS LBA (27:24) and FIS LBA mode */
977 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
978 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
979 fis->d.lbaHigh = 0x20; /* FIS LBA (23:16) */
980 fis->d.device = 0; /* FIS LBA (27:24) and FIS LBA mode */
1213 bit8 LBA[4];
1268 osti_memset(LBA, 0, sizeof(LBA));
1271 /* do not use memcpy due to indexing in LBA and TL */
1272 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
1273 LBA[1] = scsiCmnd->cdb[3];
1274 LBA[2] = scsiCmnd->cdb[4];
1275 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
1282 rangeChk = satAddNComparebit32(LBA, TL);
1284 /* cbd10; computing LBA and transfer length */
1301 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
1311 TI_DBG1(("satRead10: return LBA out of range, not EXT\n"));
1331 TI_DBG1(("satRead10: return LBA+TL out of range, not EXT\n"));
1365 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
1366 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
1367 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
1369 (bit8)((0x4 << 4) | (scsiCmnd->cdb[2] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
1397 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
1398 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
1399 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
1401 (bit8)((0x4 << 4) | (scsiCmnd->cdb[2] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
1431 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
1432 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
1433 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
1434 fis->d.device = 0x40; /* FIS LBA mode set */
1435 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
1436 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
1437 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
1481 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
1482 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
1483 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
1484 fis->d.device = 0x40; /* FIS LBA mode set */
1485 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
1486 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
1487 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
1530 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
1531 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
1532 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
1540 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
1541 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
1542 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
1557 /* saves the current LBA and orginal TL */
1674 bit8 LBA[4]; /* 0 MSB, 3 LSB */
1682 osti_memset(LBA,0, sizeof(LBA));
1711 LBA[0] = (bit8)((lba & 0xF000) >> (8 * 3));
1712 LBA[1] = (bit8)((lba & 0xF00) >> (8 * 2));
1713 LBA[2] = (bit8)((lba & 0xF0) >> 8);
1714 LBA[3] = (bit8)(lba & 0xF);
1724 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
1725 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
1726 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
1728 (bit8)((0x4 << 4) | (LBA[0] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
1757 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
1758 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
1759 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
1761 (bit8)((0x4 << 4) | (LBA[0] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
1788 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
1789 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
1790 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
1791 fis->d.device = 0x40; /* FIS LBA mode set */
1792 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
1793 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
1794 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
1820 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
1821 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
1822 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
1823 fis->d.device = 0x40; /* FIS LBA mode set */
1824 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
1825 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
1826 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
1849 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
1850 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
1851 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
1859 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
1860 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
1861 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
1941 bit8 LBA[4];
1994 osti_memset(LBA, 0, sizeof(LBA));
1997 /* do not use memcpy due to indexing in LBA and TL */
1998 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
1999 LBA[1] = scsiCmnd->cdb[3];
2000 LBA[2] = scsiCmnd->cdb[4];
2001 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
2008 rangeChk = satAddNComparebit32(LBA, TL);
2020 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
2029 TI_DBG1(("satRead12: return LBA out of range, not EXT\n"));
2047 TI_DBG1(("satRead12: return LBA+TL out of range, not EXT\n"));
2081 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
2082 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
2083 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
2085 (bit8)((0x4 << 4) | (scsiCmnd->cdb[2] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
2112 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
2113 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
2114 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
2116 (bit8)((0x4 << 4) | (scsiCmnd->cdb[2] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
2146 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
2147 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
2148 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
2149 fis->d.device = 0x40; /* FIS LBA mode set */
2150 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
2151 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
2152 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
2195 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
2196 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
2197 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
2198 fis->d.device = 0x40; /* FIS LBA mode set */
2199 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
2200 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
2201 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
2244 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
2245 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
2246 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
2254 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
2255 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
2256 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
2268 /* saves the current LBA and orginal TL */
2372 bit8 LBA[8];
2427 osti_memset(LBA, 0, sizeof(LBA));
2431 /* do not use memcpy due to indexing in LBA and TL */
2432 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
2433 LBA[1] = scsiCmnd->cdb[3];
2434 LBA[2] = scsiCmnd->cdb[4];
2435 LBA[3] = scsiCmnd->cdb[5];
2436 LBA[4] = scsiCmnd->cdb[6];
2437 LBA[5] = scsiCmnd->cdb[7];
2438 LBA[6] = scsiCmnd->cdb[8];
2439 LBA[7] = scsiCmnd->cdb[9]; /* LSB */
2450 rangeChk = satAddNComparebit64(LBA, TL);
2452 limitChk = satCompareLBALimitbit(LBA);
2465 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
2474 TI_DBG1(("satRead16: return LBA out of range, not EXT\n"));
2492 TI_DBG1(("satRead16: return LBA+TL out of range, not EXT\n"));
2526 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
2527 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
2528 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
2530 (bit8)((0x4 << 4) | (scsiCmnd->cdb[6] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
2557 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
2558 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
2559 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
2561 (bit8)((0x4 << 4) | (scsiCmnd->cdb[6] & 0xF)); /* FIS LBA (27:24) and FIS LBA mode */
2591 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
2592 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
2593 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
2594 fis->d.device = 0x40; /* FIS LBA mode set */
2595 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
2596 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
2597 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
2641 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
2642 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
2643 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
2644 fis->d.device = 0x40; /* FIS LBA mode set */
2645 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
2646 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
2647 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
2691 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
2692 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
2693 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
2701 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
2702 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
2703 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
2715 /* saves the current LBA and orginal TL */
2853 /* cbd6; computing LBA and transfer length */
2866 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
2888 TI_DBG1(("satRead6: return LBA out of range\n"));
2907 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
2908 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
2909 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
2910 fis->d.device = 0x40; /* FIS LBA mode */
2941 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
2942 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
2943 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
2944 fis->d.device = 0x40; /* FIS LBA mode */
2980 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
2981 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
2982 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
2983 fis->d.device = 0x40; /* FIS LBA mode set */
2984 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
2985 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
2986 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
3015 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
3016 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
3017 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
3018 fis->d.device = 0x40; /* FIS LBA mode set */
3019 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
3020 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
3021 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
3071 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
3072 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
3073 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
3075 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
3076 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
3077 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
3150 bit8 LBA[8];
3205 osti_memset(LBA, 0, sizeof(LBA));
3209 /* do not use memcpy due to indexing in LBA and TL */
3210 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
3211 LBA[1] = scsiCmnd->cdb[3];
3212 LBA[2] = scsiCmnd->cdb[4];
3213 LBA[3] = scsiCmnd->cdb[5];
3214 LBA[4] = scsiCmnd->cdb[6];
3215 LBA[5] = scsiCmnd->cdb[7];
3216 LBA[6] = scsiCmnd->cdb[8];
3217 LBA[7] = scsiCmnd->cdb[9]; /* LSB */
3228 rangeChk = satAddNComparebit64(LBA, TL);
3230 limitChk = satCompareLBALimitbit(LBA);
3244 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
3253 TI_DBG1(("satWrite16: return LBA out of range, not EXT\n"));
3271 TI_DBG1(("satWrite16: return LBA+TL out of range, not EXT\n"));
3302 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
3303 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
3304 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
3306 /* FIS LBA mode set LBA (27:24) */
3333 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
3334 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
3335 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
3337 /* FIS LBA mode set LBA (27:24) */
3370 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
3371 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
3372 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
3373 fis->d.device = 0x40; /* FIS LBA mode set */
3374 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
3375 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
3376 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
3398 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
3399 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
3400 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
3401 fis->d.device = 0x40; /* FIS LBA mode set */
3402 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
3403 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
3404 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
3446 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
3447 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
3448 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
3456 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
3457 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
3458 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
3582 bit8 LBA[4];
3637 osti_memset(LBA, 0, sizeof(LBA));
3640 /* do not use memcpy due to indexing in LBA and TL */
3641 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
3642 LBA[1] = scsiCmnd->cdb[3];
3643 LBA[2] = scsiCmnd->cdb[4];
3644 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
3651 rangeChk = satAddNComparebit32(LBA, TL);
3664 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
3686 TI_DBG1(("satWrite12: return LBA out of range, not EXT\n"));
3692 TI_DBG1(("satWrite12: return LBA+TL out of range, not EXT\n"));
3724 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
3725 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
3726 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
3728 /* FIS LBA mode set LBA (27:24) */
3755 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
3756 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
3757 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
3759 /* FIS LBA mode set LBA (27:24) */
3792 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
3793 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
3794 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
3795 fis->d.device = 0x40; /* FIS LBA mode set */
3796 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
3797 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
3798 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
3820 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
3821 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
3822 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
3823 fis->d.device = 0x40; /* FIS LBA mode set */
3824 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
3825 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
3826 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
3868 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
3869 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
3870 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
3878 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
3879 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
3880 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4005 bit8 LBA[4];
4058 osti_memset(LBA, 0, sizeof(LBA));
4061 /* do not use memcpy due to indexing in LBA and TL */
4062 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
4063 LBA[1] = scsiCmnd->cdb[3];
4064 LBA[2] = scsiCmnd->cdb[4];
4065 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
4072 rangeChk = satAddNComparebit32(LBA, TL);
4075 /* cbd10; computing LBA and transfer length */
4090 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
4112 TI_DBG1(("satWrite10: return LBA out of range, not EXT\n"));
4121 TI_DBG1(("satWrite10: return LBA+TL out of range, not EXT\n"));
4154 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
4155 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
4156 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
4158 /* FIS LBA mode set LBA (27:24) */
4185 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
4186 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
4187 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
4189 /* FIS LBA mode set LBA (27:24) */
4222 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
4223 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
4224 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
4225 fis->d.device = 0x40; /* FIS LBA mode set */
4226 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
4227 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4228 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4249 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
4250 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
4251 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
4252 fis->d.device = 0x40; /* FIS LBA mode set */
4253 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
4254 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4255 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4296 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
4297 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
4298 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
4306 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
4307 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4308 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4438 bit8 LBA[4]; /* 0 MSB, 3 LSB */
4446 osti_memset(LBA,0, sizeof(LBA));
4478 LBA[0] = (bit8)((lba & 0xF000) >> (8 * 3)); /* MSB */
4479 LBA[1] = (bit8)((lba & 0xF00) >> (8 * 2));
4480 LBA[2] = (bit8)((lba & 0xF0) >> 8);
4481 LBA[3] = (bit8)(lba & 0xF); /* LSB */
4490 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
4491 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
4492 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
4494 /* FIS LBA mode set LBA (27:24) */
4495 fis->d.device = (bit8)((0x4 << 4) | (LBA[0] & 0xF));
4523 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
4524 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
4525 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
4527 /* FIS LBA mode set LBA (27:24) */
4528 fis->d.device = (bit8)((0x4 << 4) | (LBA[0] & 0xF));
4556 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
4557 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
4558 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
4559 fis->d.device = 0x40; /* FIS LBA mode set */
4560 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
4561 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4562 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4588 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
4589 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
4590 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
4591 fis->d.device = 0x40; /* FIS LBA mode set */
4592 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
4593 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4594 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4618 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
4619 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
4620 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
4628 fis->d.lbaLowExp = LBA[0];; /* FIS LBA (31:24) */
4629 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4630 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4742 /* cbd6; computing LBA and transfer length */
4755 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
4777 TI_DBG1(("satWrite6: return LBA out of range\n"));
4796 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
4797 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
4798 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
4799 fis->d.device = 0x40; /* FIS LBA mode */
4830 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
4831 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
4832 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
4833 fis->d.device = 0x40; /* FIS LBA mode */
4869 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
4870 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
4871 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
4872 fis->d.device = 0x40; /* FIS LBA mode set */
4873 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
4874 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4875 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4904 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
4905 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
4906 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
4907 fis->d.device = 0x40; /* FIS LBA mode set */
4908 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
4909 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4910 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
4960 fis->d.lbaLow = scsiCmnd->cdb[3]; /* FIS LBA (7 :0 ) */
4961 fis->d.lbaMid = scsiCmnd->cdb[2]; /* FIS LBA (15:8 ) */
4962 fis->d.lbaHigh = (bit8)((scsiCmnd->cdb[1]) & 0x1f); /* FIS LBA (23:16) */
4964 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
4965 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
4966 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
5145 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
5146 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
5147 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
5498 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
5499 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
5500 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
5501 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
5502 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
5503 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
5995 lastLba = lastLba - 1; /* LBA starts from zero */
6009 TI_DBG3(("satReadCapacity10: LBA 0 is 0x%x %d\n", pVirtAddr[0], pVirtAddr[0]));
6010 TI_DBG3(("satReadCapacity10: LBA 1 is 0x%x %d\n", pVirtAddr[1], pVirtAddr[1]));
6011 TI_DBG3(("satReadCapacity10: LBA 2 is 0x%x %d\n", pVirtAddr[2], pVirtAddr[2]));
6012 TI_DBG3(("satReadCapacity10: LBA 3 is 0x%x %d\n", pVirtAddr[3], pVirtAddr[3]));
6026 lastLba = lastLba - 1; /* LBA starts from zero */
6063 /* fill in MAX LBA, which is used in satSendDiagnostic_1() */
6250 lastLbaLo = lastLbaLo - 1; /* LBA starts from zero */
6272 lastLbaLo = lastLbaLo - 1; /* LBA starts from zero */
6290 /* fill in MAX LBA, which is used in satSendDiagnostic_1() */
6935 bit8 LLBAA; /* Long LBA Accepted */
7794 bit8 LBA[4];
7852 osti_memset(LBA, 0, sizeof(LBA));
7855 /* do not use memcpy due to indexing in LBA and TL */
7856 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
7857 LBA[1] = scsiCmnd->cdb[3];
7858 LBA[2] = scsiCmnd->cdb[4];
7859 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
7866 rangeChk = satAddNComparebit32(LBA, TL);
7868 /* cbd10; computing LBA and transfer length */
7892 TI_DBG1(("satVerify10: return LBA out of range, not EXT\n"));
7901 TI_DBG1(("satVerify10: return LBA+TL out of range, not EXT\n"));
7927 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
7928 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
7929 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
7930 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
7931 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
7932 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
7933 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
7952 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
7953 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
7954 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
7955 /* FIS LBA mode set LBA (27:24) */
8055 bit8 LBA[4]; /* 0 MSB, 3 LSB */
8061 osti_memset(LBA,0, sizeof(LBA));
8081 LBA[0] = (bit8)((lba & 0xF000) >> (8 * 3)); /* MSB */
8082 LBA[1] = (bit8)((lba & 0xF00) >> (8 * 2));
8083 LBA[2] = (bit8)((lba & 0xF0) >> 8);
8084 LBA[3] = (bit8)(lba & 0xF); /* LSB */
8093 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
8094 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
8095 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
8097 /* FIS LBA mode set LBA (27:24) */
8098 fis->d.device = (bit8)((0x4 << 4) | (LBA[0] & 0xF));
8126 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
8127 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
8128 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
8129 fis->d.device = 0x40; /* FIS LBA mode set */
8130 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
8131 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
8132 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
8220 bit8 LBA[4];
8278 osti_memset(LBA, 0, sizeof(LBA));
8281 /* do not use memcpy due to indexing in LBA and TL */
8282 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
8283 LBA[1] = scsiCmnd->cdb[3];
8284 LBA[2] = scsiCmnd->cdb[4];
8285 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
8292 rangeChk = satAddNComparebit32(LBA, TL);
8316 TI_DBG1(("satVerify12: return LBA out of range, not EXT\n"));
8325 TI_DBG1(("satVerify12: return LBA+TL out of range, not EXT\n"));
8351 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
8352 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
8353 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
8354 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
8355 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
8356 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
8357 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
8376 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
8377 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
8378 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
8379 /* FIS LBA mode set LBA (27:24) */
8502 bit8 LBA[8];
8560 osti_memset(LBA, 0, sizeof(LBA));
8564 /* do not use memcpy due to indexing in LBA and TL */
8565 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
8566 LBA[1] = scsiCmnd->cdb[3];
8567 LBA[2] = scsiCmnd->cdb[4];
8568 LBA[3] = scsiCmnd->cdb[5];
8569 LBA[4] = scsiCmnd->cdb[6];
8570 LBA[5] = scsiCmnd->cdb[7];
8571 LBA[6] = scsiCmnd->cdb[8];
8572 LBA[7] = scsiCmnd->cdb[9]; /* LSB */
8583 rangeChk = satAddNComparebit64(LBA, TL);
8585 limitChk = satCompareLBALimitbit(LBA);
8596 TI_DBG1(("satVerify16: return LBA out of range, not EXT\n"));
8614 TI_DBG1(("satVerify16: return LBA+TL out of range, not EXT\n"));
8640 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
8641 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
8642 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
8643 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
8644 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
8645 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
8646 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
8665 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
8666 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
8667 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
8668 /* FIS LBA mode set LBA (27:24) */
9141 sector count 1, LBA 0
9142 sector count 1, LBA MAX
9143 sector count 1, LBA random
9152 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
9153 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
9154 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
9155 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
9156 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
9157 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
9175 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
9176 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
9177 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
9222 fis->d.lbaLow = 0x81; /* FIS LBA (7 :0 ) */
9223 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
9224 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
9286 fis->d.lbaLow = 0x01; /* FIS LBA (7 :0 ) */
9287 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
9288 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
9337 fis->d.lbaLow = 0x02; /* FIS LBA (7 :0 ) */
9338 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
9339 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
9402 fis->d.lbaLow = 0x7F; /* FIS LBA (7 :0 ) */
9403 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
9404 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
9466 fis->d.lbaLow = 0x81; /* FIS LBA (7 :0 ) */
9467 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
9468 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
9506 fis->d.lbaLow = 0x82; /* FIS LBA (7 :0 ) */
9507 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
9508 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
9614 sector count 1, LBA MAX
9623 fis->d.lbaLow = pSatDevData->satMaxLBA[7]; /* FIS LBA (7 :0 ) */
9624 fis->d.lbaMid = pSatDevData->satMaxLBA[6]; /* FIS LBA (15:8 ) */
9625 fis->d.lbaHigh = pSatDevData->satMaxLBA[5]; /* FIS LBA (23:16) */
9626 fis->d.lbaLowExp = pSatDevData->satMaxLBA[4]; /* FIS LBA (31:24) */
9627 fis->d.lbaMidExp = pSatDevData->satMaxLBA[3]; /* FIS LBA (39:32) */
9628 fis->d.lbaHighExp = pSatDevData->satMaxLBA[2]; /* FIS LBA (47:40) */
9645 fis->d.lbaLow = pSatDevData->satMaxLBA[7]; /* FIS LBA (7 :0 ) */
9646 fis->d.lbaMid = pSatDevData->satMaxLBA[6]; /* FIS LBA (15:8 ) */
9647 fis->d.lbaHigh = pSatDevData->satMaxLBA[5]; /* FIS LBA (23:16) */
9656 /* DEV and LBA 27:24 */
9725 sector count 1, LBA Random
9734 fis->d.lbaLow = 0x7F; /* FIS LBA (7 :0 ) */
9735 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
9736 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
9737 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
9738 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
9739 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
9756 fis->d.lbaLow = 0x7F; /* FIS LBA (7 :0 ) */
9757 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
9758 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
9766 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
9880 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
9881 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
9882 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
9883 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
9884 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
9885 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
9901 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
9902 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
9903 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
9955 sector count 1, any LBA between zero to Maximum
9965 fis->d.lbaLow = 0x01; /* FIS LBA (7 :0 ) */
9966 fis->d.lbaMid = 0x00; /* FIS LBA (15:8 ) */
9967 fis->d.lbaHigh = 0x00; /* FIS LBA (23:16) */
9968 fis->d.lbaLowExp = 0x00; /* FIS LBA (31:24) */
9969 fis->d.lbaMidExp = 0x00; /* FIS LBA (39:32) */
9970 fis->d.lbaHighExp = 0x00; /* FIS LBA (47:40) */
9988 fis->d.lbaLow = 0x01; /* FIS LBA (7 :0 ) */
9989 fis->d.lbaMid = 0x00; /* FIS LBA (15:8 ) */
9990 fis->d.lbaHigh = 0x00; /* FIS LBA (23:16) */
10052 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
10053 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
10054 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
10176 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
10177 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
10178 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
10262 fis->d.lbaLow = 0x7F; /* FIS LBA (7 :0 ) */
10263 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
10264 fis->d.lbaHigh = 0x00; /* FIS LBA (23:16) */
10265 fis->d.lbaLowExp = 0xF1; /* FIS LBA (31:24) */
10266 fis->d.lbaMidExp = 0x5F; /* FIS LBA (39:32) */
10267 fis->d.lbaHighExp = 0xFF; /* FIS LBA (47:40) */
10285 fis->d.lbaLow = 0x7F; /* FIS LBA (7 :0 ) */
10286 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
10287 fis->d.lbaHigh = 0x00; /* FIS LBA (23:16) */
10421 /* cdb10; computing LBA and transfer length */
10434 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
10456 TI_DBG1(("satWriteSame10: return LBA out of range\n"));
10521 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
10522 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
10523 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
10524 fis->d.device = 0x40; /* FIS LBA mode set */
10525 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
10526 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
10527 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
10574 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
10575 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
10576 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
10577 fis->d.device = 0x40; /* FIS LBA mode set */
10578 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
10579 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
10580 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
10677 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
10678 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
10679 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
10684 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
10685 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
10686 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
10776 * \param lba: LBA
10822 fis->d.lbaLow = lba4; /* FIS LBA (7 :0 ) */
10823 fis->d.lbaMid = lba3; /* FIS LBA (15:8 ) */
10824 fis->d.lbaHigh = lba2; /* FIS LBA (23:16) */
10825 fis->d.device = 0x40; /* FIS LBA mode set */
10826 fis->d.lbaLowExp = lba1; /* FIS LBA (31:24) */
10827 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
10828 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
10871 * \param lba: LBA
10917 fis->d.lbaLow = lba4; /* FIS LBA (7 :0 ) */
10918 fis->d.lbaMid = lba3; /* FIS LBA (15:8 ) */
10919 fis->d.lbaHigh = lba2; /* FIS LBA (23:16) */
10920 fis->d.device = 0x40; /* FIS LBA mode set */
10921 fis->d.lbaLowExp = lba1; /* FIS LBA (31:24) */
10922 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
10923 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
10966 * \param lba: LBA
11016 fis->d.lbaLow = lba4; /* FIS LBA (7 :0 ) */
11017 fis->d.lbaMid = lba3; /* FIS LBA (15:8 ) */
11018 fis->d.lbaHigh = lba2; /* FIS LBA (23:16) */
11023 fis->d.lbaLowExp = lba1; /* FIS LBA (31:24) */
11024 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
11025 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
11948 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
11949 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
11950 fis->d.lbaMid = 0x4F; /* FIS LBA (15:8 ) */
11951 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
11952 fis->d.lbaHigh = 0xC2; /* FIS LBA (23:16) */
11953 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
13224 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
13225 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
13226 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
13227 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
13228 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
13229 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
13245 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
13246 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
13247 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
13370 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
13371 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
13372 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
13373 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
13374 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
13375 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
13391 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
13392 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
13393 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
13467 bit8 LBA[4];
13521 osti_memset(LBA, 0, sizeof(LBA));
13524 /* do not use memcpy due to indexing in LBA and TL */
13525 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
13526 LBA[1] = scsiCmnd->cdb[3];
13527 LBA[2] = scsiCmnd->cdb[4];
13528 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
13535 rangeChk = satAddNComparebit32(LBA, TL);
13537 /* cbd10; computing LBA and transfer length */
13550 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
13572 TI_DBG1(("satWriteAndVerify10: return LBA out of range\n"));
13578 TI_DBG1(("satWrite10: return LBA+TL out of range, not EXT\n"));
13610 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
13611 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
13612 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
13614 /* FIS LBA mode set LBA (27:24) */
13641 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
13642 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
13643 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
13645 /* FIS LBA mode set LBA (27:24) */
13679 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
13680 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
13681 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
13682 fis->d.device = 0x40; /* FIS LBA mode set */
13683 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
13684 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
13685 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
13707 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
13708 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
13709 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
13710 fis->d.device = 0x40; /* FIS LBA mode set */
13711 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
13712 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
13713 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
13754 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
13755 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
13756 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
13764 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
13765 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
13766 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
13957 /* cbd10; computing LBA and transfer length */
13970 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
13992 TI_DBG1(("satWriteAndVerify10: return LBA out of range\n"));
14011 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14012 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14013 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14015 /* FIS LBA mode set LBA (27:24) */
14042 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14043 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14044 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14046 /* FIS LBA mode set LBA (27:24) */
14080 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14081 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14082 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14083 fis->d.device = 0x40; /* FIS LBA mode set */
14084 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14085 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14086 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14107 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14108 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14109 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14110 fis->d.device = 0x40; /* FIS LBA mode set */
14111 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14112 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14113 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14153 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14154 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14155 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14163 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14164 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14165 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14243 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14244 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14245 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14246 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
14247 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14248 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14249 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14281 /* can't fit in SAT_READ_VERIFY_SECTORS becasue of Sector Count and LBA */
14329 bit8 LBA[4];
14381 osti_memset(LBA, 0, sizeof(LBA));
14384 /* do not use memcpy due to indexing in LBA and TL */
14385 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
14386 LBA[1] = scsiCmnd->cdb[3];
14387 LBA[2] = scsiCmnd->cdb[4];
14388 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
14395 rangeChk = satAddNComparebit32(LBA, TL);
14408 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
14430 TI_DBG1(("satWriteAndVerify12: return LBA out of range, not EXT\n"));
14436 TI_DBG1(("satWriteAndVerify12: return LBA+TL out of range, not EXT\n"));
14467 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14468 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14469 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14471 /* FIS LBA mode set LBA (27:24) */
14498 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14499 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14500 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14502 /* FIS LBA mode set LBA (27:24) */
14535 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14536 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14537 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14538 fis->d.device = 0x40; /* FIS LBA mode set */
14539 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14540 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14541 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14563 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14564 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14565 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14566 fis->d.device = 0x40; /* FIS LBA mode set */
14567 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14568 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14569 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14611 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14612 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14613 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14621 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14622 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14623 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14741 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
14742 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
14743 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
14744 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
14745 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
14746 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14747 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14779 /* can't fit in SAT_READ_VERIFY_SECTORS becasue of Sector Count and LBA */
14805 bit8 LBA[4]; /* 0 MSB, 3 LSB */
14813 osti_memset(LBA,0, sizeof(LBA));
14845 LBA[0] = (bit8)((lba & 0xF000) >> (8 * 3)); /* MSB */
14846 LBA[1] = (bit8)((lba & 0xF00) >> (8 * 2));
14847 LBA[2] = (bit8)((lba & 0xF0) >> 8);
14848 LBA[3] = (bit8)(lba & 0xF); /* LSB */
14857 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
14858 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
14859 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
14861 /* FIS LBA mode set LBA (27:24) */
14862 fis->d.device = (bit8)((0x4 << 4) | (LBA[0] & 0xF));
14890 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
14891 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
14892 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
14894 /* FIS LBA mode set LBA (27:24) */
14895 fis->d.device = (bit8)((0x4 << 4) | (LBA[0] & 0xF));
14923 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
14924 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
14925 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
14926 fis->d.device = 0x40; /* FIS LBA mode set */
14927 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
14928 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14929 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14955 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
14956 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
14957 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
14958 fis->d.device = 0x40; /* FIS LBA mode set */
14959 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
14960 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14961 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
14985 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
14986 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
14987 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
14995 fis->d.lbaLowExp = LBA[0];; /* FIS LBA (31:24) */
14996 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
14997 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
15059 no LBA check; no range check;
15069 bit8 LBA[4];
15078 osti_memset(LBA, 0, sizeof(LBA));
15081 /* do not use memcpy due to indexing in LBA and TL */
15082 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
15083 LBA[1] = scsiCmnd->cdb[3];
15084 LBA[2] = scsiCmnd->cdb[4];
15085 LBA[3] = scsiCmnd->cdb[5]; /* LSB */
15103 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
15104 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
15105 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
15106 fis->d.device = 0x40; /* FIS LBA mode set 01000000 */
15107 fis->d.lbaLowExp = scsiCmnd->cdb[2]; /* FIS LBA (31:24) */
15108 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
15109 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
15128 fis->d.lbaLow = scsiCmnd->cdb[5]; /* FIS LBA (7 :0 ) */
15129 fis->d.lbaMid = scsiCmnd->cdb[4]; /* FIS LBA (15:8 ) */
15130 fis->d.lbaHigh = scsiCmnd->cdb[3]; /* FIS LBA (23:16) */
15131 /* FIS LBA mode set LBA (27:24) */
15231 bit8 LBA[4]; /* 0 MSB, 3 LSB */
15238 osti_memset(LBA,0, sizeof(LBA));
15258 LBA[0] = (bit8)((lba & 0xF000) >> (8 * 3)); /* MSB */
15259 LBA[1] = (bit8)((lba & 0xF00) >> (8 * 2));
15260 LBA[2] = (bit8)((lba & 0xF0) >> 8);
15261 LBA[3] = (bit8)(lba & 0xF); /* LSB */
15270 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
15271 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
15272 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
15274 /* FIS LBA mode set LBA (27:24) */
15275 fis->d.device = (bit8)((0x4 << 4) | (LBA[0] & 0xF));
15303 fis->d.lbaLow = LBA[3]; /* FIS LBA (7 :0 ) */
15304 fis->d.lbaMid = LBA[2]; /* FIS LBA (15:8 ) */
15305 fis->d.lbaHigh = LBA[1]; /* FIS LBA (23:16) */
15306 fis->d.device = 0x40; /* FIS LBA mode set */
15307 fis->d.lbaLowExp = LBA[0]; /* FIS LBA (31:24) */
15308 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
15309 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
15386 since write16 has 8 bytes LBA -> problem ATA LBA(upto 6 bytes), no support
15397 bit8 LBA[8];
15450 osti_memset(LBA, 0, sizeof(LBA));
15454 /* do not use memcpy due to indexing in LBA and TL */
15455 LBA[0] = scsiCmnd->cdb[2]; /* MSB */
15456 LBA[1] = scsiCmnd->cdb[3];
15457 LBA[2] = scsiCmnd->cdb[4];
15458 LBA[3] = scsiCmnd->cdb[5];
15459 LBA[4] = scsiCmnd->cdb[6];
15460 LBA[5] = scsiCmnd->cdb[7];
15461 LBA[6] = scsiCmnd->cdb[8];
15462 LBA[7] = scsiCmnd->cdb[9]; /* LSB */
15473 rangeChk = satAddNComparebit64(LBA, TL);
15475 limitChk = satCompareLBALimitbit(LBA);
15488 When no 48-bit addressing support or NCQ, if LBA is beyond (2^28 - 1),
15497 TI_DBG1(("satWriteAndVerify16: return LBA out of range, not EXT\n"));
15515 TI_DBG1(("satWriteAndVerify16: return LBA+TL out of range, not EXT\n"));
15547 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
15548 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
15549 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
15551 /* FIS LBA mode set LBA (27:24) */
15578 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
15579 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
15580 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
15582 /* FIS LBA mode set LBA (27:24) */
15615 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
15616 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
15617 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
15618 fis->d.device = 0x40; /* FIS LBA mode set */
15619 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
15620 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
15621 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
15643 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
15644 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
15645 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
15646 fis->d.device = 0x40; /* FIS LBA mode set */
15647 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
15648 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
15649 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
15691 fis->d.lbaLow = scsiCmnd->cdb[9]; /* FIS LBA (7 :0 ) */
15692 fis->d.lbaMid = scsiCmnd->cdb[8]; /* FIS LBA (15:8 ) */
15693 fis->d.lbaHigh = scsiCmnd->cdb[7]; /* FIS LBA (23:16) */
15701 fis->d.lbaLowExp = scsiCmnd->cdb[6]; /* FIS LBA (31:24) */
15702 fis->d.lbaMidExp = scsiCmnd->cdb[5]; /* FIS LBA (39:32) */
15703 fis->d.lbaHighExp = scsiCmnd->cdb[4]; /* FIS LBA (47:40) */
15926 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
15927 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
15928 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
15929 fis->d.device = 0x40; /* FIS LBA mode set */
15930 fis->d.lbaLowExp = 0; /* FIS LBA (31:24) */
15931 fis->d.lbaMidExp = 0; /* FIS LBA (39:32) */
15932 fis->d.lbaHighExp = 0; /* FIS LBA (47:40) */
15949 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
15950 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
15951 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
15952 fis->d.device = 0x40; /* FIS LBA (27:24) and FIS LBA mode */
16070 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
16071 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
16072 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
16073 fis->d.device = 0x40; /* FIS LBA (27:24) and FIS LBA mode */
16313 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
16314 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
16315 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
16316 fis->d.device = 0x40; /* FIS LBA (27:24) and FIS LBA mode */
16455 assumes all LBA fits in ATA command; no boundary condition is checked here yet
16467 bit8 LBA[8];
16499 osti_memset(satIOContext->LBA, 0, 8);
16505 osti_memset(LBA, 0, sizeof(LBA));
16523 LBA[4] = pParmList[startingIndex]; /* MSB */
16524 LBA[5] = pParmList[startingIndex+1];
16525 LBA[6] = pParmList[startingIndex+2];
16526 LBA[7] = pParmList[startingIndex+3]; /* LSB */
16531 LBA[0] = pParmList[startingIndex]; /* MSB */
16532 LBA[1] = pParmList[startingIndex+1];
16533 LBA[2] = pParmList[startingIndex+2];
16534 LBA[3] = pParmList[startingIndex+3];
16535 LBA[4] = pParmList[startingIndex+4];
16536 LBA[5] = pParmList[startingIndex+5];
16537 LBA[6] = pParmList[startingIndex+6];
16538 LBA[7] = pParmList[startingIndex+7]; /* LSB */
16551 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16552 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16553 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16554 fis->d.lbaLowExp = LBA[4]; /* FIS LBA (31:24) */
16555 fis->d.lbaMidExp = LBA[3]; /* FIS LBA (39:32) */
16556 fis->d.lbaHighExp = LBA[2]; /* FIS LBA (47:40) */
16572 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16573 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16574 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16582 fis->d.device = (bit8)((0x4 << 4) | (LBA[4] & 0xF));
16583 /* DEV and LBA 27:24 */
16588 osti_memcpy(satIOContext->LBA, LBA, 8);
16630 /* next LBA; sends READ VERIFY SECTOR; update LBA and ParmIdx */
16641 assumes all LBA fits in ATA command; no boundary condition is checked here yet
16650 bit8 LBA[8];
16661 osti_memset(LBA, 0, sizeof(LBA));
16667 LBA[4] = pParmList[startingIndex];
16668 LBA[5] = pParmList[startingIndex+1];
16669 LBA[6] = pParmList[startingIndex+2];
16670 LBA[7] = pParmList[startingIndex+3];
16675 LBA[0] = pParmList[startingIndex];
16676 LBA[1] = pParmList[startingIndex+1];
16677 LBA[2] = pParmList[startingIndex+2];
16678 LBA[3] = pParmList[startingIndex+3];
16679 LBA[4] = pParmList[startingIndex+4];
16680 LBA[5] = pParmList[startingIndex+5];
16681 LBA[6] = pParmList[startingIndex+6];
16682 LBA[7] = pParmList[startingIndex+7];
16693 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16694 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16695 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16696 fis->d.lbaLowExp = LBA[4]; /* FIS LBA (31:24) */
16697 fis->d.lbaMidExp = LBA[3]; /* FIS LBA (39:32) */
16698 fis->d.lbaHighExp = LBA[2]; /* FIS LBA (47:40) */
16714 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16715 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16716 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16724 fis->d.device = (bit8)((0x4 << 4) | (LBA[4] & 0xF));
16725 /* DEV and LBA 27:24 */
16729 osti_memcpy(satOrgIOContext->LBA, LBA, 8);
16759 * \param LBA: Pointer to the LBA to be processed
16768 /* current LBA; sends WRITE */
16775 bit8 *LBA
16779 assumes all LBA fits in ATA command; no boundary condition is checked here yet
16802 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16803 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16804 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16806 /* FIS LBA mode set LBA (27:24) */
16807 fis->d.device = (bit8)((0x4 << 4) | (LBA[4] & 0xF));
16833 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16834 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16835 fis->d.lbaHigh = LBA[7]; /* FIS LBA (23:16) */
16837 /* FIS LBA mode set LBA (27:24) */
16838 fis->d.device = (bit8)((0x4 << 4) | (LBA[4] & 0xF));
16870 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16871 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16872 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16873 fis->d.device = 0x40; /* FIS LBA mode set */
16874 fis->d.lbaLowExp = LBA[4]; /* FIS LBA (31:24) */
16875 fis->d.lbaMidExp = LBA[3]; /* FIS LBA (39:32) */
16876 fis->d.lbaHighExp = LBA[2]; /* FIS LBA (47:40) */
16897 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16898 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16899 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16900 fis->d.device = 0x40; /* FIS LBA mode set */
16901 fis->d.lbaLowExp = LBA[4]; /* FIS LBA (31:24) */
16902 fis->d.lbaMidExp = LBA[3]; /* FIS LBA (39:32) */
16903 fis->d.lbaHighExp = LBA[2]; /* FIS LBA (47:40) */
16944 fis->d.lbaLow = LBA[7]; /* FIS LBA (7 :0 ) */
16945 fis->d.lbaMid = LBA[6]; /* FIS LBA (15:8 ) */
16946 fis->d.lbaHigh = LBA[5]; /* FIS LBA (23:16) */
16951 fis->d.lbaLowExp = LBA[4]; /* FIS LBA (31:24) */
16952 fis->d.lbaMidExp = LBA[3]; /* FIS LBA (39:32) */
16953 fis->d.lbaHighExp = LBA[2]; /* FIS LBA (47:40) */
17023 /* saves only CBD; not scsi command for LBA and number of blocks */
18579 pInquiry[40] = 0x01; /* LBA Low */
18580 pInquiry[41] = 0x00; /* LBA Mid */
18581 pInquiry[42] = 0x00; /* LBA High */
18583 pInquiry[44] = 0x00; /* LBA Low Exp */
18584 pInquiry[45] = 0x00; /* LBA Mid Exp */
18585 pInquiry[46] = 0x00; /* LBA High Exp */
18592 pInquiry[40] = 0x01; /* LBA Low */
18593 pInquiry[41] = 0x00; /* LBA Mid */
18594 pInquiry[42] = 0x00; /* LBA High */
18596 pInquiry[44] = 0x00; /* LBA Low Exp */
18597 pInquiry[45] = 0x00; /* LBA Mid Exp */
18598 pInquiry[46] = 0x00; /* LBA High Exp */
19309 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
19310 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
19311 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
19312 fis->d.device = 0; /* FIS LBA mode */
19494 * This fuctions computes LBA of CDB10.
19499 * - \e LBA
19547 * This fuctions computes LBA of CDB12.
19552 * - \e LBA
19602 * This fuctions computes LBA of CDB16.
19607 * - \e LBA
19611 CBD16 has bit64 LBA
19613 Therefore, use last four bytes to compute LBA is OK
19727 (LBA,TL)
19808 (LBA,TL)
19898 (LBA,TL)
20335 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
20336 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
20337 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
20338 fis->d.device = 0; /* FIS LBA mode */
20685 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
20686 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
20687 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
20688 fis->d.device = 0; /* FIS LBA mode */
21540 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
21541 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
21542 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
21543 fis->d.device = 0; /* FIS LBA mode */
22615 fis->d.lbaLow = 0; /* FIS LBA (7 :0 ) */
22616 fis->d.lbaMid = 0; /* FIS LBA (15:8 ) */
22617 fis->d.lbaHigh = 0; /* FIS LBA (23:16) */
22618 fis->d.device = 0; /* FIS LBA mode */