arch/mips/sgi-ip22/ip28-berr.c
172
u32 scb, scw;
arch/mips/sgi-ip22/ip28-berr.c
180
scb = cache_tags.err_addr & ((1 << 12) - 1) & ~((1 << 5) - 1);
arch/mips/sgi-ip22/ip28-berr.c
189
scb | (1 << 12)*i);
arch/mips/sgi-ip22/ip28-berr.c
191
scb = cache_tags.err_addr & ((1 << 12) - 1) & ~((1 << 6) - 1);
arch/mips/sgi-ip22/ip28-berr.c
200
scb | (1 << 12)*i);
arch/mips/sgi-ip22/ip28-berr.c
203
scb = i & (1 << 13) ? 7:6; /* scblksize = 2^[7..6] */
arch/mips/sgi-ip22/ip28-berr.c
206
i = ((1 << scw) - 1) & ~((1 << scb) - 1);
arch/mips/sgi-ip22/ip28-berr.c
210
scw-1, scb, i & (unsigned)cache_tags.err_addr);
arch/s390/include/asm/kvm_host.h
729
extern int kvm_s390_enter_exit_sie(struct kvm_s390_sie_block *scb,
arch/s390/kvm/kvm-s390.c
273
static void kvm_clock_sync_scb(struct kvm_s390_sie_block *scb, u64 delta)
arch/s390/kvm/kvm-s390.c
287
scb->epoch += delta;
arch/s390/kvm/kvm-s390.c
288
if (scb->ecd & ECD_MEF) {
arch/s390/kvm/kvm-s390.c
289
scb->epdx += delta_idx;
arch/s390/kvm/kvm-s390.c
290
if (scb->epoch < delta)
arch/s390/kvm/kvm-s390.c
291
scb->epdx += 1;
arch/s390/kvm/kvm-s390.c
4660
int noinstr kvm_s390_enter_exit_sie(struct kvm_s390_sie_block *scb,
arch/s390/kvm/kvm-s390.c
4672
ret = sie64a(scb, gprs, gasce);
arch/s390/kvm/vsie.c
1576
struct kvm_s390_sie_block *scb = READ_ONCE(vcpu->arch.vsie_block);
arch/s390/kvm/vsie.c
1582
if (scb) {
arch/s390/kvm/vsie.c
1583
atomic_or(PROG_BLOCK_SIE, &scb->prog20);
arch/s390/kvm/vsie.c
1584
if (scb->prog0c & PROG_IN_SIE)
arch/s390/kvm/vsie.c
1585
atomic_or(CPUSTAT_STOP_INT, &scb->cpuflags);
arch/s390/kvm/vsie.c
73
static int set_validity_icpt(struct kvm_s390_sie_block *scb,
arch/s390/kvm/vsie.c
76
scb->ipa = 0x1000;
arch/s390/kvm/vsie.c
77
scb->ipb = ((__u32) reason_code) << 16;
arch/s390/kvm/vsie.c
78
scb->icptcode = ICPT_VALIDITY;
drivers/bluetooth/bfusb.c
113
struct bfusb_data_scb *scb = (void *) skb->cb;
drivers/bluetooth/bfusb.c
130
scb->urb = urb;
drivers/bluetooth/bfusb.c
203
struct bfusb_data_scb *scb;
drivers/bluetooth/bfusb.c
223
scb = (struct bfusb_data_scb *) skb->cb;
drivers/bluetooth/bfusb.c
224
scb->urb = urb;
drivers/media/pci/cx18/cx18-driver.c
967
cx->scb = (struct cx18_scb __iomem *)(cx->enc_mem + SCB_OFFSET);
drivers/media/pci/cx18/cx18-driver.h
567
struct cx18_scb __iomem *scb; /* pointer to SCB */
drivers/media/pci/cx18/cx18-mailbox.c
391
ack_mb = &cx->scb->apu2epu_mb;
drivers/media/pci/cx18/cx18-mailbox.c
395
ack_mb = &cx->scb->cpu2epu_mb;
drivers/media/pci/cx18/cx18-mailbox.c
531
mb = &cx->scb->cpu2epu_mb;
drivers/media/pci/cx18/cx18-mailbox.c
534
mb = &cx->scb->apu2epu_mb;
drivers/media/pci/cx18/cx18-mailbox.c
615
mb = &cx->scb->epu2apu_mb;
drivers/media/pci/cx18/cx18-mailbox.c
621
mb = &cx->scb->epu2cpu_mb;
drivers/media/pci/cx18/cx18-queue.c
293
&cx->scb->cpu_mdl[mdl_id + i].paddr);
drivers/media/pci/cx18/cx18-queue.c
295
&cx->scb->cpu_mdl[mdl_id + i].length);
drivers/media/pci/cx18/cx18-queue.c
309
&cx->scb->cpu_mdl[mdl_id + i - 1].length);
drivers/media/pci/cx18/cx18-queue.c
345
if (((char __iomem *)&cx->scb->cpu_mdl[cx->free_mdl_idx + s->buffers] -
drivers/media/pci/cx18/cx18-queue.c
346
(char __iomem *)cx->scb) > SCB_RESERVED_SIZE) {
drivers/media/pci/cx18/cx18-queue.c
347
unsigned bufsz = (((char __iomem *)cx->scb) + SCB_RESERVED_SIZE -
drivers/media/pci/cx18/cx18-queue.c
348
((char __iomem *)cx->scb->cpu_mdl));
drivers/media/pci/cx18/cx18-scb.c
100
&cx->scb->hpu2epu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
102
&cx->scb->ppu2epu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
105
&cx->scb->ipc_offset);
drivers/media/pci/cx18/cx18-scb.c
107
cx18_writel(cx, 1, &cx->scb->epu_state);
drivers/media/pci/cx18/cx18-scb.c
16
cx18_memset_io(cx, cx->scb, 0, 0x10000);
drivers/media/pci/cx18/cx18-scb.c
18
cx18_writel(cx, IRQ_APU_TO_CPU, &cx->scb->apu2cpu_irq);
drivers/media/pci/cx18/cx18-scb.c
19
cx18_writel(cx, IRQ_CPU_TO_APU_ACK, &cx->scb->cpu2apu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
20
cx18_writel(cx, IRQ_HPU_TO_CPU, &cx->scb->hpu2cpu_irq);
drivers/media/pci/cx18/cx18-scb.c
21
cx18_writel(cx, IRQ_CPU_TO_HPU_ACK, &cx->scb->cpu2hpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
22
cx18_writel(cx, IRQ_PPU_TO_CPU, &cx->scb->ppu2cpu_irq);
drivers/media/pci/cx18/cx18-scb.c
23
cx18_writel(cx, IRQ_CPU_TO_PPU_ACK, &cx->scb->cpu2ppu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
24
cx18_writel(cx, IRQ_EPU_TO_CPU, &cx->scb->epu2cpu_irq);
drivers/media/pci/cx18/cx18-scb.c
25
cx18_writel(cx, IRQ_CPU_TO_EPU_ACK, &cx->scb->cpu2epu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
27
cx18_writel(cx, IRQ_CPU_TO_APU, &cx->scb->cpu2apu_irq);
drivers/media/pci/cx18/cx18-scb.c
28
cx18_writel(cx, IRQ_APU_TO_CPU_ACK, &cx->scb->apu2cpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
29
cx18_writel(cx, IRQ_HPU_TO_APU, &cx->scb->hpu2apu_irq);
drivers/media/pci/cx18/cx18-scb.c
30
cx18_writel(cx, IRQ_APU_TO_HPU_ACK, &cx->scb->apu2hpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
31
cx18_writel(cx, IRQ_PPU_TO_APU, &cx->scb->ppu2apu_irq);
drivers/media/pci/cx18/cx18-scb.c
32
cx18_writel(cx, IRQ_APU_TO_PPU_ACK, &cx->scb->apu2ppu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
33
cx18_writel(cx, IRQ_EPU_TO_APU, &cx->scb->epu2apu_irq);
drivers/media/pci/cx18/cx18-scb.c
34
cx18_writel(cx, IRQ_APU_TO_EPU_ACK, &cx->scb->apu2epu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
36
cx18_writel(cx, IRQ_CPU_TO_HPU, &cx->scb->cpu2hpu_irq);
drivers/media/pci/cx18/cx18-scb.c
37
cx18_writel(cx, IRQ_HPU_TO_CPU_ACK, &cx->scb->hpu2cpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
38
cx18_writel(cx, IRQ_APU_TO_HPU, &cx->scb->apu2hpu_irq);
drivers/media/pci/cx18/cx18-scb.c
39
cx18_writel(cx, IRQ_HPU_TO_APU_ACK, &cx->scb->hpu2apu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
40
cx18_writel(cx, IRQ_PPU_TO_HPU, &cx->scb->ppu2hpu_irq);
drivers/media/pci/cx18/cx18-scb.c
41
cx18_writel(cx, IRQ_HPU_TO_PPU_ACK, &cx->scb->hpu2ppu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
42
cx18_writel(cx, IRQ_EPU_TO_HPU, &cx->scb->epu2hpu_irq);
drivers/media/pci/cx18/cx18-scb.c
43
cx18_writel(cx, IRQ_HPU_TO_EPU_ACK, &cx->scb->hpu2epu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
45
cx18_writel(cx, IRQ_CPU_TO_PPU, &cx->scb->cpu2ppu_irq);
drivers/media/pci/cx18/cx18-scb.c
46
cx18_writel(cx, IRQ_PPU_TO_CPU_ACK, &cx->scb->ppu2cpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
47
cx18_writel(cx, IRQ_APU_TO_PPU, &cx->scb->apu2ppu_irq);
drivers/media/pci/cx18/cx18-scb.c
48
cx18_writel(cx, IRQ_PPU_TO_APU_ACK, &cx->scb->ppu2apu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
49
cx18_writel(cx, IRQ_HPU_TO_PPU, &cx->scb->hpu2ppu_irq);
drivers/media/pci/cx18/cx18-scb.c
50
cx18_writel(cx, IRQ_PPU_TO_HPU_ACK, &cx->scb->ppu2hpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
51
cx18_writel(cx, IRQ_EPU_TO_PPU, &cx->scb->epu2ppu_irq);
drivers/media/pci/cx18/cx18-scb.c
52
cx18_writel(cx, IRQ_PPU_TO_EPU_ACK, &cx->scb->ppu2epu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
54
cx18_writel(cx, IRQ_CPU_TO_EPU, &cx->scb->cpu2epu_irq);
drivers/media/pci/cx18/cx18-scb.c
55
cx18_writel(cx, IRQ_EPU_TO_CPU_ACK, &cx->scb->epu2cpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
56
cx18_writel(cx, IRQ_APU_TO_EPU, &cx->scb->apu2epu_irq);
drivers/media/pci/cx18/cx18-scb.c
57
cx18_writel(cx, IRQ_EPU_TO_APU_ACK, &cx->scb->epu2apu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
58
cx18_writel(cx, IRQ_HPU_TO_EPU, &cx->scb->hpu2epu_irq);
drivers/media/pci/cx18/cx18-scb.c
59
cx18_writel(cx, IRQ_EPU_TO_HPU_ACK, &cx->scb->epu2hpu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
60
cx18_writel(cx, IRQ_PPU_TO_EPU, &cx->scb->ppu2epu_irq);
drivers/media/pci/cx18/cx18-scb.c
61
cx18_writel(cx, IRQ_EPU_TO_PPU_ACK, &cx->scb->epu2ppu_irq_ack);
drivers/media/pci/cx18/cx18-scb.c
64
&cx->scb->apu2cpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
66
&cx->scb->hpu2cpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
68
&cx->scb->ppu2cpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
70
&cx->scb->epu2cpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
72
&cx->scb->cpu2apu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
74
&cx->scb->hpu2apu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
76
&cx->scb->ppu2apu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
78
&cx->scb->epu2apu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
80
&cx->scb->cpu2hpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
82
&cx->scb->apu2hpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
84
&cx->scb->ppu2hpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
86
&cx->scb->epu2hpu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
88
&cx->scb->cpu2ppu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
90
&cx->scb->apu2ppu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
92
&cx->scb->hpu2ppu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
94
&cx->scb->epu2ppu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
96
&cx->scb->cpu2epu_mb_offset);
drivers/media/pci/cx18/cx18-scb.c
98
&cx->scb->apu2epu_mb_offset);
drivers/media/pci/cx18/cx18-streams.c
703
(void __iomem *) &cx->scb->cpu_mdl[mdl->id] - cx->enc_mem,
drivers/media/pci/cx18/cx18-streams.c
920
(void __iomem *)&cx->scb->cpu_mdl_ack[s->type][0] - cx->enc_mem,
drivers/media/pci/cx18/cx18-streams.c
921
(void __iomem *)&cx->scb->cpu_mdl_ack[s->type][1] - cx->enc_mem);
drivers/net/ethernet/aquantia/atlantic/aq_macsec.c
346
if (secy->tx_sc.scb)
drivers/net/ethernet/i825xx/82596.c
1040
lp->scb.command = CUC_START | RX_START;
drivers/net/ethernet/i825xx/82596.c
1197
sizeof(struct i596_private), (unsigned long)&lp->scb));
drivers/net/ethernet/i825xx/82596.c
1205
lp->scb.command = 0;
drivers/net/ethernet/i825xx/82596.c
1206
lp->scb.cmd = I596_NULL;
drivers/net/ethernet/i825xx/82596.c
1207
lp->scb.rfd = I596_NULL;
drivers/net/ethernet/i825xx/82596.c
1256
status = lp->scb.status;
drivers/net/ethernet/i825xx/82596.c
1343
lp->scb.cmd = WSWAPcmd(virt_to_bus(&lp->cmd_head->status));
drivers/net/ethernet/i825xx/82596.c
1361
lp->scb.command = ack_cmd;
drivers/net/ethernet/i825xx/82596.c
1396
dev->name, lp->scb.status));
drivers/net/ethernet/i825xx/82596.c
1401
lp->scb.command = CUC_ABORT | RX_ABORT;
drivers/net/ethernet/i825xx/82596.c
306
struct i596_scb *scb;
drivers/net/ethernet/i825xx/82596.c
318
volatile struct i596_scb scb;
drivers/net/ethernet/i825xx/82596.c
418
dev->name, str, lp->scb.status, lp->scb.command);
drivers/net/ethernet/i825xx/82596.c
428
while (--delcnt && lp->scb.command)
drivers/net/ethernet/i825xx/82596.c
432
dev->name, str, lp->scb.status, lp->scb.command);
drivers/net/ethernet/i825xx/82596.c
465
&lp->iscp, lp->iscp.stat, lp->iscp.scb);
drivers/net/ethernet/i825xx/82596.c
468
&lp->scb, lp->scb.status, lp->scb.command,
drivers/net/ethernet/i825xx/82596.c
469
lp->scb.cmd, lp->scb.rfd);
drivers/net/ethernet/i825xx/82596.c
472
lp->scb.crc_err, lp->scb.align_err, lp->scb.resource_err,
drivers/net/ethernet/i825xx/82596.c
473
lp->scb.over_err, lp->scb.rcvdt_err, lp->scb.short_err);
drivers/net/ethernet/i825xx/82596.c
582
lp->scb.rfd = WSWAPrfd(virt_to_bus(lp->rfds));
drivers/net/ethernet/i825xx/82596.c
608
lp->scb.rfd = WSWAPrfd(virt_to_bus(lp->rfds));
drivers/net/ethernet/i825xx/82596.c
664
lp->iscp.scb = WSWAPscb(virt_to_bus((void *)&lp->scb));
drivers/net/ethernet/i825xx/82596.c
668
lp->cmd_head = lp->scb.cmd = I596_NULL;
drivers/net/ethernet/i825xx/82596.c
672
lp->scb.t_on = 7 * 25;
drivers/net/ethernet/i825xx/82596.c
673
lp->scb.t_off = 1 * 25;
drivers/net/ethernet/i825xx/82596.c
687
lp->scb.command = 0;
drivers/net/ethernet/i825xx/82596.c
728
lp->scb.command = RX_START;
drivers/net/ethernet/i825xx/82596.c
865
lp->scb.rfd = rfd->b_next;
drivers/net/ethernet/i825xx/82596.c
906
lp->scb.cmd = I596_NULL;
drivers/net/ethernet/i825xx/82596.c
922
lp->scb.command = CUC_ABORT | RX_ABORT;
drivers/net/ethernet/i825xx/82596.c
956
lp->scb.cmd = WSWAPcmd(virt_to_bus(&cmd->status));
drivers/net/ethernet/i825xx/82596.c
957
lp->scb.command = CUC_START;
drivers/net/ethernet/i825xx/lib82596.c
1096
lp->dma->scb.command = 0;
drivers/net/ethernet/i825xx/lib82596.c
1097
lp->dma->scb.cmd = I596_NULL;
drivers/net/ethernet/i825xx/lib82596.c
1098
lp->dma->scb.rfd = I596_NULL;
drivers/net/ethernet/i825xx/lib82596.c
1113
&lp->dma->scb));
drivers/net/ethernet/i825xx/lib82596.c
1140
status = SWAP16(dma->scb.status);
drivers/net/ethernet/i825xx/lib82596.c
1272
dma->scb.cmd = SWAP32(virt_to_dma(lp, &lp->cmd_head->status));
drivers/net/ethernet/i825xx/lib82596.c
1273
dma_sync_dev(dev, &dma->scb, sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
1297
dma->scb.command = SWAP16(ack_cmd);
drivers/net/ethernet/i825xx/lib82596.c
1298
dma_sync_dev(dev, &dma->scb, sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
1323
dev->name, SWAP16(lp->dma->scb.status)));
drivers/net/ethernet/i825xx/lib82596.c
1328
lp->dma->scb.command = SWAP16(CUC_ABORT | RX_ABORT);
drivers/net/ethernet/i825xx/lib82596.c
1329
dma_sync_dev(dev, &lp->dma->scb, sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
290
u32 scb;
drivers/net/ethernet/i825xx/lib82596.c
302
volatile struct i596_scb scb __attribute__((aligned(32)));
drivers/net/ethernet/i825xx/lib82596.c
417
dma_sync_cpu(dev, &(dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
418
while (--delcnt && dma->scb.command) {
drivers/net/ethernet/i825xx/lib82596.c
420
dma_sync_cpu(dev, &(dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
425
SWAP16(dma->scb.status),
drivers/net/ethernet/i825xx/lib82596.c
426
SWAP16(dma->scb.command));
drivers/net/ethernet/i825xx/lib82596.c
444
&dma->iscp, SWAP32(dma->iscp.stat), SWAP32(dma->iscp.scb));
drivers/net/ethernet/i825xx/lib82596.c
447
&dma->scb, SWAP16(dma->scb.status), SWAP16(dma->scb.command),
drivers/net/ethernet/i825xx/lib82596.c
448
SWAP16(dma->scb.cmd), SWAP32(dma->scb.rfd));
drivers/net/ethernet/i825xx/lib82596.c
451
SWAP32(dma->scb.crc_err), SWAP32(dma->scb.align_err),
drivers/net/ethernet/i825xx/lib82596.c
452
SWAP32(dma->scb.resource_err), SWAP32(dma->scb.over_err),
drivers/net/ethernet/i825xx/lib82596.c
453
SWAP32(dma->scb.rcvdt_err), SWAP32(dma->scb.short_err));
drivers/net/ethernet/i825xx/lib82596.c
529
dma->scb.rfd = SWAP32(virt_to_dma(lp, dma->rfds));
drivers/net/ethernet/i825xx/lib82596.c
573
dma->scb.rfd = SWAP32(virt_to_dma(lp, dma->rfds));
drivers/net/ethernet/i825xx/lib82596.c
596
dma->iscp.scb = SWAP32(virt_to_dma(lp, &(dma->scb)));
drivers/net/ethernet/i825xx/lib82596.c
601
dma->scb.cmd = I596_NULL;
drivers/net/ethernet/i825xx/lib82596.c
607
dma_sync_dev(dev, &(dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
625
dma->scb.command = 0;
drivers/net/ethernet/i825xx/lib82596.c
626
dma_sync_dev(dev, &(dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
653
dma->scb.command = SWAP16(RX_START);
drivers/net/ethernet/i825xx/lib82596.c
654
dma->scb.rfd = SWAP32(virt_to_dma(lp, dma->rfds));
drivers/net/ethernet/i825xx/lib82596.c
655
dma_sync_dev(dev, &(dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
807
lp->dma->scb.rfd = rfd->b_next;
drivers/net/ethernet/i825xx/lib82596.c
861
lp->dma->scb.cmd = I596_NULL;
drivers/net/ethernet/i825xx/lib82596.c
862
dma_sync_dev(dev, &(lp->dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
879
lp->dma->scb.command = SWAP16(CUC_ABORT | RX_ABORT);
drivers/net/ethernet/i825xx/lib82596.c
880
dma_sync_dev(dev, &(lp->dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
919
dma->scb.cmd = SWAP32(virt_to_dma(lp, &cmd->status));
drivers/net/ethernet/i825xx/lib82596.c
920
dma->scb.command = SWAP16(CUC_START);
drivers/net/ethernet/i825xx/lib82596.c
921
dma_sync_dev(dev, &(dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/lib82596.c
985
lp->dma->scb.command = SWAP16(CUC_START | RX_START);
drivers/net/ethernet/i825xx/lib82596.c
986
dma_sync_dev(dev, &(lp->dma->scb), sizeof(struct i596_scb));
drivers/net/ethernet/i825xx/sun3_82586.c
103
if(!p->scb->cmd_cuc) break; \
drivers/net/ethernet/i825xx/sun3_82586.c
1041
if(p->scb->cus & CU_ACTIVE)
drivers/net/ethernet/i825xx/sun3_82586.c
1044
printk("%s: stat: %04x %04x\n",dev->name,p->scb->cus,swab16(p->xmit_cmds[0]->cmd_status));
drivers/net/ethernet/i825xx/sun3_82586.c
1053
if( (p->scb->cus & CU_STATUS) == CU_SUSPEND)
drivers/net/ethernet/i825xx/sun3_82586.c
1054
p->scb->cmd_cuc = CUC_RESUME;
drivers/net/ethernet/i825xx/sun3_82586.c
1057
p->scb->cbl_offset = make16(p->xmit_cmds[0]);
drivers/net/ethernet/i825xx/sun3_82586.c
1058
p->scb->cmd_cuc = CUC_START;
drivers/net/ethernet/i825xx/sun3_82586.c
106
printk("%s: scb_cmd timed out: %04x,%04x .. disabling i82586!!\n",dev->name,p->scb->cmd_cuc,p->scb->cus); \
drivers/net/ethernet/i825xx/sun3_82586.c
1065
if( (p->scb->cus & CU_ACTIVE)) /* test it, because CU sometimes doesn't start immediately */
drivers/net/ethernet/i825xx/sun3_82586.c
111
if(!p->scb->cmd_ruc) break; \
drivers/net/ethernet/i825xx/sun3_82586.c
1120
crc = swab16(p->scb->crc_errs); /* get error-statistic from the ni82586 */
drivers/net/ethernet/i825xx/sun3_82586.c
1121
p->scb->crc_errs = 0;
drivers/net/ethernet/i825xx/sun3_82586.c
1122
aln = swab16(p->scb->aln_errs);
drivers/net/ethernet/i825xx/sun3_82586.c
1123
p->scb->aln_errs = 0;
drivers/net/ethernet/i825xx/sun3_82586.c
1124
rsc = swab16(p->scb->rsc_errs);
drivers/net/ethernet/i825xx/sun3_82586.c
1125
p->scb->rsc_errs = 0;
drivers/net/ethernet/i825xx/sun3_82586.c
1126
ovrn = swab16(p->scb->ovrn_errs);
drivers/net/ethernet/i825xx/sun3_82586.c
1127
p->scb->ovrn_errs = 0;
drivers/net/ethernet/i825xx/sun3_82586.c
114
printk("%s: scb_cmd (ruc) timed out: %04x,%04x .. disabling i82586!!\n",dev->name,p->scb->cmd_ruc,p->scb->rus); \
drivers/net/ethernet/i825xx/sun3_82586.c
1162
p->scb->cmd_cuc = CUC_ABORT;
drivers/net/ethernet/i825xx/sun3_82586.c
1172
p->scb->cbl_offset = make16(dump_cmd);
drivers/net/ethernet/i825xx/sun3_82586.c
1173
p->scb->cmd_cuc = CUC_START;
drivers/net/ethernet/i825xx/sun3_82586.c
154
volatile struct scb_struct *scb; /* volatile is important */
drivers/net/ethernet/i825xx/sun3_82586.c
257
p->scb = (struct scb_struct *) ((char *)p->iscp + sizeof(struct iscp_struct));
drivers/net/ethernet/i825xx/sun3_82586.c
264
p->iscp->scb_offset = make16(p->scb);
drivers/net/ethernet/i825xx/sun3_82586.c
278
memset((char *)p->scb,0,sizeof(struct scb_struct));
drivers/net/ethernet/i825xx/sun3_82586.c
413
ptr = (void *) ((char *)p->scb + sizeof(struct scb_struct));
drivers/net/ethernet/i825xx/sun3_82586.c
440
p->scb->cbl_offset = make16(cfg_cmd);
drivers/net/ethernet/i825xx/sun3_82586.c
441
p->scb->cmd_ruc = 0;
drivers/net/ethernet/i825xx/sun3_82586.c
443
p->scb->cmd_cuc = CUC_START; /* cmd.-unit start */
drivers/net/ethernet/i825xx/sun3_82586.c
466
p->scb->cbl_offset = make16(ias_cmd);
drivers/net/ethernet/i825xx/sun3_82586.c
468
p->scb->cmd_cuc = CUC_START; /* cmd.-unit start */
drivers/net/ethernet/i825xx/sun3_82586.c
489
p->scb->cbl_offset = make16(tdr_cmd);
drivers/net/ethernet/i825xx/sun3_82586.c
490
p->scb->cmd_cuc = CUC_START; /* cmd.-unit start */
drivers/net/ethernet/i825xx/sun3_82586.c
504
p->scb->cmd_cuc = p->scb->cus & STAT_MASK;
drivers/net/ethernet/i825xx/sun3_82586.c
538
p->scb->cbl_offset = make16(mc_cmd);
drivers/net/ethernet/i825xx/sun3_82586.c
539
p->scb->cmd_cuc = CUC_START;
drivers/net/ethernet/i825xx/sun3_82586.c
609
p->scb->cbl_offset = make16(p->nop_cmds[0]);
drivers/net/ethernet/i825xx/sun3_82586.c
610
p->scb->cmd_cuc = CUC_START;
drivers/net/ethernet/i825xx/sun3_82586.c
621
p->scb->cmd_cuc = p->scb->cus & STAT_MASK;
drivers/net/ethernet/i825xx/sun3_82586.c
671
p->scb->rfa_offset = make16(p->rfd_first);
drivers/net/ethernet/i825xx/sun3_82586.c
700
while((stat=p->scb->cus & STAT_MASK))
drivers/net/ethernet/i825xx/sun3_82586.c
702
p->scb->cmd_cuc = stat;
drivers/net/ethernet/i825xx/sun3_82586.c
711
if(p->scb->rus & RU_SUSPEND) /* special case: RU_SUSPEND */
drivers/net/ethernet/i825xx/sun3_82586.c
714
p->scb->cmd_ruc = RUC_RESUME;
drivers/net/ethernet/i825xx/sun3_82586.c
720
printk("%s: Receiver-Unit went 'NOT READY': %04x/%02x.\n",dev->name,(int) stat,(int) p->scb->rus);
drivers/net/ethernet/i825xx/sun3_82586.c
732
printk("%s: oops! CU has left active state. stat: %04x/%02x.\n",dev->name,(int) stat,(int) p->scb->cus);
drivers/net/ethernet/i825xx/sun3_82586.c
740
if(p->scb->cmd_cuc) /* timed out? */
drivers/net/ethernet/i825xx/sun3_82586.c
824
p->scb->rfa_offset = make16(p->rfd_top);
drivers/net/ethernet/i825xx/sun3_82586.c
833
p->scb->cmd_ruc = RUC_RESUME;
drivers/net/ethernet/i825xx/sun3_82586.c
865
printk("\nerrs: %04x %04x stat: %04x\n",(int)p->scb->rsc_errs,(int)p->scb->ovrn_errs,(int)p->scb->status);
drivers/net/ethernet/i825xx/sun3_82586.c
866
printk("\nerrs: %04x %04x rus: %02x, cus: %02x\n",(int)p->scb->rsc_errs,(int)p->scb->ovrn_errs,(int)p->scb->rus,(int)p->scb->cus);
drivers/net/ethernet/i825xx/sun3_82586.c
886
p->scb->cmd_ruc = RUC_ABORT; /* usually the RU is in the 'no resource'-state .. abort it now. */
drivers/net/ethernet/i825xx/sun3_82586.c
894
printk("%s: Receive-Unit restarted. Status: %04x\n",dev->name,p->scb->rus);
drivers/net/ethernet/i825xx/sun3_82586.c
959
p->scb->rfa_offset = make16(p->rfd_first);
drivers/net/ethernet/i825xx/sun3_82586.c
960
p->scb->cmd_ruc = RUC_START;
drivers/net/ethernet/i825xx/sun3_82586.c
969
if(p->scb->cus & CU_ACTIVE) /* COMMAND-UNIT active? */
drivers/net/ethernet/i825xx/sun3_82586.c
976
p->scb->cmd_cuc = CUC_ABORT;
drivers/net/ethernet/i825xx/sun3_82586.c
979
p->scb->cbl_offset = make16(p->nop_cmds[p->nop_point]);
drivers/net/ethernet/i825xx/sun3_82586.c
980
p->scb->cmd_cuc = CUC_START;
drivers/net/ethernet/i825xx/sun3_82586.c
989
printk("%s: xmitter timed out, try to restart! stat: %02x\n",dev->name,p->scb->cus);
drivers/net/ethernet/intel/e100.c
1365
iowrite8(~0, &nic->csr->scb.stat_ack);
drivers/net/ethernet/intel/e100.c
1713
iowrite8(ioread8(&nic->csr->scb.cmd_hi) | irq_sw_gen,&nic->csr->scb.cmd_hi);
drivers/net/ethernet/intel/e100.c
1979
if (ioread8(&nic->csr->scb.status) & rus_no_res)
drivers/net/ethernet/intel/e100.c
2007
if (ioread8(&nic->csr->scb.status) & rus_no_res)
drivers/net/ethernet/intel/e100.c
2120
iowrite8(stat_ack_rnr, &nic->csr->scb.stat_ack);
drivers/net/ethernet/intel/e100.c
2194
u8 stat_ack = ioread8(&nic->csr->scb.stat_ack);
drivers/net/ethernet/intel/e100.c
2204
iowrite8(stat_ack, &nic->csr->scb.stat_ack);
drivers/net/ethernet/intel/e100.c
2332
"scb.status=0x%02X\n", ioread8(&nic->csr->scb.status));
drivers/net/ethernet/intel/e100.c
2454
buff[0] = ioread8(&nic->csr->scb.cmd_hi) << 24 |
drivers/net/ethernet/intel/e100.c
2455
ioread8(&nic->csr->scb.cmd_lo) << 16 |
drivers/net/ethernet/intel/e100.c
2456
ioread16(&nic->csr->scb.status);
drivers/net/ethernet/intel/e100.c
266
} scb;
drivers/net/ethernet/intel/e100.c
609
(void)ioread8(&nic->csr->scb.status);
drivers/net/ethernet/intel/e100.c
617
iowrite8(irq_mask_none, &nic->csr->scb.cmd_hi);
drivers/net/ethernet/intel/e100.c
627
iowrite8(irq_mask_all, &nic->csr->scb.cmd_hi);
drivers/net/ethernet/intel/e100.c
822
if (likely(!ioread8(&nic->csr->scb.cmd_lo)))
drivers/net/ethernet/intel/e100.c
834
iowrite32(dma_addr, &nic->csr->scb.gen_ptr);
drivers/net/ethernet/intel/e100.c
835
iowrite8(cmd, &nic->csr->scb.cmd_lo);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
527
if (sw_tx_sc->scb)
drivers/net/ethernet/mellanox/mlx5/core/lib/macsec_fs.c
625
if (tx_sc->scb)
drivers/net/macsec.c
3024
nla_put_u8(skb, MACSEC_SECY_ATTR_SCB, tx_sc->scb) ||
drivers/net/macsec.c
319
if (tx_sc->scb)
drivers/net/macsec.c
3836
tx_sc->scb = !!nla_get_u8(data[IFLA_MACSEC_SCB]);
drivers/net/macsec.c
4091
secy->tx_sc.scb = false;
drivers/net/macsec.c
4250
bool es, scb, sci;
drivers/net/macsec.c
4272
scb = nla_get_u8_default(data[IFLA_MACSEC_SCB], false);
drivers/net/macsec.c
4274
if ((sci && (scb || es)) || (scb && es))
drivers/net/macsec.c
4353
nla_put_u8(skb, IFLA_MACSEC_SCB, tx_sc->scb) ||
drivers/net/phy/nxp-c45-tja11xx-macsec.c
617
bool scb = phy_secy->secy->tx_sc.scb;
drivers/net/phy/nxp-c45-tja11xx-macsec.c
629
if (scb)
drivers/net/phy/nxp-c45-tja11xx-macsec.c
647
bool scb = phy_secy->secy->tx_sc.scb;
drivers/net/phy/nxp-c45-tja11xx-macsec.c
649
return !end_station && !send_sci && !scb;
drivers/net/phy/nxp-c45-tja11xx-macsec.c
750
phy_secy->secy->tx_sc.scb ? "on" : "off");
drivers/net/phy/nxp-c45-tja11xx-macsec.c
751
if (phy_secy->secy->tx_sc.scb)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
1018
if (scb) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
1019
brcms_c_ampdu_dotxstatus_complete(ampdu, scb, p, txs, s1, s2);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
278
struct scb *scb)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
280
struct scb_ampdu *scb_ampdu = &scb->scb_ampdu;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
457
struct scb *scb = &wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
458
scb_ampdu = &scb->scb_ampdu;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
490
struct scb *scb = &wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
491
struct scb_ampdu *scb_ampdu = &scb->scb_ampdu;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
802
brcms_c_ampdu_dotxstatus_complete(struct ampdu_info *ampdu, struct scb *scb,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
828
scb_ampdu = &scb->scb_ampdu;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c
991
brcms_c_ampdu_dotxstatus(struct ampdu_info *ampdu, struct scb *scb,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.h
48
void brcms_c_ampdu_dotxstatus(struct ampdu_info *ampdu, struct scb *scb,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
810
struct scb *scb = &wl->wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
812
brcms_c_init_scb(scb);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
814
wl->pub->global_ampdu = &(scb->scb_ampdu);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
830
struct scb *scb = &wl->wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
836
if (WARN_ON(scb->magic != SCB_MAGIC))
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3134
void brcms_c_init_scb(struct scb *scb)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3138
memset(scb, 0, sizeof(struct scb));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3139
scb->flags = SCB_WMECAP | SCB_HTCAP;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3141
scb->seqnum[i] = 0;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3144
scb->magic = SCB_MAGIC;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6153
struct sk_buff *p, struct scb *scb, uint frag,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6216
scb->seqnum[p->priority]++;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6220
seq |= (scb->seqnum[p->priority] << SEQNUM_SHIFT);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6306
&& BRCMS_STF_SS_STBC_TX(wlc, scb)) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6340
else if (scb->flags & SCB_IS40)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6623
brcm_c_ampdu_null_delim_cnt(wlc->ampdu, scb, rspec, phylen);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6696
if ((scb->flags & SCB_WMECAP) && qos && wlc->edcf_txop[ac]) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6847
struct scb *scb = &wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
6850
brcms_c_d11hdrs_mac80211(wlc, hw, sdu, scb, 0, 1, fifo, 0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
832
struct scb *scb = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
886
scb = &wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
889
brcms_c_ampdu_dotxstatus(wlc->ampdu, scb, p, txs);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
216
#define BRCMS_STF_SS_STBC_TX(wlc, scb) \
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
218
|| (((scb)->flags & SCB_STBCCAP) && \
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
262
struct scb *hwrs_scb; /* permanent scb for hw rateset */
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
565
struct scb pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
668
void brcms_c_init_scb(struct scb *scb);
drivers/scsi/a100u2w.c
1001
switch (scb->hastat) {
drivers/scsi/a100u2w.c
1005
scb->hastat = 0;
drivers/scsi/a100u2w.c
1010
scb->hastat = DID_TIME_OUT;
drivers/scsi/a100u2w.c
1017
scb->hastat = DID_RESET;
drivers/scsi/a100u2w.c
1021
scb->hastat = DID_ABORT;
drivers/scsi/a100u2w.c
1031
printk(KERN_DEBUG "inia100: %x %x\n", scb->hastat, scb->tastat);
drivers/scsi/a100u2w.c
1032
scb->hastat = DID_ERROR; /* Couldn't find any better */
drivers/scsi/a100u2w.c
1036
if (scb->tastat == 2) { /* Check condition */
drivers/scsi/a100u2w.c
1040
cmd->result = scb->tastat | (scb->hastat << 16);
drivers/scsi/a100u2w.c
1043
orc_release_scb(host, scb); /* Release SCB for current channel */
drivers/scsi/a100u2w.c
277
static void orc_exec_scb(struct orc_host * host, struct orc_scb * scb)
drivers/scsi/a100u2w.c
279
scb->status = ORCSCB_POST;
drivers/scsi/a100u2w.c
280
outb(scb->scbidx, host->base + ORC_PQUEUE);
drivers/scsi/a100u2w.c
444
struct orc_scb *scb;
drivers/scsi/a100u2w.c
457
scb = host->scb_virt;
drivers/scsi/a100u2w.c
462
scb->sg_addr = cpu_to_le32((u32) escb_phys);
drivers/scsi/a100u2w.c
463
scb->sense_addr = cpu_to_le32((u32) escb_phys);
drivers/scsi/a100u2w.c
464
scb->escb = escb;
drivers/scsi/a100u2w.c
465
scb->scbidx = i;
drivers/scsi/a100u2w.c
466
scb++;
drivers/scsi/a100u2w.c
597
struct orc_scb *scb;
drivers/scsi/a100u2w.c
604
scb = (struct orc_scb *) NULL;
drivers/scsi/a100u2w.c
629
if ((scb = __orc_alloc_scb(host)) == NULL) {
drivers/scsi/a100u2w.c
637
scb->opcode = ORC_BUSDEVRST;
drivers/scsi/a100u2w.c
638
scb->target = target;
drivers/scsi/a100u2w.c
639
scb->hastat = 0;
drivers/scsi/a100u2w.c
640
scb->tastat = 0;
drivers/scsi/a100u2w.c
641
scb->status = 0x0;
drivers/scsi/a100u2w.c
642
scb->link = 0xFF;
drivers/scsi/a100u2w.c
643
scb->reserved0 = 0;
drivers/scsi/a100u2w.c
644
scb->reserved1 = 0;
drivers/scsi/a100u2w.c
645
scb->xferlen = cpu_to_le32(0);
drivers/scsi/a100u2w.c
646
scb->sg_len = cpu_to_le32(0);
drivers/scsi/a100u2w.c
650
orc_exec_scb(host, scb); /* Start execute SCB */
drivers/scsi/a100u2w.c
698
struct orc_scb *scb;
drivers/scsi/a100u2w.c
702
scb = __orc_alloc_scb(host);
drivers/scsi/a100u2w.c
704
return scb;
drivers/scsi/a100u2w.c
716
static void orc_release_scb(struct orc_host *host, struct orc_scb *scb)
drivers/scsi/a100u2w.c
723
index = scb->scbidx;
drivers/scsi/a100u2w.c
738
static int orchid_abort_scb(struct orc_host * host, struct orc_scb * scb)
drivers/scsi/a100u2w.c
747
outb(scb->scbidx, host->base + ORC_HDATA); /* Write address */
drivers/scsi/a100u2w.c
765
struct orc_scb *scb;
drivers/scsi/a100u2w.c
771
scb = host->scb_virt;
drivers/scsi/a100u2w.c
777
for (i = 0; i < ORC_MAXQUEUE; i++, scb++) {
drivers/scsi/a100u2w.c
778
escb = scb->escb;
drivers/scsi/a100u2w.c
779
if (scb->status && escb->srb == cmd) {
drivers/scsi/a100u2w.c
780
if (scb->tag_msg == 0) {
drivers/scsi/a100u2w.c
784
if (orchid_abort_scb(host, scb)) {
drivers/scsi/a100u2w.c
814
struct orc_scb *scb;
drivers/scsi/a100u2w.c
825
scb = (struct orc_scb *) ((unsigned long) host->scb_virt + (unsigned long) (sizeof(struct orc_scb) * scb_index));
drivers/scsi/a100u2w.c
826
scb->status = 0x0;
drivers/scsi/a100u2w.c
828
inia100_scb_handler(host, scb);
drivers/scsi/a100u2w.c
842
static int inia100_build_scb(struct orc_host * host, struct orc_scb * scb, struct scsi_cmnd * cmd)
drivers/scsi/a100u2w.c
850
escb = scb->escb;
drivers/scsi/a100u2w.c
855
scb->opcode = ORC_EXECSCSI;
drivers/scsi/a100u2w.c
856
scb->flags = SCF_NO_DCHK; /* Clear done bit */
drivers/scsi/a100u2w.c
857
scb->target = cmd->device->id;
drivers/scsi/a100u2w.c
858
scb->lun = cmd->device->lun;
drivers/scsi/a100u2w.c
859
scb->reserved0 = 0;
drivers/scsi/a100u2w.c
86
static void inia100_scb_handler(struct orc_host *host, struct orc_scb *scb);
drivers/scsi/a100u2w.c
860
scb->reserved1 = 0;
drivers/scsi/a100u2w.c
861
scb->sg_len = cpu_to_le32(0);
drivers/scsi/a100u2w.c
863
scb->xferlen = cpu_to_le32((u32) scsi_bufflen(cmd));
drivers/scsi/a100u2w.c
873
scb->sg_len = cpu_to_le32((u32) (count_sg * 8));
drivers/scsi/a100u2w.c
880
scb->sg_len = cpu_to_le32(0);
drivers/scsi/a100u2w.c
884
scb->sg_addr = (u32) scb->sense_addr; /* sense_addr is already little endian */
drivers/scsi/a100u2w.c
885
scb->hastat = 0;
drivers/scsi/a100u2w.c
886
scb->tastat = 0;
drivers/scsi/a100u2w.c
887
scb->link = 0xFF;
drivers/scsi/a100u2w.c
888
scb->sense_len = SENSE_SIZE;
drivers/scsi/a100u2w.c
889
scb->cdb_len = cmd->cmd_len;
drivers/scsi/a100u2w.c
890
if (scb->cdb_len >= IMAX_CDB) {
drivers/scsi/a100u2w.c
892
scb->cdb_len = IMAX_CDB;
drivers/scsi/a100u2w.c
894
scb->ident = (u8)(cmd->device->lun & 0xff) | DISC_ALLOW;
drivers/scsi/a100u2w.c
896
scb->tag_msg = SIMPLE_QUEUE_TAG; /* Do simple tag only */
drivers/scsi/a100u2w.c
898
scb->tag_msg = 0; /* No tag support */
drivers/scsi/a100u2w.c
900
memcpy(scb->cdb, cmd->cmnd, scb->cdb_len);
drivers/scsi/a100u2w.c
914
struct orc_scb *scb;
drivers/scsi/a100u2w.c
919
if ((scb = orc_alloc_scb(host)) == NULL)
drivers/scsi/a100u2w.c
922
if (inia100_build_scb(host, scb, cmd)) {
drivers/scsi/a100u2w.c
923
orc_release_scb(host, scb);
drivers/scsi/a100u2w.c
926
orc_exec_scb(host, scb); /* Start execute SCB */
drivers/scsi/a100u2w.c
988
static void inia100_scb_handler(struct orc_host *host, struct orc_scb *scb)
drivers/scsi/a100u2w.c
993
escb = scb->escb;
drivers/scsi/a100u2w.c
996
orc_release_scb(host, scb); /* Release SCB for current channel */
drivers/scsi/aic7xxx/aic79xx.h
1064
BSD_LIST_HEAD(, scb) pending_scbs;
drivers/scsi/aic7xxx/aic79xx.h
109
#define SCB_GET_TAG(scb) \
drivers/scsi/aic7xxx/aic79xx.h
110
ahd_le16toh(scb->hscb->tag)
drivers/scsi/aic7xxx/aic79xx.h
120
#define AHD_GET_SCB_COL_IDX(ahd, scb) \
drivers/scsi/aic7xxx/aic79xx.h
121
((SCB_GET_LUN(scb) << 4) | SCB_GET_TARGET(ahd, scb))
drivers/scsi/aic7xxx/aic79xx.h
123
#define AHD_SET_SCB_COL_IDX(scb, col_idx) \
drivers/scsi/aic7xxx/aic79xx.h
125
(scb)->hscb->scsiid = ((col_idx) << TID_SHIFT) & TID; \
drivers/scsi/aic7xxx/aic79xx.h
126
(scb)->hscb->lun = ((col_idx) >> 4) & (AHD_NUM_LUNS_NONPKT-1); \
drivers/scsi/aic7xxx/aic79xx.h
1338
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx.h
1356
struct scb *ahd_get_scb(struct ahd_softc *ahd, u_int col_idx);
drivers/scsi/aic7xxx/aic79xx.h
1357
void ahd_free_scb(struct ahd_softc *ahd, struct scb *scb);
drivers/scsi/aic7xxx/aic79xx.h
595
SLIST_ENTRY(scb) sle;
drivers/scsi/aic7xxx/aic79xx.h
596
LIST_ENTRY(scb) le;
drivers/scsi/aic7xxx/aic79xx.h
597
TAILQ_ENTRY(scb) tqe;
drivers/scsi/aic7xxx/aic79xx.h
600
SLIST_ENTRY(scb) sle;
drivers/scsi/aic7xxx/aic79xx.h
601
LIST_ENTRY(scb) le;
drivers/scsi/aic7xxx/aic79xx.h
602
TAILQ_ENTRY(scb) tqe;
drivers/scsi/aic7xxx/aic79xx.h
606
struct scb *col_scb;
drivers/scsi/aic7xxx/aic79xx.h
623
TAILQ_HEAD(scb_tailq, scb);
drivers/scsi/aic7xxx/aic79xx.h
624
BSD_LIST_HEAD(scb_list, scb);
drivers/scsi/aic7xxx/aic79xx.h
647
struct scb *scbindex[AHD_SCB_MAX];
drivers/scsi/aic7xxx/aic79xx.h
76
#define SCB_IS_SCSIBUS_B(ahd, scb) (0)
drivers/scsi/aic7xxx/aic79xx.h
77
#define SCB_GET_OUR_ID(scb) \
drivers/scsi/aic7xxx/aic79xx.h
78
SCSIID_OUR_ID((scb)->hscb->scsiid)
drivers/scsi/aic7xxx/aic79xx.h
79
#define SCB_GET_TARGET(ahd, scb) \
drivers/scsi/aic7xxx/aic79xx.h
80
SCSIID_TARGET((ahd), (scb)->hscb->scsiid)
drivers/scsi/aic7xxx/aic79xx.h
81
#define SCB_GET_CHANNEL(ahd, scb) \
drivers/scsi/aic7xxx/aic79xx.h
82
SCSIID_CHANNEL(ahd, (scb)->hscb->scsiid)
drivers/scsi/aic7xxx/aic79xx.h
83
#define SCB_GET_LUN(scb) \
drivers/scsi/aic7xxx/aic79xx.h
84
((scb)->hscb->lun)
drivers/scsi/aic7xxx/aic79xx.h
85
#define SCB_GET_TARGET_OFFSET(ahd, scb) \
drivers/scsi/aic7xxx/aic79xx.h
86
SCB_GET_TARGET(ahd, scb)
drivers/scsi/aic7xxx/aic79xx.h
87
#define SCB_GET_TARGET_MASK(ahd, scb) \
drivers/scsi/aic7xxx/aic79xx.h
88
(0x01 << (SCB_GET_TARGET_OFFSET(ahd, scb)))
drivers/scsi/aic7xxx/aic79xx.h
90
#define SCB_IS_SILENT(scb) \
drivers/scsi/aic7xxx/aic79xx.h
92
&& (((scb)->flags & SCB_SILENT) != 0))
drivers/scsi/aic7xxx/aic79xx.h
94
#define SCB_IS_SILENT(scb) \
drivers/scsi/aic7xxx/aic79xx.h
95
(((scb)->flags & SCB_SILENT) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
10426
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
10437
LIST_FOREACH(scb, &ahd->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic79xx_core.c
10440
ccbh = &scb->io_ctx->ccb_h;
drivers/scsi/aic7xxx/aic79xx_core.c
1092
ahd_update_residual(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
1096
sgptr = ahd_le32toh(scb->hscb->sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
1098
ahd_calc_residual(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1102
ahd_complete_scb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
1106
sgptr = ahd_le32toh(scb->hscb->sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
1108
ahd_handle_scb_status(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1110
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1189
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
1208
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1209
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1226
if (ahd_scb_active_in_fifo(ahd, scb) == 0)
drivers/scsi/aic7xxx/aic79xx_core.c
1229
ahd_run_data_fifo(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
128
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1282
ahd_complete_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
131
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1332
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1333
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1338
hscb_ptr = (uint8_t *)scb->hscb;
drivers/scsi/aic7xxx/aic79xx_core.c
1342
ahd_complete_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1353
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1354
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1360
ahd_complete_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1370
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1371
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1377
ahd_complete_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1395
ahd_scb_active_in_fifo(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
1404
if (ahd_get_scbptr(ahd) != SCB_GET_TAG(scb)
drivers/scsi/aic7xxx/aic79xx_core.c
1424
ahd_run_data_fifo(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
1578
sg = ahd_sg_bus_to_virt(ahd, scb, sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
1585
sg = ahd_sg_bus_to_virt(ahd, scb, sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
1661
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
167
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1675
scb = ahd_lookup_scb(ahd, scb_index);
drivers/scsi/aic7xxx/aic79xx_core.c
1676
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1683
ahd_handle_scb_status(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1685
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1727
ahd_dump_sglist(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
1731
if (scb->sg_count > 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
1732
if ((scb->ahd_softc->flags & AHD_64BIT_ADDRESSING) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
1735
sg_list = (struct ahd_dma64_seg*)scb->sg_list;
drivers/scsi/aic7xxx/aic79xx_core.c
1736
for (i = 0; i < scb->sg_count; i++) {
drivers/scsi/aic7xxx/aic79xx_core.c
1751
sg_list = (struct ahd_dma_seg*)scb->sg_list;
drivers/scsi/aic7xxx/aic79xx_core.c
1752
for (i = 0; i < scb->sg_count; i++) {
drivers/scsi/aic7xxx/aic79xx_core.c
180
struct scb *scb, u_int col_idx);
drivers/scsi/aic7xxx/aic79xx_core.c
1801
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
1807
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1808
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1816
ahd_outb(ahd, SAVED_SCSIID, scb->hscb->scsiid);
drivers/scsi/aic7xxx/aic79xx_core.c
1817
ahd_outb(ahd, SAVED_LUN, scb->hscb->lun);
drivers/scsi/aic7xxx/aic79xx_core.c
182
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
185
struct scb *prev_scb,
drivers/scsi/aic7xxx/aic79xx_core.c
1851
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
1855
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1856
if (scb != NULL)
drivers/scsi/aic7xxx/aic79xx_core.c
1857
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
186
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1867
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
1871
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1872
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1877
ahd_outq(ahd, HADDR, scb->sense_busaddr);
drivers/scsi/aic7xxx/aic79xx_core.c
1906
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
1921
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
1922
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
1929
ahd_compile_devinfo(&devinfo, SCB_GET_OUR_ID(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
1930
SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
1931
SCB_GET_LUN(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
1932
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
1947
scb->hscb->control &= ~(TAG_ENB|SCB_TAG_TYPE);
drivers/scsi/aic7xxx/aic79xx_core.c
1948
scb->hscb->control |= MK_MESSAGE;
drivers/scsi/aic7xxx/aic79xx_core.c
1949
ahd_outb(ahd, SCB_CONTROL, scb->hscb->control);
drivers/scsi/aic7xxx/aic79xx_core.c
1951
ahd_outb(ahd, SAVED_SCSIID, scb->hscb->scsiid);
drivers/scsi/aic7xxx/aic79xx_core.c
1959
scb->flags &= ~SCB_PACKETIZED;
drivers/scsi/aic7xxx/aic79xx_core.c
1960
scb->flags |= SCB_ABORT|SCB_EXTERNAL_RESET;
drivers/scsi/aic7xxx/aic79xx_core.c
1961
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1962
ahd_set_transaction_status(scb, CAM_REQUEUE_REQ);
drivers/scsi/aic7xxx/aic79xx_core.c
1963
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1980
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
1992
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2002
scb = ahd_lookup_scb(ahd, scb_index);
drivers/scsi/aic7xxx/aic79xx_core.c
2003
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
2059
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2079
scb = ahd_lookup_scb(ahd, scb_index);
drivers/scsi/aic7xxx/aic79xx_core.c
2084
scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2100
scb);
drivers/scsi/aic7xxx/aic79xx_core.c
216
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
218
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2194
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2201
scb = ahd_lookup_scb(ahd, scbindex);
drivers/scsi/aic7xxx/aic79xx_core.c
2205
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2208
SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
2209
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2214
ahd_get_transfer_length(scb), scb->sg_count);
drivers/scsi/aic7xxx/aic79xx_core.c
2215
ahd_dump_sglist(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2223
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2224
ahd_set_transaction_status(scb, CAM_DATA_RUN_ERR);
drivers/scsi/aic7xxx/aic79xx_core.c
2225
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2231
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2239
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2240
if (scb != NULL
drivers/scsi/aic7xxx/aic79xx_core.c
2241
&& (scb->flags & SCB_RECOVERY_SCB) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
2246
ahd_search_qinfifo(ahd, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2247
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2248
SCB_GET_LUN(scb), SCB_GET_TAG(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2258
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2261
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2262
if (scb != NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
2267
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2269
scb->hscb->task_management);
drivers/scsi/aic7xxx/aic79xx_core.c
2273
switch (scb->hscb->task_management) {
drivers/scsi/aic7xxx/aic79xx_core.c
2275
tag = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2279
lun = scb->hscb->lun;
drivers/scsi/aic7xxx/aic79xx_core.c
2281
ahd_abort_scbs(ahd, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2286
lun = scb->hscb->lun;
drivers/scsi/aic7xxx/aic79xx_core.c
2292
ahd_scb_devinfo(ahd, &devinfo, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2312
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2319
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2320
if (scb != NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
2325
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2339
ahd_search_qinfifo(ahd, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2340
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2341
SCB_GET_LUN(scb), SCB_GET_TAG(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
2375
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
239
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2416
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2417
if (scb != NULL
drivers/scsi/aic7xxx/aic79xx_core.c
2419
scb = NULL;
drivers/scsi/aic7xxx/aic79xx_core.c
246
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
248
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2480
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2481
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
2490
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2495
ahd_scb_devinfo(ahd, &devinfo, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2496
ahd_set_transaction_status(scb, CAM_SEL_TIMEOUT);
drivers/scsi/aic7xxx/aic79xx_core.c
2497
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
257
static int ahd_match_scb(struct ahd_softc *ahd, struct scb *scb,
drivers/scsi/aic7xxx/aic79xx_core.c
2570
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2571
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
2577
packetized = (scb->flags & SCB_PACKETIZED) != 0;
drivers/scsi/aic7xxx/aic79xx_core.c
2657
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2667
scb = NULL;
drivers/scsi/aic7xxx/aic79xx_core.c
2706
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2707
if (scb != NULL && SCB_IS_SILENT(scb))
drivers/scsi/aic7xxx/aic79xx_core.c
2802
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
2833
if (scb != NULL && msg_out == INITIATOR_ERROR)
drivers/scsi/aic7xxx/aic79xx_core.c
2834
scb->flags |= SCB_TRANSMISSION_ERROR;
drivers/scsi/aic7xxx/aic79xx_core.c
2891
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2915
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2916
if (scb == NULL)
drivers/scsi/aic7xxx/aic79xx_core.c
2957
if (scb->crc_retry_count < AHD_MAX_LQ_CRC_ERRORS) {
drivers/scsi/aic7xxx/aic79xx_core.c
2958
if (SCB_IS_SILENT(scb) == FALSE) {
drivers/scsi/aic7xxx/aic79xx_core.c
2959
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2963
scb->crc_retry_count++;
drivers/scsi/aic7xxx/aic79xx_core.c
2965
ahd_set_transaction_status(scb, CAM_UNCOR_PARITY);
drivers/scsi/aic7xxx/aic79xx_core.c
2966
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2967
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2991
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
2994
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
2995
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
2998
ahd_abort_scbs(ahd, SCB_GET_TARGET(ahd, scb), 'A',
drivers/scsi/aic7xxx/aic79xx_core.c
2999
SCB_GET_LUN(scb), SCB_GET_TAG(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
3018
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
3043
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
3044
if (scb != NULL
drivers/scsi/aic7xxx/aic79xx_core.c
3046
scb = NULL;
drivers/scsi/aic7xxx/aic79xx_core.c
3058
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3066
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3068
SCB_GET_TAG(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
3072
tag = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3074
if ((scb->flags & SCB_EXTERNAL_RESET) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
3087
tag = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3088
saved_lun = scb->hscb->lun;
drivers/scsi/aic7xxx/aic79xx_core.c
3142
if (scb != NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3149
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3150
ahd_qinfifo_requeue_tail(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3168
if (scb != NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3175
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3176
ahd_qinfifo_requeue_tail(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3194
if (scb != NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3201
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3202
ahd_qinfifo_requeue_tail(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3231
if (scb != NULL && printerror != 0
drivers/scsi/aic7xxx/aic79xx_core.c
3235
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3236
ahd_set_transaction_status(scb, CAM_REQUEUE_REQ);
drivers/scsi/aic7xxx/aic79xx_core.c
3237
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3239
ahd_abort_scbs(ahd, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
3240
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
3241
SCB_GET_LUN(scb), SCB_LIST_NULL,
drivers/scsi/aic7xxx/aic79xx_core.c
3248
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3256
if (scb != NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3259
if ((scb->hscb->control & TAG_ENB) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
3260
tag = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3263
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3265
SCB_GET_LUN(scb), tag,
drivers/scsi/aic7xxx/aic79xx_core.c
3292
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
3301
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
3315
scb = NULL;
drivers/scsi/aic7xxx/aic79xx_core.c
3316
} else if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3325
ahd_set_transaction_status(scb, CAM_SEQUENCE_FAIL);
drivers/scsi/aic7xxx/aic79xx_core.c
3327
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3338
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3341
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3368
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
3375
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
3376
scb->flags |= SCB_ABORT;
drivers/scsi/aic7xxx/aic79xx_core.c
3565
ahd_print_scb(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
3570
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic79xx_core.c
3572
(void *)scb,
drivers/scsi/aic7xxx/aic79xx_core.c
3585
SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
3586
ahd_dump_sglist(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
406
ahd_sg_setup(struct ahd_softc *ahd, struct scb *scb,
drivers/scsi/aic7xxx/aic79xx_core.c
409
scb->sg_count++;
drivers/scsi/aic7xxx/aic79xx_core.c
4188
struct scb *pending_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
430
ahd_setup_scb_common(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
433
scb->crc_retry_count = 0;
drivers/scsi/aic7xxx/aic79xx_core.c
434
if ((scb->flags & SCB_PACKETIZED) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
4343
struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
4348
our_id = SCSIID_OUR_ID(scb->hscb->scsiid);
drivers/scsi/aic7xxx/aic79xx_core.c
4350
if ((scb->hscb->control & TARGET_SCB) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
4352
ahd_compile_devinfo(devinfo, our_id, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
4353
SCB_GET_LUN(scb), SCB_GET_CHANNEL(ahd, scb), role);
drivers/scsi/aic7xxx/aic79xx_core.c
436
scb->hscb->task_attribute = scb->hscb->control & SCB_TAG_TYPE;
drivers/scsi/aic7xxx/aic79xx_core.c
4366
struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
438
if (ahd_get_transfer_length(scb) & 0x01)
drivers/scsi/aic7xxx/aic79xx_core.c
4389
} else if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
439
scb->hscb->task_attribute = SCB_XFERLEN_ODD;
drivers/scsi/aic7xxx/aic79xx_core.c
4398
if ((scb->flags & SCB_DEVICE_RESET) == 0
drivers/scsi/aic7xxx/aic79xx_core.c
4399
&& (scb->flags & SCB_PACKETIZED) == 0
drivers/scsi/aic7xxx/aic79xx_core.c
4403
identify_msg = MSG_IDENTIFYFLAG | SCB_GET_LUN(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
4404
if ((scb->hscb->control & DISCENB) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
4409
if ((scb->hscb->control & TAG_ENB) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
441
scb->hscb->task_attribute = 0;
drivers/scsi/aic7xxx/aic79xx_core.c
4411
scb->hscb->control & (TAG_ENB|SCB_TAG_TYPE);
drivers/scsi/aic7xxx/aic79xx_core.c
4412
ahd->msgout_buf[ahd->msgout_index++] = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
4417
if (scb->flags & SCB_DEVICE_RESET) {
drivers/scsi/aic7xxx/aic79xx_core.c
4420
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
4430
} else if ((scb->flags & SCB_ABORT) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
4432
if ((scb->hscb->control & TAG_ENB) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
4438
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
444
if (scb->hscb->cdb_len <= MAX_CDB_LEN_WITH_SENSE_ADDR
drivers/scsi/aic7xxx/aic79xx_core.c
4440
(scb->hscb->control & TAG_ENB) != 0 ? " Tag" : "");
drivers/scsi/aic7xxx/aic79xx_core.c
4449
} else if ((scb->flags & (SCB_AUTO_NEGOTIATE|SCB_NEGOTIATE)) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
445
|| (scb->hscb->cdb_len & SCB_CDB_LEN_PTR) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
446
scb->hscb->shared_data.idata.cdb_plus_saddr.sense_addr =
drivers/scsi/aic7xxx/aic79xx_core.c
4462
printk("SCSIID = %x, target_mask = %x\n", scb->hscb->scsiid,
drivers/scsi/aic7xxx/aic79xx_core.c
4465
"SCB flags = %x", SCB_GET_TAG(scb), scb->hscb->control,
drivers/scsi/aic7xxx/aic79xx_core.c
4467
scb->flags);
drivers/scsi/aic7xxx/aic79xx_core.c
447
ahd_htole32(scb->sense_busaddr);
drivers/scsi/aic7xxx/aic79xx_core.c
4476
scb->hscb->control &= ~MK_MESSAGE;
drivers/scsi/aic7xxx/aic79xx_core.c
451
ahd_setup_data_scb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
459
sg = (struct ahd_dma64_seg *)scb->sg_list;
drivers/scsi/aic7xxx/aic79xx_core.c
460
scb->hscb->dataptr = sg->addr;
drivers/scsi/aic7xxx/aic79xx_core.c
461
scb->hscb->datacnt = sg->len;
drivers/scsi/aic7xxx/aic79xx_core.c
466
sg = (struct ahd_dma_seg *)scb->sg_list;
drivers/scsi/aic7xxx/aic79xx_core.c
467
dataptr_words = (uint32_t*)&scb->hscb->dataptr;
drivers/scsi/aic7xxx/aic79xx_core.c
474
scb->hscb->dataptr |= ahd_htole64(high_addr << 8);
drivers/scsi/aic7xxx/aic79xx_core.c
476
scb->hscb->datacnt = sg->len;
drivers/scsi/aic7xxx/aic79xx_core.c
484
scb->hscb->sgptr = ahd_htole32(scb->sg_list_busaddr|SG_FULL_RESID);
drivers/scsi/aic7xxx/aic79xx_core.c
488
ahd_setup_noxfer_scb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
490
scb->hscb->sgptr = ahd_htole32(SG_LIST_NULL);
drivers/scsi/aic7xxx/aic79xx_core.c
491
scb->hscb->dataptr = 0;
drivers/scsi/aic7xxx/aic79xx_core.c
492
scb->hscb->datacnt = 0;
drivers/scsi/aic7xxx/aic79xx_core.c
497
ahd_sg_bus_to_virt(struct ahd_softc *ahd, struct scb *scb, uint32_t sg_busaddr)
drivers/scsi/aic7xxx/aic79xx_core.c
502
sg_offset = sg_busaddr - (scb->sg_list_busaddr - ahd_sg_size(ahd));
drivers/scsi/aic7xxx/aic79xx_core.c
503
return ((uint8_t *)scb->sg_list + sg_offset);
drivers/scsi/aic7xxx/aic79xx_core.c
507
ahd_sg_virt_to_bus(struct ahd_softc *ahd, struct scb *scb, void *sg)
drivers/scsi/aic7xxx/aic79xx_core.c
512
sg_offset = ((uint8_t *)sg - (uint8_t *)scb->sg_list)
drivers/scsi/aic7xxx/aic79xx_core.c
515
return (scb->sg_list_busaddr + sg_offset);
drivers/scsi/aic7xxx/aic79xx_core.c
519
ahd_sync_scb(struct ahd_softc *ahd, struct scb *scb, int op)
drivers/scsi/aic7xxx/aic79xx_core.c
522
scb->hscb_map->dmamap,
drivers/scsi/aic7xxx/aic79xx_core.c
523
/*offset*/(uint8_t*)scb->hscb - scb->hscb_map->vaddr,
drivers/scsi/aic7xxx/aic79xx_core.c
524
/*len*/sizeof(*scb->hscb), op);
drivers/scsi/aic7xxx/aic79xx_core.c
528
ahd_sync_sglist(struct ahd_softc *ahd, struct scb *scb, int op)
drivers/scsi/aic7xxx/aic79xx_core.c
530
if (scb->sg_count == 0)
drivers/scsi/aic7xxx/aic79xx_core.c
534
scb->sg_map->dmamap,
drivers/scsi/aic7xxx/aic79xx_core.c
535
/*offset*/scb->sg_list_busaddr - ahd_sg_size(ahd),
drivers/scsi/aic7xxx/aic79xx_core.c
536
/*len*/ahd_sg_size(ahd) * scb->sg_count, op);
drivers/scsi/aic7xxx/aic79xx_core.c
540
ahd_sync_sense(struct ahd_softc *ahd, struct scb *scb, int op)
drivers/scsi/aic7xxx/aic79xx_core.c
543
scb->sense_map->dmamap,
drivers/scsi/aic7xxx/aic79xx_core.c
544
/*offset*/scb->sense_busaddr,
drivers/scsi/aic7xxx/aic79xx_core.c
5492
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
5500
scb = ahd_lookup_scb(ahd, scb_index);
drivers/scsi/aic7xxx/aic79xx_core.c
5580
} else if ((scb->hscb->control & SIMPLE_QUEUE_TAG) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
5584
tag_type = (scb->hscb->control & SIMPLE_QUEUE_TAG);
drivers/scsi/aic7xxx/aic79xx_core.c
5590
ahd_set_tags(ahd, scb->io_ctx, devinfo, AHD_QUEUE_NONE);
drivers/scsi/aic7xxx/aic79xx_core.c
5598
ahd_set_tags(ahd, scb->io_ctx, devinfo, AHD_QUEUE_BASIC);
drivers/scsi/aic7xxx/aic79xx_core.c
5608
scb->hscb->control &= mask;
drivers/scsi/aic7xxx/aic79xx_core.c
5609
ahd_set_transaction_tag(scb, /*enabled*/FALSE,
drivers/scsi/aic7xxx/aic79xx_core.c
5613
ahd_busy_tcl(ahd, BUILD_TCL(scb->hscb->scsiid, devinfo->lun),
drivers/scsi/aic7xxx/aic79xx_core.c
5614
SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
5621
ahd_search_qinfifo(ahd, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
5622
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
5623
SCB_GET_LUN(scb), /*tag*/SCB_LIST_NULL,
drivers/scsi/aic7xxx/aic79xx_core.c
5658
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
5661
scb = ahd_lookup_scb(ahd, scb_index);
drivers/scsi/aic7xxx/aic79xx_core.c
5667
|| ahd_get_transfer_dir(scb) != CAM_DIR_IN) {
drivers/scsi/aic7xxx/aic79xx_core.c
5715
sg = ahd_sg_bus_to_virt(ahd, scb, sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
5723
if (sg != scb->sg_list
drivers/scsi/aic7xxx/aic79xx_core.c
5742
sgptr = ahd_sg_virt_to_bus(ahd, scb,
drivers/scsi/aic7xxx/aic79xx_core.c
5748
sg = ahd_sg_bus_to_virt(ahd, scb, sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
5756
if (sg != scb->sg_list
drivers/scsi/aic7xxx/aic79xx_core.c
5775
sgptr = ahd_sg_virt_to_bus(ahd, scb,
drivers/scsi/aic7xxx/aic79xx_core.c
5807
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
5819
scb = ahd_lookup_scb(ahd, scb_index);
drivers/scsi/aic7xxx/aic79xx_core.c
5830
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
5854
sg = ahd_sg_bus_to_virt(ahd, scb, sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
5866
sg = ahd_sg_bus_to_virt(ahd, scb, sgptr);
drivers/scsi/aic7xxx/aic79xx_core.c
5952
struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
5963
if (scb != NULL && (scb->flags & SCB_AUTO_NEGOTIATE) != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
6076
ahd_name(ahd), (u_int)sizeof(struct scb),
drivers/scsi/aic7xxx/aic79xx_core.c
6452
static struct scb *
drivers/scsi/aic7xxx/aic79xx_core.c
6455
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6460
LIST_FOREACH(scb, &ahd->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic79xx_core.c
6461
if (SCB_GET_TAG(scb) == tag)
drivers/scsi/aic7xxx/aic79xx_core.c
6462
return (scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6468
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
drivers/scsi/aic7xxx/aic79xx_core.c
6469
struct scb *list_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6471
list_scb = scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6482
LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) {
drivers/scsi/aic7xxx/aic79xx_core.c
6483
if (SCB_GET_TAG(scb) == tag)
drivers/scsi/aic7xxx/aic79xx_core.c
6484
return (scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6609
ahd_add_col_list(struct ahd_softc *ahd, struct scb *scb, u_int col_idx)
drivers/scsi/aic7xxx/aic79xx_core.c
6613
struct scb *first_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6615
scb->flags |= SCB_ON_COL_LIST;
drivers/scsi/aic7xxx/aic79xx_core.c
6616
AHD_SET_SCB_COL_IDX(scb, col_idx);
drivers/scsi/aic7xxx/aic79xx_core.c
6621
LIST_INSERT_AFTER(first_scb, scb, collision_links);
drivers/scsi/aic7xxx/aic79xx_core.c
6623
LIST_INSERT_HEAD(free_list, scb, collision_links);
drivers/scsi/aic7xxx/aic79xx_core.c
6624
TAILQ_INSERT_TAIL(free_tailq, scb, links.tqe);
drivers/scsi/aic7xxx/aic79xx_core.c
6629
ahd_rem_col_list(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
6633
struct scb *first_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6636
scb->flags &= ~SCB_ON_COL_LIST;
drivers/scsi/aic7xxx/aic79xx_core.c
6637
col_idx = AHD_GET_SCB_COL_IDX(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6641
if (first_scb == scb) {
drivers/scsi/aic7xxx/aic79xx_core.c
6642
struct scb *next_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6649
next_scb = LIST_NEXT(scb, collision_links);
drivers/scsi/aic7xxx/aic79xx_core.c
6651
TAILQ_INSERT_AFTER(free_tailq, scb,
drivers/scsi/aic7xxx/aic79xx_core.c
6654
TAILQ_REMOVE(free_tailq, scb, links.tqe);
drivers/scsi/aic7xxx/aic79xx_core.c
6656
LIST_REMOVE(scb, collision_links);
drivers/scsi/aic7xxx/aic79xx_core.c
6662
struct scb *
drivers/scsi/aic7xxx/aic79xx_core.c
6665
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
6670
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
drivers/scsi/aic7xxx/aic79xx_core.c
6671
if (AHD_GET_SCB_COL_IDX(ahd, scb) != col_idx) {
drivers/scsi/aic7xxx/aic79xx_core.c
6672
ahd_rem_col_list(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6676
if ((scb = LIST_FIRST(&ahd->scb_data.any_dev_free_scb_list)) == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
6683
LIST_REMOVE(scb, links.le);
drivers/scsi/aic7xxx/aic79xx_core.c
6685
&& (scb->col_scb != NULL)
drivers/scsi/aic7xxx/aic79xx_core.c
6686
&& (scb->col_scb->flags & SCB_ACTIVE) == 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
6687
LIST_REMOVE(scb->col_scb, links.le);
drivers/scsi/aic7xxx/aic79xx_core.c
6688
ahd_add_col_list(ahd, scb->col_scb, col_idx);
drivers/scsi/aic7xxx/aic79xx_core.c
6691
scb->flags |= SCB_ACTIVE;
drivers/scsi/aic7xxx/aic79xx_core.c
6692
return (scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6699
ahd_free_scb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
6702
scb->flags = SCB_FLAG_NONE;
drivers/scsi/aic7xxx/aic79xx_core.c
6703
scb->hscb->control = 0;
drivers/scsi/aic7xxx/aic79xx_core.c
6704
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL;
drivers/scsi/aic7xxx/aic79xx_core.c
6706
if (scb->col_scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
6712
scb, links.le);
drivers/scsi/aic7xxx/aic79xx_core.c
6713
} else if ((scb->col_scb->flags & SCB_ON_COL_LIST) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
6720
ahd_rem_col_list(ahd, scb->col_scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6722
scb, links.le);
drivers/scsi/aic7xxx/aic79xx_core.c
6724
scb->col_scb, links.le);
drivers/scsi/aic7xxx/aic79xx_core.c
6725
} else if ((scb->col_scb->flags
drivers/scsi/aic7xxx/aic79xx_core.c
6727
&& (scb->col_scb->hscb->control & TAG_ENB) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
6734
ahd_add_col_list(ahd, scb,
drivers/scsi/aic7xxx/aic79xx_core.c
6735
AHD_GET_SCB_COL_IDX(ahd, scb->col_scb));
drivers/scsi/aic7xxx/aic79xx_core.c
6744
scb, links.le);
drivers/scsi/aic7xxx/aic79xx_core.c
6747
ahd_platform_scb_free(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
6754
struct scb *next_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
787
struct scb *
drivers/scsi/aic7xxx/aic79xx_core.c
790
struct scb* scb;
drivers/scsi/aic7xxx/aic79xx_core.c
794
scb = ahd->scb_data.scbindex[tag];
drivers/scsi/aic7xxx/aic79xx_core.c
7946
ahd_match_scb(struct ahd_softc *ahd, struct scb *scb, int target,
drivers/scsi/aic7xxx/aic79xx_core.c
7949
int targ = SCB_GET_TARGET(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
795
if (scb != NULL)
drivers/scsi/aic7xxx/aic79xx_core.c
7950
char chan = SCB_GET_CHANNEL(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
7951
int slun = SCB_GET_LUN(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
796
ahd_sync_scb(ahd, scb,
drivers/scsi/aic7xxx/aic79xx_core.c
7963
group = XPT_FC_GROUP(scb->io_ctx->ccb_h.func_code);
drivers/scsi/aic7xxx/aic79xx_core.c
7966
&& ((tag == SCB_GET_TAG(scb))
drivers/scsi/aic7xxx/aic79xx_core.c
7970
&& ((tag == scb->io_ctx->csio.tag_id)
drivers/scsi/aic7xxx/aic79xx_core.c
7974
match = ((tag == SCB_GET_TAG(scb)) || (tag == SCB_LIST_NULL));
drivers/scsi/aic7xxx/aic79xx_core.c
798
return (scb);
drivers/scsi/aic7xxx/aic79xx_core.c
7982
ahd_freeze_devq(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
7988
target = SCB_GET_TARGET(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
7989
lun = SCB_GET_LUN(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
7990
channel = SCB_GET_CHANNEL(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
7996
ahd_platform_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8000
ahd_qinfifo_requeue_tail(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
8002
struct scb *prev_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8016
ahd_qinfifo_requeue(ahd, prev_scb, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
802
ahd_swap_with_next_hscb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
8022
ahd_qinfifo_requeue(struct ahd_softc *ahd, struct scb *prev_scb,
drivers/scsi/aic7xxx/aic79xx_core.c
8023
struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
8028
busaddr = ahd_le32toh(scb->hscb->hscb_busaddr);
drivers/scsi/aic7xxx/aic79xx_core.c
8031
prev_scb->hscb->next_hscb_busaddr = scb->hscb->hscb_busaddr;
drivers/scsi/aic7xxx/aic79xx_core.c
8035
ahd->qinfifo[AHD_QIN_WRAP(ahd->qinfifonext)] = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8037
scb->hscb->next_hscb_busaddr = ahd->next_queued_hscb->hscb_busaddr;
drivers/scsi/aic7xxx/aic79xx_core.c
8038
ahd_sync_scb(ahd, scb, BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
drivers/scsi/aic7xxx/aic79xx_core.c
8062
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8076
LIST_FOREACH(scb, &ahd->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic79xx_core.c
8085
ahd_done_with_status(struct ahd_softc *ahd, struct scb *scb, uint32_t status)
drivers/scsi/aic7xxx/aic79xx_core.c
8090
ostat = ahd_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8092
ahd_set_transaction_status(scb, status);
drivers/scsi/aic7xxx/aic79xx_core.c
8093
cstat = ahd_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8095
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8096
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8104
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8105
struct scb *mk_msg_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8106
struct scb *prev_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8156
scb = ahd_lookup_scb(ahd, ahd->qinfifo[qinpos]);
drivers/scsi/aic7xxx/aic79xx_core.c
8157
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
8163
if (ahd_match_scb(ahd, scb, target, channel, lun, tag, role)) {
drivers/scsi/aic7xxx/aic79xx_core.c
8170
if ((scb->flags & SCB_ACTIVE) == 0)
drivers/scsi/aic7xxx/aic79xx_core.c
8172
ahd_done_with_status(ahd, scb, status);
drivers/scsi/aic7xxx/aic79xx_core.c
8180
ahd_qinfifo_requeue(ahd, prev_scb, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8181
prev_scb = scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8185
ahd_qinfifo_requeue(ahd, prev_scb, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8186
prev_scb = scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8228
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
8229
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
823
memcpy(q_hscb, scb->hscb, sizeof(*scb->hscb));
drivers/scsi/aic7xxx/aic79xx_core.c
8236
if (ahd_match_scb(ahd, scb, target, channel, CAM_LUN_WILDCARD,
drivers/scsi/aic7xxx/aic79xx_core.c
8246
printk(" %d ( ", SCB_GET_TARGET(ahd, scb));
drivers/scsi/aic7xxx/aic79xx_core.c
825
q_hscb->next_hscb_busaddr = scb->hscb->hscb_busaddr;
drivers/scsi/aic7xxx/aic79xx_core.c
8251
SCB_GET_TARGET(ahd, scb));
drivers/scsi/aic7xxx/aic79xx_core.c
828
ahd->next_queued_hscb = scb->hscb;
drivers/scsi/aic7xxx/aic79xx_core.c
829
ahd->next_queued_hscb_map = scb->hscb_map;
drivers/scsi/aic7xxx/aic79xx_core.c
8292
printk(" 0x%x", SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
830
scb->hscb = q_hscb;
drivers/scsi/aic7xxx/aic79xx_core.c
8301
&& ahd_match_scb(ahd, scb, target, channel, CAM_LUN_WILDCARD,
drivers/scsi/aic7xxx/aic79xx_core.c
831
scb->hscb_map = q_hscb_map;
drivers/scsi/aic7xxx/aic79xx_core.c
8335
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
834
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb;
drivers/scsi/aic7xxx/aic79xx_core.c
8354
scb = ahd_lookup_scb(ahd, scbid);
drivers/scsi/aic7xxx/aic79xx_core.c
8355
if (scb == NULL) {
drivers/scsi/aic7xxx/aic79xx_core.c
8363
if (ahd_match_scb(ahd, scb, target, channel,
drivers/scsi/aic7xxx/aic79xx_core.c
8371
if ((scb->flags & SCB_ACTIVE) == 0)
drivers/scsi/aic7xxx/aic79xx_core.c
8373
ahd_done_with_status(ahd, scb, status);
drivers/scsi/aic7xxx/aic79xx_core.c
841
ahd_queue_scb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
843
ahd_swap_with_next_hscb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
845
if (SCBID_IS_NULL(SCB_GET_TAG(scb)))
drivers/scsi/aic7xxx/aic79xx_core.c
847
SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
8490
struct scb *scbp;
drivers/scsi/aic7xxx/aic79xx_core.c
8491
struct scb *scbp_next;
drivers/scsi/aic7xxx/aic79xx_core.c
852
ahd->qinfifo[AHD_QIN_WRAP(ahd->qinfifonext)] = SCB_GET_TAG(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
855
if (scb->sg_count != 0)
drivers/scsi/aic7xxx/aic79xx_core.c
856
ahd_setup_data_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
858
ahd_setup_noxfer_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
859
ahd_setup_scb_common(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
865
ahd_sync_scb(ahd, scb, BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
drivers/scsi/aic7xxx/aic79xx_core.c
871
host_dataptr = ahd_le64toh(scb->hscb->dataptr);
drivers/scsi/aic7xxx/aic79xx_core.c
874
SCB_GET_TAG(scb), scb->hscb->scsiid,
drivers/scsi/aic7xxx/aic79xx_core.c
875
ahd_le32toh(scb->hscb->hscb_busaddr),
drivers/scsi/aic7xxx/aic79xx_core.c
878
ahd_le32toh(scb->hscb->datacnt));
drivers/scsi/aic7xxx/aic79xx_core.c
8821
ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
8835
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic79xx_core.c
8845
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8846
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8854
if ((scb->flags & SCB_SENSE) != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
8859
scb->flags &= ~SCB_SENSE;
drivers/scsi/aic7xxx/aic79xx_core.c
8860
ahd_set_transaction_status(scb, CAM_AUTOSENSE_FAIL);
drivers/scsi/aic7xxx/aic79xx_core.c
8861
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8864
ahd_set_transaction_status(scb, CAM_SCSI_STATUS_ERROR);
drivers/scsi/aic7xxx/aic79xx_core.c
8865
ahd_set_scsi_status(scb, hscb->shared_data.istatus.scsi_status);
drivers/scsi/aic7xxx/aic79xx_core.c
8871
ahd_sync_sense(ahd, scb, BUS_DMASYNC_POSTREAD);
drivers/scsi/aic7xxx/aic79xx_core.c
8872
siu = (struct scsi_status_iu_header *)scb->sense_data;
drivers/scsi/aic7xxx/aic79xx_core.c
8873
ahd_set_scsi_status(scb, siu->status);
drivers/scsi/aic7xxx/aic79xx_core.c
8876
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8878
SCB_GET_TAG(scb), siu->status);
drivers/scsi/aic7xxx/aic79xx_core.c
8886
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8915
ahd_set_transaction_status(scb,
drivers/scsi/aic7xxx/aic79xx_core.c
8919
scb->flags |= SCB_PKT_SENSE;
drivers/scsi/aic7xxx/aic79xx_core.c
8925
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8939
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8941
SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
8945
if (ahd_perform_autosense(scb) == 0)
drivers/scsi/aic7xxx/aic79xx_core.c
8948
ahd_compile_devinfo(&devinfo, SCB_GET_OUR_ID(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
8949
SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
8950
SCB_GET_LUN(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
8951
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
8959
sg = scb->sg_list;
drivers/scsi/aic7xxx/aic79xx_core.c
8964
ahd_update_residual(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8967
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
8971
scb->sg_count = 0;
drivers/scsi/aic7xxx/aic79xx_core.c
8972
sg = ahd_sg_setup(ahd, scb, sg, ahd_get_sense_bufaddr(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
8973
ahd_get_sense_bufsize(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_core.c
8978
&& SCB_GET_LUN(scb) < 8)
drivers/scsi/aic7xxx/aic79xx_core.c
8979
sc->byte2 = SCB_GET_LUN(scb) << 5;
drivers/scsi/aic7xxx/aic79xx_core.c
8982
sc->length = ahd_get_sense_bufsize(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9002
if (ahd_get_residual(scb) == ahd_get_transfer_length(scb)) {
drivers/scsi/aic7xxx/aic79xx_core.c
9009
scb->flags &=
drivers/scsi/aic7xxx/aic79xx_core.c
9011
scb->flags |= SCB_AUTO_NEGOTIATE;
drivers/scsi/aic7xxx/aic79xx_core.c
9014
ahd_setup_data_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9015
scb->flags |= SCB_SENSE;
drivers/scsi/aic7xxx/aic79xx_core.c
9016
ahd_queue_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9024
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9030
ahd_handle_scb_status(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
9032
if (scb->hscb->shared_data.istatus.scsi_status != 0) {
drivers/scsi/aic7xxx/aic79xx_core.c
9033
ahd_handle_scsi_status(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9035
ahd_calc_residual(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9036
ahd_done(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9044
ahd_calc_residual(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_core.c
9068
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic79xx_core.c
9089
resid = ahd_get_transfer_length(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9094
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9096
SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
9097
ahd_freeze_devq(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9098
ahd_set_transaction_status(scb, CAM_DATA_RUN_ERR);
drivers/scsi/aic7xxx/aic79xx_core.c
9099
ahd_freeze_scb(scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9112
sg = ahd_sg_bus_to_virt(ahd, scb, resid_sgptr & SG_PTR_MASK);
drivers/scsi/aic7xxx/aic79xx_core.c
9127
if ((scb->flags & SCB_SENSE) == 0)
drivers/scsi/aic7xxx/aic79xx_core.c
9128
ahd_set_residual(scb, resid);
drivers/scsi/aic7xxx/aic79xx_core.c
9130
ahd_set_sense_residual(scb, resid);
drivers/scsi/aic7xxx/aic79xx_core.c
9134
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_core.c
9136
(scb->flags & SCB_SENSE) ? "Sense " : "", resid);
drivers/scsi/aic7xxx/aic79xx_core.c
9634
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_core.c
9717
LIST_FOREACH(scb, &ahd->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic79xx_core.c
9720
cur_col = printk("\n%3d FIFO_USE[0x%x] ", SCB_GET_TAG(scb),
drivers/scsi/aic7xxx/aic79xx_core.c
9722
ahd_set_scbptr(ahd, SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
9732
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
drivers/scsi/aic7xxx/aic79xx_core.c
9733
struct scb *list_scb;
drivers/scsi/aic7xxx/aic79xx_core.c
9735
list_scb = scb;
drivers/scsi/aic7xxx/aic79xx_core.c
9742
LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) {
drivers/scsi/aic7xxx/aic79xx_core.c
9745
printk("%d ", SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_core.c
9791
struct scb *fifo_scb;
drivers/scsi/aic7xxx/aic79xx_inline.h
107
struct scb *scb, int op);
drivers/scsi/aic7xxx/aic79xx_inline.h
138
struct scb *
drivers/scsi/aic7xxx/aic79xx_inline.h
140
void ahd_queue_scb(struct ahd_softc *ahd, struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_inline.h
143
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_inline.h
145
struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_inline.h
158
ahd_get_sense_buf(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_inline.h
160
return (scb->sense_data);
drivers/scsi/aic7xxx/aic79xx_inline.h
164
ahd_get_sense_bufaddr(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_inline.h
166
return (scb->sense_busaddr);
drivers/scsi/aic7xxx/aic79xx_inline.h
99
void *ahd_sg_setup(struct ahd_softc *ahd, struct scb *scb,
drivers/scsi/aic7xxx/aic79xx_osm.c
1378
ahd_platform_freeze_devq(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.c
1380
ahd_platform_abort_scbs(ahd, SCB_GET_TARGET(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_osm.c
1381
SCB_GET_CHANNEL(ahd, scb),
drivers/scsi/aic7xxx/aic79xx_osm.c
1382
SCB_GET_LUN(scb), SCB_LIST_NULL,
drivers/scsi/aic7xxx/aic79xx_osm.c
1542
struct scb *scb;
drivers/scsi/aic7xxx/aic79xx_osm.c
1569
if ((scb = ahd_get_scb(ahd, col_idx)) == NULL) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1576
scb->io_ctx = cmd;
drivers/scsi/aic7xxx/aic79xx_osm.c
1577
scb->platform_data->dev = dev;
drivers/scsi/aic7xxx/aic79xx_osm.c
1578
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic79xx_osm.c
1579
cmd->host_scribble = (char *)scb;
drivers/scsi/aic7xxx/aic79xx_osm.c
1587
scb->hscb->task_management = 0;
drivers/scsi/aic7xxx/aic79xx_osm.c
1588
mask = SCB_GET_TARGET_MASK(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1594
scb->flags |= SCB_PACKETIZED;
drivers/scsi/aic7xxx/aic79xx_osm.c
1597
scb->flags |= SCB_AUTO_NEGOTIATE;
drivers/scsi/aic7xxx/aic79xx_osm.c
1598
scb->hscb->control |= MK_MESSAGE;
drivers/scsi/aic7xxx/aic79xx_osm.c
1614
scb->platform_data->xfer_len = 0;
drivers/scsi/aic7xxx/aic79xx_osm.c
1615
ahd_set_residual(scb, 0);
drivers/scsi/aic7xxx/aic79xx_osm.c
1616
ahd_set_sense_residual(scb, 0);
drivers/scsi/aic7xxx/aic79xx_osm.c
1617
scb->sg_count = 0;
drivers/scsi/aic7xxx/aic79xx_osm.c
1620
void *sg = scb->sg_list;
drivers/scsi/aic7xxx/aic79xx_osm.c
1624
scb->platform_data->xfer_len = 0;
drivers/scsi/aic7xxx/aic79xx_osm.c
1632
scb->platform_data->xfer_len += len;
drivers/scsi/aic7xxx/aic79xx_osm.c
1633
sg = ahd_sg_setup(ahd, scb, sg, addr, len,
drivers/scsi/aic7xxx/aic79xx_osm.c
1638
LIST_INSERT_HEAD(&ahd->pending_scbs, scb, pending_links);
drivers/scsi/aic7xxx/aic79xx_osm.c
1645
scb->flags |= SCB_ACTIVE;
drivers/scsi/aic7xxx/aic79xx_osm.c
1646
ahd_queue_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1759
ahd_done(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.c
1764
if ((scb->flags & SCB_ACTIVE) == 0) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1765
printk("SCB %d done'd twice\n", SCB_GET_TAG(scb));
drivers/scsi/aic7xxx/aic79xx_osm.c
1769
LIST_REMOVE(scb, pending_links);
drivers/scsi/aic7xxx/aic79xx_osm.c
1770
cmd = scb->io_ctx;
drivers/scsi/aic7xxx/aic79xx_osm.c
1771
dev = scb->platform_data->dev;
drivers/scsi/aic7xxx/aic79xx_osm.c
1779
} else if (scb->flags & SCB_DEVICE_RESET) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1782
ahd_free_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1785
ahd_linux_unmap_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1794
if (ahd_get_transaction_status(scb) == CAM_REQ_INPROG) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1799
ahd_get_transfer_length(scb) - ahd_get_residual(scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1801
if ((scb->flags & SCB_TRANSMISSION_ERROR) != 0) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1804
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1808
ahd_set_transaction_status(scb, CAM_UNCOR_PARITY);
drivers/scsi/aic7xxx/aic79xx_osm.c
1819
} else if (amount_xferred < scb->io_ctx->underflow) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1822
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1824
for (i = 0; i < scb->io_ctx->cmd_len; i++)
drivers/scsi/aic7xxx/aic79xx_osm.c
1825
printk(" 0x%x", scb->io_ctx->cmnd[i]);
drivers/scsi/aic7xxx/aic79xx_osm.c
1827
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1830
ahd_get_residual(scb),
drivers/scsi/aic7xxx/aic79xx_osm.c
1831
ahd_get_transfer_length(scb));
drivers/scsi/aic7xxx/aic79xx_osm.c
1832
ahd_set_transaction_status(scb, CAM_DATA_RUN_ERR);
drivers/scsi/aic7xxx/aic79xx_osm.c
1835
ahd_set_transaction_status(scb, CAM_REQ_CMP);
drivers/scsi/aic7xxx/aic79xx_osm.c
1838
ahd_get_transaction_status(scb) == CAM_SCSI_STATUS_ERROR) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1839
ahd_linux_handle_scsi_status(ahd, cmd->device, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1843
&& ahd_get_transaction_status(scb) == CAM_REQ_CMP
drivers/scsi/aic7xxx/aic79xx_osm.c
1844
&& ahd_get_scsi_status(scb) != SAM_STAT_TASK_SET_FULL)
drivers/scsi/aic7xxx/aic79xx_osm.c
1861
if ((scb->flags & SCB_RECOVERY_SCB) != 0) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1863
if (ahd_get_transaction_status(scb) == CAM_BDR_SENT
drivers/scsi/aic7xxx/aic79xx_osm.c
1864
|| ahd_get_transaction_status(scb) == CAM_REQ_ABORTED)
drivers/scsi/aic7xxx/aic79xx_osm.c
1865
ahd_set_transaction_status(scb, CAM_CMD_TIMEOUT);
drivers/scsi/aic7xxx/aic79xx_osm.c
1871
ahd_free_scb(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1878
struct scsi_device *sdev, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.c
1899
switch (ahd_get_scsi_status(scb)) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1911
cmd = scb->io_ctx;
drivers/scsi/aic7xxx/aic79xx_osm.c
1912
if ((scb->flags & (SCB_SENSE|SCB_PKT_SENSE)) != 0) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1917
if (scb->flags & SCB_SENSE) {
drivers/scsi/aic7xxx/aic79xx_osm.c
1919
- ahd_get_sense_residual(scb),
drivers/scsi/aic7xxx/aic79xx_osm.c
1928
scb->sense_data;
drivers/scsi/aic7xxx/aic79xx_osm.c
1937
ahd_get_sense_buf(ahd, scb)
drivers/scsi/aic7xxx/aic79xx_osm.c
1976
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
1995
ahd_print_path(ahd, scb);
drivers/scsi/aic7xxx/aic79xx_osm.c
2003
ahd_set_transaction_status(scb, CAM_REQUEUE_REQ);
drivers/scsi/aic7xxx/aic79xx_osm.c
2004
ahd_set_scsi_status(scb, SAM_STAT_GOOD);
drivers/scsi/aic7xxx/aic79xx_osm.c
2018
ahd_set_scsi_status(scb, SAM_STAT_BUSY);
drivers/scsi/aic7xxx/aic79xx_osm.c
2142
struct scb *pending_scb;
drivers/scsi/aic7xxx/aic79xx_osm.c
224
ahd_print_path(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.c
2247
struct scb *bus_scb;
drivers/scsi/aic7xxx/aic79xx_osm.c
228
scb != NULL ? SCB_GET_CHANNEL(ahd, scb) : 'X',
drivers/scsi/aic7xxx/aic79xx_osm.c
229
scb != NULL ? SCB_GET_TARGET(ahd, scb) : -1,
drivers/scsi/aic7xxx/aic79xx_osm.c
230
scb != NULL ? SCB_GET_LUN(scb) : -1);
drivers/scsi/aic7xxx/aic79xx_osm.c
354
struct scb *);
drivers/scsi/aic7xxx/aic79xx_osm.c
531
static void ahd_linux_unmap_scb(struct ahd_softc*, struct scb*);
drivers/scsi/aic7xxx/aic79xx_osm.c
534
ahd_linux_unmap_scb(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.c
538
cmd = scb->io_ctx;
drivers/scsi/aic7xxx/aic79xx_osm.c
540
ahd_sync_sglist(ahd, scb, BUS_DMASYNC_POSTWRITE);
drivers/scsi/aic7xxx/aic79xx_osm.c
774
struct scb *reset_scb;
drivers/scsi/aic7xxx/aic79xx_osm.h
507
void ahd_set_transaction_status(struct scb *scb, uint32_t status)
drivers/scsi/aic7xxx/aic79xx_osm.h
509
ahd_cmd_set_transaction_status(scb->io_ctx,status);
drivers/scsi/aic7xxx/aic79xx_osm.h
520
void ahd_set_scsi_status(struct scb *scb, uint32_t status)
drivers/scsi/aic7xxx/aic79xx_osm.h
522
ahd_cmd_set_scsi_status(scb->io_ctx, status);
drivers/scsi/aic7xxx/aic79xx_osm.h
532
uint32_t ahd_get_transaction_status(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
534
return (ahd_cmd_get_transaction_status(scb->io_ctx));
drivers/scsi/aic7xxx/aic79xx_osm.h
544
uint32_t ahd_get_scsi_status(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
546
return (ahd_cmd_get_scsi_status(scb->io_ctx));
drivers/scsi/aic7xxx/aic79xx_osm.h
550
void ahd_set_transaction_tag(struct scb *scb, int enabled, u_int type)
drivers/scsi/aic7xxx/aic79xx_osm.h
559
u_long ahd_get_transfer_length(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
561
return (scb->platform_data->xfer_len);
drivers/scsi/aic7xxx/aic79xx_osm.h
565
int ahd_get_transfer_dir(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
567
return (scb->io_ctx->sc_data_direction);
drivers/scsi/aic7xxx/aic79xx_osm.h
571
void ahd_set_residual(struct scb *scb, u_long resid)
drivers/scsi/aic7xxx/aic79xx_osm.h
573
scsi_set_resid(scb->io_ctx, resid);
drivers/scsi/aic7xxx/aic79xx_osm.h
577
void ahd_set_sense_residual(struct scb *scb, u_long resid)
drivers/scsi/aic7xxx/aic79xx_osm.h
579
scb->platform_data->sense_resid = resid;
drivers/scsi/aic7xxx/aic79xx_osm.h
583
u_long ahd_get_residual(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
585
return scsi_get_resid(scb->io_ctx);
drivers/scsi/aic7xxx/aic79xx_osm.h
589
u_long ahd_get_sense_residual(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
591
return (scb->platform_data->sense_resid);
drivers/scsi/aic7xxx/aic79xx_osm.h
595
int ahd_perform_autosense(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
606
ahd_get_sense_bufsize(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
619
ahd_platform_scb_free(struct ahd_softc *ahd, struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
627
void ahd_platform_freeze_devq(struct ahd_softc *ahd, struct scb *scb);
drivers/scsi/aic7xxx/aic79xx_osm.h
630
ahd_freeze_scb(struct scb *scb)
drivers/scsi/aic7xxx/aic79xx_osm.h
632
if ((scb->io_ctx->result & (CAM_DEV_QFRZN << 16)) == 0) {
drivers/scsi/aic7xxx/aic79xx_osm.h
633
scb->io_ctx->result |= CAM_DEV_QFRZN << 16;
drivers/scsi/aic7xxx/aic79xx_osm.h
634
scb->platform_data->dev->qfrozen++;
drivers/scsi/aic7xxx/aic79xx_osm.h
645
void ahd_done(struct ahd_softc*, struct scb*);
drivers/scsi/aic7xxx/aic79xx_osm.h
648
void ahd_print_path(struct ahd_softc *, struct scb *);
drivers/scsi/aic7xxx/aic7xxx.h
1144
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx.h
1145
int ahc_match_scb(struct ahc_softc *ahc, struct scb *scb,
drivers/scsi/aic7xxx/aic7xxx.h
564
SLIST_ENTRY(scb) sle;
drivers/scsi/aic7xxx/aic7xxx.h
565
TAILQ_ENTRY(scb) tqe;
drivers/scsi/aic7xxx/aic7xxx.h
567
LIST_ENTRY(scb) pending_links;
drivers/scsi/aic7xxx/aic7xxx.h
579
SLIST_HEAD(, scb) free_scbs; /*
drivers/scsi/aic7xxx/aic7xxx.h
583
struct scb *scbindex[256]; /*
drivers/scsi/aic7xxx/aic7xxx.h
593
struct scb *scbarray; /* Array of kernel SCBs */
drivers/scsi/aic7xxx/aic7xxx.h
77
#define SCB_IS_SCSIBUS_B(ahc, scb) \
drivers/scsi/aic7xxx/aic7xxx.h
78
(SCSIID_CHANNEL(ahc, (scb)->hscb->scsiid) == 'B')
drivers/scsi/aic7xxx/aic7xxx.h
79
#define SCB_GET_OUR_ID(scb) \
drivers/scsi/aic7xxx/aic7xxx.h
80
SCSIID_OUR_ID((scb)->hscb->scsiid)
drivers/scsi/aic7xxx/aic7xxx.h
81
#define SCB_GET_TARGET(ahc, scb) \
drivers/scsi/aic7xxx/aic7xxx.h
82
SCSIID_TARGET((ahc), (scb)->hscb->scsiid)
drivers/scsi/aic7xxx/aic7xxx.h
83
#define SCB_GET_CHANNEL(ahc, scb) \
drivers/scsi/aic7xxx/aic7xxx.h
84
SCSIID_CHANNEL(ahc, (scb)->hscb->scsiid)
drivers/scsi/aic7xxx/aic7xxx.h
85
#define SCB_GET_LUN(scb) \
drivers/scsi/aic7xxx/aic7xxx.h
86
((scb)->hscb->lun & LID)
drivers/scsi/aic7xxx/aic7xxx.h
866
TAILQ_HEAD(scb_tailq, scb);
drivers/scsi/aic7xxx/aic7xxx.h
87
#define SCB_GET_TARGET_OFFSET(ahc, scb) \
drivers/scsi/aic7xxx/aic7xxx.h
88
(SCB_GET_TARGET(ahc, scb) + (SCB_IS_SCSIBUS_B(ahc, scb) ? 8 : 0))
drivers/scsi/aic7xxx/aic7xxx.h
89
#define SCB_GET_TARGET_MASK(ahc, scb) \
drivers/scsi/aic7xxx/aic7xxx.h
90
(0x01 << (SCB_GET_TARGET_OFFSET(ahc, scb)))
drivers/scsi/aic7xxx/aic7xxx.h
906
struct scb *next_queued_scb;
drivers/scsi/aic7xxx/aic7xxx.h
911
BSD_LIST_HEAD(, scb) pending_scbs;
drivers/scsi/aic7xxx/aic7xxx.h
92
#define SCB_IS_SILENT(scb) \
drivers/scsi/aic7xxx/aic7xxx.h
94
&& (((scb)->flags & SCB_SILENT) != 0))
drivers/scsi/aic7xxx/aic7xxx.h
96
#define SCB_IS_SILENT(scb) \
drivers/scsi/aic7xxx/aic7xxx.h
97
(((scb)->flags & SCB_SILENT) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
1014
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
1015
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1025
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic7xxx_core.c
1028
if ((scb->flags & SCB_SENSE) != 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1034
scb->flags &= ~SCB_SENSE;
drivers/scsi/aic7xxx/aic7xxx_core.c
1035
ahc_set_transaction_status(scb, CAM_AUTOSENSE_FAIL);
drivers/scsi/aic7xxx/aic7xxx_core.c
1038
ahc_set_transaction_status(scb, CAM_SCSI_STATUS_ERROR);
drivers/scsi/aic7xxx/aic7xxx_core.c
1040
ahc_freeze_devq(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1041
ahc_freeze_scb(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1042
ahc_set_scsi_status(scb, hscb->shared_data.status.scsi_status);
drivers/scsi/aic7xxx/aic7xxx_core.c
1058
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1060
scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
1064
if (ahc_perform_autosense(scb) == 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
1073
sg = scb->sg_list;
drivers/scsi/aic7xxx/aic7xxx_core.c
1078
ahc_update_residual(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1081
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1085
sg->addr = ahc_get_sense_bufaddr(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1086
sg->len = ahc_get_sense_bufsize(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1096
&& SCB_GET_LUN(scb) < 8)
drivers/scsi/aic7xxx/aic7xxx_core.c
1097
sc->byte2 = SCB_GET_LUN(scb) << 5;
drivers/scsi/aic7xxx/aic7xxx_core.c
1120
if (ahc_get_residual(scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
1121
== ahc_get_transfer_length(scb)) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1128
scb->flags &= ~SCB_NEGOTIATE;
drivers/scsi/aic7xxx/aic7xxx_core.c
1129
scb->flags |= SCB_AUTO_NEGOTIATE;
drivers/scsi/aic7xxx/aic7xxx_core.c
1134
hscb->sgptr = scb->sg_list_phys | SG_FULL_RESID;
drivers/scsi/aic7xxx/aic7xxx_core.c
1136
scb->sg_count = 1;
drivers/scsi/aic7xxx/aic7xxx_core.c
1137
scb->flags |= SCB_SENSE;
drivers/scsi/aic7xxx/aic7xxx_core.c
1138
ahc_qinfifo_requeue_tail(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1144
ahc_scb_timer_reset(scb, 5 * 1000000);
drivers/scsi/aic7xxx/aic7xxx_core.c
1246
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
1266
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
1269
if (scb == NULL)
drivers/scsi/aic7xxx/aic7xxx_core.c
1276
scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1292
scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1350
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
1357
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
1358
if (scb != NULL)
drivers/scsi/aic7xxx/aic7xxx_core.c
1359
ahc_set_transaction_status(scb,
drivers/scsi/aic7xxx/aic7xxx_core.c
1384
scb = ahc_lookup_scb(ahc, scbindex);
drivers/scsi/aic7xxx/aic7xxx_core.c
1389
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1393
scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
1394
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1397
ahc_get_transfer_length(scb), scb->sg_count);
drivers/scsi/aic7xxx/aic7xxx_core.c
1398
if (scb->sg_count > 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1399
for (i = 0; i < scb->sg_count; i++) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1403
(ahc_le32toh(scb->sg_list[i].len) >> 24
drivers/scsi/aic7xxx/aic7xxx_core.c
1405
ahc_le32toh(scb->sg_list[i].addr),
drivers/scsi/aic7xxx/aic7xxx_core.c
1406
ahc_le32toh(scb->sg_list[i].len)
drivers/scsi/aic7xxx/aic7xxx_core.c
1414
ahc_freeze_devq(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1415
if ((scb->flags & SCB_SENSE) == 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1416
ahc_set_transaction_status(scb, CAM_DATA_RUN_ERR);
drivers/scsi/aic7xxx/aic7xxx_core.c
1418
scb->flags &= ~SCB_SENSE;
drivers/scsi/aic7xxx/aic7xxx_core.c
1419
ahc_set_transaction_status(scb, CAM_AUTOSENSE_FAIL);
drivers/scsi/aic7xxx/aic7xxx_core.c
1421
ahc_freeze_scb(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1452
scb = ahc_lookup_scb(ahc, scbindex);
drivers/scsi/aic7xxx/aic7xxx_core.c
1453
if (scb != NULL
drivers/scsi/aic7xxx/aic7xxx_core.c
1454
&& (scb->flags & SCB_RECOVERY_SCB) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
1459
ahc_search_qinfifo(ahc, SCB_GET_TARGET(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_core.c
1460
SCB_GET_CHANNEL(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_core.c
1461
SCB_GET_LUN(scb), scb->hscb->tag,
drivers/scsi/aic7xxx/aic7xxx_core.c
1532
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
154
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1568
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
1569
if (scb != NULL
drivers/scsi/aic7xxx/aic7xxx_core.c
1571
scb = NULL;
drivers/scsi/aic7xxx/aic7xxx_core.c
158
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1647
if (scb != NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1648
if (SCB_IS_SILENT(scb))
drivers/scsi/aic7xxx/aic7xxx_core.c
1651
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1652
scb->flags |= SCB_TRANSMISSION_ERROR;
drivers/scsi/aic7xxx/aic7xxx_core.c
1739
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
1740
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1749
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1754
ahc_scb_devinfo(ahc, &devinfo, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1755
ahc_set_transaction_status(scb, CAM_SEL_TIMEOUT);
drivers/scsi/aic7xxx/aic7xxx_core.c
1756
ahc_freeze_devq(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1824
tag = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
1825
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1827
scb->hscb->tag, tag == SCB_LIST_NULL ?
drivers/scsi/aic7xxx/aic7xxx_core.c
1864
ahc_qinfifo_requeue_tail(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1876
ahc_qinfifo_requeue_tail(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1890
ahc_qinfifo_requeue_tail(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1897
if (scb != NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
1900
if ((scb->hscb->control & TAG_ENB) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
1901
tag = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
1904
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
1906
SCB_GET_LUN(scb), tag,
drivers/scsi/aic7xxx/aic7xxx_core.c
195
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
203
struct scb *prev_scb,
drivers/scsi/aic7xxx/aic7xxx_core.c
204
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
2077
ahc_print_scb(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
2081
struct hardware_scb *hscb = scb->hscb;
drivers/scsi/aic7xxx/aic7xxx_core.c
2084
(void *)scb,
drivers/scsi/aic7xxx/aic7xxx_core.c
2097
if (scb->sg_count > 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
2098
for (i = 0; i < scb->sg_count; i++) {
drivers/scsi/aic7xxx/aic7xxx_core.c
2101
(ahc_le32toh(scb->sg_list[i].len) >> 24
drivers/scsi/aic7xxx/aic7xxx_core.c
2103
ahc_le32toh(scb->sg_list[i].addr),
drivers/scsi/aic7xxx/aic7xxx_core.c
2104
ahc_le32toh(scb->sg_list[i].len));
drivers/scsi/aic7xxx/aic7xxx_core.c
260
static void ahc_freeze_devq(struct ahc_softc *ahc, struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
265
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
2669
struct scb *pending_scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
2818
struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
2823
our_id = SCSIID_OUR_ID(scb->hscb->scsiid);
drivers/scsi/aic7xxx/aic7xxx_core.c
2825
if ((scb->flags & SCB_TARGET_SCB) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
2827
ahc_compile_devinfo(devinfo, our_id, SCB_GET_TARGET(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_core.c
2828
SCB_GET_LUN(scb), SCB_GET_CHANNEL(ahc, scb), role);
drivers/scsi/aic7xxx/aic7xxx_core.c
2852
struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
2862
if ((scb->flags & SCB_DEVICE_RESET) == 0
drivers/scsi/aic7xxx/aic7xxx_core.c
2866
identify_msg = MSG_IDENTIFYFLAG | SCB_GET_LUN(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
2867
if ((scb->hscb->control & DISCENB) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
2872
if ((scb->hscb->control & TAG_ENB) != 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
2874
scb->hscb->control & (TAG_ENB|SCB_TAG_TYPE);
drivers/scsi/aic7xxx/aic7xxx_core.c
2875
ahc->msgout_buf[ahc->msgout_index++] = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
2880
if (scb->flags & SCB_DEVICE_RESET) {
drivers/scsi/aic7xxx/aic7xxx_core.c
2883
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
2893
} else if ((scb->flags & SCB_ABORT) != 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
2894
if ((scb->hscb->control & TAG_ENB) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
2899
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
2901
(scb->hscb->control & TAG_ENB) != 0 ? " Tag" : "");
drivers/scsi/aic7xxx/aic7xxx_core.c
2910
} else if ((scb->flags & (SCB_AUTO_NEGOTIATE|SCB_NEGOTIATE)) != 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
2915
printk("SCSIID = %x, target_mask = %x\n", scb->hscb->scsiid,
drivers/scsi/aic7xxx/aic7xxx_core.c
2918
"SCB flags = %x", scb->hscb->tag, scb->hscb->control,
drivers/scsi/aic7xxx/aic7xxx_core.c
2919
ahc_inb(ahc, MSG_OUT), scb->flags);
drivers/scsi/aic7xxx/aic7xxx_core.c
2927
scb->hscb->control &= ~MK_MESSAGE;
drivers/scsi/aic7xxx/aic7xxx_core.c
3116
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
3125
scb = ahc_lookup_scb(ahc, scbid);
drivers/scsi/aic7xxx/aic7xxx_core.c
3139
scb = NULL;
drivers/scsi/aic7xxx/aic7xxx_core.c
3140
} else if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
3149
ahc_set_transaction_status(scb, CAM_SEQUENCE_FAIL);
drivers/scsi/aic7xxx/aic7xxx_core.c
3151
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
3161
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
3164
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
3191
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
3198
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
3199
scb->flags |= SCB_ABORT;
drivers/scsi/aic7xxx/aic7xxx_core.c
365
ahc_sg_bus_to_virt(struct scb *scb, uint32_t sg_busaddr)
drivers/scsi/aic7xxx/aic7xxx_core.c
369
sg_index = (sg_busaddr - scb->sg_list_phys)/sizeof(struct ahc_dma_seg);
drivers/scsi/aic7xxx/aic7xxx_core.c
373
return (&scb->sg_list[sg_index]);
drivers/scsi/aic7xxx/aic7xxx_core.c
377
ahc_sg_virt_to_bus(struct scb *scb, struct ahc_dma_seg *sg)
drivers/scsi/aic7xxx/aic7xxx_core.c
382
sg_index = sg - &scb->sg_list[1];
drivers/scsi/aic7xxx/aic7xxx_core.c
384
return (scb->sg_list_phys + (sg_index * sizeof(*scb->sg_list)));
drivers/scsi/aic7xxx/aic7xxx_core.c
395
ahc_sync_scb(struct ahc_softc *ahc, struct scb *scb, int op)
drivers/scsi/aic7xxx/aic7xxx_core.c
3989
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
399
/*offset*/(scb->hscb - ahc->hscbs) * sizeof(*scb->hscb),
drivers/scsi/aic7xxx/aic7xxx_core.c
3997
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
400
/*len*/sizeof(*scb->hscb), op);
drivers/scsi/aic7xxx/aic7xxx_core.c
404
ahc_sync_sglist(struct ahc_softc *ahc, struct scb *scb, int op)
drivers/scsi/aic7xxx/aic7xxx_core.c
4058
} else if ((scb->hscb->control & SIMPLE_QUEUE_TAG) != 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
406
if (scb->sg_count == 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
4062
tag_type = (scb->hscb->control & SIMPLE_QUEUE_TAG);
drivers/scsi/aic7xxx/aic7xxx_core.c
4068
ahc_set_tags(ahc, scb->io_ctx, devinfo, AHC_QUEUE_NONE);
drivers/scsi/aic7xxx/aic7xxx_core.c
4076
ahc_set_tags(ahc, scb->io_ctx, devinfo, AHC_QUEUE_BASIC);
drivers/scsi/aic7xxx/aic7xxx_core.c
4086
scb->hscb->control &= mask;
drivers/scsi/aic7xxx/aic7xxx_core.c
4087
ahc_set_transaction_tag(scb, /*enabled*/FALSE,
drivers/scsi/aic7xxx/aic7xxx_core.c
409
ahc_dmamap_sync(ahc, ahc->scb_data->sg_dmat, scb->sg_map->sg_dmamap,
drivers/scsi/aic7xxx/aic7xxx_core.c
410
/*offset*/(scb->sg_list - scb->sg_map->sg_vaddr)
drivers/scsi/aic7xxx/aic7xxx_core.c
4101
TAILQ_INSERT_HEAD(untagged_q, scb, links.tqe);
drivers/scsi/aic7xxx/aic7xxx_core.c
4102
scb->flags |= SCB_UNTAGGEDQ;
drivers/scsi/aic7xxx/aic7xxx_core.c
4104
ahc_busy_tcl(ahc, BUILD_TCL(scb->hscb->scsiid, devinfo->lun),
drivers/scsi/aic7xxx/aic7xxx_core.c
4105
scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
4112
ahc_search_qinfifo(ahc, SCB_GET_TARGET(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_core.c
4113
SCB_GET_CHANNEL(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_core.c
4114
SCB_GET_LUN(scb), /*tag*/SCB_LIST_NULL,
drivers/scsi/aic7xxx/aic7xxx_core.c
412
/*len*/sizeof(struct ahc_dma_seg) * scb->sg_count, op);
drivers/scsi/aic7xxx/aic7xxx_core.c
4135
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
4138
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
4144
|| ahc_get_transfer_dir(scb) != CAM_DIR_IN) {
drivers/scsi/aic7xxx/aic7xxx_core.c
4193
sg = ahc_sg_bus_to_virt(scb, sgptr);
drivers/scsi/aic7xxx/aic7xxx_core.c
4201
if (sg != scb->sg_list
drivers/scsi/aic7xxx/aic7xxx_core.c
4219
sgptr = ahc_sg_virt_to_bus(scb, sg);
drivers/scsi/aic7xxx/aic7xxx_core.c
4243
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
4251
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
4258
sg = ahc_sg_bus_to_virt(scb, sgptr);
drivers/scsi/aic7xxx/aic7xxx_core.c
429
ahc_update_residual(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
433
sgptr = ahc_le32toh(scb->hscb->sgptr);
drivers/scsi/aic7xxx/aic7xxx_core.c
435
ahc_calc_residual(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
4353
struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
4364
if (scb != NULL && (scb->flags & SCB_AUTO_NEGOTIATE) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
4741
scb_data->scbarray = kzalloc_objs(struct scb, AHC_SCB_MAX_ALLOC,
drivers/scsi/aic7xxx/aic7xxx_core.c
4932
struct scb *next_scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
519
struct scb *
drivers/scsi/aic7xxx/aic7xxx_core.c
522
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
524
if ((scb = SLIST_FIRST(&ahc->scb_data->free_scbs)) == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
526
scb = SLIST_FIRST(&ahc->scb_data->free_scbs);
drivers/scsi/aic7xxx/aic7xxx_core.c
527
if (scb == NULL)
drivers/scsi/aic7xxx/aic7xxx_core.c
531
return (scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5378
(u_int)sizeof(struct scb),
drivers/scsi/aic7xxx/aic7xxx_core.c
538
ahc_free_scb(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
542
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic7xxx_core.c
545
scb->flags = SCB_FREE;
drivers/scsi/aic7xxx/aic7xxx_core.c
548
SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links.sle);
drivers/scsi/aic7xxx/aic7xxx_core.c
551
ahc_platform_scb_free(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
554
struct scb *
drivers/scsi/aic7xxx/aic7xxx_core.c
557
struct scb* scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
559
scb = ahc->scb_data->scbindex[tag];
drivers/scsi/aic7xxx/aic7xxx_core.c
560
if (scb != NULL)
drivers/scsi/aic7xxx/aic7xxx_core.c
561
ahc_sync_scb(ahc, scb,
drivers/scsi/aic7xxx/aic7xxx_core.c
563
return (scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
567
ahc_swap_with_next_hscb(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
5691
ahc_match_scb(struct ahc_softc *ahc, struct scb *scb, int target,
drivers/scsi/aic7xxx/aic7xxx_core.c
5694
int targ = SCB_GET_TARGET(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5695
char chan = SCB_GET_CHANNEL(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5696
int slun = SCB_GET_LUN(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5708
group = XPT_FC_GROUP(scb->io_ctx->ccb_h.func_code);
drivers/scsi/aic7xxx/aic7xxx_core.c
5711
&& ((tag == scb->hscb->tag)
drivers/scsi/aic7xxx/aic7xxx_core.c
5715
&& ((tag == scb->io_ctx->csio.tag_id)
drivers/scsi/aic7xxx/aic7xxx_core.c
5719
match = ((tag == scb->hscb->tag) || (tag == SCB_LIST_NULL));
drivers/scsi/aic7xxx/aic7xxx_core.c
5727
ahc_freeze_devq(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
5733
target = SCB_GET_TARGET(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5734
lun = SCB_GET_LUN(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5735
channel = SCB_GET_CHANNEL(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5741
ahc_platform_freeze_devq(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5745
ahc_qinfifo_requeue_tail(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
5747
struct scb *prev_scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5758
ahc_qinfifo_requeue(ahc, prev_scb, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5767
ahc_qinfifo_requeue(struct ahc_softc *ahc, struct scb *prev_scb,
drivers/scsi/aic7xxx/aic7xxx_core.c
5768
struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
5771
ahc_outb(ahc, NEXT_QUEUED_SCB, scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
5773
prev_scb->hscb->next = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
5777
ahc->qinfifo[ahc->qinfifonext++] = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
5778
scb->hscb->next = ahc->next_queued_scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
5779
ahc_sync_scb(ahc, scb, BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
drivers/scsi/aic7xxx/aic7xxx_core.c
5802
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5803
struct scb *prev_scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5840
scb = ahc_lookup_scb(ahc, ahc->qinfifo[qinpos]);
drivers/scsi/aic7xxx/aic7xxx_core.c
5841
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
5847
if (ahc_match_scb(ahc, scb, target, channel, lun, tag, role)) {
drivers/scsi/aic7xxx/aic7xxx_core.c
5858
ostat = ahc_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
586
memcpy(q_hscb, scb->hscb, sizeof(*scb->hscb));
drivers/scsi/aic7xxx/aic7xxx_core.c
5860
ahc_set_transaction_status(scb, status);
drivers/scsi/aic7xxx/aic7xxx_core.c
5861
cstat = ahc_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5863
ahc_freeze_scb(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5864
if ((scb->flags & SCB_ACTIVE) == 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
5866
ahc_done(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
587
if ((scb->flags & SCB_CDB32_PTR) != 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
5872
ahc_qinfifo_requeue(ahc, prev_scb, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5873
prev_scb = scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5877
ahc_qinfifo_requeue(ahc, prev_scb, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5878
prev_scb = scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5904
scb = ahc_lookup_scb(ahc, ahc->qinfifo[qinstart]);
drivers/scsi/aic7xxx/aic7xxx_core.c
5906
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
5917
next = scb->hscb->next;
drivers/scsi/aic7xxx/aic7xxx_core.c
5918
ahc->scb_data->scbindex[scb->hscb->tag] = NULL;
drivers/scsi/aic7xxx/aic7xxx_core.c
5919
ahc_swap_with_next_hscb(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5920
scb->hscb->next = next;
drivers/scsi/aic7xxx/aic7xxx_core.c
5921
ahc->qinfifo[qinstart] = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
5924
ahc_outb(ahc, NEXT_QUEUED_SCB, scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
5928
scb = ahc_lookup_scb(ahc, ahc->qinfifo[qintail]);
drivers/scsi/aic7xxx/aic7xxx_core.c
5929
scb->hscb->next = ahc->next_queued_scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
593
q_hscb->next = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
5951
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
5952
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
5957
if (ahc_match_scb(ahc, scb, target, channel,
drivers/scsi/aic7xxx/aic7xxx_core.c
596
ahc->next_queued_scb->hscb = scb->hscb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5969
ostat = ahc_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
597
scb->hscb = q_hscb;
drivers/scsi/aic7xxx/aic7xxx_core.c
5971
ahc_set_transaction_status(scb,
drivers/scsi/aic7xxx/aic7xxx_core.c
5973
cstat = ahc_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5975
ahc_freeze_scb(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
5976
if ((scb->flags & SCB_ACTIVE) == 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
5978
ahc_done(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
600
ahc->scb_data->scbindex[scb->hscb->tag] = scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
6009
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
6040
struct scb *next_scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
6046
scb = next_scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
6047
next_scb = TAILQ_NEXT(scb, links.tqe);
drivers/scsi/aic7xxx/aic7xxx_core.c
6058
if ((scb->flags & SCB_ACTIVE) != 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
6061
if (ahc_match_scb(ahc, scb, target, channel, lun,
drivers/scsi/aic7xxx/aic7xxx_core.c
6063
|| (ctx != NULL && ctx != scb->io_ctx))
drivers/scsi/aic7xxx/aic7xxx_core.c
607
ahc_queue_scb(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
6076
ostat = ahc_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6078
ahc_set_transaction_status(scb, status);
drivers/scsi/aic7xxx/aic7xxx_core.c
6079
cstat = ahc_get_transaction_status(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6081
ahc_freeze_scb(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6082
if ((scb->flags & SCB_ACTIVE) == 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
6084
ahc_done(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6088
scb->flags &= ~SCB_UNTAGGEDQ;
drivers/scsi/aic7xxx/aic7xxx_core.c
6089
TAILQ_REMOVE(untagged_q, scb, links.tqe);
drivers/scsi/aic7xxx/aic7xxx_core.c
609
ahc_swap_with_next_hscb(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6107
struct scb *scbp;
drivers/scsi/aic7xxx/aic7xxx_core.c
611
if (scb->hscb->tag == SCB_LIST_NULL
drivers/scsi/aic7xxx/aic7xxx_core.c
612
|| scb->hscb->next == SCB_LIST_NULL)
drivers/scsi/aic7xxx/aic7xxx_core.c
614
scb->hscb->tag, scb->hscb->next);
drivers/scsi/aic7xxx/aic7xxx_core.c
619
scb->hscb->lun &= LID;
drivers/scsi/aic7xxx/aic7xxx_core.c
620
if (ahc_get_transfer_length(scb) & 0x1)
drivers/scsi/aic7xxx/aic7xxx_core.c
621
scb->hscb->lun |= SCB_XFERLEN_ODD;
drivers/scsi/aic7xxx/aic7xxx_core.c
626
ahc->qinfifo[ahc->qinfifonext++] = scb->hscb->tag;
drivers/scsi/aic7xxx/aic7xxx_core.c
6269
struct scb *scbp;
drivers/scsi/aic7xxx/aic7xxx_core.c
6270
struct scb *scbp_next;
drivers/scsi/aic7xxx/aic7xxx_core.c
632
ahc_sync_scb(ahc, scb, BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
drivers/scsi/aic7xxx/aic7xxx_core.c
647
ahc_get_sense_buf(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
651
offset = scb - ahc->scb_data->scbarray;
drivers/scsi/aic7xxx/aic7xxx_core.c
656
ahc_get_sense_bufaddr(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
6588
ahc_calc_residual(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_core.c
660
offset = scb - ahc->scb_data->scbarray;
drivers/scsi/aic7xxx/aic7xxx_core.c
6612
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic7xxx_core.c
6627
resid = ahc_get_transfer_length(scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6641
sg = ahc_sg_bus_to_virt(scb, resid_sgptr & SG_PTR_MASK);
drivers/scsi/aic7xxx/aic7xxx_core.c
6656
if ((scb->flags & SCB_SENSE) == 0)
drivers/scsi/aic7xxx/aic7xxx_core.c
6657
ahc_set_residual(scb, resid);
drivers/scsi/aic7xxx/aic7xxx_core.c
6659
ahc_set_sense_residual(scb, resid);
drivers/scsi/aic7xxx/aic7xxx_core.c
6663
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
6665
(scb->flags & SCB_SENSE) ? "Sense " : "", resid);
drivers/scsi/aic7xxx/aic7xxx_core.c
7102
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
7233
LIST_FOREACH(scb, &ahc->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic7xxx_core.c
7236
cur_col = printk("\n%3d ", scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
7237
ahc_scb_control_print(scb->hscb->control, &cur_col, 60);
drivers/scsi/aic7xxx/aic7xxx_core.c
7238
ahc_scb_scsiid_print(scb->hscb->scsiid, &cur_col, 60);
drivers/scsi/aic7xxx/aic7xxx_core.c
7239
ahc_scb_lun_print(scb->hscb->lun, &cur_col, 60);
drivers/scsi/aic7xxx/aic7xxx_core.c
7241
ahc_outb(ahc, SCBPTR, scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
7253
SLIST_FOREACH(scb, &ahc->scb_data->free_scbs, links.sle) {
drivers/scsi/aic7xxx/aic7xxx_core.c
7256
printk("%d ", scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
7267
TAILQ_FOREACH(scb, untagged_q, links.tqe) {
drivers/scsi/aic7xxx/aic7xxx_core.c
7270
printk("%d ", scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_core.c
7581
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
7592
LIST_FOREACH(scb, &ahc->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic7xxx_core.c
7595
ccbh = &scb->io_ctx->ccb_h;
drivers/scsi/aic7xxx/aic7xxx_core.c
878
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
904
scb = ahc_lookup_scb(ahc, scb_index);
drivers/scsi/aic7xxx/aic7xxx_core.c
905
if (scb == NULL) {
drivers/scsi/aic7xxx/aic7xxx_core.c
917
ahc_update_residual(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
918
ahc_done(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
934
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_core.c
939
if ((scb = TAILQ_FIRST(queue)) != NULL
drivers/scsi/aic7xxx/aic7xxx_core.c
940
&& (scb->flags & SCB_ACTIVE) == 0) {
drivers/scsi/aic7xxx/aic7xxx_core.c
941
scb->flags |= SCB_ACTIVE;
drivers/scsi/aic7xxx/aic7xxx_core.c
942
ahc_queue_scb(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_core.c
979
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_inline.h
55
struct scb *scb, int op);
drivers/scsi/aic7xxx/aic7xxx_inline.h
84
struct scb*
drivers/scsi/aic7xxx/aic7xxx_inline.h
86
void ahc_free_scb(struct ahc_softc *ahc, struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_inline.h
87
struct scb *
drivers/scsi/aic7xxx/aic7xxx_inline.h
89
void ahc_queue_scb(struct ahc_softc *ahc, struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_inline.h
92
struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1252
ahc_platform_freeze_devq(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.c
1254
ahc_platform_abort_scbs(ahc, SCB_GET_TARGET(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_osm.c
1255
SCB_GET_CHANNEL(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_osm.c
1256
SCB_GET_LUN(scb), SCB_LIST_NULL,
drivers/scsi/aic7xxx/aic7xxx_osm.c
1413
struct scb *scb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1453
scb = ahc_get_scb(ahc);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1454
if (!scb) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1459
scb->io_ctx = cmd;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1460
scb->platform_data->dev = dev;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1461
hscb = scb->hscb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1462
cmd->host_scribble = (char *)scb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1470
mask = SCB_GET_TARGET_MASK(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1471
tinfo = ahc_fetch_transinfo(ahc, SCB_GET_CHANNEL(ahc, scb),
drivers/scsi/aic7xxx/aic7xxx_osm.c
1472
SCB_GET_OUR_ID(scb),
drivers/scsi/aic7xxx/aic7xxx_osm.c
1473
SCB_GET_TARGET(ahc, scb), &tstate);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1483
scb->flags |= SCB_AUTO_NEGOTIATE;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1484
scb->hscb->control |= MK_MESSAGE;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1502
scb->flags |= SCB_CDB32_PTR;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1505
scb->platform_data->xfer_len = 0;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1506
ahc_set_residual(scb, 0);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1507
ahc_set_sense_residual(scb, 0);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1508
scb->sg_count = 0;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1516
sg = scb->sg_list;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1528
consumed = ahc_linux_map_seg(ahc, scb,
drivers/scsi/aic7xxx/aic7xxx_osm.c
1531
scb->sg_count += consumed;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1539
scb->hscb->sgptr =
drivers/scsi/aic7xxx/aic7xxx_osm.c
1540
ahc_htole32(scb->sg_list_phys | SG_FULL_RESID);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1546
scb->hscb->dataptr = scb->sg_list->addr;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1547
scb->hscb->datacnt = scb->sg_list->len;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1549
scb->hscb->sgptr = ahc_htole32(SG_LIST_NULL);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1550
scb->hscb->dataptr = 0;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1551
scb->hscb->datacnt = 0;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1552
scb->sg_count = 0;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1555
LIST_INSERT_HEAD(&ahc->pending_scbs, scb, pending_links);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1562
scb->flags |= SCB_ACTIVE;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1564
TAILQ_INSERT_TAIL(untagged_q, scb, links.tqe);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1565
scb->flags |= SCB_UNTAGGEDQ;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1567
ahc_queue_scb(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1679
ahc_done(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.c
1684
LIST_REMOVE(scb, pending_links);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1685
if ((scb->flags & SCB_UNTAGGEDQ) != 0) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1689
target_offset = SCB_GET_TARGET_OFFSET(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1691
TAILQ_REMOVE(untagged_q, scb, links.tqe);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1693
} else if ((scb->flags & SCB_ACTIVE) == 0) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1699
printk("SCB %d done'd twice\n", scb->hscb->tag);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1703
cmd = scb->io_ctx;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1704
dev = scb->platform_data->dev;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1711
ahc_linux_unmap_scb(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1720
if (ahc_get_transaction_status(scb) == CAM_REQ_INPROG) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1725
ahc_get_transfer_length(scb) - ahc_get_residual(scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1727
if ((scb->flags & SCB_TRANSMISSION_ERROR) != 0) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1730
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1734
ahc_set_transaction_status(scb, CAM_UNCOR_PARITY);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1745
} else if (amount_xferred < scb->io_ctx->underflow) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1748
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1750
for (i = 0; i < scb->io_ctx->cmd_len; i++)
drivers/scsi/aic7xxx/aic7xxx_osm.c
1751
printk(" 0x%x", scb->io_ctx->cmnd[i]);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1753
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1756
ahc_get_residual(scb),
drivers/scsi/aic7xxx/aic7xxx_osm.c
1757
ahc_get_transfer_length(scb));
drivers/scsi/aic7xxx/aic7xxx_osm.c
1758
ahc_set_transaction_status(scb, CAM_DATA_RUN_ERR);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1761
ahc_set_transaction_status(scb, CAM_REQ_CMP);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1763
} else if (ahc_get_transaction_status(scb) == CAM_SCSI_STATUS_ERROR) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1764
ahc_linux_handle_scsi_status(ahc, cmd->device, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1768
&& ahc_get_transaction_status(scb) == CAM_REQ_CMP
drivers/scsi/aic7xxx/aic7xxx_osm.c
1769
&& ahc_get_scsi_status(scb) != SAM_STAT_TASK_SET_FULL)
drivers/scsi/aic7xxx/aic7xxx_osm.c
1786
if ((scb->flags & SCB_RECOVERY_SCB) != 0) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1788
if (ahc_get_transaction_status(scb) == CAM_BDR_SENT
drivers/scsi/aic7xxx/aic7xxx_osm.c
1789
|| ahc_get_transaction_status(scb) == CAM_REQ_ABORTED)
drivers/scsi/aic7xxx/aic7xxx_osm.c
1790
ahc_set_transaction_status(scb, CAM_CMD_TIMEOUT);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1796
ahc_free_scb(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1802
struct scsi_device *sdev, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.c
1823
switch (ahc_get_scsi_status(scb)) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1835
cmd = scb->io_ctx;
drivers/scsi/aic7xxx/aic7xxx_osm.c
1836
if (scb->flags & SCB_SENSE) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
1840
- ahc_get_sense_residual(scb),
drivers/scsi/aic7xxx/aic7xxx_osm.c
1843
ahc_get_sense_buf(ahc, scb), sense_size);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1899
ahc_print_path(ahc, scb);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1907
ahc_set_transaction_status(scb, CAM_REQUEUE_REQ);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1908
ahc_set_scsi_status(scb, SAM_STAT_GOOD);
drivers/scsi/aic7xxx/aic7xxx_osm.c
1919
ahc_set_scsi_status(scb, SAM_STAT_BUSY);
drivers/scsi/aic7xxx/aic7xxx_osm.c
2045
struct scb *pending_scb = NULL, *scb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
2110
LIST_FOREACH(scb, &ahc->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
2111
if (scb->io_ctx == cmd) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
2112
pending_scb = scb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
2118
LIST_FOREACH(scb, &ahc->pending_scbs, pending_links) {
drivers/scsi/aic7xxx/aic7xxx_osm.c
2119
if (ahc_match_scb(ahc, scb, sdev->id,
drivers/scsi/aic7xxx/aic7xxx_osm.c
2123
pending_scb = scb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
2184
struct scb *bus_scb;
drivers/scsi/aic7xxx/aic7xxx_osm.c
254
ahc_print_path(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.c
258
scb != NULL ? SCB_GET_CHANNEL(ahc, scb) : 'X',
drivers/scsi/aic7xxx/aic7xxx_osm.c
259
scb != NULL ? SCB_GET_TARGET(ahc, scb) : -1,
drivers/scsi/aic7xxx/aic7xxx_osm.c
260
scb != NULL ? SCB_GET_LUN(scb) : -1);
drivers/scsi/aic7xxx/aic7xxx_osm.c
364
struct scb *);
drivers/scsi/aic7xxx/aic7xxx_osm.c
454
static void ahc_linux_unmap_scb(struct ahc_softc*, struct scb*);
drivers/scsi/aic7xxx/aic7xxx_osm.c
456
static int ahc_linux_map_seg(struct ahc_softc *ahc, struct scb *scb,
drivers/scsi/aic7xxx/aic7xxx_osm.c
461
ahc_linux_unmap_scb(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.c
465
cmd = scb->io_ctx;
drivers/scsi/aic7xxx/aic7xxx_osm.c
466
ahc_sync_sglist(ahc, scb, BUS_DMASYNC_POSTWRITE);
drivers/scsi/aic7xxx/aic7xxx_osm.c
472
ahc_linux_map_seg(struct ahc_softc *ahc, struct scb *scb,
drivers/scsi/aic7xxx/aic7xxx_osm.c
477
if ((scb->sg_count + 1) > AHC_NSEG)
drivers/scsi/aic7xxx/aic7xxx_osm.c
483
scb->platform_data->xfer_len += len;
drivers/scsi/aic7xxx/aic7xxx_osm.h
229
ahc_scb_timer_reset(struct scb *scb, u_int usec)
drivers/scsi/aic7xxx/aic7xxx_osm.h
525
void ahc_set_transaction_status(struct scb *scb, uint32_t status)
drivers/scsi/aic7xxx/aic7xxx_osm.h
527
ahc_cmd_set_transaction_status(scb->io_ctx,status);
drivers/scsi/aic7xxx/aic7xxx_osm.h
538
void ahc_set_scsi_status(struct scb *scb, uint32_t status)
drivers/scsi/aic7xxx/aic7xxx_osm.h
540
ahc_cmd_set_scsi_status(scb->io_ctx, status);
drivers/scsi/aic7xxx/aic7xxx_osm.h
550
uint32_t ahc_get_transaction_status(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
552
return (ahc_cmd_get_transaction_status(scb->io_ctx));
drivers/scsi/aic7xxx/aic7xxx_osm.h
562
uint32_t ahc_get_scsi_status(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
564
return (ahc_cmd_get_scsi_status(scb->io_ctx));
drivers/scsi/aic7xxx/aic7xxx_osm.h
568
void ahc_set_transaction_tag(struct scb *scb, int enabled, u_int type)
drivers/scsi/aic7xxx/aic7xxx_osm.h
577
u_long ahc_get_transfer_length(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
579
return (scb->platform_data->xfer_len);
drivers/scsi/aic7xxx/aic7xxx_osm.h
583
int ahc_get_transfer_dir(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
585
return (scb->io_ctx->sc_data_direction);
drivers/scsi/aic7xxx/aic7xxx_osm.h
589
void ahc_set_residual(struct scb *scb, u_long resid)
drivers/scsi/aic7xxx/aic7xxx_osm.h
591
scsi_set_resid(scb->io_ctx, resid);
drivers/scsi/aic7xxx/aic7xxx_osm.h
595
void ahc_set_sense_residual(struct scb *scb, u_long resid)
drivers/scsi/aic7xxx/aic7xxx_osm.h
597
scb->platform_data->sense_resid = resid;
drivers/scsi/aic7xxx/aic7xxx_osm.h
601
u_long ahc_get_residual(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
603
return scsi_get_resid(scb->io_ctx);
drivers/scsi/aic7xxx/aic7xxx_osm.h
607
u_long ahc_get_sense_residual(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
609
return (scb->platform_data->sense_resid);
drivers/scsi/aic7xxx/aic7xxx_osm.h
613
int ahc_perform_autosense(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
624
ahc_get_sense_bufsize(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
637
ahc_platform_scb_free(struct ahc_softc *ahc, struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
643
void ahc_platform_freeze_devq(struct ahc_softc *ahc, struct scb *scb);
drivers/scsi/aic7xxx/aic7xxx_osm.h
646
ahc_freeze_scb(struct scb *scb)
drivers/scsi/aic7xxx/aic7xxx_osm.h
648
if ((scb->io_ctx->result & (CAM_DEV_QFRZN << 16)) == 0) {
drivers/scsi/aic7xxx/aic7xxx_osm.h
649
scb->io_ctx->result |= CAM_DEV_QFRZN << 16;
drivers/scsi/aic7xxx/aic7xxx_osm.h
650
scb->platform_data->dev->qfrozen++;
drivers/scsi/aic7xxx/aic7xxx_osm.h
662
void ahc_done(struct ahc_softc*, struct scb*);
drivers/scsi/aic7xxx/aic7xxx_osm.h
665
void ahc_print_path(struct ahc_softc *, struct scb *);
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
248
| scb
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
249
| program scb
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
838
scb:
drivers/scsi/aic94xx/aic94xx_hwi.c
1037
ascb->dma_scb.size = sizeof(struct scb);
drivers/scsi/aic94xx/aic94xx_hwi.c
1053
ascb->scb->header.index = cpu_to_le16((u16)ascb->tc_index);
drivers/scsi/aic94xx/aic94xx_hwi.c
1099
last->scb->header.next_scb =
drivers/scsi/aic94xx/aic94xx_hwi.c
1134
memcpy(seq->next_scb.vaddr, ascb->scb, sizeof(*ascb->scb));
drivers/scsi/aic94xx/aic94xx_hwi.c
1136
ascb->scb = ascb->dma_scb.vaddr;
drivers/scsi/aic94xx/aic94xx_hwi.c
1138
last->scb->header.next_scb =
drivers/scsi/aic94xx/aic94xx_hwi.c
220
seq->next_scb.size = sizeof(struct scb);
drivers/scsi/aic94xx/aic94xx_hwi.c
324
escb->scb->header.opcode = EMPTY_SCB;
drivers/scsi/aic94xx/aic94xx_hwi.c
342
struct empty_scb *escb = &ascb->scb->escb;
drivers/scsi/aic94xx/aic94xx_hwi.c
730
} else if (ascb->scb->header.opcode == EMPTY_SCB) {
drivers/scsi/aic94xx/aic94xx_hwi.h
116
struct scb *scb; /* equals dma_scb->vaddr */
drivers/scsi/aic94xx/aic94xx_hwi.h
274
ascb->scb = ascb->dma_scb.vaddr;
drivers/scsi/aic94xx/aic94xx_init.c
510
sizeof(struct scb),
drivers/scsi/aic94xx/aic94xx_init.c
855
WARN_ON(ascb->scb->header.opcode != CONTROL_PHY);
drivers/scsi/aic94xx/aic94xx_sas.h
688
#define ASD_SCB_SIZE sizeof(struct scb)
drivers/scsi/aic94xx/aic94xx_scb.c
369
struct empty_scb *escb = &ascb->scb->escb;
drivers/scsi/aic94xx/aic94xx_scb.c
421
le64_to_cpu(ascb->scb->header.next_scb),
drivers/scsi/aic94xx/aic94xx_scb.c
422
le16_to_cpu(ascb->scb->header.index),
drivers/scsi/aic94xx/aic94xx_scb.c
423
ascb->scb->header.opcode);
drivers/scsi/aic94xx/aic94xx_scb.c
455
a->scb->header.opcode);
drivers/scsi/aic94xx/aic94xx_scb.c
587
le64_to_cpu(ascb->scb->header.next_scb),
drivers/scsi/aic94xx/aic94xx_scb.c
588
le16_to_cpu(ascb->scb->header.index),
drivers/scsi/aic94xx/aic94xx_scb.c
589
ascb->scb->header.opcode);
drivers/scsi/aic94xx/aic94xx_scb.c
630
struct scb *scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_scb.c
631
struct control_phy *control_phy = &scb->control_phy;
drivers/scsi/aic94xx/aic94xx_scb.c
769
struct scb *scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_scb.c
770
struct control_phy *control_phy = &scb->control_phy;
drivers/scsi/aic94xx/aic94xx_scb.c
772
scb->header.opcode = CONTROL_PHY;
drivers/scsi/aic94xx/aic94xx_scb.c
820
struct initiate_link_adm *link_adm = &ascb->scb->link_adm;
drivers/scsi/aic94xx/aic94xx_scb.c
836
struct scb *scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_scb.c
837
struct initiate_link_adm *link_adm = &scb->link_adm;
drivers/scsi/aic94xx/aic94xx_scb.c
839
scb->header.opcode = INITIATE_LINK_ADM_TASK;
drivers/scsi/aic94xx/aic94xx_scb.c
869
ASD_DPRINTK("scb:0x%x timed out\n", ascb->scb->header.opcode);
drivers/scsi/aic94xx/aic94xx_task.c
129
le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr);
drivers/scsi/aic94xx/aic94xx_task.c
352
struct scb *scb;
drivers/scsi/aic94xx/aic94xx_task.c
356
scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_task.c
359
scb->header.opcode = CONTROL_ATA_DEV;
drivers/scsi/aic94xx/aic94xx_task.c
361
scb->header.opcode = INITIATE_ATAPI_TASK;
drivers/scsi/aic94xx/aic94xx_task.c
363
scb->header.opcode = INITIATE_ATA_TASK;
drivers/scsi/aic94xx/aic94xx_task.c
365
scb->ata_task.proto_conn_rate = (1 << 5); /* STP */
drivers/scsi/aic94xx/aic94xx_task.c
367
scb->ata_task.proto_conn_rate |= dev->linkrate;
drivers/scsi/aic94xx/aic94xx_task.c
369
scb->ata_task.total_xfer_len = cpu_to_le32(task->total_xfer_len);
drivers/scsi/aic94xx/aic94xx_task.c
370
scb->ata_task.fis = task->ata_task.fis;
drivers/scsi/aic94xx/aic94xx_task.c
372
scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */
drivers/scsi/aic94xx/aic94xx_task.c
373
scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */
drivers/scsi/aic94xx/aic94xx_task.c
375
memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet,
drivers/scsi/aic94xx/aic94xx_task.c
377
scb->ata_task.sister_scb = cpu_to_le16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_task.c
378
scb->ata_task.conn_handle = cpu_to_le16(
drivers/scsi/aic94xx/aic94xx_task.c
389
scb->ata_task.ata_flags = flags;
drivers/scsi/aic94xx/aic94xx_task.c
391
scb->ata_task.retry_count = 0;
drivers/scsi/aic94xx/aic94xx_task.c
393
scb->ata_task.flags = 0;
drivers/scsi/aic94xx/aic94xx_task.c
398
res = asd_map_scatterlist(task, scb->ata_task.sg_element,
drivers/scsi/aic94xx/aic94xx_task.c
416
struct scb *scb;
drivers/scsi/aic94xx/aic94xx_task.c
423
scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_task.c
425
scb->header.opcode = INITIATE_SMP_TASK;
drivers/scsi/aic94xx/aic94xx_task.c
427
scb->smp_task.proto_conn_rate = dev->linkrate;
drivers/scsi/aic94xx/aic94xx_task.c
429
scb->smp_task.smp_req.bus_addr =
drivers/scsi/aic94xx/aic94xx_task.c
431
scb->smp_task.smp_req.size =
drivers/scsi/aic94xx/aic94xx_task.c
434
scb->smp_task.smp_resp.bus_addr =
drivers/scsi/aic94xx/aic94xx_task.c
436
scb->smp_task.smp_resp.size =
drivers/scsi/aic94xx/aic94xx_task.c
439
scb->smp_task.sister_scb = cpu_to_le16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_task.c
440
scb->smp_task.conn_handle = cpu_to_le16((u16)
drivers/scsi/aic94xx/aic94xx_task.c
465
struct scb *scb;
drivers/scsi/aic94xx/aic94xx_task.c
468
scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_task.c
470
scb->header.opcode = INITIATE_SSP_TASK;
drivers/scsi/aic94xx/aic94xx_task.c
472
scb->ssp_task.proto_conn_rate = (1 << 4); /* SSP */
drivers/scsi/aic94xx/aic94xx_task.c
473
scb->ssp_task.proto_conn_rate |= dev->linkrate;
drivers/scsi/aic94xx/aic94xx_task.c
474
scb->ssp_task.total_xfer_len = cpu_to_le32(task->total_xfer_len);
drivers/scsi/aic94xx/aic94xx_task.c
475
scb->ssp_task.ssp_frame.frame_type = SSP_DATA;
drivers/scsi/aic94xx/aic94xx_task.c
476
memcpy(scb->ssp_task.ssp_frame.hashed_dest_addr, dev->hashed_sas_addr,
drivers/scsi/aic94xx/aic94xx_task.c
478
memcpy(scb->ssp_task.ssp_frame.hashed_src_addr,
drivers/scsi/aic94xx/aic94xx_task.c
480
scb->ssp_task.ssp_frame.tptt = cpu_to_be16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_task.c
482
memcpy(scb->ssp_task.ssp_cmd.lun, task->ssp_task.LUN, 8);
drivers/scsi/aic94xx/aic94xx_task.c
483
scb->ssp_task.ssp_cmd.efb_prio_attr |= (task->ssp_task.task_attr & 7);
drivers/scsi/aic94xx/aic94xx_task.c
484
memcpy(scb->ssp_task.ssp_cmd.cdb, task->ssp_task.cmd->cmnd,
drivers/scsi/aic94xx/aic94xx_task.c
487
scb->ssp_task.sister_scb = cpu_to_le16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_task.c
488
scb->ssp_task.conn_handle = cpu_to_le16(
drivers/scsi/aic94xx/aic94xx_task.c
490
scb->ssp_task.data_dir = data_dir_flags[task->data_dir];
drivers/scsi/aic94xx/aic94xx_task.c
494
res = asd_map_scatterlist(task, scb->ssp_task.sg_element, gfp_flags);
drivers/scsi/aic94xx/aic94xx_tmf.c
120
scb->clear_nexus.nexus = NEXUS_ADAPTER;
drivers/scsi/aic94xx/aic94xx_tmf.c
129
scb->clear_nexus.nexus = NEXUS_PORT;
drivers/scsi/aic94xx/aic94xx_tmf.c
130
scb->clear_nexus.conn_mask = port->phy_mask;
drivers/scsi/aic94xx/aic94xx_tmf.c
146
scb->clear_nexus.nexus = NEXUS_I_T;
drivers/scsi/aic94xx/aic94xx_tmf.c
149
scb->clear_nexus.flags = EXEC_Q | SUSPEND_TX;
drivers/scsi/aic94xx/aic94xx_tmf.c
152
scb->clear_nexus.flags = SEND_Q | NOTINQ;
drivers/scsi/aic94xx/aic94xx_tmf.c
155
scb->clear_nexus.flags = RESUME_TX;
drivers/scsi/aic94xx/aic94xx_tmf.c
157
scb->clear_nexus.conn_handle = cpu_to_le16((u16)(unsigned long)
drivers/scsi/aic94xx/aic94xx_tmf.c
206
scb->clear_nexus.nexus = NEXUS_I_T_L;
drivers/scsi/aic94xx/aic94xx_tmf.c
207
scb->clear_nexus.flags = SEND_Q | EXEC_Q | NOTINQ;
drivers/scsi/aic94xx/aic94xx_tmf.c
208
memcpy(scb->clear_nexus.ssp_task.lun, lun, 8);
drivers/scsi/aic94xx/aic94xx_tmf.c
209
scb->clear_nexus.conn_handle = cpu_to_le16((u16)(unsigned long)
drivers/scsi/aic94xx/aic94xx_tmf.c
220
scb->clear_nexus.nexus = NEXUS_TAG;
drivers/scsi/aic94xx/aic94xx_tmf.c
221
memcpy(scb->clear_nexus.ssp_task.lun, task->ssp_task.LUN, 8);
drivers/scsi/aic94xx/aic94xx_tmf.c
222
scb->clear_nexus.ssp_task.tag = tascb->tag;
drivers/scsi/aic94xx/aic94xx_tmf.c
224
scb->clear_nexus.conn_handle = cpu_to_le16((u16)(unsigned long)
drivers/scsi/aic94xx/aic94xx_tmf.c
235
scb->clear_nexus.nexus = NEXUS_TRANS_CX;
drivers/scsi/aic94xx/aic94xx_tmf.c
237
scb->clear_nexus.conn_handle = cpu_to_le16((u16)(unsigned long)
drivers/scsi/aic94xx/aic94xx_tmf.c
239
scb->clear_nexus.index = cpu_to_le16(tascb->tc_index);
drivers/scsi/aic94xx/aic94xx_tmf.c
393
struct scb *scb;
drivers/scsi/aic94xx/aic94xx_tmf.c
416
scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_tmf.c
417
scb->header.opcode = SCB_ABORT_TASK;
drivers/scsi/aic94xx/aic94xx_tmf.c
422
scb->abort_task.proto_conn_rate = (1 << 5); /* STP */
drivers/scsi/aic94xx/aic94xx_tmf.c
425
scb->abort_task.proto_conn_rate = (1 << 4); /* SSP */
drivers/scsi/aic94xx/aic94xx_tmf.c
426
scb->abort_task.proto_conn_rate |= task->dev->linkrate;
drivers/scsi/aic94xx/aic94xx_tmf.c
435
scb->abort_task.ssp_frame.frame_type = SSP_TASK;
drivers/scsi/aic94xx/aic94xx_tmf.c
436
memcpy(scb->abort_task.ssp_frame.hashed_dest_addr,
drivers/scsi/aic94xx/aic94xx_tmf.c
438
memcpy(scb->abort_task.ssp_frame.hashed_src_addr,
drivers/scsi/aic94xx/aic94xx_tmf.c
441
scb->abort_task.ssp_frame.tptt = cpu_to_be16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_tmf.c
443
memcpy(scb->abort_task.ssp_task.lun, task->ssp_task.LUN, 8);
drivers/scsi/aic94xx/aic94xx_tmf.c
444
scb->abort_task.ssp_task.tmf = TMF_ABORT_TASK;
drivers/scsi/aic94xx/aic94xx_tmf.c
445
scb->abort_task.ssp_task.tag = cpu_to_be16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_tmf.c
448
scb->abort_task.sister_scb = cpu_to_le16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_tmf.c
449
scb->abort_task.conn_handle = cpu_to_le16(
drivers/scsi/aic94xx/aic94xx_tmf.c
451
scb->abort_task.retry_count = 1;
drivers/scsi/aic94xx/aic94xx_tmf.c
452
scb->abort_task.index = cpu_to_le16((u16)tascb->tc_index);
drivers/scsi/aic94xx/aic94xx_tmf.c
453
scb->abort_task.itnl_to = cpu_to_le16(ITNL_TIMEOUT_CONST);
drivers/scsi/aic94xx/aic94xx_tmf.c
562
struct scb *scb;
drivers/scsi/aic94xx/aic94xx_tmf.c
575
scb = ascb->scb;
drivers/scsi/aic94xx/aic94xx_tmf.c
578
scb->header.opcode = QUERY_SSP_TASK;
drivers/scsi/aic94xx/aic94xx_tmf.c
580
scb->header.opcode = INITIATE_SSP_TMF;
drivers/scsi/aic94xx/aic94xx_tmf.c
582
scb->ssp_tmf.proto_conn_rate = (1 << 4); /* SSP */
drivers/scsi/aic94xx/aic94xx_tmf.c
583
scb->ssp_tmf.proto_conn_rate |= dev->linkrate;
drivers/scsi/aic94xx/aic94xx_tmf.c
585
scb->ssp_tmf.ssp_frame.frame_type = SSP_TASK;
drivers/scsi/aic94xx/aic94xx_tmf.c
586
memcpy(scb->ssp_tmf.ssp_frame.hashed_dest_addr,
drivers/scsi/aic94xx/aic94xx_tmf.c
588
memcpy(scb->ssp_tmf.ssp_frame.hashed_src_addr,
drivers/scsi/aic94xx/aic94xx_tmf.c
590
scb->ssp_tmf.ssp_frame.tptt = cpu_to_be16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_tmf.c
592
memcpy(scb->ssp_tmf.ssp_task.lun, lun, 8);
drivers/scsi/aic94xx/aic94xx_tmf.c
593
scb->ssp_tmf.ssp_task.tmf = tmf;
drivers/scsi/aic94xx/aic94xx_tmf.c
595
scb->ssp_tmf.sister_scb = cpu_to_le16(0xFFFF);
drivers/scsi/aic94xx/aic94xx_tmf.c
596
scb->ssp_tmf.conn_handle= cpu_to_le16((u16)(unsigned long)
drivers/scsi/aic94xx/aic94xx_tmf.c
598
scb->ssp_tmf.retry_count = 1;
drivers/scsi/aic94xx/aic94xx_tmf.c
599
scb->ssp_tmf.itnl_to = cpu_to_le16(ITNL_TIMEOUT_CONST);
drivers/scsi/aic94xx/aic94xx_tmf.c
601
scb->ssp_tmf.index = cpu_to_le16(index);
drivers/scsi/aic94xx/aic94xx_tmf.c
83
struct scb *scb; \
drivers/scsi/aic94xx/aic94xx_tmf.c
96
scb = ascb->scb; \
drivers/scsi/aic94xx/aic94xx_tmf.c
97
scb->header.opcode = CLEAR_NEXUS
drivers/scsi/initio.c
1002
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
1006
if ((scb = host->active) != NULL) {
drivers/scsi/initio.c
1007
initio_unlink_busy_scb(host, scb);
drivers/scsi/initio.c
1008
scb->hastat = HOST_BAD_PHAS;
drivers/scsi/initio.c
1009
scb->tastat = 0;
drivers/scsi/initio.c
1010
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
1019
static void initio_exec_scb(struct initio_host * host, struct scsi_ctrl_blk * scb)
drivers/scsi/initio.c
1023
scb->mode = 0;
drivers/scsi/initio.c
1025
scb->sgidx = 0;
drivers/scsi/initio.c
1026
scb->sgmax = scb->sglen;
drivers/scsi/initio.c
1030
initio_append_pend_scb(host, scb); /* Append this SCB to Pending queue */
drivers/scsi/initio.c
1070
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
1076
while ((scb = initio_find_done_scb(host)) != NULL) { /* find done entry */
drivers/scsi/initio.c
1077
if (scb->tastat == INI_QUEUE_FULL) {
drivers/scsi/initio.c
1078
host->max_tags[scb->target] =
drivers/scsi/initio.c
1079
host->act_tags[scb->target] - 1;
drivers/scsi/initio.c
1080
scb->tastat = 0;
drivers/scsi/initio.c
1081
initio_append_pend_scb(host, scb);
drivers/scsi/initio.c
1084
if (!(scb->mode & SCM_RSENS)) { /* not in auto req. sense mode */
drivers/scsi/initio.c
1085
if (scb->tastat == 2) {
drivers/scsi/initio.c
1089
if (scb->flags & SCF_SENSE) {
drivers/scsi/initio.c
1091
len = scb->senselen;
drivers/scsi/initio.c
1094
scb->buflen = scb->senselen;
drivers/scsi/initio.c
1095
scb->bufptr = scb->senseptr;
drivers/scsi/initio.c
1096
scb->flags &= ~(SCF_SG | SCF_DIR); /* for xfer_data_in */
drivers/scsi/initio.c
1099
scb->mode = SCM_RSENS;
drivers/scsi/initio.c
1100
scb->ident &= 0xBF; /* Disable Disconnect */
drivers/scsi/initio.c
1101
scb->tagmsg = 0;
drivers/scsi/initio.c
1102
scb->tastat = 0;
drivers/scsi/initio.c
1103
scb->cdblen = 6;
drivers/scsi/initio.c
1104
scb->cdb[0] = SCSICMD_RequestSense;
drivers/scsi/initio.c
1105
scb->cdb[1] = 0;
drivers/scsi/initio.c
1106
scb->cdb[2] = 0;
drivers/scsi/initio.c
1107
scb->cdb[3] = 0;
drivers/scsi/initio.c
1108
scb->cdb[4] = len;
drivers/scsi/initio.c
1109
scb->cdb[5] = 0;
drivers/scsi/initio.c
1110
initio_push_pend_scb(host, scb);
drivers/scsi/initio.c
1116
if (scb->tastat == 2) { /* check contition status again after sending
drivers/scsi/initio.c
1118
scb->hastat = HOST_BAD_PHAS;
drivers/scsi/initio.c
1120
scb->tastat = 2;
drivers/scsi/initio.c
1122
scb->flags |= SCF_DONE;
drivers/scsi/initio.c
1123
if (scb->flags & SCF_POST) {
drivers/scsi/initio.c
1125
(*scb->post) ((u8 *) host, (u8 *) scb);
drivers/scsi/initio.c
1142
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
1176
if ((scb = initio_find_first_pend_scb(host)) == NULL)
drivers/scsi/initio.c
1180
outb((host->scsi_id << 4) | (scb->target & 0x0F),
drivers/scsi/initio.c
1182
if (scb->opcode == ExecSCSI) {
drivers/scsi/initio.c
1183
active_tc = &host->targets[scb->target];
drivers/scsi/initio.c
1185
if (scb->tagmsg)
drivers/scsi/initio.c
1192
initio_select_atn_stop(host, scb);
drivers/scsi/initio.c
1195
initio_select_atn_stop(host, scb);
drivers/scsi/initio.c
1197
if (scb->tagmsg)
drivers/scsi/initio.c
1198
initio_select_atn3(host, scb);
drivers/scsi/initio.c
1200
initio_select_atn(host, scb);
drivers/scsi/initio.c
1203
if (scb->flags & SCF_POLL) {
drivers/scsi/initio.c
1209
} else if (scb->opcode == BusDevRst) {
drivers/scsi/initio.c
1210
initio_select_atn_stop(host, scb);
drivers/scsi/initio.c
1211
scb->next_state = 8;
drivers/scsi/initio.c
1212
if (scb->flags & SCF_POLL) {
drivers/scsi/initio.c
1218
} else if (scb->opcode == AbortCmd) {
drivers/scsi/initio.c
1219
if (initio_abort_srb(host, scb->srb) != 0) {
drivers/scsi/initio.c
1220
initio_unlink_pend_scb(host, scb);
drivers/scsi/initio.c
1221
initio_release_scb(host, scb);
drivers/scsi/initio.c
1223
scb->opcode = BusDevRst;
drivers/scsi/initio.c
1224
initio_select_atn_stop(host, scb);
drivers/scsi/initio.c
1225
scb->next_state = 8;
drivers/scsi/initio.c
1228
initio_unlink_pend_scb(host, scb);
drivers/scsi/initio.c
1229
scb->hastat = 0x16; /* bad command */
drivers/scsi/initio.c
1230
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
1293
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1300
initio_unlink_pend_scb(host, scb);
drivers/scsi/initio.c
1301
initio_append_busy_scb(host, scb);
drivers/scsi/initio.c
1307
outb(scb->ident, host->addr + TUL_SFifo);
drivers/scsi/initio.c
1309
if (scb->tagmsg) {
drivers/scsi/initio.c
1310
outb(scb->tagmsg, host->addr + TUL_SFifo);
drivers/scsi/initio.c
1311
outb(scb->tagid, host->addr + TUL_SFifo);
drivers/scsi/initio.c
1348
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1354
initio_unlink_pend_scb(host, scb);
drivers/scsi/initio.c
1355
initio_append_busy_scb(host, scb);
drivers/scsi/initio.c
1377
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1387
for (i = 0; i < (int) scb->cdblen; i++)
drivers/scsi/initio.c
1388
outb(scb->cdb[i], host->addr + TUL_SFifo);
drivers/scsi/initio.c
1397
scb->next_state = 3;
drivers/scsi/initio.c
1444
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1449
if ((scb->flags & SCF_DIR) == SCF_NO_XF) {
drivers/scsi/initio.c
1453
if (scb->buflen == 0)
drivers/scsi/initio.c
1459
if ((scb->flags & SCF_DIR) != 0) /* if direction bit set then report data underrun */
drivers/scsi/initio.c
1460
scb->hastat = HOST_DO_DU;
drivers/scsi/initio.c
1466
scb->next_state = 0x4;
drivers/scsi/initio.c
147
static void initio_select_atn(struct initio_host * host, struct scsi_ctrl_blk * scb);
drivers/scsi/initio.c
1473
scb->buflen = 0;
drivers/scsi/initio.c
1474
scb->hastat = HOST_DO_DU;
drivers/scsi/initio.c
148
static void initio_select_atn3(struct initio_host * host, struct scsi_ctrl_blk * scb);
drivers/scsi/initio.c
149
static void initio_select_atn_stop(struct initio_host * host, struct scsi_ctrl_blk * scb);
drivers/scsi/initio.c
1508
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1521
scb->hastat = HOST_DO_DU;
drivers/scsi/initio.c
1554
scb->buflen = 0;
drivers/scsi/initio.c
1558
xcnt = (long) scb->buflen - cnt; /* xcnt== bytes already xferred */
drivers/scsi/initio.c
1559
scb->buflen = (u32) cnt; /* cnt == bytes left to be xferred */
drivers/scsi/initio.c
1560
if (scb->flags & SCF_SG) {
drivers/scsi/initio.c
1564
sgp = &scb->sglist[scb->sgidx];
drivers/scsi/initio.c
1565
for (i = scb->sgidx; i < scb->sgmax; sgp++, i++) {
drivers/scsi/initio.c
1571
scb->bufptr += ((u32) (i - scb->sgidx) << 3);
drivers/scsi/initio.c
1573
scb->sglen = (u8) (scb->sgmax - i);
drivers/scsi/initio.c
1575
scb->sgidx = (u16) i;
drivers/scsi/initio.c
1583
scb->bufptr += (u32) xcnt;
drivers/scsi/initio.c
1597
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1610
scb->next_state = 6;
drivers/scsi/initio.c
1672
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1674
if ((scb->flags & SCF_DIR) == SCF_DOUT)
drivers/scsi/initio.c
1677
outl(scb->buflen, host->addr + TUL_SCnt0);
drivers/scsi/initio.c
1680
if (scb->flags & SCF_SG) { /* S/G xfer */
drivers/scsi/initio.c
1681
outl(((u32) scb->sglen) << 3, host->addr + TUL_XCntH);
drivers/scsi/initio.c
1682
outl(scb->bufptr, host->addr + TUL_XAddH);
drivers/scsi/initio.c
1685
outl(scb->buflen, host->addr + TUL_XCntH);
drivers/scsi/initio.c
1686
outl(scb->bufptr, host->addr + TUL_XAddH);
drivers/scsi/initio.c
1689
scb->next_state = 0x5;
drivers/scsi/initio.c
1704
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1706
if ((scb->flags & SCF_DIR) == SCF_DIN)
drivers/scsi/initio.c
1709
outl(scb->buflen, host->addr + TUL_SCnt0);
drivers/scsi/initio.c
1712
if (scb->flags & SCF_SG) { /* S/G xfer */
drivers/scsi/initio.c
1713
outl(((u32) scb->sglen) << 3, host->addr + TUL_XCntH);
drivers/scsi/initio.c
1714
outl(scb->bufptr, host->addr + TUL_XAddH);
drivers/scsi/initio.c
1717
outl(scb->buflen, host->addr + TUL_XCntH);
drivers/scsi/initio.c
1718
outl(scb->bufptr, host->addr + TUL_XAddH);
drivers/scsi/initio.c
1722
scb->next_state = 0x5;
drivers/scsi/initio.c
1728
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1731
if ((scb->flags & SCF_DIR) != SCF_NO_DCHK)
drivers/scsi/initio.c
1732
scb->hastat = HOST_DO_DU; /* over run */
drivers/scsi/initio.c
1752
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1755
if ((scb->flags & SCF_DIR) != SCF_NO_DCHK)
drivers/scsi/initio.c
1756
scb->hastat = HOST_DO_DU; /* over run */
drivers/scsi/initio.c
1777
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1785
scb->tastat = inb(host->addr + TUL_SFifo);
drivers/scsi/initio.c
1808
if ((scb->tastat & 0x18) == 0x10) /* No link support */
drivers/scsi/initio.c
1817
if ((scb->tastat & 0x18) == 0x10)
drivers/scsi/initio.c
1828
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
1830
if (scb != NULL) {
drivers/scsi/initio.c
1831
if (scb->status & SCB_SELECT) { /* selection timeout */
drivers/scsi/initio.c
1832
initio_unlink_pend_scb(host, scb);
drivers/scsi/initio.c
1833
scb->hastat = HOST_SEL_TOUT;
drivers/scsi/initio.c
1834
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
1836
initio_unlink_busy_scb(host, scb);
drivers/scsi/initio.c
1837
scb->hastat = HOST_BUS_FREE;
drivers/scsi/initio.c
1838
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
1862
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
1874
while ((scb = initio_pop_busy_scb(host)) != NULL) {
drivers/scsi/initio.c
1875
scb->hastat = HOST_BAD_PHAS;
drivers/scsi/initio.c
1876
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
1898
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
1903
if ((scb = host->active) != NULL) {
drivers/scsi/initio.c
1905
if (scb->status & SCB_SELECT) /* if waiting for selection complete */
drivers/scsi/initio.c
1906
scb->status &= ~SCB_SELECT;
drivers/scsi/initio.c
1946
scb = host->scb + tag;
drivers/scsi/initio.c
1947
if (scb->target != tar || scb->lun != lun) {
drivers/scsi/initio.c
1950
if (scb->status != SCB_BUSY) { /* 03/24/95 */
drivers/scsi/initio.c
1953
host->active = scb;
drivers/scsi/initio.c
1958
if ((scb = initio_find_busy_scb(host, tar | (lun << 8))) == NULL) {
drivers/scsi/initio.c
1961
host->active = scb;
drivers/scsi/initio.c
1980
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
1985
while ((scb = initio_pop_busy_scb(host)) != NULL) {
drivers/scsi/initio.c
1986
scb->hastat = HOST_BAD_PHAS;
drivers/scsi/initio.c
1987
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
2278
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
2286
while ((scb = initio_pop_busy_scb(host)) != NULL) {
drivers/scsi/initio.c
2287
scb->hastat = HOST_BAD_PHAS;
drivers/scsi/initio.c
2288
initio_append_done_scb(host, scb);
drivers/scsi/initio.c
2304
static void initio_select_atn_stop(struct initio_host * host, struct scsi_ctrl_blk * scb)
drivers/scsi/initio.c
2306
scb->status |= SCB_SELECT;
drivers/scsi/initio.c
2307
scb->next_state = 0x1;
drivers/scsi/initio.c
2308
host->active = scb;
drivers/scsi/initio.c
2309
host->active_tc = &host->targets[scb->target];
drivers/scsi/initio.c
2314
static void initio_select_atn(struct initio_host * host, struct scsi_ctrl_blk * scb)
drivers/scsi/initio.c
2318
scb->status |= SCB_SELECT;
drivers/scsi/initio.c
2319
scb->next_state = 0x2;
drivers/scsi/initio.c
2321
outb(scb->ident, host->addr + TUL_SFifo);
drivers/scsi/initio.c
2322
for (i = 0; i < (int) scb->cdblen; i++)
drivers/scsi/initio.c
2323
outb(scb->cdb[i], host->addr + TUL_SFifo);
drivers/scsi/initio.c
2324
host->active_tc = &host->targets[scb->target];
drivers/scsi/initio.c
2325
host->active = scb;
drivers/scsi/initio.c
2329
static void initio_select_atn3(struct initio_host * host, struct scsi_ctrl_blk * scb)
drivers/scsi/initio.c
2333
scb->status |= SCB_SELECT;
drivers/scsi/initio.c
2334
scb->next_state = 0x2;
drivers/scsi/initio.c
2336
outb(scb->ident, host->addr + TUL_SFifo);
drivers/scsi/initio.c
2337
outb(scb->tagmsg, host->addr + TUL_SFifo);
drivers/scsi/initio.c
2338
outb(scb->tagid, host->addr + TUL_SFifo);
drivers/scsi/initio.c
2339
for (i = 0; i < scb->cdblen; i++)
drivers/scsi/initio.c
2340
outb(scb->cdb[i], host->addr + TUL_SFifo);
drivers/scsi/initio.c
2341
host->active_tc = &host->targets[scb->target];
drivers/scsi/initio.c
2342
host->active = scb;
drivers/scsi/initio.c
2355
struct scsi_ctrl_blk *scb = host->active;
drivers/scsi/initio.c
2363
initio_unlink_pend_scb(host, scb);
drivers/scsi/initio.c
2364
initio_release_scb(host, scb);
drivers/scsi/initio.c
2367
tar = scb->target; /* target */
drivers/scsi/initio.c
2809
struct scsi_ctrl_blk *scb, *tmp, *prev = NULL /* silence gcc */;
drivers/scsi/initio.c
2851
scb = kzalloc(i, GFP_KERNEL);
drivers/scsi/initio.c
2852
if (scb)
drivers/scsi/initio.c
2856
if (!scb) {
drivers/scsi/initio.c
2867
host->scb = scb;
drivers/scsi/initio.c
2868
host->next_pending = scb;
drivers/scsi/initio.c
2869
host->next_avail = scb;
drivers/scsi/initio.c
2870
for (i = 0, tmp = scb; i < num_scb; i++, tmp++) {
drivers/scsi/initio.c
2878
host->first_avail = scb;
drivers/scsi/initio.c
2913
kfree(host->scb);
drivers/scsi/initio.c
656
struct scsi_ctrl_blk *scb;
drivers/scsi/initio.c
660
if ((scb = host->first_avail) != NULL) {
drivers/scsi/initio.c
662
printk("find scb at %p\n", scb);
drivers/scsi/initio.c
664
if ((host->first_avail = scb->next) == NULL)
drivers/scsi/initio.c
666
scb->next = NULL;
drivers/scsi/initio.c
667
scb->status = SCB_RENT;
drivers/scsi/initio.c
670
return scb;
drivers/scsi/initio.c
763
static void initio_unlink_pend_scb(struct initio_host * host, struct scsi_ctrl_blk * scb)
drivers/scsi/initio.c
768
printk("unlink pend SCB %p; ", scb);
drivers/scsi/initio.c
773
if (scb == tmp) { /* Unlink this SCB */
drivers/scsi/initio.c
833
static void initio_unlink_busy_scb(struct initio_host * host, struct scsi_ctrl_blk * scb)
drivers/scsi/initio.c
838
printk("unlink busy SCB %p; ", scb);
drivers/scsi/initio.c
843
if (scb == tmp) { /* Unlink this SCB */
drivers/scsi/initio.h
495
struct scsi_ctrl_blk *scb; /* 20 */
drivers/scsi/ips.c
1255
ips_scb_t *scb;
drivers/scsi/ips.c
1293
scb = (ips_scb_t *) sp->scb_addr;
drivers/scsi/ips.c
1299
(*scb->callback) (ha, scb);
drivers/scsi/ips.c
1319
ips_scb_t *scb;
drivers/scsi/ips.c
1363
scb = (ips_scb_t *) sp->scb_addr;
drivers/scsi/ips.c
1369
(*scb->callback) (ha, scb);
drivers/scsi/ips.c
1543
ips_make_passthru(ips_ha_t *ha, struct scsi_cmnd *SC, ips_scb_t *scb, int intr)
drivers/scsi/ips.c
1613
ret = ips_flash_copperhead(ha, pt, scb);
drivers/scsi/ips.c
1618
if (ips_usrcmd(ha, pt, scb))
drivers/scsi/ips.c
1637
ips_flash_copperhead(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb)
drivers/scsi/ips.c
1644
if (ips_usrcmd(ha, pt, scb))
drivers/scsi/ips.c
1651
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
1657
return ips_flash_bios(ha, pt, scb);
drivers/scsi/ips.c
1695
return ips_flash_bios(ha, pt, scb);
drivers/scsi/ips.c
1697
return ips_flash_firmware(ha, pt, scb);
drivers/scsi/ips.c
1708
ips_flash_bios(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb)
drivers/scsi/ips.c
1773
ips_scb_t * scb, int indx, unsigned int e_len)
drivers/scsi/ips.c
1778
if ((scb->data_len + e_len) > ha->max_xfer) {
drivers/scsi/ips.c
1779
e_len = ha->max_xfer - scb->data_len;
drivers/scsi/ips.c
1780
scb->breakup = indx;
drivers/scsi/ips.c
1781
++scb->sg_break;
drivers/scsi/ips.c
1784
scb->breakup = 0;
drivers/scsi/ips.c
1785
scb->sg_break = 0;
drivers/scsi/ips.c
1788
scb->sg_list.enh_list[indx].address_lo =
drivers/scsi/ips.c
1790
scb->sg_list.enh_list[indx].address_hi =
drivers/scsi/ips.c
1792
scb->sg_list.enh_list[indx].length = cpu_to_le32(e_len);
drivers/scsi/ips.c
1794
scb->sg_list.std_list[indx].address =
drivers/scsi/ips.c
1796
scb->sg_list.std_list[indx].length = cpu_to_le32(e_len);
drivers/scsi/ips.c
1799
++scb->sg_len;
drivers/scsi/ips.c
1800
scb->data_len += e_len;
drivers/scsi/ips.c
1810
ips_flash_firmware(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb)
drivers/scsi/ips.c
1827
sg_list.list = scb->sg_list.list;
drivers/scsi/ips.c
1828
cmd_busaddr = scb->scb_busaddr;
drivers/scsi/ips.c
1830
memcpy(&scb->cmd, &pt->CoppCP.cmd, sizeof (IPS_IOCTL_CMD));
drivers/scsi/ips.c
1832
scb->sg_list.list = sg_list.list;
drivers/scsi/ips.c
1833
scb->scb_busaddr = cmd_busaddr;
drivers/scsi/ips.c
1834
scb->bus = scb->scsi_cmd->device->channel;
drivers/scsi/ips.c
1835
scb->target_id = scb->scsi_cmd->device->id;
drivers/scsi/ips.c
1836
scb->lun = scb->scsi_cmd->device->lun;
drivers/scsi/ips.c
1837
scb->sg_len = 0;
drivers/scsi/ips.c
1838
scb->data_len = 0;
drivers/scsi/ips.c
1839
scb->flags = 0;
drivers/scsi/ips.c
1840
scb->op_code = 0;
drivers/scsi/ips.c
1841
scb->callback = ipsintr_done;
drivers/scsi/ips.c
1842
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
1844
scb->data_len = ha->flash_datasize;
drivers/scsi/ips.c
1845
scb->data_busaddr =
drivers/scsi/ips.c
1846
dma_map_single(&ha->pcidev->dev, ha->flash_data, scb->data_len,
drivers/scsi/ips.c
1847
IPS_DMA_DIR(scb));
drivers/scsi/ips.c
1848
scb->flags |= IPS_SCB_MAP_SINGLE;
drivers/scsi/ips.c
1849
scb->cmd.flashfw.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
1850
scb->cmd.flashfw.buffer_addr = cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
1852
scb->timeout = pt->TimeOut;
drivers/scsi/ips.c
1853
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
1883
ips_usrcmd(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb)
drivers/scsi/ips.c
1890
if ((!scb) || (!pt) || (!ha))
drivers/scsi/ips.c
1894
sg_list.list = scb->sg_list.list;
drivers/scsi/ips.c
1895
cmd_busaddr = scb->scb_busaddr;
drivers/scsi/ips.c
1897
memcpy(&scb->cmd, &pt->CoppCP.cmd, sizeof (IPS_IOCTL_CMD));
drivers/scsi/ips.c
1898
memcpy(&scb->dcdb, &pt->CoppCP.dcdb, sizeof (IPS_DCDB_TABLE));
drivers/scsi/ips.c
1901
scb->sg_list.list = sg_list.list;
drivers/scsi/ips.c
1902
scb->scb_busaddr = cmd_busaddr;
drivers/scsi/ips.c
1903
scb->bus = scb->scsi_cmd->device->channel;
drivers/scsi/ips.c
1904
scb->target_id = scb->scsi_cmd->device->id;
drivers/scsi/ips.c
1905
scb->lun = scb->scsi_cmd->device->lun;
drivers/scsi/ips.c
1906
scb->sg_len = 0;
drivers/scsi/ips.c
1907
scb->data_len = 0;
drivers/scsi/ips.c
1908
scb->flags = 0;
drivers/scsi/ips.c
1909
scb->op_code = 0;
drivers/scsi/ips.c
1910
scb->callback = ipsintr_done;
drivers/scsi/ips.c
1911
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
1912
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
1915
if ((scb->cmd.basic_io.op_code == IPS_CMD_READ_SG) ||
drivers/scsi/ips.c
1916
(scb->cmd.basic_io.op_code == IPS_CMD_WRITE_SG) ||
drivers/scsi/ips.c
1917
(scb->cmd.basic_io.op_code == IPS_CMD_DCDB_SG))
drivers/scsi/ips.c
1921
scb->data_len = pt->CmdBSize;
drivers/scsi/ips.c
1922
scb->data_busaddr = ha->ioctl_busaddr + sizeof (ips_passthru_t);
drivers/scsi/ips.c
1924
scb->data_busaddr = 0L;
drivers/scsi/ips.c
1927
if (scb->cmd.dcdb.op_code == IPS_CMD_DCDB)
drivers/scsi/ips.c
1928
scb->cmd.dcdb.dcdb_address = cpu_to_le32(scb->scb_busaddr +
drivers/scsi/ips.c
1929
(unsigned long) &scb->
drivers/scsi/ips.c
1931
(unsigned long) scb);
drivers/scsi/ips.c
1934
if (scb->cmd.dcdb.op_code == IPS_CMD_DCDB)
drivers/scsi/ips.c
1935
scb->dcdb.buffer_pointer =
drivers/scsi/ips.c
1936
cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
1938
scb->cmd.basic_io.sg_addr =
drivers/scsi/ips.c
1939
cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
1944
scb->timeout = pt->TimeOut;
drivers/scsi/ips.c
1947
scb->dcdb.cmd_attribute |= IPS_TIMEOUT10;
drivers/scsi/ips.c
1949
scb->dcdb.cmd_attribute |= IPS_TIMEOUT60;
drivers/scsi/ips.c
1951
scb->dcdb.cmd_attribute |= IPS_TIMEOUT20M;
drivers/scsi/ips.c
1955
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
1971
ips_cleanup_passthru(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
1977
if ((!scb) || (!scb->scsi_cmd) || (!scsi_sglist(scb->scsi_cmd))) {
drivers/scsi/ips.c
1986
if (scb->cmd.dcdb.op_code == IPS_CMD_DCDB) /* Copy DCDB Back to Caller's Area */
drivers/scsi/ips.c
1987
memcpy(&pt->CoppCP.dcdb, &scb->dcdb, sizeof (IPS_DCDB_TABLE));
drivers/scsi/ips.c
1989
pt->BasicStatus = scb->basic_status;
drivers/scsi/ips.c
1990
pt->ExtendedStatus = scb->extended_status;
drivers/scsi/ips.c
1994
(scb->cmd.flashfw.op_code == IPS_CMD_DOWNLOAD ||
drivers/scsi/ips.c
1995
scb->cmd.flashfw.op_code == IPS_CMD_RW_BIOSFW))
drivers/scsi/ips.c
1998
ips_scmd_buf_write(scb->scsi_cmd, ha->ioctl_data, ha->ioctl_datasize);
drivers/scsi/ips.c
214
#define IPS_DMA_DIR(scb) ((!scb->scsi_cmd || ips_is_passthru(scb->scsi_cmd) || \
drivers/scsi/ips.c
215
DMA_NONE == scb->scsi_cmd->sc_data_direction) ? \
drivers/scsi/ips.c
217
scb->scsi_cmd->sc_data_direction)
drivers/scsi/ips.c
2216
ips_scb_t *scb;
drivers/scsi/ips.c
2315
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
2317
ips_init_scb(ha, scb);
drivers/scsi/ips.c
2319
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
2320
scb->cdb[0] = IPS_CMD_RW_BIOSFW;
drivers/scsi/ips.c
2322
scb->cmd.flashfw.op_code = IPS_CMD_RW_BIOSFW;
drivers/scsi/ips.c
2323
scb->cmd.flashfw.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
2324
scb->cmd.flashfw.type = 1;
drivers/scsi/ips.c
2325
scb->cmd.flashfw.direction = 0;
drivers/scsi/ips.c
2326
scb->cmd.flashfw.count = cpu_to_le32(0x800);
drivers/scsi/ips.c
2327
scb->cmd.flashfw.total_packets = 1;
drivers/scsi/ips.c
2328
scb->cmd.flashfw.packet_num = 0;
drivers/scsi/ips.c
2329
scb->data_len = 0x1000;
drivers/scsi/ips.c
2330
scb->cmd.flashfw.buffer_addr = ha->ioctl_busaddr;
drivers/scsi/ips.c
2334
ips_send_wait(ha, scb, ips_cmd_timeout,
drivers/scsi/ips.c
2337
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1)) {
drivers/scsi/ips.c
2510
ips_scb_t *scb;
drivers/scsi/ips.c
2546
(ha->copp_waitlist.head) && (scb = ips_getscb(ha))) {
drivers/scsi/ips.c
2552
scb->scsi_cmd = item->scsi_cmd;
drivers/scsi/ips.c
2555
ret = ips_make_passthru(ha, scb->scsi_cmd, scb, intr);
drivers/scsi/ips.c
2561
if (scb->scsi_cmd) {
drivers/scsi/ips.c
2562
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
2563
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
2566
ips_freescb(ha, scb);
drivers/scsi/ips.c
2569
if (scb->scsi_cmd) {
drivers/scsi/ips.c
2570
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
2571
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
2574
ips_freescb(ha, scb);
drivers/scsi/ips.c
2585
ret = ips_send_cmd(ha, scb);
drivers/scsi/ips.c
2588
ips_putq_scb_head(&ha->scb_activelist, scb);
drivers/scsi/ips.c
2594
if (scb->scsi_cmd) {
drivers/scsi/ips.c
2595
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
2598
ips_freescb(ha, scb);
drivers/scsi/ips.c
2601
ips_freescb(ha, scb);
drivers/scsi/ips.c
2614
while ((p) && (scb = ips_getscb(ha))) {
drivers/scsi/ips.c
2619
ips_freescb(ha, scb);
drivers/scsi/ips.c
2633
scb->target_id = SC->device->id;
drivers/scsi/ips.c
2634
scb->lun = SC->device->lun;
drivers/scsi/ips.c
2635
scb->bus = SC->device->channel;
drivers/scsi/ips.c
2636
scb->scsi_cmd = SC;
drivers/scsi/ips.c
2637
scb->breakup = 0;
drivers/scsi/ips.c
2638
scb->data_len = 0;
drivers/scsi/ips.c
2639
scb->callback = ipsintr_done;
drivers/scsi/ips.c
2640
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
2641
memset(&scb->cmd, 0, 16);
drivers/scsi/ips.c
2644
memcpy(scb->cdb, SC->cmnd, SC->cmd_len);
drivers/scsi/ips.c
2646
scb->sg_count = scsi_dma_map(SC);
drivers/scsi/ips.c
2647
BUG_ON(scb->sg_count < 0);
drivers/scsi/ips.c
2648
if (scb->sg_count) {
drivers/scsi/ips.c
2652
scb->flags |= IPS_SCB_MAP_SG;
drivers/scsi/ips.c
2654
scsi_for_each_sg(SC, sg, scb->sg_count, i) {
drivers/scsi/ips.c
2656
(ha, sg_dma_address(sg), scb, i,
drivers/scsi/ips.c
2660
scb->dcdb.transfer_length = scb->data_len;
drivers/scsi/ips.c
2662
scb->data_busaddr = 0L;
drivers/scsi/ips.c
2663
scb->sg_len = 0;
drivers/scsi/ips.c
2664
scb->data_len = 0;
drivers/scsi/ips.c
2665
scb->dcdb.transfer_length = 0;
drivers/scsi/ips.c
2668
scb->dcdb.cmd_attribute =
drivers/scsi/ips.c
2669
ips_command_direction[scb->scsi_cmd->cmnd[0]];
drivers/scsi/ips.c
2673
if ((scb->scsi_cmd->cmnd[0] == WRITE_BUFFER) &&
drivers/scsi/ips.c
2674
(scb->data_len == 0))
drivers/scsi/ips.c
2675
scb->dcdb.cmd_attribute = 0;
drivers/scsi/ips.c
2677
if (!(scb->dcdb.cmd_attribute & 0x3))
drivers/scsi/ips.c
2678
scb->dcdb.transfer_length = 0;
drivers/scsi/ips.c
2680
if (scb->data_len >= IPS_MAX_XFER) {
drivers/scsi/ips.c
2681
scb->dcdb.cmd_attribute |= IPS_TRANSFER64K;
drivers/scsi/ips.c
2682
scb->dcdb.transfer_length = 0;
drivers/scsi/ips.c
2687
ret = ips_send_cmd(ha, scb);
drivers/scsi/ips.c
2691
ips_putq_scb_head(&ha->scb_activelist, scb);
drivers/scsi/ips.c
2694
if (scb->scsi_cmd) {
drivers/scsi/ips.c
2695
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
2696
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
2699
if (scb->bus)
drivers/scsi/ips.c
2700
ha->dcdb_active[scb->bus - 1] &=
drivers/scsi/ips.c
2701
~(1 << scb->target_id);
drivers/scsi/ips.c
2703
ips_freescb(ha, scb);
drivers/scsi/ips.c
2706
if (scb->scsi_cmd)
drivers/scsi/ips.c
2707
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
2709
if (scb->bus)
drivers/scsi/ips.c
2710
ha->dcdb_active[scb->bus - 1] &=
drivers/scsi/ips.c
2711
~(1 << scb->target_id);
drivers/scsi/ips.c
2713
ips_freescb(ha, scb);
drivers/scsi/ips.c
3070
ipsintr_blocking(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
3074
ips_freescb(ha, scb);
drivers/scsi/ips.c
3075
if (ha->waitflag && ha->cmd_in_progress == scb->cdb[0]) {
drivers/scsi/ips.c
3092
ipsintr_done(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
3096
if (!scb) {
drivers/scsi/ips.c
3103
if (scb->scsi_cmd == NULL) {
drivers/scsi/ips.c
3111
ips_done(ha, scb);
drivers/scsi/ips.c
3124
ips_done(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
3130
if (!scb)
drivers/scsi/ips.c
3133
if ((scb->scsi_cmd) && (ips_is_passthru(scb->scsi_cmd))) {
drivers/scsi/ips.c
3134
ips_cleanup_passthru(ha, scb);
drivers/scsi/ips.c
3142
if ((scb->breakup) || (scb->sg_break)) {
drivers/scsi/ips.c
3147
scb->data_len = 0;
drivers/scsi/ips.c
3149
sg = scsi_sglist(scb->scsi_cmd);
drivers/scsi/ips.c
3152
sg_dma_index = scb->breakup;
drivers/scsi/ips.c
3153
for (i = 0; i < scb->breakup; i++)
drivers/scsi/ips.c
3159
scb, ips_sg_index++,
drivers/scsi/ips.c
3162
for (; sg_dma_index < scsi_sg_count(scb->scsi_cmd);
drivers/scsi/ips.c
3167
scb, ips_sg_index++,
drivers/scsi/ips.c
3172
scb->dcdb.transfer_length = scb->data_len;
drivers/scsi/ips.c
3173
scb->dcdb.cmd_attribute |=
drivers/scsi/ips.c
3174
ips_command_direction[scb->scsi_cmd->cmnd[0]];
drivers/scsi/ips.c
3176
if (!(scb->dcdb.cmd_attribute & 0x3))
drivers/scsi/ips.c
3177
scb->dcdb.transfer_length = 0;
drivers/scsi/ips.c
3179
if (scb->data_len >= IPS_MAX_XFER) {
drivers/scsi/ips.c
3180
scb->dcdb.cmd_attribute |= IPS_TRANSFER64K;
drivers/scsi/ips.c
3181
scb->dcdb.transfer_length = 0;
drivers/scsi/ips.c
3184
ret = ips_send_cmd(ha, scb);
drivers/scsi/ips.c
3188
if (scb->scsi_cmd) {
drivers/scsi/ips.c
3189
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
3190
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
3193
ips_freescb(ha, scb);
drivers/scsi/ips.c
3196
if (scb->scsi_cmd) {
drivers/scsi/ips.c
3197
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
3198
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
3201
ips_freescb(ha, scb);
drivers/scsi/ips.c
3211
if (scb->bus) {
drivers/scsi/ips.c
3212
ha->dcdb_active[scb->bus - 1] &= ~(1 << scb->target_id);
drivers/scsi/ips.c
3215
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
3217
ips_freescb(ha, scb);
drivers/scsi/ips.c
3230
ips_map_status(ips_ha_t * ha, ips_scb_t * scb, ips_stat_t * sp)
drivers/scsi/ips.c
3240
if (scb->bus) {
drivers/scsi/ips.c
3244
scb->scsi_cmd->device->channel,
drivers/scsi/ips.c
3245
scb->scsi_cmd->device->id, scb->scsi_cmd->device->lun,
drivers/scsi/ips.c
3246
scb->basic_status, scb->extended_status,
drivers/scsi/ips.c
3247
scb->extended_status ==
drivers/scsi/ips.c
3248
IPS_ERR_CKCOND ? scb->dcdb.sense_info[2] & 0xf : 0,
drivers/scsi/ips.c
3249
scb->extended_status ==
drivers/scsi/ips.c
3250
IPS_ERR_CKCOND ? scb->dcdb.sense_info[12] : 0,
drivers/scsi/ips.c
3251
scb->extended_status ==
drivers/scsi/ips.c
3252
IPS_ERR_CKCOND ? scb->dcdb.sense_info[13] : 0);
drivers/scsi/ips.c
3259
switch (scb->basic_status & IPS_GSC_STATUS_MASK) {
drivers/scsi/ips.c
3272
switch (scb->extended_status) {
drivers/scsi/ips.c
3274
if (scb->bus)
drivers/scsi/ips.c
3280
if ((scb->cmd.dcdb.op_code == IPS_CMD_EXTENDED_DCDB) ||
drivers/scsi/ips.c
3281
(scb->cmd.dcdb.op_code ==
drivers/scsi/ips.c
3283
tapeDCDB = (IPS_DCDB_TABLE_TAPE *) & scb->dcdb;
drivers/scsi/ips.c
3287
(uint32_t) scb->dcdb.transfer_length;
drivers/scsi/ips.c
3290
if ((scb->bus) && (transfer_len < scb->data_len)) {
drivers/scsi/ips.c
3295
if (scb->scsi_cmd->cmnd[0] == INQUIRY) {
drivers/scsi/ips.c
3296
ips_scmd_buf_read(scb->scsi_cmd,
drivers/scsi/ips.c
3310
if (scb->bus)
drivers/scsi/ips.c
3321
if (scb->bus) {
drivers/scsi/ips.c
3322
if ((scb->cmd.dcdb.op_code ==
drivers/scsi/ips.c
3324
|| (scb->cmd.dcdb.op_code ==
drivers/scsi/ips.c
3327
(IPS_DCDB_TABLE_TAPE *) & scb->dcdb;
drivers/scsi/ips.c
3328
memcpy_and_pad(scb->scsi_cmd->sense_buffer,
drivers/scsi/ips.c
3333
memcpy_and_pad(scb->scsi_cmd->sense_buffer,
drivers/scsi/ips.c
3335
scb->dcdb.sense_info,
drivers/scsi/ips.c
3336
sizeof(scb->dcdb.sense_info), 0);
drivers/scsi/ips.c
3352
scb->scsi_cmd->result = device_error | (errcode << 16);
drivers/scsi/ips.c
3369
ips_send_wait(ips_ha_t * ha, ips_scb_t * scb, int timeout, int intr)
drivers/scsi/ips.c
3377
ha->cmd_in_progress = scb->cdb[0];
drivers/scsi/ips.c
3379
scb->callback = ipsintr_blocking;
drivers/scsi/ips.c
3380
ret = ips_send_cmd(ha, scb);
drivers/scsi/ips.c
3435
ips_send_cmd(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
3447
if (!scb->scsi_cmd) {
drivers/scsi/ips.c
3450
if (scb->bus > 0) {
drivers/scsi/ips.c
3453
if (ha->waitflag && ha->cmd_in_progress == scb->cdb[0])
drivers/scsi/ips.c
3458
} else if ((scb->bus == 0) && (!ips_is_passthru(scb->scsi_cmd))) {
drivers/scsi/ips.c
3462
switch (scb->scsi_cmd->cmnd[0]) {
drivers/scsi/ips.c
3468
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
3472
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3477
if (scb->target_id == IPS_ADAPTER_ID) {
drivers/scsi/ips.c
3482
if (scb->scsi_cmd->cmnd[0] == TEST_UNIT_READY)
drivers/scsi/ips.c
3483
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3485
if (scb->scsi_cmd->cmnd[0] == INQUIRY) {
drivers/scsi/ips.c
3511
ips_scmd_buf_write(scb->scsi_cmd,
drivers/scsi/ips.c
3515
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3518
scb->cmd.logical_info.op_code = IPS_CMD_GET_LD_INFO;
drivers/scsi/ips.c
3519
scb->cmd.logical_info.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
3520
scb->cmd.logical_info.reserved = 0;
drivers/scsi/ips.c
3521
scb->cmd.logical_info.reserved2 = 0;
drivers/scsi/ips.c
3522
scb->data_len = sizeof (IPS_LD_INFO);
drivers/scsi/ips.c
3523
scb->data_busaddr = ha->logical_drive_info_dma_addr;
drivers/scsi/ips.c
3524
scb->flags = 0;
drivers/scsi/ips.c
3525
scb->cmd.logical_info.buffer_addr = scb->data_busaddr;
drivers/scsi/ips.c
3532
ips_reqsen(ha, scb);
drivers/scsi/ips.c
3533
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3538
if (!scb->sg_len) {
drivers/scsi/ips.c
3539
scb->cmd.basic_io.op_code =
drivers/scsi/ips.c
3540
(scb->scsi_cmd->cmnd[0] ==
drivers/scsi/ips.c
3542
scb->cmd.basic_io.enhanced_sg = 0;
drivers/scsi/ips.c
3543
scb->cmd.basic_io.sg_addr =
drivers/scsi/ips.c
3544
cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
3546
scb->cmd.basic_io.op_code =
drivers/scsi/ips.c
3547
(scb->scsi_cmd->cmnd[0] ==
drivers/scsi/ips.c
3550
scb->cmd.basic_io.enhanced_sg =
drivers/scsi/ips.c
3552
scb->cmd.basic_io.sg_addr =
drivers/scsi/ips.c
3553
cpu_to_le32(scb->sg_busaddr);
drivers/scsi/ips.c
3556
scb->cmd.basic_io.segment_4G = 0;
drivers/scsi/ips.c
3557
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
3558
scb->cmd.basic_io.log_drv = scb->target_id;
drivers/scsi/ips.c
3559
scb->cmd.basic_io.sg_count = scb->sg_len;
drivers/scsi/ips.c
3561
if (scb->cmd.basic_io.lba)
drivers/scsi/ips.c
3562
le32_add_cpu(&scb->cmd.basic_io.lba,
drivers/scsi/ips.c
3563
le16_to_cpu(scb->cmd.basic_io.
drivers/scsi/ips.c
3566
scb->cmd.basic_io.lba =
drivers/scsi/ips.c
3567
(((scb->scsi_cmd->
drivers/scsi/ips.c
3568
cmnd[1] & 0x1f) << 16) | (scb->scsi_cmd->
drivers/scsi/ips.c
3570
(scb->scsi_cmd->cmnd[3]));
drivers/scsi/ips.c
3572
scb->cmd.basic_io.sector_count =
drivers/scsi/ips.c
3573
cpu_to_le16(scb->data_len / IPS_BLKSIZE);
drivers/scsi/ips.c
3575
if (le16_to_cpu(scb->cmd.basic_io.sector_count) == 0)
drivers/scsi/ips.c
3576
scb->cmd.basic_io.sector_count =
drivers/scsi/ips.c
3584
if (!scb->sg_len) {
drivers/scsi/ips.c
3585
scb->cmd.basic_io.op_code =
drivers/scsi/ips.c
3586
(scb->scsi_cmd->cmnd[0] ==
drivers/scsi/ips.c
3588
scb->cmd.basic_io.enhanced_sg = 0;
drivers/scsi/ips.c
3589
scb->cmd.basic_io.sg_addr =
drivers/scsi/ips.c
3590
cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
3592
scb->cmd.basic_io.op_code =
drivers/scsi/ips.c
3593
(scb->scsi_cmd->cmnd[0] ==
drivers/scsi/ips.c
3596
scb->cmd.basic_io.enhanced_sg =
drivers/scsi/ips.c
3598
scb->cmd.basic_io.sg_addr =
drivers/scsi/ips.c
3599
cpu_to_le32(scb->sg_busaddr);
drivers/scsi/ips.c
3602
scb->cmd.basic_io.segment_4G = 0;
drivers/scsi/ips.c
3603
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
3604
scb->cmd.basic_io.log_drv = scb->target_id;
drivers/scsi/ips.c
3605
scb->cmd.basic_io.sg_count = scb->sg_len;
drivers/scsi/ips.c
3607
if (scb->cmd.basic_io.lba)
drivers/scsi/ips.c
3608
le32_add_cpu(&scb->cmd.basic_io.lba,
drivers/scsi/ips.c
3609
le16_to_cpu(scb->cmd.basic_io.
drivers/scsi/ips.c
3612
scb->cmd.basic_io.lba =
drivers/scsi/ips.c
3613
((scb->scsi_cmd->cmnd[2] << 24) | (scb->
drivers/scsi/ips.c
3617
(scb->scsi_cmd->cmnd[4] << 8) | scb->
drivers/scsi/ips.c
3620
scb->cmd.basic_io.sector_count =
drivers/scsi/ips.c
3621
cpu_to_le16(scb->data_len / IPS_BLKSIZE);
drivers/scsi/ips.c
3623
if (cpu_to_le16(scb->cmd.basic_io.sector_count) == 0) {
drivers/scsi/ips.c
3629
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3637
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3641
scb->cmd.basic_io.op_code = IPS_CMD_ENQUIRY;
drivers/scsi/ips.c
3642
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
3643
scb->cmd.basic_io.segment_4G = 0;
drivers/scsi/ips.c
3644
scb->cmd.basic_io.enhanced_sg = 0;
drivers/scsi/ips.c
3645
scb->data_len = sizeof (*ha->enq);
drivers/scsi/ips.c
3646
scb->cmd.basic_io.sg_addr = ha->enq_busaddr;
drivers/scsi/ips.c
3651
scb->cmd.logical_info.op_code = IPS_CMD_GET_LD_INFO;
drivers/scsi/ips.c
3652
scb->cmd.logical_info.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
3653
scb->cmd.logical_info.reserved = 0;
drivers/scsi/ips.c
3654
scb->cmd.logical_info.reserved2 = 0;
drivers/scsi/ips.c
3655
scb->cmd.logical_info.reserved3 = 0;
drivers/scsi/ips.c
3656
scb->data_len = sizeof (IPS_LD_INFO);
drivers/scsi/ips.c
3657
scb->data_busaddr = ha->logical_drive_info_dma_addr;
drivers/scsi/ips.c
3658
scb->flags = 0;
drivers/scsi/ips.c
3659
scb->cmd.logical_info.buffer_addr = scb->data_busaddr;
drivers/scsi/ips.c
3671
scb->scsi_cmd->result = DID_OK << 16;
drivers/scsi/ips.c
3678
sp = (char *) scb->scsi_cmd->sense_buffer;
drivers/scsi/ips.c
3687
scb->scsi_cmd->result = device_error | (DID_OK << 16);
drivers/scsi/ips.c
3696
if (scb->bus > 0) {
drivers/scsi/ips.c
3700
if (ha->conf->dev[scb->bus - 1][scb->target_id].ucState == 0) {
drivers/scsi/ips.c
3701
scb->scsi_cmd->result = DID_NO_CONNECT << 16;
drivers/scsi/ips.c
3705
ha->dcdb_active[scb->bus - 1] |= (1 << scb->target_id);
drivers/scsi/ips.c
3706
scb->cmd.dcdb.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
3707
scb->cmd.dcdb.dcdb_address = cpu_to_le32(scb->scb_busaddr +
drivers/scsi/ips.c
3708
(unsigned long) &scb->
drivers/scsi/ips.c
3710
(unsigned long) scb);
drivers/scsi/ips.c
3711
scb->cmd.dcdb.reserved = 0;
drivers/scsi/ips.c
3712
scb->cmd.dcdb.reserved2 = 0;
drivers/scsi/ips.c
3713
scb->cmd.dcdb.reserved3 = 0;
drivers/scsi/ips.c
3714
scb->cmd.dcdb.segment_4G = 0;
drivers/scsi/ips.c
3715
scb->cmd.dcdb.enhanced_sg = 0;
drivers/scsi/ips.c
3717
TimeOut = scsi_cmd_to_rq(scb->scsi_cmd)->timeout;
drivers/scsi/ips.c
3720
if (!scb->sg_len) {
drivers/scsi/ips.c
3721
scb->cmd.dcdb.op_code = IPS_CMD_EXTENDED_DCDB;
drivers/scsi/ips.c
3723
scb->cmd.dcdb.op_code =
drivers/scsi/ips.c
3725
scb->cmd.dcdb.enhanced_sg =
drivers/scsi/ips.c
3729
tapeDCDB = (IPS_DCDB_TABLE_TAPE *) & scb->dcdb; /* Use Same Data Area as Old DCDB Struct */
drivers/scsi/ips.c
3731
((scb->bus - 1) << 4) | scb->target_id;
drivers/scsi/ips.c
3744
tapeDCDB->cdb_length = scb->scsi_cmd->cmd_len;
drivers/scsi/ips.c
3746
tapeDCDB->transfer_length = scb->data_len;
drivers/scsi/ips.c
3747
if (scb->cmd.dcdb.op_code == IPS_CMD_EXTENDED_DCDB_SG)
drivers/scsi/ips.c
3749
cpu_to_le32(scb->sg_busaddr);
drivers/scsi/ips.c
3752
cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
3753
tapeDCDB->sg_count = scb->sg_len;
drivers/scsi/ips.c
3757
memcpy(tapeDCDB->scsi_cdb, scb->scsi_cmd->cmnd,
drivers/scsi/ips.c
3758
scb->scsi_cmd->cmd_len);
drivers/scsi/ips.c
3760
if (!scb->sg_len) {
drivers/scsi/ips.c
3761
scb->cmd.dcdb.op_code = IPS_CMD_DCDB;
drivers/scsi/ips.c
3763
scb->cmd.dcdb.op_code = IPS_CMD_DCDB_SG;
drivers/scsi/ips.c
3764
scb->cmd.dcdb.enhanced_sg =
drivers/scsi/ips.c
3768
scb->dcdb.device_address =
drivers/scsi/ips.c
3769
((scb->bus - 1) << 4) | scb->target_id;
drivers/scsi/ips.c
3770
scb->dcdb.cmd_attribute |= IPS_DISCONNECT_ALLOWED;
drivers/scsi/ips.c
3774
scb->dcdb.cmd_attribute |= IPS_TIMEOUT10; /* TimeOut is 10 Seconds */
drivers/scsi/ips.c
3776
scb->dcdb.cmd_attribute |= IPS_TIMEOUT60; /* TimeOut is 60 Seconds */
drivers/scsi/ips.c
3778
scb->dcdb.cmd_attribute |= IPS_TIMEOUT20M; /* TimeOut is 20 Minutes */
drivers/scsi/ips.c
3781
scb->dcdb.transfer_length = scb->data_len;
drivers/scsi/ips.c
3782
if (scb->dcdb.cmd_attribute & IPS_TRANSFER64K)
drivers/scsi/ips.c
3783
scb->dcdb.transfer_length = 0;
drivers/scsi/ips.c
3784
if (scb->cmd.dcdb.op_code == IPS_CMD_DCDB_SG)
drivers/scsi/ips.c
3785
scb->dcdb.buffer_pointer =
drivers/scsi/ips.c
3786
cpu_to_le32(scb->sg_busaddr);
drivers/scsi/ips.c
3788
scb->dcdb.buffer_pointer =
drivers/scsi/ips.c
3789
cpu_to_le32(scb->data_busaddr);
drivers/scsi/ips.c
3790
scb->dcdb.cdb_length = scb->scsi_cmd->cmd_len;
drivers/scsi/ips.c
3791
scb->dcdb.sense_length = sizeof (scb->dcdb.sense_info);
drivers/scsi/ips.c
3792
scb->dcdb.sg_count = scb->sg_len;
drivers/scsi/ips.c
3793
scb->dcdb.reserved = 0;
drivers/scsi/ips.c
3794
memcpy(scb->dcdb.scsi_cdb, scb->scsi_cmd->cmnd,
drivers/scsi/ips.c
3795
scb->scsi_cmd->cmd_len);
drivers/scsi/ips.c
3796
scb->dcdb.scsi_status = 0;
drivers/scsi/ips.c
3797
scb->dcdb.reserved2[0] = 0;
drivers/scsi/ips.c
3798
scb->dcdb.reserved2[1] = 0;
drivers/scsi/ips.c
3799
scb->dcdb.reserved2[2] = 0;
drivers/scsi/ips.c
3803
return ((*ha->func.issue) (ha, scb));
drivers/scsi/ips.c
3818
ips_scb_t *scb;
drivers/scsi/ips.c
3827
scb = &ha->scbs[pstatus->fields.command_id];
drivers/scsi/ips.c
3828
scb->basic_status = basic_status =
drivers/scsi/ips.c
3830
scb->extended_status = ext_status = pstatus->fields.extended_status;
drivers/scsi/ips.c
3834
sp->scb_addr = (void *) scb;
drivers/scsi/ips.c
3837
ips_removeq_scb(&ha->scb_activelist, scb);
drivers/scsi/ips.c
3839
if (!scb->scsi_cmd)
drivers/scsi/ips.c
3846
scb->cdb[0],
drivers/scsi/ips.c
3847
scb->cmd.basic_io.command_id,
drivers/scsi/ips.c
3848
scb->bus, scb->target_id, scb->lun);
drivers/scsi/ips.c
3850
if ((scb->scsi_cmd) && (ips_is_passthru(scb->scsi_cmd)))
drivers/scsi/ips.c
3859
if (scb->bus == 0) {
drivers/scsi/ips.c
3865
scb->cmd.basic_io.op_code,
drivers/scsi/ips.c
3869
switch (scb->scsi_cmd->cmnd[0]) {
drivers/scsi/ips.c
3882
if (!ips_online(ha, scb)) {
drivers/scsi/ips.c
3888
if (ips_online(ha, scb)) {
drivers/scsi/ips.c
3889
ips_inquiry(ha, scb);
drivers/scsi/ips.c
3896
ips_reqsen(ha, scb);
drivers/scsi/ips.c
3908
if (!ips_online(ha, scb)
drivers/scsi/ips.c
3909
|| !ips_msense(ha, scb)) {
drivers/scsi/ips.c
3915
if (ips_online(ha, scb))
drivers/scsi/ips.c
3916
ips_rdcap(ha, scb);
drivers/scsi/ips.c
3941
scb->scsi_cmd->result = errcode << 16;
drivers/scsi/ips.c
3944
if (scb->scsi_cmd->cmnd[0] == INQUIRY) {
drivers/scsi/ips.c
3945
ips_scmd_buf_read(scb->scsi_cmd,
drivers/scsi/ips.c
3948
scb->scsi_cmd->result = DID_TIME_OUT << 16;
drivers/scsi/ips.c
3952
if (scb->bus == 0) {
drivers/scsi/ips.c
3956
scb->cmd.basic_io.op_code, basic_status,
drivers/scsi/ips.c
3960
ips_map_status(ha, scb, sp);
drivers/scsi/ips.c
3974
ips_online(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
3978
if (scb->target_id >= IPS_MAX_LD)
drivers/scsi/ips.c
3981
if ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1) {
drivers/scsi/ips.c
3986
if (ha->logical_drive_info->drive_info[scb->target_id].state !=
drivers/scsi/ips.c
3988
&& ha->logical_drive_info->drive_info[scb->target_id].state !=
drivers/scsi/ips.c
3990
&& ha->logical_drive_info->drive_info[scb->target_id].state !=
drivers/scsi/ips.c
3992
&& ha->logical_drive_info->drive_info[scb->target_id].state !=
drivers/scsi/ips.c
4009
ips_inquiry(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
4029
ips_scmd_buf_write(scb->scsi_cmd, &inquiry, sizeof (inquiry));
drivers/scsi/ips.c
4044
ips_rdcap(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
4050
if (scsi_bufflen(scb->scsi_cmd) < 8)
drivers/scsi/ips.c
4056
drive_info[scb->target_id].sector_count) - 1);
drivers/scsi/ips.c
4059
ips_scmd_buf_write(scb->scsi_cmd, &cap, sizeof (cap));
drivers/scsi/ips.c
4074
ips_msense(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
4083
if (le32_to_cpu(ha->enq->ulDriveSize[scb->target_id]) > 0x400000 &&
drivers/scsi/ips.c
4093
(le32_to_cpu(ha->enq->ulDriveSize[scb->target_id]) -
drivers/scsi/ips.c
4100
switch (scb->scsi_cmd->cmnd[2] & 0x3f) {
drivers/scsi/ips.c
4150
ips_scmd_buf_write(scb->scsi_cmd, &mdata, sizeof (mdata));
drivers/scsi/ips.c
4165
ips_reqsen(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
4179
ips_scmd_buf_write(scb->scsi_cmd, &reqsen, sizeof (reqsen));
drivers/scsi/ips.c
4350
ips_init_scb(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
4356
if (scb == NULL)
drivers/scsi/ips.c
4359
sg_list.list = scb->sg_list.list;
drivers/scsi/ips.c
4360
cmd_busaddr = scb->scb_busaddr;
drivers/scsi/ips.c
4361
sg_busaddr = scb->sg_busaddr;
drivers/scsi/ips.c
4363
memset(scb, 0, sizeof (ips_scb_t));
drivers/scsi/ips.c
4373
scb->scb_busaddr = cmd_busaddr;
drivers/scsi/ips.c
4374
scb->sg_busaddr = sg_busaddr;
drivers/scsi/ips.c
4375
scb->sg_list.list = sg_list.list;
drivers/scsi/ips.c
4378
scb->cmd.basic_io.cccr = cpu_to_le32((uint32_t) IPS_BIT_ILE);
drivers/scsi/ips.c
4379
scb->cmd.basic_io.ccsar = cpu_to_le32(ha->adapt->hw_status_start
drivers/scsi/ips.c
4397
ips_scb_t *scb;
drivers/scsi/ips.c
4401
if ((scb = ha->scb_freelist) == NULL) {
drivers/scsi/ips.c
4406
ha->scb_freelist = scb->q_next;
drivers/scsi/ips.c
4407
scb->flags = 0;
drivers/scsi/ips.c
4408
scb->q_next = NULL;
drivers/scsi/ips.c
4410
ips_init_scb(ha, scb);
drivers/scsi/ips.c
4412
return (scb);
drivers/scsi/ips.c
4427
ips_freescb(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
4431
if (scb->flags & IPS_SCB_MAP_SG)
drivers/scsi/ips.c
4432
scsi_dma_unmap(scb->scsi_cmd);
drivers/scsi/ips.c
4433
else if (scb->flags & IPS_SCB_MAP_SINGLE)
drivers/scsi/ips.c
4434
dma_unmap_single(&ha->pcidev->dev, scb->data_busaddr,
drivers/scsi/ips.c
4435
scb->data_len, IPS_DMA_DIR(scb));
drivers/scsi/ips.c
4438
if (IPS_COMMAND_ID(ha, scb) < (ha->max_cmds - 1)) {
drivers/scsi/ips.c
4439
scb->q_next = ha->scb_freelist;
drivers/scsi/ips.c
4440
ha->scb_freelist = scb;
drivers/scsi/ips.c
4540
ips_scb_t *scb;
drivers/scsi/ips.c
4547
scb = dma_alloc_coherent(&ha->pcidev->dev, sizeof(ips_scb_t),
drivers/scsi/ips.c
4549
if (scb) {
drivers/scsi/ips.c
4550
memset(scb, 0, sizeof(ips_scb_t));
drivers/scsi/ips.c
4551
ips_init_scb(ha, scb);
drivers/scsi/ips.c
4552
scb->scb_busaddr = command_dma;
drivers/scsi/ips.c
4554
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
4555
scb->cdb[0] = IPS_CMD_FLUSH;
drivers/scsi/ips.c
4557
scb->cmd.flush_cache.op_code = IPS_CMD_FLUSH;
drivers/scsi/ips.c
4558
scb->cmd.flush_cache.command_id = IPS_MAX_CMDS; /* Use an ID that would otherwise not exist */
drivers/scsi/ips.c
4559
scb->cmd.flush_cache.state = IPS_NORM_STATE;
drivers/scsi/ips.c
4560
scb->cmd.flush_cache.reserved = 0;
drivers/scsi/ips.c
4561
scb->cmd.flush_cache.reserved2 = 0;
drivers/scsi/ips.c
4562
scb->cmd.flush_cache.reserved3 = 0;
drivers/scsi/ips.c
4563
scb->cmd.flush_cache.reserved4 = 0;
drivers/scsi/ips.c
4565
ret = ips_send_cmd(ha, scb); /* Send the Flush Command */
drivers/scsi/ips.c
4583
dma_free_coherent(&ha->pcidev->dev, sizeof(ips_scb_t), scb, command_dma);
drivers/scsi/ips.c
5256
ips_issue_copperhead(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
5263
if (scb->scsi_cmd) {
drivers/scsi/ips.c
5267
scb->cdb[0],
drivers/scsi/ips.c
5268
scb->cmd.basic_io.command_id,
drivers/scsi/ips.c
5269
scb->bus, scb->target_id, scb->lun);
drivers/scsi/ips.c
5272
ips_name, ha->host_num, scb->cmd.basic_io.command_id);
drivers/scsi/ips.c
5294
outl(scb->scb_busaddr, ha->io_addr + IPS_REG_CCSAR);
drivers/scsi/ips.c
5310
ips_issue_copperhead_memio(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
5317
if (scb->scsi_cmd) {
drivers/scsi/ips.c
5321
scb->cdb[0],
drivers/scsi/ips.c
5322
scb->cmd.basic_io.command_id,
drivers/scsi/ips.c
5323
scb->bus, scb->target_id, scb->lun);
drivers/scsi/ips.c
5326
ips_name, ha->host_num, scb->cmd.basic_io.command_id);
drivers/scsi/ips.c
5347
writel(scb->scb_busaddr, ha->mem_ptr + IPS_REG_CCSAR);
drivers/scsi/ips.c
5363
ips_issue_i2o(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
5368
if (scb->scsi_cmd) {
drivers/scsi/ips.c
5372
scb->cdb[0],
drivers/scsi/ips.c
5373
scb->cmd.basic_io.command_id,
drivers/scsi/ips.c
5374
scb->bus, scb->target_id, scb->lun);
drivers/scsi/ips.c
5377
ips_name, ha->host_num, scb->cmd.basic_io.command_id);
drivers/scsi/ips.c
5380
outl(scb->scb_busaddr, ha->io_addr + IPS_REG_I2O_INMSGQ);
drivers/scsi/ips.c
5395
ips_issue_i2o_memio(ips_ha_t * ha, ips_scb_t * scb)
drivers/scsi/ips.c
5400
if (scb->scsi_cmd) {
drivers/scsi/ips.c
5404
scb->cdb[0],
drivers/scsi/ips.c
5405
scb->cmd.basic_io.command_id,
drivers/scsi/ips.c
5406
scb->bus, scb->target_id, scb->lun);
drivers/scsi/ips.c
5409
ips_name, ha->host_num, scb->cmd.basic_io.command_id);
drivers/scsi/ips.c
5412
writel(scb->scb_busaddr, ha->mem_ptr + IPS_REG_I2O_INMSGQ);
drivers/scsi/ips.c
5642
ips_scb_t *scb;
drivers/scsi/ips.c
5647
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5649
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5651
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
5652
scb->cdb[0] = IPS_CMD_ENQUIRY;
drivers/scsi/ips.c
5654
scb->cmd.basic_io.op_code = IPS_CMD_ENQUIRY;
drivers/scsi/ips.c
5655
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5656
scb->cmd.basic_io.sg_count = 0;
drivers/scsi/ips.c
5657
scb->cmd.basic_io.lba = 0;
drivers/scsi/ips.c
5658
scb->cmd.basic_io.sector_count = 0;
drivers/scsi/ips.c
5659
scb->cmd.basic_io.log_drv = 0;
drivers/scsi/ips.c
5660
scb->data_len = sizeof (*ha->enq);
drivers/scsi/ips.c
5661
scb->cmd.basic_io.sg_addr = ha->enq_busaddr;
drivers/scsi/ips.c
5665
ips_send_wait(ha, scb, ips_cmd_timeout, intr)) == IPS_FAILURE)
drivers/scsi/ips.c
5667
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1))
drivers/scsi/ips.c
5685
ips_scb_t *scb;
drivers/scsi/ips.c
5690
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5692
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5694
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
5695
scb->cdb[0] = IPS_CMD_GET_SUBSYS;
drivers/scsi/ips.c
5697
scb->cmd.basic_io.op_code = IPS_CMD_GET_SUBSYS;
drivers/scsi/ips.c
5698
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5699
scb->cmd.basic_io.sg_count = 0;
drivers/scsi/ips.c
5700
scb->cmd.basic_io.lba = 0;
drivers/scsi/ips.c
5701
scb->cmd.basic_io.sector_count = 0;
drivers/scsi/ips.c
5702
scb->cmd.basic_io.log_drv = 0;
drivers/scsi/ips.c
5703
scb->data_len = sizeof (*ha->subsys);
drivers/scsi/ips.c
5704
scb->cmd.basic_io.sg_addr = ha->ioctl_busaddr;
drivers/scsi/ips.c
5708
ips_send_wait(ha, scb, ips_cmd_timeout, intr)) == IPS_FAILURE)
drivers/scsi/ips.c
5710
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1))
drivers/scsi/ips.c
5729
ips_scb_t *scb;
drivers/scsi/ips.c
5739
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5741
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5743
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
5744
scb->cdb[0] = IPS_CMD_READ_CONF;
drivers/scsi/ips.c
5746
scb->cmd.basic_io.op_code = IPS_CMD_READ_CONF;
drivers/scsi/ips.c
5747
scb->cmd.basic_io.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5748
scb->data_len = sizeof (*ha->conf);
drivers/scsi/ips.c
5749
scb->cmd.basic_io.sg_addr = ha->ioctl_busaddr;
drivers/scsi/ips.c
5753
ips_send_wait(ha, scb, ips_cmd_timeout, intr)) == IPS_FAILURE)
drivers/scsi/ips.c
5755
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1)) {
drivers/scsi/ips.c
5764
if ((scb->basic_status & IPS_GSC_STATUS_MASK) ==
drivers/scsi/ips.c
5787
ips_scb_t *scb;
drivers/scsi/ips.c
5792
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5794
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5796
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
5797
scb->cdb[0] = IPS_CMD_RW_NVRAM_PAGE;
drivers/scsi/ips.c
5799
scb->cmd.nvram.op_code = IPS_CMD_RW_NVRAM_PAGE;
drivers/scsi/ips.c
5800
scb->cmd.nvram.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5801
scb->cmd.nvram.page = 5;
drivers/scsi/ips.c
5802
scb->cmd.nvram.write = write;
drivers/scsi/ips.c
5803
scb->cmd.nvram.reserved = 0;
drivers/scsi/ips.c
5804
scb->cmd.nvram.reserved2 = 0;
drivers/scsi/ips.c
5805
scb->data_len = sizeof (*ha->nvram);
drivers/scsi/ips.c
5806
scb->cmd.nvram.buffer_addr = ha->ioctl_busaddr;
drivers/scsi/ips.c
5812
ips_send_wait(ha, scb, ips_cmd_timeout, intr)) == IPS_FAILURE)
drivers/scsi/ips.c
5814
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1)) {
drivers/scsi/ips.c
5837
ips_scb_t *scb;
drivers/scsi/ips.c
5842
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5844
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5846
scb->timeout = ips_reset_timeout;
drivers/scsi/ips.c
5847
scb->cdb[0] = IPS_CMD_CONFIG_SYNC;
drivers/scsi/ips.c
5849
scb->cmd.config_sync.op_code = IPS_CMD_CONFIG_SYNC;
drivers/scsi/ips.c
5850
scb->cmd.config_sync.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5851
scb->cmd.config_sync.channel = 0;
drivers/scsi/ips.c
5852
scb->cmd.config_sync.source_target = IPS_POCL;
drivers/scsi/ips.c
5853
scb->cmd.config_sync.reserved = 0;
drivers/scsi/ips.c
5854
scb->cmd.config_sync.reserved2 = 0;
drivers/scsi/ips.c
5855
scb->cmd.config_sync.reserved3 = 0;
drivers/scsi/ips.c
5859
ips_send_wait(ha, scb, ips_reset_timeout, intr)) == IPS_FAILURE)
drivers/scsi/ips.c
5861
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1))
drivers/scsi/ips.c
5865
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5867
scb->cdb[0] = IPS_CMD_ERROR_TABLE;
drivers/scsi/ips.c
5868
scb->timeout = ips_reset_timeout;
drivers/scsi/ips.c
5870
scb->cmd.unlock_stripe.op_code = IPS_CMD_ERROR_TABLE;
drivers/scsi/ips.c
5871
scb->cmd.unlock_stripe.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5872
scb->cmd.unlock_stripe.log_drv = 0;
drivers/scsi/ips.c
5873
scb->cmd.unlock_stripe.control = IPS_CSL;
drivers/scsi/ips.c
5874
scb->cmd.unlock_stripe.reserved = 0;
drivers/scsi/ips.c
5875
scb->cmd.unlock_stripe.reserved2 = 0;
drivers/scsi/ips.c
5876
scb->cmd.unlock_stripe.reserved3 = 0;
drivers/scsi/ips.c
5880
ips_send_wait(ha, scb, ips_cmd_timeout, intr)) == IPS_FAILURE)
drivers/scsi/ips.c
5882
|| ((scb->basic_status & IPS_GSC_STATUS_MASK) > 1))
drivers/scsi/ips.c
5900
ips_scb_t *scb;
drivers/scsi/ips.c
5904
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5906
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5908
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
5909
scb->cdb[0] = IPS_CMD_FFDC;
drivers/scsi/ips.c
5910
scb->cmd.ffdc.op_code = IPS_CMD_FFDC;
drivers/scsi/ips.c
5911
scb->cmd.ffdc.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5912
scb->cmd.ffdc.reset_count = ha->reset_count;
drivers/scsi/ips.c
5913
scb->cmd.ffdc.reset_type = 0x80;
drivers/scsi/ips.c
5916
ips_fix_ffdc_time(ha, scb, ha->last_ffdc);
drivers/scsi/ips.c
5919
ips_send_wait(ha, scb, ips_cmd_timeout, intr);
drivers/scsi/ips.c
5934
ips_scb_t *scb;
drivers/scsi/ips.c
5940
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
5942
ips_init_scb(ha, scb);
drivers/scsi/ips.c
5944
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
5945
scb->cdb[0] = IPS_CMD_FFDC;
drivers/scsi/ips.c
5946
scb->cmd.ffdc.op_code = IPS_CMD_FFDC;
drivers/scsi/ips.c
5947
scb->cmd.ffdc.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
5948
scb->cmd.ffdc.reset_count = 0;
drivers/scsi/ips.c
5949
scb->cmd.ffdc.reset_type = 0;
drivers/scsi/ips.c
5952
ips_fix_ffdc_time(ha, scb, ha->last_ffdc);
drivers/scsi/ips.c
5955
ips_send_wait(ha, scb, ips_cmd_timeout, IPS_FFDC);
drivers/scsi/ips.c
5967
ips_fix_ffdc_time(ips_ha_t * ha, ips_scb_t * scb, time64_t current_time)
drivers/scsi/ips.c
5975
scb->cmd.ffdc.hour = tm.tm_hour;
drivers/scsi/ips.c
5976
scb->cmd.ffdc.minute = tm.tm_min;
drivers/scsi/ips.c
5977
scb->cmd.ffdc.second = tm.tm_sec;
drivers/scsi/ips.c
5978
scb->cmd.ffdc.yearH = (tm.tm_year + 1900) / 100;
drivers/scsi/ips.c
5979
scb->cmd.ffdc.yearL = tm.tm_year % 100;
drivers/scsi/ips.c
5980
scb->cmd.ffdc.month = tm.tm_mon + 1;
drivers/scsi/ips.c
5981
scb->cmd.ffdc.day = tm.tm_mday;
drivers/scsi/ips.c
648
ips_scb_t *scb;
drivers/scsi/ips.c
670
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
672
ips_init_scb(ha, scb);
drivers/scsi/ips.c
674
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
675
scb->cdb[0] = IPS_CMD_FLUSH;
drivers/scsi/ips.c
677
scb->cmd.flush_cache.op_code = IPS_CMD_FLUSH;
drivers/scsi/ips.c
678
scb->cmd.flush_cache.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
679
scb->cmd.flush_cache.state = IPS_NORM_STATE;
drivers/scsi/ips.c
680
scb->cmd.flush_cache.reserved = 0;
drivers/scsi/ips.c
681
scb->cmd.flush_cache.reserved2 = 0;
drivers/scsi/ips.c
682
scb->cmd.flush_cache.reserved3 = 0;
drivers/scsi/ips.c
683
scb->cmd.flush_cache.reserved4 = 0;
drivers/scsi/ips.c
688
if (ips_send_wait(ha, scb, ips_cmd_timeout, IPS_INTR_ON) == IPS_FAILURE)
drivers/scsi/ips.c
719
ips_scb_t *scb;
drivers/scsi/ips.c
737
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
739
ips_init_scb(ha, scb);
drivers/scsi/ips.c
741
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
742
scb->cdb[0] = IPS_CMD_FLUSH;
drivers/scsi/ips.c
744
scb->cmd.flush_cache.op_code = IPS_CMD_FLUSH;
drivers/scsi/ips.c
745
scb->cmd.flush_cache.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
746
scb->cmd.flush_cache.state = IPS_NORM_STATE;
drivers/scsi/ips.c
747
scb->cmd.flush_cache.reserved = 0;
drivers/scsi/ips.c
748
scb->cmd.flush_cache.reserved2 = 0;
drivers/scsi/ips.c
749
scb->cmd.flush_cache.reserved3 = 0;
drivers/scsi/ips.c
750
scb->cmd.flush_cache.reserved4 = 0;
drivers/scsi/ips.c
755
if (ips_send_wait(ha, scb, ips_cmd_timeout, IPS_INTR_ON) ==
drivers/scsi/ips.c
838
ips_scb_t *scb;
drivers/scsi/ips.c
874
scb = &ha->scbs[ha->max_cmds - 1];
drivers/scsi/ips.c
876
ips_init_scb(ha, scb);
drivers/scsi/ips.c
878
scb->timeout = ips_cmd_timeout;
drivers/scsi/ips.c
879
scb->cdb[0] = IPS_CMD_FLUSH;
drivers/scsi/ips.c
881
scb->cmd.flush_cache.op_code = IPS_CMD_FLUSH;
drivers/scsi/ips.c
882
scb->cmd.flush_cache.command_id = IPS_COMMAND_ID(ha, scb);
drivers/scsi/ips.c
883
scb->cmd.flush_cache.state = IPS_NORM_STATE;
drivers/scsi/ips.c
884
scb->cmd.flush_cache.reserved = 0;
drivers/scsi/ips.c
885
scb->cmd.flush_cache.reserved2 = 0;
drivers/scsi/ips.c
886
scb->cmd.flush_cache.reserved3 = 0;
drivers/scsi/ips.c
887
scb->cmd.flush_cache.reserved4 = 0;
drivers/scsi/ips.c
890
ret = ips_send_wait(ha, scb, ips_cmd_timeout, IPS_INTR_IORL);
drivers/scsi/ips.c
920
while ((scb = ips_removeq_scb_head(&ha->scb_activelist))) {
drivers/scsi/ips.c
921
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
922
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
923
ips_freescb(ha, scb);
drivers/scsi/ips.c
949
while ((scb = ips_removeq_scb_head(&ha->scb_activelist))) {
drivers/scsi/ips.c
950
scb->scsi_cmd->result = DID_ERROR << 16;
drivers/scsi/ips.c
951
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
952
ips_freescb(ha, scb);
drivers/scsi/ips.c
978
while ((scb = ips_removeq_scb_head(&ha->scb_activelist))) {
drivers/scsi/ips.c
979
scb->scsi_cmd->result = DID_RESET << 16;
drivers/scsi/ips.c
980
scsi_done(scb->scsi_cmd);
drivers/scsi/ips.c
981
ips_freescb(ha, scb);
drivers/scsi/ips.h
61
#define IPS_COMMAND_ID(ha, scb) (int) (scb - ha->scbs)
drivers/scsi/megaraid.c
1016
mega_prepare_extpassthru(adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid.c
1022
epthru = scb->epthru;
drivers/scsi/megaraid.c
1042
scb->dma_direction = DMA_BIDIRECTIONAL;
drivers/scsi/megaraid.c
1059
epthru->numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
1070
scb_t *scb;
drivers/scsi/megaraid.c
1076
scb = list_entry(pos, scb_t, list);
drivers/scsi/megaraid.c
1078
if( !(scb->state & SCB_ISSUED) ) {
drivers/scsi/megaraid.c
1080
if( issue_scb(adapter, scb) != 0 )
drivers/scsi/megaraid.c
1099
issue_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid.c
1115
memcpy((char *)&mbox->m_out, (char *)scb->raw_mbox,
drivers/scsi/megaraid.c
1118
mbox->m_out.cmdid = scb->idx; /* Set cmdid */
drivers/scsi/megaraid.c
1144
scb->state |= SCB_ISSUED;
drivers/scsi/megaraid.c
1423
scb_t *scb;
drivers/scsi/megaraid.c
1444
scb = &adapter->int_scb;
drivers/scsi/megaraid.c
1445
cmd = scb->cmd;
drivers/scsi/megaraid.c
1447
list_del_init(&scb->list);
drivers/scsi/megaraid.c
1448
scb->state = SCB_FREE;
drivers/scsi/megaraid.c
1453
scb = &adapter->scb_list[cmdid];
drivers/scsi/megaraid.c
1458
if( !(scb->state & SCB_ISSUED) || scb->cmd == NULL ) {
drivers/scsi/megaraid.c
1461
cmdid, scb->state, scb->cmd);
drivers/scsi/megaraid.c
1469
if( scb->state & SCB_ABORT ) {
drivers/scsi/megaraid.c
1473
scb->idx);
drivers/scsi/megaraid.c
1475
scb->cmd->result = (DID_ABORT << 16);
drivers/scsi/megaraid.c
1477
list_add_tail(SCSI_LIST(scb->cmd),
drivers/scsi/megaraid.c
1480
mega_free_scb(adapter, scb);
drivers/scsi/megaraid.c
1488
if( scb->state & SCB_RESET ) {
drivers/scsi/megaraid.c
1492
scb->idx);
drivers/scsi/megaraid.c
1494
scb->cmd->result = (DID_RESET << 16);
drivers/scsi/megaraid.c
1496
list_add_tail(SCSI_LIST(scb->cmd),
drivers/scsi/megaraid.c
1499
mega_free_scb (adapter, scb);
drivers/scsi/megaraid.c
1504
cmd = scb->cmd;
drivers/scsi/megaraid.c
1505
pthru = scb->pthru;
drivers/scsi/megaraid.c
1506
epthru = scb->epthru;
drivers/scsi/megaraid.c
1507
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
1633
mega_free_scb(adapter, scb);
drivers/scsi/megaraid.c
1663
mega_free_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid.c
1665
switch( scb->dma_type ) {
drivers/scsi/megaraid.c
1671
scsi_dma_unmap(scb->cmd);
drivers/scsi/megaraid.c
1680
list_del_init(&scb->list);
drivers/scsi/megaraid.c
1683
scb->state = SCB_FREE;
drivers/scsi/megaraid.c
1684
scb->cmd = NULL;
drivers/scsi/megaraid.c
1686
list_add(&scb->list, &adapter->free_list);
drivers/scsi/megaraid.c
1710
mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 *buf, u32 *len)
drivers/scsi/megaraid.c
1717
cmd = scb->cmd;
drivers/scsi/megaraid.c
1726
scb->dma_type = MEGA_SGLIST;
drivers/scsi/megaraid.c
1734
scb->dma_h_bulkdata = sg_dma_address(sg);
drivers/scsi/megaraid.c
1735
*buf = (u32)scb->dma_h_bulkdata;
drivers/scsi/megaraid.c
1742
scb->sgl64[idx].address = sg_dma_address(sg);
drivers/scsi/megaraid.c
1743
*len += scb->sgl64[idx].length = sg_dma_len(sg);
drivers/scsi/megaraid.c
1745
scb->sgl[idx].address = sg_dma_address(sg);
drivers/scsi/megaraid.c
1746
*len += scb->sgl[idx].length = sg_dma_len(sg);
drivers/scsi/megaraid.c
1751
*buf = scb->sgl_dma_addr;
drivers/scsi/megaraid.c
1801
scb_t *scb;
drivers/scsi/megaraid.c
1806
scb = &adapter->scb_list[i];
drivers/scsi/megaraid.c
1808
if( scb->sgl64 ) {
drivers/scsi/megaraid.c
1811
scb->sgl64, scb->sgl_dma_addr);
drivers/scsi/megaraid.c
1813
scb->sgl64 = NULL;
drivers/scsi/megaraid.c
1816
if( scb->pthru ) {
drivers/scsi/megaraid.c
1818
sizeof(mega_passthru), scb->pthru,
drivers/scsi/megaraid.c
1819
scb->pthru_dma_addr);
drivers/scsi/megaraid.c
1821
scb->pthru = NULL;
drivers/scsi/megaraid.c
1824
if( scb->epthru ) {
drivers/scsi/megaraid.c
1827
scb->epthru, scb->epthru_dma_addr);
drivers/scsi/megaraid.c
1829
scb->epthru = NULL;
drivers/scsi/megaraid.c
1927
scb_t *scb;
drivers/scsi/megaraid.c
1942
scb = list_entry(pos, scb_t, list);
drivers/scsi/megaraid.c
1944
if (!cmd || scb->cmd == cmd) { /* Found command */
drivers/scsi/megaraid.c
1946
scb->state |= aor;
drivers/scsi/megaraid.c
1954
if( scb->state & SCB_ISSUED ) {
drivers/scsi/megaraid.c
1959
scb->idx);
drivers/scsi/megaraid.c
1970
scb->idx);
drivers/scsi/megaraid.c
1971
mega_free_scb(adapter, scb);
drivers/scsi/megaraid.c
2856
scb_t *scb;
drivers/scsi/megaraid.c
2861
scb = &adapter->scb_list[i];
drivers/scsi/megaraid.c
2863
scb->sgl64 = NULL;
drivers/scsi/megaraid.c
2864
scb->sgl = NULL;
drivers/scsi/megaraid.c
2865
scb->pthru = NULL;
drivers/scsi/megaraid.c
2866
scb->epthru = NULL;
drivers/scsi/megaraid.c
2871
scb = &adapter->scb_list[i];
drivers/scsi/megaraid.c
2873
scb->idx = i;
drivers/scsi/megaraid.c
2875
scb->sgl64 = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2877
&scb->sgl_dma_addr, GFP_KERNEL);
drivers/scsi/megaraid.c
2879
scb->sgl = (mega_sglist *)scb->sgl64;
drivers/scsi/megaraid.c
2881
if( !scb->sgl ) {
drivers/scsi/megaraid.c
2887
scb->pthru = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2889
&scb->pthru_dma_addr, GFP_KERNEL);
drivers/scsi/megaraid.c
2891
if( !scb->pthru ) {
drivers/scsi/megaraid.c
2897
scb->epthru = dma_alloc_coherent(&adapter->dev->dev,
drivers/scsi/megaraid.c
2899
&scb->epthru_dma_addr, GFP_KERNEL);
drivers/scsi/megaraid.c
2901
if( !scb->epthru ) {
drivers/scsi/megaraid.c
2909
scb->dma_type = MEGA_DMA_TYPE_NONE;
drivers/scsi/megaraid.c
2916
scb->state = SCB_FREE;
drivers/scsi/megaraid.c
2917
scb->cmd = NULL;
drivers/scsi/megaraid.c
2918
list_add(&scb->list, &adapter->free_list);
drivers/scsi/megaraid.c
3767
scb_t *scb;
drivers/scsi/megaraid.c
378
scb_t *scb;
drivers/scsi/megaraid.c
3795
scb = list_entry(pos, scb_t, list);
drivers/scsi/megaraid.c
3796
if (scb->pthru->logdrv < 0x80 )
drivers/scsi/megaraid.c
3797
scb->pthru->logdrv += 0x80;
drivers/scsi/megaraid.c
394
scb = mega_build_cmd(adapter, scmd, &busy);
drivers/scsi/megaraid.c
395
if (!scb)
drivers/scsi/megaraid.c
398
scb->state |= SCB_PENDQ;
drivers/scsi/megaraid.c
399
list_add_tail(&scb->list, &adapter->pending_list);
drivers/scsi/megaraid.c
4048
scb_t *scb;
drivers/scsi/megaraid.c
4058
scb = &adapter->int_scb;
drivers/scsi/megaraid.c
4059
memset(scb, 0, sizeof(scb_t));
drivers/scsi/megaraid.c
4061
scb->idx = CMDID_INT_CMDS;
drivers/scsi/megaraid.c
4062
scb->state |= SCB_ACTIVE | SCB_PENDQ;
drivers/scsi/megaraid.c
4064
memcpy(scb->raw_mbox, mc, sizeof(megacmd_t));
drivers/scsi/megaraid.c
4070
scb->pthru = pthru;
drivers/scsi/megaraid.c
4073
list_add_tail(&scb->list, &adapter->pending_list);
drivers/scsi/megaraid.c
429
scb_t *scb;
drivers/scsi/megaraid.c
434
scb = list_entry(head->next, scb_t, list);
drivers/scsi/megaraid.c
438
scb->state = SCB_ACTIVE;
drivers/scsi/megaraid.c
439
scb->cmd = cmd;
drivers/scsi/megaraid.c
440
scb->dma_type = MEGA_DMA_TYPE_NONE;
drivers/scsi/megaraid.c
442
return scb;
drivers/scsi/megaraid.c
525
scb_t *scb;
drivers/scsi/megaraid.c
643
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
648
scb->raw_mbox[0] = MEGA_CLUSTER_CMD;
drivers/scsi/megaraid.c
649
scb->raw_mbox[2] = MEGA_RESERVATION_STATUS;
drivers/scsi/megaraid.c
650
scb->raw_mbox[3] = ldrv_num;
drivers/scsi/megaraid.c
652
scb->dma_direction = DMA_NONE;
drivers/scsi/megaraid.c
654
return scb;
drivers/scsi/megaraid.c
691
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
695
pthru = scb->pthru;
drivers/scsi/megaraid.c
697
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
698
memset(mbox, 0, sizeof(scb->raw_mbox));
drivers/scsi/megaraid.c
716
scb->dma_direction = DMA_FROM_DEVICE;
drivers/scsi/megaraid.c
718
pthru->numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
721
mbox->m_out.xferaddr = scb->pthru_dma_addr;
drivers/scsi/megaraid.c
723
return scb;
drivers/scsi/megaraid.c
733
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
737
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
739
memset(mbox, 0, sizeof(scb->raw_mbox));
drivers/scsi/megaraid.c
846
scb->dma_direction = DMA_FROM_DEVICE;
drivers/scsi/megaraid.c
849
scb->dma_direction = DMA_TO_DEVICE;
drivers/scsi/megaraid.c
853
mbox->m_out.numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
856
return scb;
drivers/scsi/megaraid.c
873
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
878
scb->raw_mbox[0] = MEGA_CLUSTER_CMD;
drivers/scsi/megaraid.c
879
scb->raw_mbox[2] = *cmd->cmnd == RESERVE_6 ?
drivers/scsi/megaraid.c
882
scb->raw_mbox[3] = ldrv_num;
drivers/scsi/megaraid.c
884
scb->dma_direction = DMA_NONE;
drivers/scsi/megaraid.c
886
return scb;
drivers/scsi/megaraid.c
901
if(!(scb = mega_allocate_scb(adapter, cmd))) {
drivers/scsi/megaraid.c
906
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
907
memset(mbox, 0, sizeof(scb->raw_mbox));
drivers/scsi/megaraid.c
911
mega_prepare_extpassthru(adapter, scb, cmd,
drivers/scsi/megaraid.c
916
mbox->m_out.xferaddr = scb->epthru_dma_addr;
drivers/scsi/megaraid.c
921
pthru = mega_prepare_passthru(adapter, scb, cmd,
drivers/scsi/megaraid.c
932
mbox->m_out.xferaddr = scb->pthru_dma_addr;
drivers/scsi/megaraid.c
935
return scb;
drivers/scsi/megaraid.c
952
mega_prepare_passthru(adapter_t *adapter, scb_t *scb, struct scsi_cmnd *cmd,
drivers/scsi/megaraid.c
957
pthru = scb->pthru;
drivers/scsi/megaraid.c
978
scb->dma_direction = DMA_BIDIRECTIONAL;
drivers/scsi/megaraid.c
996
pthru->numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.h
983
static int mega_build_sglist (adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid/megaraid_mbox.c
1043
scb = adapter->kscb_list + i;
drivers/scsi/megaraid/megaraid_mbox.c
1070
scb->ccb = (caddr_t)ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1071
scb->gp = 0;
drivers/scsi/megaraid/megaraid_mbox.c
1073
scb->sno = i; // command index
drivers/scsi/megaraid/megaraid_mbox.c
1075
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
1076
scb->state = SCB_FREE;
drivers/scsi/megaraid/megaraid_mbox.c
1077
scb->dma_direction = DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
1078
scb->dma_type = MRAID_DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
1079
scb->dev_channel = -1;
drivers/scsi/megaraid/megaraid_mbox.c
1080
scb->dev_target = -1;
drivers/scsi/megaraid/megaraid_mbox.c
1083
list_add_tail(&scb->list, &adapter->kscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
1279
scb_t *scb = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
1290
scb = list_entry(head->next, scb_t, list);
drivers/scsi/megaraid/megaraid_mbox.c
1291
list_del_init(&scb->list);
drivers/scsi/megaraid/megaraid_mbox.c
1295
scb->state = SCB_ACTIVE;
drivers/scsi/megaraid/megaraid_mbox.c
1296
scb->scp = scp;
drivers/scsi/megaraid/megaraid_mbox.c
1297
scb->dma_type = MRAID_DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
1299
return scb;
drivers/scsi/megaraid/megaraid_mbox.c
1314
megaraid_dealloc_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
1319
scb->state = SCB_FREE;
drivers/scsi/megaraid/megaraid_mbox.c
1320
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
1323
list_add(&scb->list, &adapter->kscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
1339
megaraid_mbox_mksgl(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
1348
scp = scb->scp;
drivers/scsi/megaraid/megaraid_mbox.c
1349
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1358
scb->dma_type = MRAID_DMA_WSG;
drivers/scsi/megaraid/megaraid_mbox.c
1378
mbox_post_cmd(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
1388
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1416
mbox->cmdid = scb->sno;
drivers/scsi/megaraid/megaraid_mbox.c
1443
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
1458
scb = megaraid_mbox_build_cmd(adapter, scp, &if_busy);
drivers/scsi/megaraid/megaraid_mbox.c
1459
if (!scb) { // command already completed
drivers/scsi/megaraid/megaraid_mbox.c
1464
megaraid_mbox_runpendq(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
1493
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
1520
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1526
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1527
scb->dev_channel = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
1528
scb->dev_target = target;
drivers/scsi/megaraid/megaraid_mbox.c
1529
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1539
return scb;
drivers/scsi/megaraid/megaraid_mbox.c
1603
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1609
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1610
scb->dev_channel = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
1611
scb->dev_target = target;
drivers/scsi/megaraid/megaraid_mbox.c
1625
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1630
scb);
drivers/scsi/megaraid/megaraid_mbox.c
1636
return scb;
drivers/scsi/megaraid/megaraid_mbox.c
1648
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1653
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1654
scb->dev_channel = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
1655
scb->dev_target = target;
drivers/scsi/megaraid/megaraid_mbox.c
1714
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
1720
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1725
scb);
drivers/scsi/megaraid/megaraid_mbox.c
1729
return scb;
drivers/scsi/megaraid/megaraid_mbox.c
1744
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1750
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1751
scb->dev_channel = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
1752
scb->dev_target = target;
drivers/scsi/megaraid/megaraid_mbox.c
1758
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1760
return scb;
drivers/scsi/megaraid/megaraid_mbox.c
1812
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1818
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1819
scb->dev_channel = channel;
drivers/scsi/megaraid/megaraid_mbox.c
1820
scb->dev_target = target;
drivers/scsi/megaraid/megaraid_mbox.c
1821
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1829
megaraid_mbox_prepare_epthru(adapter, scb, scp);
drivers/scsi/megaraid/megaraid_mbox.c
1838
megaraid_mbox_prepare_pthru(adapter, scb, scp);
drivers/scsi/megaraid/megaraid_mbox.c
1844
return scb;
drivers/scsi/megaraid/megaraid_mbox.c
1867
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
1887
scb = list_entry(adapter->pend_list.next, scb_t, list);
drivers/scsi/megaraid/megaraid_mbox.c
1893
list_del_init(&scb->list);
drivers/scsi/megaraid/megaraid_mbox.c
1901
scb->state = SCB_ISSUED;
drivers/scsi/megaraid/megaraid_mbox.c
1903
if (mbox_post_cmd(adapter, scb) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
1907
scb->state = SCB_PENDQ;
drivers/scsi/megaraid/megaraid_mbox.c
1909
list_add(&scb->list, &adapter->pend_list);
drivers/scsi/megaraid/megaraid_mbox.c
1936
megaraid_mbox_prepare_pthru(adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid/megaraid_mbox.c
1944
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1946
channel = scb->dev_channel;
drivers/scsi/megaraid/megaraid_mbox.c
1947
target = scb->dev_target;
drivers/scsi/megaraid/megaraid_mbox.c
1964
pthru->numsge = megaraid_mbox_mksgl(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
1985
megaraid_mbox_prepare_epthru(adapter_t *adapter, scb_t *scb,
drivers/scsi/megaraid/megaraid_mbox.c
1993
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
1995
channel = scb->dev_channel;
drivers/scsi/megaraid/megaraid_mbox.c
1996
target = scb->dev_target;
drivers/scsi/megaraid/megaraid_mbox.c
2013
epthru->numsge = megaraid_mbox_mksgl(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2038
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
2102
scb = adapter->uscb_list + (completed[i] -
drivers/scsi/megaraid/megaraid_mbox.c
2107
scb = adapter->kscb_list + completed[i];
drivers/scsi/megaraid/megaraid_mbox.c
2110
scb->status = mbox->status;
drivers/scsi/megaraid/megaraid_mbox.c
2111
list_add_tail(&scb->list, &clist);
drivers/scsi/megaraid/megaraid_mbox.c
2178
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
2208
list_for_each_entry_safe(scb, tmp, &clist, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2210
status = scb->status;
drivers/scsi/megaraid/megaraid_mbox.c
2211
scp = scb->scp;
drivers/scsi/megaraid/megaraid_mbox.c
2212
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
2218
if (scb->state != SCB_ISSUED) {
drivers/scsi/megaraid/megaraid_mbox.c
2221
scb->sno, scb->state, scp));
drivers/scsi/megaraid/megaraid_mbox.c
2227
if (scb->sno >= MBOX_MAX_SCSI_CMDS) {
drivers/scsi/megaraid/megaraid_mbox.c
2228
scb->state = SCB_FREE;
drivers/scsi/megaraid/megaraid_mbox.c
2229
scb->status = status;
drivers/scsi/megaraid/megaraid_mbox.c
2232
list_del_init(&scb->list);
drivers/scsi/megaraid/megaraid_mbox.c
2234
kioc = (uioc_t *)scb->gp;
drivers/scsi/megaraid/megaraid_mbox.c
2237
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2243
if (scb->state & SCB_ABORT) {
drivers/scsi/megaraid/megaraid_mbox.c
2246
scb->sno));
drivers/scsi/megaraid/megaraid_mbox.c
2259
&& IS_RAID_CH(raid_dev, scb->dev_channel)) {
drivers/scsi/megaraid/megaraid_mbox.c
2272
pdev_index = (scb->dev_channel * 16) +
drivers/scsi/megaraid/megaraid_mbox.c
2273
scb->dev_target;
drivers/scsi/megaraid/megaraid_mbox.c
2353
megaraid_mbox_display_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2359
list_del_init(&scb->list);
drivers/scsi/megaraid/megaraid_mbox.c
2362
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2384
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
2410
scb = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
2412
list_for_each_entry_safe(scb, tmp, &adapter->completed_list, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2414
if (scb->scp == scp) { // Found command
drivers/scsi/megaraid/megaraid_mbox.c
2416
list_del_init(&scb->list); // from completed list
drivers/scsi/megaraid/megaraid_mbox.c
2420
scb->sno, scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2425
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2440
list_for_each_entry_safe(scb, tmp, &adapter->pend_list, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2442
if (scb->scp == scp) { // Found command
drivers/scsi/megaraid/megaraid_mbox.c
2444
list_del_init(&scb->list); // from pending list
drivers/scsi/megaraid/megaraid_mbox.c
2446
ASSERT(!(scb->state & SCB_ISSUED));
drivers/scsi/megaraid/megaraid_mbox.c
2450
scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2455
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2473
scb = adapter->kscb_list + i;
drivers/scsi/megaraid/megaraid_mbox.c
2475
if (scb->scp == scp) {
drivers/scsi/megaraid/megaraid_mbox.c
2479
if (!(scb->state & SCB_ISSUED)) {
drivers/scsi/megaraid/megaraid_mbox.c
2482
scb->sno, scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2488
scb->sno, scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2521
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
2547
list_for_each_entry_safe(scb, tmp, &adapter->pend_list, list) {
drivers/scsi/megaraid/megaraid_mbox.c
2548
list_del_init(&scb->list); // from pending list
drivers/scsi/megaraid/megaraid_mbox.c
2550
if (scb->sno >= MBOX_MAX_SCSI_CMDS) {
drivers/scsi/megaraid/megaraid_mbox.c
2553
scb->sno, scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2555
scb->status = -1;
drivers/scsi/megaraid/megaraid_mbox.c
2557
kioc = (uioc_t *)scb->gp;
drivers/scsi/megaraid/megaraid_mbox.c
2560
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
2562
if (scb->scp == scp) { // Found command
drivers/scsi/megaraid/megaraid_mbox.c
2565
scb->sno, scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2569
scb->sno, scb->dev_channel, scb->dev_target));
drivers/scsi/megaraid/megaraid_mbox.c
2572
scb->scp->result = (DID_RESET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
2573
scsi_done(scb->scp);
drivers/scsi/megaraid/megaraid_mbox.c
2575
megaraid_dealloc_scb(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3306
megaraid_mbox_display_scb(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
3315
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
3316
scp = scb->scp;
drivers/scsi/megaraid/megaraid_mbox.c
3322
"megaraid mailbox: status:%#x cmd:%#x id:%#x ", scb->status,
drivers/scsi/megaraid/megaraid_mbox.c
3323
mbox->cmd, scb->sno));
drivers/scsi/megaraid/megaraid_mbox.c
3400
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
3430
scb = adapter->uscb_list + i;
drivers/scsi/megaraid/megaraid_mbox.c
3433
scb->ccb = (caddr_t)ccb;
drivers/scsi/megaraid/megaraid_mbox.c
3438
scb->gp = 0;
drivers/scsi/megaraid/megaraid_mbox.c
3442
scb->sno = i + MBOX_MAX_SCSI_CMDS;
drivers/scsi/megaraid/megaraid_mbox.c
3444
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
3445
scb->state = SCB_FREE;
drivers/scsi/megaraid/megaraid_mbox.c
3446
scb->dma_direction = DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
3447
scb->dma_type = MRAID_DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
3448
scb->dev_channel = -1;
drivers/scsi/megaraid/megaraid_mbox.c
3449
scb->dev_target = -1;
drivers/scsi/megaraid/megaraid_mbox.c
3452
list_add_tail(&scb->list, &adapter->uscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
3560
scb_t *scb;
drivers/scsi/megaraid/megaraid_mbox.c
3577
scb = list_entry(head->next, scb_t, list);
drivers/scsi/megaraid/megaraid_mbox.c
3578
list_del_init(&scb->list);
drivers/scsi/megaraid/megaraid_mbox.c
3582
scb->state = SCB_ACTIVE;
drivers/scsi/megaraid/megaraid_mbox.c
3583
scb->dma_type = MRAID_DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
3584
scb->dma_direction = DMA_NONE;
drivers/scsi/megaraid/megaraid_mbox.c
3586
ccb = (mbox_ccb_t *)scb->ccb;
drivers/scsi/megaraid/megaraid_mbox.c
3592
scb->gp = (unsigned long)kioc;
drivers/scsi/megaraid/megaraid_mbox.c
3606
scb->status = -1;
drivers/scsi/megaraid/megaraid_mbox.c
3608
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3613
INIT_LIST_HEAD(&scb->list);
drivers/scsi/megaraid/megaraid_mbox.c
3615
scb->state = SCB_ISSUED;
drivers/scsi/megaraid/megaraid_mbox.c
3616
if (mbox_post_cmd(adapter, scb) != 0) {
drivers/scsi/megaraid/megaraid_mbox.c
3623
scb->status = -1;
drivers/scsi/megaraid/megaraid_mbox.c
3625
megaraid_mbox_mm_done(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3634
megaraid_mbox_runpendq(adapter, scb);
drivers/scsi/megaraid/megaraid_mbox.c
3679
megaraid_mbox_mm_done(adapter_t *adapter, scb_t *scb)
drivers/scsi/megaraid/megaraid_mbox.c
3686
kioc = (uioc_t *)scb->gp;
drivers/scsi/megaraid/megaraid_mbox.c
3688
mbox64->mbox32.status = scb->status;
drivers/scsi/megaraid/megaraid_mbox.c
3693
scb->state = SCB_FREE;
drivers/scsi/megaraid/megaraid_mbox.c
3694
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
3698
list_add(&scb->list, &adapter->uscb_pool);
drivers/scsi/megaraid/megaraid_mbox.c
955
scb_t *scb;
drivers/scsi/wd719x.c
189
static void wd719x_finish_cmd(struct wd719x_scb *scb, int result)
drivers/scsi/wd719x.c
191
struct scsi_cmnd *cmd = scb->cmd;
drivers/scsi/wd719x.c
194
list_del(&scb->list);
drivers/scsi/wd719x.c
196
dma_unmap_single(&wd->pdev->dev, scb->phys,
drivers/scsi/wd719x.c
199
dma_unmap_single(&wd->pdev->dev, scb->dma_handle,
drivers/scsi/wd719x.c
212
struct wd719x_scb *scb = scsi_cmd_priv(cmd);
drivers/scsi/wd719x.c
215
scb->cmd = cmd;
drivers/scsi/wd719x.c
217
scb->CDB_tag = 0; /* Tagged queueing not supported yet */
drivers/scsi/wd719x.c
218
scb->devid = cmd->device->id;
drivers/scsi/wd719x.c
219
scb->lun = cmd->device->lun;
drivers/scsi/wd719x.c
222
memcpy(scb->CDB, cmd->cmnd, cmd->cmd_len);
drivers/scsi/wd719x.c
225
scb->phys = dma_map_single(&wd->pdev->dev, scb, sizeof(*scb),
drivers/scsi/wd719x.c
228
if (dma_mapping_error(&wd->pdev->dev, scb->phys))
drivers/scsi/wd719x.c
232
scb->sense_buf_length = SCSI_SENSE_BUFFERSIZE;
drivers/scsi/wd719x.c
233
scb->dma_handle = dma_map_single(&wd->pdev->dev, cmd->sense_buffer,
drivers/scsi/wd719x.c
235
if (dma_mapping_error(&wd->pdev->dev, scb->dma_handle))
drivers/scsi/wd719x.c
237
scb->sense_buf = cpu_to_le32(scb->dma_handle);
drivers/scsi/wd719x.c
240
scb->SCB_options |= WD719X_SCB_FLAGS_AUTO_REQUEST_SENSE;
drivers/scsi/wd719x.c
244
scb->SCB_options |= WD719X_SCB_FLAGS_CHECK_DIRECTION
drivers/scsi/wd719x.c
247
scb->SCB_options |= WD719X_SCB_FLAGS_CHECK_DIRECTION;
drivers/scsi/wd719x.c
258
scb->data_length = cpu_to_le32(count_sg *
drivers/scsi/wd719x.c
260
scb->data_p = cpu_to_le32(scb->phys +
drivers/scsi/wd719x.c
264
scb->sg_list[i].ptr = cpu_to_le32(sg_dma_address(sg));
drivers/scsi/wd719x.c
265
scb->sg_list[i].length = cpu_to_le32(sg_dma_len(sg));
drivers/scsi/wd719x.c
267
scb->SCB_options |= WD719X_SCB_FLAGS_DO_SCATTER_GATHER;
drivers/scsi/wd719x.c
269
scb->data_length = 0;
drivers/scsi/wd719x.c
270
scb->data_p = 0;
drivers/scsi/wd719x.c
281
list_add(&scb->list, &wd->active_scbs);
drivers/scsi/wd719x.c
284
wd719x_writel(wd, WD719X_AMR_SCB_IN, scb->phys);
drivers/scsi/wd719x.c
292
dma_unmap_single(&wd->pdev->dev, scb->dma_handle,
drivers/scsi/wd719x.c
295
dma_unmap_single(&wd->pdev->dev, scb->phys, sizeof(*scb),
drivers/scsi/wd719x.c
468
struct wd719x_scb *scb = scsi_cmd_priv(cmd);
drivers/scsi/wd719x.c
479
scb->phys, 0);
drivers/scsi/wd719x.c
480
wd719x_finish_cmd(scb, DID_ABORT);
drivers/scsi/wd719x.c
493
struct wd719x_scb *scb, *tmp;
drivers/scsi/wd719x.c
502
list_for_each_entry_safe(scb, tmp, &wd->active_scbs, list) {
drivers/scsi/wd719x.c
504
scb->cmd->device->id == device)
drivers/scsi/wd719x.c
505
wd719x_finish_cmd(scb, DID_RESET);
drivers/scsi/wd719x.c
527
struct wd719x_scb *scb, *tmp;
drivers/scsi/wd719x.c
540
list_for_each_entry_safe(scb, tmp, &wd->active_scbs, list)
drivers/scsi/wd719x.c
541
wd719x_finish_cmd(scb, DID_RESET);
drivers/scsi/wd719x.c
566
struct wd719x_scb *scb)
drivers/scsi/wd719x.c
634
scb->cmd->device->id);
drivers/scsi/wd719x.c
656
wd719x_finish_cmd(scb, result);
drivers/scsi/wd719x.c
688
struct wd719x_scb *scb;
drivers/scsi/wd719x.c
689
list_for_each_entry(scb, &wd->active_scbs, list)
drivers/scsi/wd719x.c
690
if (SCB_out == scb->phys)
drivers/scsi/wd719x.c
692
if (SCB_out == scb->phys)
drivers/scsi/wd719x.c
693
wd719x_interrupt_SCB(wd, regs, scb);
fs/afs/dir.c
1264
afs_cache_permit(vnode, op->key, vnode->cb_break, &vp->scb);
fs/afs/dir.c
1271
op->ctime = op->file[0].scb.status.mtime_client;
fs/afs/dir.c
1366
op->ctime = op->file[0].scb.status.mtime_client;
fs/afs/dir.c
1479
(op->file[1].scb.have_status && op->file[1].scb.have_error))
fs/afs/dir.c
1511
op->ctime = op->file[0].scb.status.mtime_client;
fs/afs/dir.c
1685
op->ctime = dvp->scb.status.mtime_client;
fs/afs/dir.c
1830
op->ctime = op->file[0].scb.status.mtime_client;
fs/afs/dir.c
1834
op->ctime = op->file[1].scb.status.mtime_client;
fs/afs/dir.c
1837
if (op->more_files[0].scb.have_status)
fs/afs/dir.c
1839
if (op->more_files[1].scb.have_status)
fs/afs/dir.c
678
abort_code = vp->scb.status.abort_code;
fs/afs/dir.c
695
if (vp->scb.status.abort_code)
fs/afs/dir.c
696
trace_afs_bulkstat_error(op, &vp->fid, i, vp->scb.status.abort_code);
fs/afs/dir.c
697
if (!vp->scb.have_status && !vp->scb.have_error)
fs/afs/dir.c
704
} else if (vp->scb.status.abort_code == 0) {
fs/afs/dir.c
711
&vp->scb);
fs/afs/dir.c
717
vp->scb.status.abort_code,
fs/afs/dir.c
888
if (op->file[1].scb.status.abort_code) {
fs/afs/dir.c
890
op->file[1].scb.status.abort_code);
fs/afs/dir.c
897
if (op->file[0].scb.have_status)
fs/afs/dir.c
898
dentry->d_fsdata = (void *)(unsigned long)op->file[0].scb.status.data_version;
fs/afs/fsclient.c
1046
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
121
scb->have_status = true;
fs/afs/fsclient.c
139
struct afs_status_cb *scb)
fs/afs/fsclient.c
141
struct afs_callback *cb = &scb->callback;
fs/afs/fsclient.c
147
scb->have_cb = true;
fs/afs/fsclient.c
1788
struct afs_status_cb *scb;
fs/afs/fsclient.c
1827
scb = &op->file[0].scb;
fs/afs/fsclient.c
1830
scb = &op->file[1].scb;
fs/afs/fsclient.c
1833
scb = &op->more_files[call->count - 2].scb;
fs/afs/fsclient.c
1838
xdr_decode_AFSFetchStatus(&bp, call, scb);
fs/afs/fsclient.c
1875
scb = &op->file[0].scb;
fs/afs/fsclient.c
1878
scb = &op->file[1].scb;
fs/afs/fsclient.c
1881
scb = &op->more_files[call->count - 2].scb;
fs/afs/fsclient.c
1886
xdr_decode_AFSCallBack(&bp, call, scb);
fs/afs/fsclient.c
2039
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
251
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
252
xdr_decode_AFSCallBack(&bp, call, &vp->scb);
fs/afs/fsclient.c
387
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
388
xdr_decode_AFSCallBack(&bp, call, &vp->scb);
fs/afs/fsclient.c
391
if (subreq->start + subreq->transferred >= vp->scb.status.size)
fs/afs/fsclient.c
512
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
513
xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/fsclient.c
514
xdr_decode_AFSCallBack(&bp, call, &vp->scb);
fs/afs/fsclient.c
56
struct afs_status_cb *scb)
fs/afs/fsclient.c
59
struct afs_file_status *status = &scb->status;
fs/afs/fsclient.c
648
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
75
scb->have_error = true;
fs/afs/fsclient.c
773
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
774
xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/fsclient.c
85
scb->have_error = true;
fs/afs/fsclient.c
855
xdr_decode_AFSFetchStatus(&bp, call, &vp->scb);
fs/afs/fsclient.c
856
xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/fsclient.c
950
xdr_decode_AFSFetchStatus(&bp, call, &orig_dvp->scb);
fs/afs/fsclient.c
951
xdr_decode_AFSFetchStatus(&bp, call, &new_dvp->scb);
fs/afs/inode.c
157
struct afs_file_status *status = &vp->scb.status;
fs/afs/inode.c
234
if (!vp->scb.have_cb) {
fs/afs/inode.c
240
afs_set_cb_promise(vnode, vp->scb.callback.expires_at,
fs/afs/inode.c
254
struct afs_file_status *status = &vp->scb.status;
fs/afs/inode.c
365
struct afs_callback *cb = &vp->scb.callback;
fs/afs/inode.c
387
if (vp->scb.have_error) {
fs/afs/inode.c
391
if (vp->scb.status.abort_code == VNOVNODE) {
fs/afs/inode.c
397
} else if (vp->scb.have_status) {
fs/afs/inode.c
407
if (vp->scb.have_cb)
fs/afs/inode.c
420
if (vp->scb.have_status)
fs/afs/inode.c
421
afs_cache_permit(vnode, op->key, vp->cb_break_before, &vp->scb);
fs/afs/inode.c
434
afs_cache_permit(vnode, op->key, vp->cb_break_before, &vp->scb);
fs/afs/inode.c
472
*_caller_access = op->file[0].scb.status.caller_access;
fs/afs/internal.h
1759
(void *)(unsigned long)dir_vp->scb.status.data_version;
fs/afs/internal.h
1780
if (dvp->dv_before + dvp->dv_delta != dvp->scb.status.data_version)
fs/afs/internal.h
845
struct afs_status_cb scb; /* Returned status and callback promise */
fs/afs/security.c
177
unsigned int cb_break, struct afs_status_cb *scb)
fs/afs/security.c
180
afs_access_t caller_access = scb->status.caller_access;
fs/afs/validation.c
332
struct afs_callback *cb = &op->file[0].scb.callback;
fs/afs/validation.c
349
(op->file[0].scb.have_cb || op->file[1].scb.have_cb)) {
fs/afs/validation.c
352
if (!op->file[0].scb.have_cb)
fs/afs/validation.c
353
expires_at = op->file[1].scb.callback.expires_at;
fs/afs/write.c
71
op->ctime = op->file[0].scb.status.mtime_client;
fs/afs/yfsclient.c
1014
xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb);
fs/afs/yfsclient.c
1015
xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb);
fs/afs/yfsclient.c
1099
xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb);
fs/afs/yfsclient.c
1101
xdr_decode_YFSFetchStatus(&bp, call, &old_vp->scb);
fs/afs/yfsclient.c
1102
xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb);
fs/afs/yfsclient.c
1133
xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb);
fs/afs/yfsclient.c
1135
xdr_decode_YFSFetchStatus(&bp, call, &old_vp->scb);
fs/afs/yfsclient.c
1136
xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb);
fs/afs/yfsclient.c
1138
xdr_decode_YFSFetchStatus(&bp, call, &new_vp->scb);
fs/afs/yfsclient.c
175
struct afs_status_cb *scb)
fs/afs/yfsclient.c
178
struct afs_file_status *status = &scb->status;
fs/afs/yfsclient.c
1788
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
1789
xdr_decode_YFSCallBack(&bp, call, &vp->scb);
fs/afs/yfsclient.c
1845
struct afs_status_cb *scb;
fs/afs/yfsclient.c
185
scb->have_error = true;
fs/afs/yfsclient.c
1884
scb = &op->file[0].scb;
fs/afs/yfsclient.c
1887
scb = &op->file[1].scb;
fs/afs/yfsclient.c
1890
scb = &op->more_files[call->count - 2].scb;
fs/afs/yfsclient.c
1895
xdr_decode_YFSFetchStatus(&bp, call, scb);
fs/afs/yfsclient.c
1932
scb = &op->file[0].scb;
fs/afs/yfsclient.c
1935
scb = &op->file[1].scb;
fs/afs/yfsclient.c
1938
scb = &op->more_files[call->count - 2].scb;
fs/afs/yfsclient.c
1943
xdr_decode_YFSCallBack(&bp, call, scb);
fs/afs/yfsclient.c
2117
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
213
scb->have_status = true;
fs/afs/yfsclient.c
229
struct afs_status_cb *scb)
fs/afs/yfsclient.c
232
struct afs_callback *cb = &scb->callback;
fs/afs/yfsclient.c
237
scb->have_cb = true;
fs/afs/yfsclient.c
342
xdr_decode_YFSFetchStatus(&bp, call, &op->file[0].scb);
fs/afs/yfsclient.c
435
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
436
xdr_decode_YFSCallBack(&bp, call, &vp->scb);
fs/afs/yfsclient.c
439
if (subreq->start + subreq->transferred >= vp->scb.status.size)
fs/afs/yfsclient.c
527
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
528
xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/yfsclient.c
529
xdr_decode_YFSCallBack(&bp, call, &vp->scb);
fs/afs/yfsclient.c
658
xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/yfsclient.c
660
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
742
xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/yfsclient.c
855
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
856
xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb);
fs/afs/yfsclient.c
931
xdr_decode_YFSFetchStatus(&bp, call, &vp->scb);
fs/afs/yfsclient.c
932
xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb);
include/net/macsec.h
210
bool scb;
include/net/macsec.h
365
(secy->n_rx_sc > 1 && !tx_sc->end_station && !tx_sc->scb);
net/bluetooth/cmtp/capi.c
136
struct cmtp_scb *scb = (void *) skb->cb;
net/bluetooth/cmtp/capi.c
140
scb->id = -1;
net/bluetooth/cmtp/capi.c
141
scb->data = (CAPIMSG_COMMAND(skb->data) == CAPI_DATA_B3);
net/bluetooth/cmtp/core.c
224
struct cmtp_scb *scb = (void *) skb->cb;
net/bluetooth/cmtp/core.c
235
if (scb->id < 0) {
net/bluetooth/cmtp/core.c
236
scb->id = cmtp_alloc_block_id(session);
net/bluetooth/cmtp/core.c
237
if (scb->id < 0) {
net/bluetooth/cmtp/core.c
246
| ((scb->id << 2) & 0x3c)
net/bluetooth/cmtp/core.c
252
| ((scb->id << 2) & 0x3c)
net/bluetooth/cmtp/core.c
264
cmtp_free_block_id(session, scb->id);
net/bluetooth/cmtp/core.c
265
if (scb->data) {
net/ipv4/tcp_input.c
1811
struct tcp_skb_cb *scb = TCP_SKB_CB(skb);
net/ipv4/tcp_input.c
1815
if (!scb->tx.delivered_mstamp)
net/ipv4/tcp_input.c
1821
scb->end_seq, rs->last_end_seq)) {
net/ipv4/tcp_input.c
1822
rs->prior_delivered_ce = scb->tx.delivered_ce;
net/ipv4/tcp_input.c
1823
rs->prior_delivered = scb->tx.delivered;
net/ipv4/tcp_input.c
1824
rs->prior_mstamp = scb->tx.delivered_mstamp;
net/ipv4/tcp_input.c
1825
rs->is_app_limited = scb->tx.is_app_limited;
net/ipv4/tcp_input.c
1826
rs->is_retrans = scb->sacked & TCPCB_RETRANS;
net/ipv4/tcp_input.c
1827
rs->last_end_seq = scb->end_seq;
net/ipv4/tcp_input.c
1833
scb->tx.first_tx_mstamp);
net/ipv4/tcp_input.c
1840
if (scb->sacked & TCPCB_SACKED_ACKED)
net/ipv4/tcp_input.c
1841
scb->tx.delivered_mstamp = 0;
net/ipv4/tcp_input.c
3623
struct tcp_skb_cb *scb = TCP_SKB_CB(skb);
net/ipv4/tcp_input.c
3624
const u32 start_seq = scb->seq;
net/ipv4/tcp_input.c
3625
u8 sacked = scb->sacked;
net/ipv4/tcp_input.c
3629
if (after(scb->end_seq, tp->snd_una)) {
net/ipv4/tcp_input.c
3631
!after(tp->snd_una, scb->seq))
net/ipv4/tcp_input.c
3654
if (!after(scb->end_seq, tp->high_seq))
net/ipv4/tcp_input.c
3665
tcp_rack_advance(tp, sacked, scb->end_seq,
net/ipv4/tcp_input.c
3682
if (likely(!(scb->tcp_flags & TCPHDR_SYN))) {
net/ipv4/tcp_recovery.c
68
struct tcp_skb_cb *scb = TCP_SKB_CB(skb);
net/ipv4/tcp_recovery.c
72
if ((scb->sacked & TCPCB_LOST) &&
net/ipv4/tcp_recovery.c
73
!(scb->sacked & TCPCB_SACKED_RETRANS))
net/ipv4/tcp_recovery.c
78
tp->rack.end_seq, scb->end_seq))
net/tls/tls.h
208
struct sk_skb_cb *scb = (struct sk_skb_cb *)skb->cb;
net/tls/tls.h
210
return &scb->tls;
sound/pci/cs46xx/cs46xx_lib.h
107
void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb);
sound/pci/cs46xx/cs46xx_lib.h
109
struct dsp_scb_descriptor * scb);
sound/pci/cs46xx/cs46xx_lib.h
111
#define cs46xx_dsp_proc_free_scb_desc(scb)
sound/pci/cs46xx/cs46xx_lib.h
112
#define cs46xx_dsp_proc_register_scb_desc(chip, scb)
sound/pci/cs46xx/cs46xx_lib.h
128
struct dsp_scb_descriptor * scb);
sound/pci/cs46xx/dsp_spos.c
1848
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos.c
1853
scb = ins->master_mix_scb->sub_list_ptr;
sound/pci/cs46xx/dsp_spos.c
1854
while (scb != ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos.c
1855
cs46xx_dsp_scb_set_volume (chip,scb,left,right);
sound/pci/cs46xx/dsp_spos.c
1856
scb = scb->next_scb_ptr;
sound/pci/cs46xx/dsp_spos.c
1860
scb = ins->rear_mix_scb->sub_list_ptr;
sound/pci/cs46xx/dsp_spos.c
1861
while (scb != ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos.c
1862
cs46xx_dsp_scb_set_volume (chip,scb,left,right);
sound/pci/cs46xx/dsp_spos.c
1863
scb = scb->next_scb_ptr;
sound/pci/cs46xx/dsp_spos.h
193
struct dsp_scb_descriptor * scb)
sound/pci/cs46xx/dsp_spos.h
197
(scb->address + SCBsubListPtr) << 2,
sound/pci/cs46xx/dsp_spos.h
198
(scb->sub_list_ptr->address << 0x10) |
sound/pci/cs46xx/dsp_spos.h
199
(scb->next_scb_ptr->address));
sound/pci/cs46xx/dsp_spos.h
200
scb->updated = 1;
sound/pci/cs46xx/dsp_spos.h
204
struct dsp_scb_descriptor * scb,
sound/pci/cs46xx/dsp_spos.h
209
snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl) << 2, val);
sound/pci/cs46xx/dsp_spos.h
210
snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl + 1) << 2, val);
sound/pci/cs46xx/dsp_spos.h
211
scb->volume_set = 1;
sound/pci/cs46xx/dsp_spos.h
212
scb->volume[0] = left;
sound/pci/cs46xx/dsp_spos.h
213
scb->volume[1] = right;
sound/pci/cs46xx/dsp_spos_scb_lib.c
1000
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
101
if ( scb->parent_scb_ptr ) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
1013
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
103
if (snd_BUG_ON(scb->parent_scb_ptr->sub_list_ptr != scb &&
sound/pci/cs46xx/dsp_spos_scb_lib.c
1039
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&output_snoop_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
104
scb->parent_scb_ptr->next_scb_ptr != scb))
sound/pci/cs46xx/dsp_spos_scb_lib.c
1042
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
1052
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
107
if (scb->parent_scb_ptr->sub_list_ptr == scb) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
1076
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&spio_write_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
1080
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
109
if (scb->next_scb_ptr == ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
1090
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
111
scb->parent_scb_ptr->sub_list_ptr = scb->sub_list_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
1112
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&magic_snoop_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
1116
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
1123
struct dsp_scb_descriptor * scb = from;
sound/pci/cs46xx/dsp_spos_scb_lib.c
1125
while (scb->next_scb_ptr != ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
1126
if (snd_BUG_ON(!scb->next_scb_ptr))
sound/pci/cs46xx/dsp_spos_scb_lib.c
1129
scb = scb->next_scb_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
113
if (scb->sub_list_ptr != ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
1132
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
114
scb->sub_list_ptr->parent_scb_ptr = scb->parent_scb_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
116
scb->sub_list_ptr = ins->the_null_scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
119
scb->parent_scb_ptr->sub_list_ptr = scb->next_scb_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
121
if (scb->next_scb_ptr != ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
123
scb->next_scb_ptr->parent_scb_ptr = scb->parent_scb_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
125
scb->next_scb_ptr = ins->the_null_scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
128
scb->parent_scb_ptr->next_scb_ptr = scb->next_scb_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
130
if (scb->next_scb_ptr != ins->the_null_scb) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
132
scb->next_scb_ptr->parent_scb_ptr = scb->parent_scb_ptr;
sound/pci/cs46xx/dsp_spos_scb_lib.c
134
scb->next_scb_ptr = ins->the_null_scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
138
cs46xx_dsp_spos_update_scb(chip,scb->parent_scb_ptr);
sound/pci/cs46xx/dsp_spos_scb_lib.c
141
cs46xx_dsp_spos_update_scb(chip,scb);
sound/pci/cs46xx/dsp_spos_scb_lib.c
143
scb->parent_scb_ptr = NULL;
sound/pci/cs46xx/dsp_spos_scb_lib.c
159
void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb)
sound/pci/cs46xx/dsp_spos_scb_lib.c
164
if (snd_BUG_ON(scb->index < 0 ||
sound/pci/cs46xx/dsp_spos_scb_lib.c
165
scb->index >= ins->nscb ||
sound/pci/cs46xx/dsp_spos_scb_lib.c
166
(ins->scbs + scb->index) != scb))
sound/pci/cs46xx/dsp_spos_scb_lib.c
172
if (snd_BUG_ON(scb->sub_list_ptr != ins->the_null_scb ||
sound/pci/cs46xx/dsp_spos_scb_lib.c
173
scb->next_scb_ptr != ins->the_null_scb))
sound/pci/cs46xx/dsp_spos_scb_lib.c
178
_dsp_unlink_scb(chip, scb);
sound/pci/cs46xx/dsp_spos_scb_lib.c
181
cs46xx_dsp_proc_free_scb_desc(scb);
sound/pci/cs46xx/dsp_spos_scb_lib.c
182
if (snd_BUG_ON(!scb->scb_symbol))
sound/pci/cs46xx/dsp_spos_scb_lib.c
184
remove_symbol (chip,scb->scb_symbol);
sound/pci/cs46xx/dsp_spos_scb_lib.c
186
ins->scbs[scb->index].deleted = 1;
sound/pci/cs46xx/dsp_spos_scb_lib.c
188
kfree(ins->scbs[scb->index].data);
sound/pci/cs46xx/dsp_spos_scb_lib.c
189
ins->scbs[scb->index].data = NULL;
sound/pci/cs46xx/dsp_spos_scb_lib.c
192
if (scb->index < ins->scb_highest_frag_index)
sound/pci/cs46xx/dsp_spos_scb_lib.c
193
ins->scb_highest_frag_index = scb->index;
sound/pci/cs46xx/dsp_spos_scb_lib.c
195
if (scb->index == ins->nscb - 1) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
206
void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb)
sound/pci/cs46xx/dsp_spos_scb_lib.c
208
if (scb->proc_info) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
209
struct proc_scb_info * scb_info = scb->proc_info->private_data;
sound/pci/cs46xx/dsp_spos_scb_lib.c
214
scb->scb_name);
sound/pci/cs46xx/dsp_spos_scb_lib.c
216
snd_info_free_entry(scb->proc_info);
sound/pci/cs46xx/dsp_spos_scb_lib.c
217
scb->proc_info = NULL;
sound/pci/cs46xx/dsp_spos_scb_lib.c
224
struct dsp_scb_descriptor * scb)
sound/pci/cs46xx/dsp_spos_scb_lib.c
232
scb->proc_info == NULL) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
234
entry = snd_info_create_card_entry(ins->snd_card, scb->scb_name,
sound/pci/cs46xx/dsp_spos_scb_lib.c
245
scb_info->scb_desc = scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
250
scb->proc_info = entry;
sound/pci/cs46xx/dsp_spos_scb_lib.c
262
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
276
scb = cs46xx_dsp_create_scb(chip,name,scb_data,dest);
sound/pci/cs46xx/dsp_spos_scb_lib.c
279
scb->sub_list_ptr = ins->the_null_scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
280
scb->next_scb_ptr = ins->the_null_scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
282
scb->parent_scb_ptr = parent_scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
283
scb->task_entry = task_entry;
sound/pci/cs46xx/dsp_spos_scb_lib.c
287
if (scb->parent_scb_ptr) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
291
scb->parent_scb_ptr->scb_name);
sound/pci/cs46xx/dsp_spos_scb_lib.c
294
scb->parent_scb_ptr->next_scb_ptr->scb_name);
sound/pci/cs46xx/dsp_spos_scb_lib.c
297
scb->parent_scb_ptr->sub_list_ptr->scb_name);
sound/pci/cs46xx/dsp_spos_scb_lib.c
301
if (snd_BUG_ON(scb->parent_scb_ptr->next_scb_ptr !=
sound/pci/cs46xx/dsp_spos_scb_lib.c
305
scb->parent_scb_ptr->next_scb_ptr = scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
308
if (snd_BUG_ON(scb->parent_scb_ptr->sub_list_ptr !=
sound/pci/cs46xx/dsp_spos_scb_lib.c
312
scb->parent_scb_ptr->sub_list_ptr = scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
319
cs46xx_dsp_spos_update_scb(chip, scb->parent_scb_ptr);
sound/pci/cs46xx/dsp_spos_scb_lib.c
324
cs46xx_dsp_proc_register_scb_desc (chip,scb);
sound/pci/cs46xx/dsp_spos_scb_lib.c
326
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
353
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
376
scb = cs46xx_dsp_create_generic_scb(chip,"TimingMasterSCBInst",(u32 *)&timing_master_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
380
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
390
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
415
scb = cs46xx_dsp_create_generic_scb(chip,codec_name,(u32 *)&codec_out_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
419
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
429
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
460
scb = cs46xx_dsp_create_generic_scb(chip,codec_name,(u32 *)&codec_input_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
463
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
475
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
562
scb = _dsp_create_generic_scb(chip,scb_name,(u32 *)&pcm_reader_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
566
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
582
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
61
struct dsp_scb_descriptor * scb = scb_info->scb_desc;
sound/pci/cs46xx/dsp_spos_scb_lib.c
661
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&src_task_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
665
scb = _dsp_create_generic_scb(chip,scb_name,(u32 *)&src_task_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
67
snd_iprintf(buffer,"%04x %s:\n",scb->address,scb->scb_name);
sound/pci/cs46xx/dsp_spos_scb_lib.c
673
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
682
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
719
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&filter_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
723
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
733
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
74
snd_iprintf(buffer,"%08x ",readl(dst + (scb->address + j) * sizeof(u32)));
sound/pci/cs46xx/dsp_spos_scb_lib.c
760
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&master_mix_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
763
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
773
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
79
if (scb->parent_scb_ptr != NULL) {
sound/pci/cs46xx/dsp_spos_scb_lib.c
81
scb->parent_scb_ptr->scb_name,
sound/pci/cs46xx/dsp_spos_scb_lib.c
812
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&mix2_ostream_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
817
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
82
scb->parent_scb_ptr->address);
sound/pci/cs46xx/dsp_spos_scb_lib.c
830
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
857
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&vari_decimate_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
86
scb->sub_list_ptr->scb_name,
sound/pci/cs46xx/dsp_spos_scb_lib.c
861
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
87
scb->sub_list_ptr->address,
sound/pci/cs46xx/dsp_spos_scb_lib.c
872
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
88
scb->next_scb_ptr->scb_name,
sound/pci/cs46xx/dsp_spos_scb_lib.c
89
scb->next_scb_ptr->address,
sound/pci/cs46xx/dsp_spos_scb_lib.c
90
scb->task_entry->symbol_name,
sound/pci/cs46xx/dsp_spos_scb_lib.c
901
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&pcm_serial_input_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
904
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
91
scb->task_entry->address);
sound/pci/cs46xx/dsp_spos_scb_lib.c
916
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
93
snd_iprintf(buffer,"index [%d] ref_count [%d]\n",scb->index,scb->ref_count);
sound/pci/cs46xx/dsp_spos_scb_lib.c
947
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&asynch_fg_tx_scb,
sound/pci/cs46xx/dsp_spos_scb_lib.c
951
return scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
963
struct dsp_scb_descriptor * scb;
sound/pci/cs46xx/dsp_spos_scb_lib.c
97
static void _dsp_unlink_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb)
sound/pci/cs46xx/dsp_spos_scb_lib.c
996
scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&asynch_fg_rx_scb,