| .. | .. |
|---|
| 90 | 90 | /* The SYNC negotiation sequence looks like: |
|---|
| 91 | 91 | * |
|---|
| 92 | 92 | * If DEV_NEGOTIATED_SYNC not set, tack and SDTR message on to the |
|---|
| 93 | | - * initial identify for the device and set DEV_BEGIN_SYNC_NEGOTATION |
|---|
| 93 | + * initial identify for the device and set DEV_BEGIN_SYNC_NEGOTIATION |
|---|
| 94 | 94 | * If we get an SDTR reply, work out the SXFER parameters, squirrel |
|---|
| 95 | 95 | * them away here, clear DEV_BEGIN_SYNC_NEGOTIATION and set |
|---|
| 96 | 96 | * DEV_NEGOTIATED_SYNC. If we get a REJECT msg, squirrel |
|---|
| .. | .. |
|---|
| 209 | 209 | #endif |
|---|
| 210 | 210 | __u32 chip710:1; /* set if really a 710 not 700 */ |
|---|
| 211 | 211 | __u32 burst_length:4; /* set to 0 to disable 710 bursting */ |
|---|
| 212 | + __u32 noncoherent:1; /* needs to use non-coherent DMA */ |
|---|
| 212 | 213 | |
|---|
| 213 | 214 | /* NOTHING BELOW HERE NEEDS ALTERING */ |
|---|
| 214 | 215 | __u32 fast:1; /* if we can alter the SCSI bus clock |
|---|
| .. | .. |
|---|
| 422 | 423 | #define NCR_710_MIN_XFERP 0 |
|---|
| 423 | 424 | #define NCR_700_MIN_PERIOD 25 /* for SDTR message, 100ns */ |
|---|
| 424 | 425 | |
|---|
| 425 | | -#define script_patch_32(dev, script, symbol, value) \ |
|---|
| 426 | +#define script_patch_32(h, script, symbol, value) \ |
|---|
| 426 | 427 | { \ |
|---|
| 427 | 428 | int i; \ |
|---|
| 428 | 429 | dma_addr_t da = value; \ |
|---|
| 429 | 430 | for(i=0; i< (sizeof(A_##symbol##_used) / sizeof(__u32)); i++) { \ |
|---|
| 430 | 431 | __u32 val = bS_to_cpu((script)[A_##symbol##_used[i]]) + da; \ |
|---|
| 431 | 432 | (script)[A_##symbol##_used[i]] = bS_to_host(val); \ |
|---|
| 432 | | - dma_cache_sync((dev), &(script)[A_##symbol##_used[i]], 4, DMA_TO_DEVICE); \ |
|---|
| 433 | + dma_sync_to_dev((h), &(script)[A_##symbol##_used[i]], 4); \ |
|---|
| 433 | 434 | DEBUG((" script, patching %s at %d to %pad\n", \ |
|---|
| 434 | 435 | #symbol, A_##symbol##_used[i], &da)); \ |
|---|
| 435 | 436 | } \ |
|---|
| 436 | 437 | } |
|---|
| 437 | 438 | |
|---|
| 438 | | -#define script_patch_32_abs(dev, script, symbol, value) \ |
|---|
| 439 | +#define script_patch_32_abs(h, script, symbol, value) \ |
|---|
| 439 | 440 | { \ |
|---|
| 440 | 441 | int i; \ |
|---|
| 441 | 442 | dma_addr_t da = value; \ |
|---|
| 442 | 443 | for(i=0; i< (sizeof(A_##symbol##_used) / sizeof(__u32)); i++) { \ |
|---|
| 443 | 444 | (script)[A_##symbol##_used[i]] = bS_to_host(da); \ |
|---|
| 444 | | - dma_cache_sync((dev), &(script)[A_##symbol##_used[i]], 4, DMA_TO_DEVICE); \ |
|---|
| 445 | + dma_sync_to_dev((h), &(script)[A_##symbol##_used[i]], 4); \ |
|---|
| 445 | 446 | DEBUG((" script, patching %s at %d to %pad\n", \ |
|---|
| 446 | 447 | #symbol, A_##symbol##_used[i], &da)); \ |
|---|
| 447 | 448 | } \ |
|---|
| 448 | 449 | } |
|---|
| 449 | 450 | |
|---|
| 450 | 451 | /* Used for patching the SCSI ID in the SELECT instruction */ |
|---|
| 451 | | -#define script_patch_ID(dev, script, symbol, value) \ |
|---|
| 452 | +#define script_patch_ID(h, script, symbol, value) \ |
|---|
| 452 | 453 | { \ |
|---|
| 453 | 454 | int i; \ |
|---|
| 454 | 455 | for(i=0; i< (sizeof(A_##symbol##_used) / sizeof(__u32)); i++) { \ |
|---|
| .. | .. |
|---|
| 456 | 457 | val &= 0xff00ffff; \ |
|---|
| 457 | 458 | val |= ((value) & 0xff) << 16; \ |
|---|
| 458 | 459 | (script)[A_##symbol##_used[i]] = bS_to_host(val); \ |
|---|
| 459 | | - dma_cache_sync((dev), &(script)[A_##symbol##_used[i]], 4, DMA_TO_DEVICE); \ |
|---|
| 460 | + dma_sync_to_dev((h), &(script)[A_##symbol##_used[i]], 4); \ |
|---|
| 460 | 461 | DEBUG((" script, patching ID field %s at %d to 0x%x\n", \ |
|---|
| 461 | 462 | #symbol, A_##symbol##_used[i], val)); \ |
|---|
| 462 | 463 | } \ |
|---|
| 463 | 464 | } |
|---|
| 464 | 465 | |
|---|
| 465 | | -#define script_patch_16(dev, script, symbol, value) \ |
|---|
| 466 | +#define script_patch_16(h, script, symbol, value) \ |
|---|
| 466 | 467 | { \ |
|---|
| 467 | 468 | int i; \ |
|---|
| 468 | 469 | for(i=0; i< (sizeof(A_##symbol##_used) / sizeof(__u32)); i++) { \ |
|---|
| .. | .. |
|---|
| 470 | 471 | val &= 0xffff0000; \ |
|---|
| 471 | 472 | val |= ((value) & 0xffff); \ |
|---|
| 472 | 473 | (script)[A_##symbol##_used[i]] = bS_to_host(val); \ |
|---|
| 473 | | - dma_cache_sync((dev), &(script)[A_##symbol##_used[i]], 4, DMA_TO_DEVICE); \ |
|---|
| 474 | + dma_sync_to_dev((h), &(script)[A_##symbol##_used[i]], 4); \ |
|---|
| 474 | 475 | DEBUG((" script, patching short field %s at %d to 0x%x\n", \ |
|---|
| 475 | 476 | #symbol, A_##symbol##_used[i], val)); \ |
|---|
| 476 | 477 | } \ |
|---|