arch/openrisc/kernel/traps.c
118
show_stack(NULL, (unsigned long *)esp, KERN_EMERG);
arch/openrisc/kernel/traps.c
120
if (esp < PAGE_OFFSET)
arch/openrisc/kernel/traps.c
127
if (__get_user(word, &((unsigned long *)esp)[i])) {
arch/openrisc/kernel/traps.c
133
print_data(esp, word, i);
arch/openrisc/kernel/traps.c
68
void show_stack(struct task_struct *task, unsigned long *esp, const char *loglvl)
arch/openrisc/kernel/traps.c
70
if (esp == NULL)
arch/openrisc/kernel/traps.c
71
esp = (unsigned long *)&esp;
arch/openrisc/kernel/traps.c
74
unwind_stack((void *)loglvl, esp, print_trace);
arch/openrisc/kernel/traps.c
81
unsigned long esp;
arch/openrisc/kernel/traps.c
83
esp = (unsigned long)(regs->sp);
arch/um/kernel/exec.c
31
void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)
arch/um/kernel/exec.c
34
PT_REGS_SP(regs) = esp;
arch/x86/entry/calling.h
477
movl 3*4(%esp), %eax
arch/x86/include/asm/GEN-for-each-reg.h
27
GEN(esp)
arch/x86/include/asm/frame.h
49
mov %esp, %ebp
arch/x86/include/asm/inst.h
31
.ifc \r32,%esp
arch/x86/include/asm/user32.h
42
__u32 eflags, esp;
arch/x86/include/asm/xen/hypercall.h
382
unsigned long ss, unsigned long esp)
arch/x86/include/asm/xen/hypercall.h
386
mcl->args[1] = esp;
arch/x86/include/asm/xen/interface_32.h
64
uint32_t esp;
arch/x86/include/uapi/asm/ptrace.h
34
long esp;
arch/x86/include/uapi/asm/sigcontext.h
308
__u32 esp;
arch/x86/include/uapi/asm/vm86.h
82
long esp;
arch/x86/kernel/ptrace.c
919
R32(esp, sp);
arch/x86/kernel/ptrace.c
993
R32(esp, sp);
arch/x86/kernel/vm86_32.c
129
unsafe_put_user(regs->pt.sp, &user->regs.esp, Efault_end);
arch/x86/kernel/vm86_32.c
266
vm86regs.pt.sp = v.regs.esp;
arch/x86/kvm/emulate.c
2742
tss->esp = reg_read(ctxt, VCPU_REGS_RSP);
arch/x86/kvm/emulate.c
2771
*reg_write(ctxt, VCPU_REGS_RSP) = tss->esp;
arch/x86/kvm/tss.h
20
u32 esp;
arch/x86/xen/smp_pv.c
253
ctxt->user_regs.esp = (unsigned long)task_pt_regs(idle);
drivers/infiniband/core/uverbs.h
246
struct ib_uverbs_flow_spec_esp esp;
drivers/infiniband/core/uverbs_cmd.c
2841
ib_spec->esp.size = sizeof(struct ib_flow_spec_esp);
drivers/infiniband/core/uverbs_cmd.c
2842
memcpy(&ib_spec->esp.val, kern_spec_val, actual_filter_sz);
drivers/infiniband/core/uverbs_cmd.c
2843
memcpy(&ib_spec->esp.mask, kern_spec_mask, actual_filter_sz);
drivers/net/hyperv/hyperv_net.h
1495
u8 esp;
drivers/scsi/am53c974.c
100
return dev_get_drvdata(esp->dev);
drivers/scsi/am53c974.c
103
static void pci_esp_write8(struct esp *esp, u8 val, unsigned long reg)
drivers/scsi/am53c974.c
105
iowrite8(val, esp->regs + (reg * 4UL));
drivers/scsi/am53c974.c
108
static u8 pci_esp_read8(struct esp *esp, unsigned long reg)
drivers/scsi/am53c974.c
110
return ioread8(esp->regs + (reg * 4UL));
drivers/scsi/am53c974.c
113
static void pci_esp_write32(struct esp *esp, u32 val, unsigned long reg)
drivers/scsi/am53c974.c
115
return iowrite32(val, esp->regs + (reg * 4UL));
drivers/scsi/am53c974.c
118
static int pci_esp_irq_pending(struct esp *esp)
drivers/scsi/am53c974.c
120
struct pci_esp_priv *pep = pci_esp_get_priv(esp);
drivers/scsi/am53c974.c
122
pep->dma_status = pci_esp_read8(esp, ESP_DMA_STATUS);
drivers/scsi/am53c974.c
134
static void pci_esp_reset_dma(struct esp *esp)
drivers/scsi/am53c974.c
139
static void pci_esp_dma_drain(struct esp *esp)
drivers/scsi/am53c974.c
145
if ((esp->sreg & ESP_STAT_PMASK) == ESP_DOP ||
drivers/scsi/am53c974.c
146
(esp->sreg & ESP_STAT_PMASK) == ESP_DIP)
drivers/scsi/am53c974.c
151
resid = pci_esp_read8(esp, ESP_FFLAGS) & ESP_FF_FBYTES;
drivers/scsi/am53c974.c
165
pci_esp_write8(esp, ESP_DMA_CMD_DIR | ESP_DMA_CMD_BLAST, ESP_DMA_CMD);
drivers/scsi/am53c974.c
166
while (pci_esp_read8(esp, ESP_DMA_STATUS) & ESP_DMA_STAT_BCMPLT) {
drivers/scsi/am53c974.c
171
pci_esp_write8(esp, ESP_DMA_CMD_DIR | ESP_DMA_CMD_IDLE, ESP_DMA_CMD);
drivers/scsi/am53c974.c
175
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/am53c974.c
181
static void pci_esp_dma_invalidate(struct esp *esp)
drivers/scsi/am53c974.c
183
struct pci_esp_priv *pep = pci_esp_get_priv(esp);
drivers/scsi/am53c974.c
187
pci_esp_write8(esp, ESP_DMA_CMD_IDLE, ESP_DMA_CMD);
drivers/scsi/am53c974.c
191
static int pci_esp_dma_error(struct esp *esp)
drivers/scsi/am53c974.c
193
struct pci_esp_priv *pep = pci_esp_get_priv(esp);
drivers/scsi/am53c974.c
196
u8 dma_cmd = pci_esp_read8(esp, ESP_DMA_CMD);
drivers/scsi/am53c974.c
199
pci_esp_write8(esp, ESP_DMA_CMD_ABORT, ESP_DMA_CMD);
drivers/scsi/am53c974.c
204
pci_esp_write8(esp, ESP_DMA_CMD_IDLE, ESP_DMA_CMD);
drivers/scsi/am53c974.c
205
pep->dma_status = pci_esp_read8(esp, ESP_DMA_CMD);
drivers/scsi/am53c974.c
211
static void pci_esp_send_dma_cmd(struct esp *esp, u32 addr, u32 esp_count,
drivers/scsi/am53c974.c
214
struct pci_esp_priv *pep = pci_esp_get_priv(esp);
drivers/scsi/am53c974.c
225
pci_esp_write8(esp, ESP_DMA_CMD_IDLE | val, ESP_DMA_CMD);
drivers/scsi/am53c974.c
227
pci_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/am53c974.c
228
pci_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/am53c974.c
229
if (esp->config2 & ESP_CONFIG2_FENAB)
drivers/scsi/am53c974.c
230
pci_esp_write8(esp, (esp_count >> 16) & 0xff, ESP_TCHI);
drivers/scsi/am53c974.c
232
pci_esp_write32(esp, esp_count, ESP_DMA_STC);
drivers/scsi/am53c974.c
233
pci_esp_write32(esp, addr, ESP_DMA_SPA);
drivers/scsi/am53c974.c
238
scsi_esp_cmd(esp, cmd);
drivers/scsi/am53c974.c
240
pci_esp_write8(esp, ESP_DMA_CMD_START | val, ESP_DMA_CMD);
drivers/scsi/am53c974.c
243
static u32 pci_esp_dma_length_limit(struct esp *esp, u32 dma_addr, u32 dma_len)
drivers/scsi/am53c974.c
252
if (esp->config2 & ESP_CONFIG2_FENAB)
drivers/scsi/am53c974.c
27
shost_printk(KERN_DEBUG, esp->host, f, ##a); \
drivers/scsi/am53c974.c
347
static void dc390_check_eeprom(struct esp *esp)
drivers/scsi/am53c974.c
349
struct pci_dev *pdev = to_pci_dev(esp->dev);
drivers/scsi/am53c974.c
365
esp->scsi_id = EEbuf[DC390_EE_ADAPT_SCSI_ID];
drivers/scsi/am53c974.c
366
esp->num_tags = 2 << EEbuf[DC390_EE_TAG_CMD_NUM];
drivers/scsi/am53c974.c
368
esp->config4 |= ESP_CONFIG4_RADE | ESP_CONFIG4_RAE;
drivers/scsi/am53c974.c
377
struct esp *esp;
drivers/scsi/am53c974.c
391
shost = scsi_host_alloc(hostt, sizeof(struct esp));
drivers/scsi/am53c974.c
407
esp = shost_priv(shost);
drivers/scsi/am53c974.c
408
esp->host = shost;
drivers/scsi/am53c974.c
409
esp->dev = &pdev->dev;
drivers/scsi/am53c974.c
410
esp->ops = &pci_esp_ops;
drivers/scsi/am53c974.c
416
esp->flags |= ESP_FLAG_USE_FIFO;
drivers/scsi/am53c974.c
421
esp->config2 |= ESP_CONFIG2_FENAB;
drivers/scsi/am53c974.c
423
pep->esp = esp;
drivers/scsi/am53c974.c
431
esp->regs = pci_iomap(pdev, 0, pci_resource_len(pdev, 0));
drivers/scsi/am53c974.c
432
if (!esp->regs) {
drivers/scsi/am53c974.c
437
esp->dma_regs = esp->regs;
drivers/scsi/am53c974.c
441
esp->command_block = dma_alloc_coherent(&pdev->dev, 16,
drivers/scsi/am53c974.c
442
&esp->command_block_dma, GFP_KERNEL);
drivers/scsi/am53c974.c
443
if (!esp->command_block) {
drivers/scsi/am53c974.c
453
DRV_MODULE_NAME, esp);
drivers/scsi/am53c974.c
459
esp->scsi_id = 7;
drivers/scsi/am53c974.c
460
dc390_check_eeprom(esp);
drivers/scsi/am53c974.c
462
shost->this_id = esp->scsi_id;
drivers/scsi/am53c974.c
468
esp->scsi_id_mask = (1 << esp->scsi_id);
drivers/scsi/am53c974.c
470
esp->cfreq = 40000000;
drivers/scsi/am53c974.c
472
err = scsi_esp_register(esp);
drivers/scsi/am53c974.c
479
free_irq(pdev->irq, esp);
drivers/scsi/am53c974.c
482
dma_free_coherent(&pdev->dev, 16, esp->command_block,
drivers/scsi/am53c974.c
483
esp->command_block_dma);
drivers/scsi/am53c974.c
485
pci_iounmap(pdev, esp->regs);
drivers/scsi/am53c974.c
501
struct esp *esp = pep->esp;
drivers/scsi/am53c974.c
503
scsi_esp_unregister(esp);
drivers/scsi/am53c974.c
504
free_irq(pdev->irq, esp);
drivers/scsi/am53c974.c
506
dma_free_coherent(&pdev->dev, 16, esp->command_block,
drivers/scsi/am53c974.c
507
esp->command_block_dma);
drivers/scsi/am53c974.c
508
pci_iounmap(pdev, esp->regs);
drivers/scsi/am53c974.c
513
scsi_host_put(esp->host);
drivers/scsi/am53c974.c
92
struct esp *esp;
drivers/scsi/am53c974.c
96
static void pci_esp_dma_drain(struct esp *esp);
drivers/scsi/am53c974.c
98
static inline struct pci_esp_priv *pci_esp_get_priv(struct esp *esp)
drivers/scsi/esp_scsi.c
1005
esp->sreg &= ~ESP_STAT_INTR;
drivers/scsi/esp_scsi.c
1009
if (!(esp->sreg & ESP_STAT_INTR)) {
drivers/scsi/esp_scsi.c
1010
if (esp->ireg & ESP_INTR_SR)
drivers/scsi/esp_scsi.c
1016
if (!esp->ops->dma_error(esp)) {
drivers/scsi/esp_scsi.c
1017
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1019
esp->sreg);
drivers/scsi/esp_scsi.c
1023
shost_printk(KERN_ERR, esp->host, "DMA error\n");
drivers/scsi/esp_scsi.c
103
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
1034
static void esp_schedule_reset(struct esp *esp)
drivers/scsi/esp_scsi.c
1038
esp->flags |= ESP_FLAG_RESETTING;
drivers/scsi/esp_scsi.c
1039
esp_event(esp, ESP_EVENT_RESET);
drivers/scsi/esp_scsi.c
1046
static struct esp_cmd_entry *esp_reconnect_with_tag(struct esp *esp,
drivers/scsi/esp_scsi.c
1053
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1061
if (esp->ops->irq_pending(esp))
drivers/scsi/esp_scsi.c
1065
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1070
esp->sreg = esp_read8(ESP_STATUS);
drivers/scsi/esp_scsi.c
1071
esp->ireg = esp_read8(ESP_INTRPT);
drivers/scsi/esp_scsi.c
1074
i, esp->ireg, esp->sreg);
drivers/scsi/esp_scsi.c
1076
if (esp->ireg & ESP_INTR_DC) {
drivers/scsi/esp_scsi.c
1077
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
108
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
1082
if ((esp->sreg & ESP_STAT_PMASK) != ESP_MIP) {
drivers/scsi/esp_scsi.c
1083
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1084
"Reconnect, not MIP sreg[%02x].\n", esp->sreg);
drivers/scsi/esp_scsi.c
1089
esp->command_block[0] = 0xff;
drivers/scsi/esp_scsi.c
1090
esp->command_block[1] = 0xff;
drivers/scsi/esp_scsi.c
1091
esp->ops->send_dma_cmd(esp, esp->command_block_dma,
drivers/scsi/esp_scsi.c
1095
scsi_esp_cmd(esp, ESP_CMD_MOK);
drivers/scsi/esp_scsi.c
1098
if (esp->ops->irq_pending(esp)) {
drivers/scsi/esp_scsi.c
1099
esp->sreg = esp_read8(ESP_STATUS);
drivers/scsi/esp_scsi.c
1100
esp->ireg = esp_read8(ESP_INTRPT);
drivers/scsi/esp_scsi.c
1101
if (esp->ireg & ESP_INTR_FDONE)
drivers/scsi/esp_scsi.c
1107
shost_printk(KERN_ERR, esp->host, "Reconnect IRQ2 timeout\n");
drivers/scsi/esp_scsi.c
1110
esp->ops->dma_drain(esp);
drivers/scsi/esp_scsi.c
1111
esp->ops->dma_invalidate(esp);
drivers/scsi/esp_scsi.c
1114
i, esp->ireg, esp->sreg,
drivers/scsi/esp_scsi.c
1115
esp->command_block[0],
drivers/scsi/esp_scsi.c
1116
esp->command_block[1]);
drivers/scsi/esp_scsi.c
1118
if (esp->command_block[0] < SIMPLE_QUEUE_TAG ||
drivers/scsi/esp_scsi.c
1119
esp->command_block[0] > ORDERED_QUEUE_TAG) {
drivers/scsi/esp_scsi.c
1120
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1122
esp->command_block[0]);
drivers/scsi/esp_scsi.c
1126
ent = lp->tagged_cmds[esp->command_block[1]];
drivers/scsi/esp_scsi.c
1128
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
113
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
1130
esp->command_block[1]);
drivers/scsi/esp_scsi.c
1137
static int esp_reconnect(struct esp *esp)
drivers/scsi/esp_scsi.c
1145
BUG_ON(esp->active_cmd);
drivers/scsi/esp_scsi.c
1146
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
1150
target = esp->fifo[0];
drivers/scsi/esp_scsi.c
1151
lun = esp->fifo[1] & 0x7;
drivers/scsi/esp_scsi.c
116
#define esp_read8(REG) esp->ops->esp_read8(esp, REG)
drivers/scsi/esp_scsi.c
1161
if (!(bits & esp->scsi_id_mask))
drivers/scsi/esp_scsi.c
1163
bits &= ~esp->scsi_id_mask;
drivers/scsi/esp_scsi.c
117
#define esp_write8(VAL,REG) esp->ops->esp_write8(esp, VAL, REG)
drivers/scsi/esp_scsi.c
1170
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1171
if (esp->rev == ESP100) {
drivers/scsi/esp_scsi.c
1181
scsi_esp_cmd(esp, ESP_CMD_NULL);
drivers/scsi/esp_scsi.c
1184
esp_write_tgt_sync(esp, target);
drivers/scsi/esp_scsi.c
1185
esp_write_tgt_config3(esp, target);
drivers/scsi/esp_scsi.c
1187
scsi_esp_cmd(esp, ESP_CMD_MOK);
drivers/scsi/esp_scsi.c
1189
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
119
static void esp_log_fill_regs(struct esp *esp,
drivers/scsi/esp_scsi.c
1193
tp = &esp->target[target];
drivers/scsi/esp_scsi.c
1196
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1205
ent = esp_reconnect_with_tag(esp, lp);
drivers/scsi/esp_scsi.c
1210
esp->active_cmd = ent;
drivers/scsi/esp_scsi.c
1212
esp_event(esp, ESP_EVENT_CHECK_PHASE);
drivers/scsi/esp_scsi.c
1213
esp_restore_pointers(esp, ent);
drivers/scsi/esp_scsi.c
1214
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
1218
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
122
p->sreg = esp->sreg;
drivers/scsi/esp_scsi.c
1222
static int esp_finish_select(struct esp *esp)
drivers/scsi/esp_scsi.c
1228
esp->select_state = ESP_SELECT_NONE;
drivers/scsi/esp_scsi.c
123
p->seqreg = esp->seqreg;
drivers/scsi/esp_scsi.c
1230
esp->seqreg = esp_read8(ESP_SSTEP) & ESP_STEP_VBITS;
drivers/scsi/esp_scsi.c
1231
ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1234
if (esp->ops->dma_error(esp)) {
drivers/scsi/esp_scsi.c
1238
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1239
esp_cmd_is_done(esp, ent, cmd, DID_ERROR);
drivers/scsi/esp_scsi.c
124
p->sreg2 = esp->sreg2;
drivers/scsi/esp_scsi.c
1243
esp->ops->dma_invalidate(esp);
drivers/scsi/esp_scsi.c
1245
if (esp->ireg == (ESP_INTR_RSEL | ESP_INTR_FDONE)) {
drivers/scsi/esp_scsi.c
1246
struct esp_target_data *tp = &esp->target[cmd->device->id];
drivers/scsi/esp_scsi.c
125
p->ireg = esp->ireg;
drivers/scsi/esp_scsi.c
1253
esp_unmap_dma(esp, cmd);
drivers/scsi/esp_scsi.c
1256
esp->cmd_bytes_ptr = NULL;
drivers/scsi/esp_scsi.c
1257
esp->cmd_bytes_left = 0;
drivers/scsi/esp_scsi.c
1259
esp_unmap_sense(esp, ent);
drivers/scsi/esp_scsi.c
126
p->select_state = esp->select_state;
drivers/scsi/esp_scsi.c
1265
list_move(&ent->list, &esp->queued_cmds);
drivers/scsi/esp_scsi.c
1266
esp->active_cmd = NULL;
drivers/scsi/esp_scsi.c
127
p->event = esp->event;
drivers/scsi/esp_scsi.c
1274
if (esp->ireg == ESP_INTR_DC) {
drivers/scsi/esp_scsi.c
1281
esp->target[dev->id].flags |= ESP_TGT_CHECK_NEGO;
drivers/scsi/esp_scsi.c
1283
scsi_esp_cmd(esp, ESP_CMD_ESEL);
drivers/scsi/esp_scsi.c
1284
esp_cmd_is_done(esp, ent, cmd, DID_BAD_TARGET);
drivers/scsi/esp_scsi.c
1288
if (esp->ireg == (ESP_INTR_FDONE | ESP_INTR_BSERV)) {
drivers/scsi/esp_scsi.c
1292
if (esp->rev <= ESP236) {
drivers/scsi/esp_scsi.c
1295
scsi_esp_cmd(esp, ESP_CMD_NULL);
drivers/scsi/esp_scsi.c
1298
(!esp->prev_soff ||
drivers/scsi/esp_scsi.c
1299
((esp->sreg & ESP_STAT_PMASK) != ESP_DIP)))
drivers/scsi/esp_scsi.c
130
void scsi_esp_cmd(struct esp *esp, u8 val)
drivers/scsi/esp_scsi.c
1300
esp_flush_fifo(esp);
drivers/scsi/esp_scsi.c
1306
esp_event(esp, ESP_EVENT_CHECK_PHASE);
drivers/scsi/esp_scsi.c
1310
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1311
"Unexpected selection completion ireg[%x]\n", esp->ireg);
drivers/scsi/esp_scsi.c
1312
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1316
static int esp_data_bytes_sent(struct esp *esp, struct esp_cmd_entry *ent,
drivers/scsi/esp_scsi.c
1322
if (esp->prev_cfg3 & ESP_CONFIG3_EWIDE)
drivers/scsi/esp_scsi.c
1326
if (!(esp->sreg & ESP_STAT_TCNT)) {
drivers/scsi/esp_scsi.c
1329
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
133
int idx = esp->esp_event_cur;
drivers/scsi/esp_scsi.c
1331
if (esp->rev == PCSCSI && (esp->config2 & ESP_CONFIG2_FENAB))
drivers/scsi/esp_scsi.c
1335
bytes_sent = esp->data_dma_len;
drivers/scsi/esp_scsi.c
1337
bytes_sent -= esp->send_cmd_residual;
drivers/scsi/esp_scsi.c
135
p = &esp->esp_event_log[idx];
drivers/scsi/esp_scsi.c
1372
if (!esp->prev_soff) {
drivers/scsi/esp_scsi.c
1376
if (esp->rev == ESP100) {
drivers/scsi/esp_scsi.c
138
esp_log_fill_regs(esp, p);
drivers/scsi/esp_scsi.c
1390
esp->sreg = esp_read8(ESP_STATUS);
drivers/scsi/esp_scsi.c
1391
phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/esp_scsi.c
140
esp->esp_event_cur = (idx + 1) & (ESP_EVENT_LOG_SZ - 1);
drivers/scsi/esp_scsi.c
1405
esp_flush_fifo(esp);
drivers/scsi/esp_scsi.c
1410
static void esp_setsync(struct esp *esp, struct esp_target_data *tp,
drivers/scsi/esp_scsi.c
1420
esp_soff |= esp->radelay;
drivers/scsi/esp_scsi.c
1421
if (esp->rev >= FAS236) {
drivers/scsi/esp_scsi.c
1423
if (esp->rev >= FAS100A)
drivers/scsi/esp_scsi.c
1427
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
1428
esp_soff &= ~esp->radelay;
drivers/scsi/esp_scsi.c
1433
esp->prev_cfg3 = tp->esp_config3;
drivers/scsi/esp_scsi.c
1434
esp_write8(esp->prev_cfg3, ESP_CFG3);
drivers/scsi/esp_scsi.c
1438
tp->esp_period = esp->prev_stp = esp_stp;
drivers/scsi/esp_scsi.c
1439
tp->esp_offset = esp->prev_soff = esp_soff;
drivers/scsi/esp_scsi.c
1449
static void esp_msgin_reject(struct esp *esp)
drivers/scsi/esp_scsi.c
1451
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1457
tp = &esp->target[tgt];
drivers/scsi/esp_scsi.c
1464
scsi_esp_cmd(esp, ESP_CMD_RATN);
drivers/scsi/esp_scsi.c
1466
esp->msg_out_len =
drivers/scsi/esp_scsi.c
1467
spi_populate_sync_msg(&esp->msg_out[0],
drivers/scsi/esp_scsi.c
147
static void esp_send_dma_cmd(struct esp *esp, int len, int max_len, int cmd)
drivers/scsi/esp_scsi.c
1471
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
1480
esp_setsync(esp, tp, 0, 0, 0, 0);
drivers/scsi/esp_scsi.c
1481
scsi_esp_cmd(esp, ESP_CMD_RATN);
drivers/scsi/esp_scsi.c
1485
shost_printk(KERN_INFO, esp->host, "Unexpected MESSAGE REJECT\n");
drivers/scsi/esp_scsi.c
1486
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1489
static void esp_msgin_sdtr(struct esp *esp, struct esp_target_data *tp)
drivers/scsi/esp_scsi.c
149
if (esp->flags & ESP_FLAG_USE_FIFO) {
drivers/scsi/esp_scsi.c
1491
u8 period = esp->msg_in[3];
drivers/scsi/esp_scsi.c
1492
u8 offset = esp->msg_in[4];
drivers/scsi/esp_scsi.c
1504
if (period > esp->max_period) {
drivers/scsi/esp_scsi.c
1508
if (period < esp->min_period)
drivers/scsi/esp_scsi.c
1511
one_clock = esp->ccycle / 1000;
drivers/scsi/esp_scsi.c
1513
if (stp && esp->rev >= FAS236) {
drivers/scsi/esp_scsi.c
152
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1521
esp_setsync(esp, tp, period, offset, stp, offset);
drivers/scsi/esp_scsi.c
1525
esp->msg_out[0] = MESSAGE_REJECT;
drivers/scsi/esp_scsi.c
1526
esp->msg_out_len = 1;
drivers/scsi/esp_scsi.c
1527
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
1533
esp->msg_out_len =
drivers/scsi/esp_scsi.c
1534
spi_populate_sync_msg(&esp->msg_out[0],
drivers/scsi/esp_scsi.c
1537
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
154
esp_write8(esp->command_block[i], ESP_FDATA);
drivers/scsi/esp_scsi.c
1540
static void esp_msgin_wdtr(struct esp *esp, struct esp_target_data *tp)
drivers/scsi/esp_scsi.c
1542
int size = 8 << esp->msg_in[3];
drivers/scsi/esp_scsi.c
1545
if (esp->rev != FASHME)
drivers/scsi/esp_scsi.c
155
scsi_esp_cmd(esp, cmd);
drivers/scsi/esp_scsi.c
1563
esp->prev_cfg3 = cfg3;
drivers/scsi/esp_scsi.c
157
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
1572
scsi_esp_cmd(esp, ESP_CMD_RATN);
drivers/scsi/esp_scsi.c
1574
esp->msg_out_len =
drivers/scsi/esp_scsi.c
1575
spi_populate_sync_msg(&esp->msg_out[0],
drivers/scsi/esp_scsi.c
1579
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
158
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1584
esp->msg_out[0] = MESSAGE_REJECT;
drivers/scsi/esp_scsi.c
1585
esp->msg_out_len = 1;
drivers/scsi/esp_scsi.c
1586
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
1589
static void esp_msgin_extended(struct esp *esp)
drivers/scsi/esp_scsi.c
1591
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1596
tp = &esp->target[tgt];
drivers/scsi/esp_scsi.c
1597
if (esp->msg_in[2] == EXTENDED_SDTR) {
drivers/scsi/esp_scsi.c
1598
esp_msgin_sdtr(esp, tp);
drivers/scsi/esp_scsi.c
160
esp->ops->send_dma_cmd(esp, esp->command_block_dma,
drivers/scsi/esp_scsi.c
1601
if (esp->msg_in[2] == EXTENDED_WDTR) {
drivers/scsi/esp_scsi.c
1602
esp_msgin_wdtr(esp, tp);
drivers/scsi/esp_scsi.c
1606
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1607
"Unexpected extended msg type %x\n", esp->msg_in[2]);
drivers/scsi/esp_scsi.c
1609
esp->msg_out[0] = MESSAGE_REJECT;
drivers/scsi/esp_scsi.c
1610
esp->msg_out_len = 1;
drivers/scsi/esp_scsi.c
1611
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
1617
static int esp_msgin_process(struct esp *esp)
drivers/scsi/esp_scsi.c
1619
u8 msg0 = esp->msg_in[0];
drivers/scsi/esp_scsi.c
1620
int len = esp->msg_in_len;
drivers/scsi/esp_scsi.c
1624
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1633
if (len < esp->msg_in[1] + 2)
drivers/scsi/esp_scsi.c
1635
esp_msgin_extended(esp);
drivers/scsi/esp_scsi.c
1644
if (esp->msg_in[1] != 1)
drivers/scsi/esp_scsi.c
1647
ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
165
static void esp_event(struct esp *esp, u8 val)
drivers/scsi/esp_scsi.c
1661
esp_restore_pointers(esp, esp->active_cmd);
drivers/scsi/esp_scsi.c
1664
esp_save_pointers(esp, esp->active_cmd);
drivers/scsi/esp_scsi.c
1669
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1672
esp_event(esp, ESP_EVENT_FREE_BUS);
drivers/scsi/esp_scsi.c
1673
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
1677
esp_msgin_reject(esp);
drivers/scsi/esp_scsi.c
168
int idx = esp->esp_event_cur;
drivers/scsi/esp_scsi.c
1682
esp->msg_out[0] = MESSAGE_REJECT;
drivers/scsi/esp_scsi.c
1683
esp->msg_out_len = 1;
drivers/scsi/esp_scsi.c
1684
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
1689
static int esp_process_event(struct esp *esp)
drivers/scsi/esp_scsi.c
1696
esp->event, esp->sreg & ESP_STAT_PMASK);
drivers/scsi/esp_scsi.c
1697
switch (esp->event) {
drivers/scsi/esp_scsi.c
1699
switch (esp->sreg & ESP_STAT_PMASK) {
drivers/scsi/esp_scsi.c
170
p = &esp->esp_event_log[idx];
drivers/scsi/esp_scsi.c
1701
esp_event(esp, ESP_EVENT_DATA_OUT);
drivers/scsi/esp_scsi.c
1704
esp_event(esp, ESP_EVENT_DATA_IN);
drivers/scsi/esp_scsi.c
1707
esp_flush_fifo(esp);
drivers/scsi/esp_scsi.c
1708
scsi_esp_cmd(esp, ESP_CMD_ICCSEQ);
drivers/scsi/esp_scsi.c
1709
esp_event(esp, ESP_EVENT_STATUS);
drivers/scsi/esp_scsi.c
1710
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
1714
esp_event(esp, ESP_EVENT_MSGOUT);
drivers/scsi/esp_scsi.c
1718
esp_event(esp, ESP_EVENT_MSGIN);
drivers/scsi/esp_scsi.c
1722
esp_event(esp, ESP_EVENT_CMD_START);
drivers/scsi/esp_scsi.c
1726
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1728
esp->sreg);
drivers/scsi/esp_scsi.c
1729
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
173
esp_log_fill_regs(esp, p);
drivers/scsi/esp_scsi.c
1739
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1744
if (esp->rev == ESP100)
drivers/scsi/esp_scsi.c
1745
scsi_esp_cmd(esp, ESP_CMD_NULL);
drivers/scsi/esp_scsi.c
175
esp->esp_event_cur = (idx + 1) & (ESP_EVENT_LOG_SZ - 1);
drivers/scsi/esp_scsi.c
1752
if (esp->ops->dma_length_limit)
drivers/scsi/esp_scsi.c
1753
dma_len = esp->ops->dma_length_limit(esp, dma_addr,
drivers/scsi/esp_scsi.c
1756
dma_len = esp_dma_length_limit(esp, dma_addr, dma_len);
drivers/scsi/esp_scsi.c
1758
esp->data_dma_len = dma_len;
drivers/scsi/esp_scsi.c
1761
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1763
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
1767
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
177
esp->event = val;
drivers/scsi/esp_scsi.c
1774
esp->ops->send_dma_cmd(esp, dma_addr, dma_len, dma_len,
drivers/scsi/esp_scsi.c
1776
esp_event(esp, ESP_EVENT_DATA_DONE);
drivers/scsi/esp_scsi.c
1780
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1784
if (esp->ops->dma_error(esp)) {
drivers/scsi/esp_scsi.c
1785
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1787
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1794
esp->ops->dma_drain(esp);
drivers/scsi/esp_scsi.c
1796
esp->ops->dma_invalidate(esp);
drivers/scsi/esp_scsi.c
1798
if (esp->ireg != ESP_INTR_BSERV) {
drivers/scsi/esp_scsi.c
180
static void esp_dump_cmd_log(struct esp *esp)
drivers/scsi/esp_scsi.c
1802
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1804
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1808
bytes_sent = esp_data_bytes_sent(esp, ent, cmd);
drivers/scsi/esp_scsi.c
1815
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1819
esp_advance_dma(esp, ent, cmd, bytes_sent);
drivers/scsi/esp_scsi.c
182
int idx = esp->esp_event_cur;
drivers/scsi/esp_scsi.c
1820
esp_event(esp, ESP_EVENT_CHECK_PHASE);
drivers/scsi/esp_scsi.c
1825
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1827
if (esp->ireg & ESP_INTR_FDONE) {
drivers/scsi/esp_scsi.c
1830
scsi_esp_cmd(esp, ESP_CMD_MOK);
drivers/scsi/esp_scsi.c
1831
} else if (esp->ireg == ESP_INTR_BSERV) {
drivers/scsi/esp_scsi.c
1834
esp_event(esp, ESP_EVENT_MSGIN);
drivers/scsi/esp_scsi.c
1839
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1842
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1846
esp_event(esp, ESP_EVENT_FREE_BUS);
drivers/scsi/esp_scsi.c
1847
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
185
shost_printk(KERN_INFO, esp->host, "Dumping command log\n");
drivers/scsi/esp_scsi.c
1851
struct esp_cmd_entry *ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
1856
scsi_esp_cmd(esp, ESP_CMD_ESEL);
drivers/scsi/esp_scsi.c
1862
esp_event_queue_full(esp, ent);
drivers/scsi/esp_scsi.c
1867
esp_autosense(esp, ent);
drivers/scsi/esp_scsi.c
1869
esp_cmd_is_done(esp, ent, cmd, DID_OK);
drivers/scsi/esp_scsi.c
187
struct esp_event_ent *p = &esp->esp_event_log[idx];
drivers/scsi/esp_scsi.c
1876
esp->active_cmd = NULL;
drivers/scsi/esp_scsi.c
1877
esp_maybe_execute_command(esp);
drivers/scsi/esp_scsi.c
1879
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1882
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
1885
if (esp->active_cmd)
drivers/scsi/esp_scsi.c
1886
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
189
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1890
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1895
for (i = 0; i < esp->msg_out_len; i++)
drivers/scsi/esp_scsi.c
1896
printk("%02x ", esp->msg_out[i]);
drivers/scsi/esp_scsi.c
1900
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
1904
for (i = 0; i < esp->msg_out_len; i++) {
drivers/scsi/esp_scsi.c
1905
esp_write8(esp->msg_out[i], ESP_FDATA);
drivers/scsi/esp_scsi.c
1908
scsi_esp_cmd(esp, ESP_CMD_TI);
drivers/scsi/esp_scsi.c
1910
if (esp->msg_out_len == 1) {
drivers/scsi/esp_scsi.c
1911
esp_write8(esp->msg_out[0], ESP_FDATA);
drivers/scsi/esp_scsi.c
1912
scsi_esp_cmd(esp, ESP_CMD_TI);
drivers/scsi/esp_scsi.c
1913
} else if (esp->flags & ESP_FLAG_USE_FIFO) {
drivers/scsi/esp_scsi.c
1914
for (i = 0; i < esp->msg_out_len; i++)
drivers/scsi/esp_scsi.c
1915
esp_write8(esp->msg_out[i], ESP_FDATA);
drivers/scsi/esp_scsi.c
1916
scsi_esp_cmd(esp, ESP_CMD_TI);
drivers/scsi/esp_scsi.c
1919
memcpy(esp->command_block,
drivers/scsi/esp_scsi.c
1920
esp->msg_out,
drivers/scsi/esp_scsi.c
1921
esp->msg_out_len);
drivers/scsi/esp_scsi.c
1923
esp->ops->send_dma_cmd(esp,
drivers/scsi/esp_scsi.c
1924
esp->command_block_dma,
drivers/scsi/esp_scsi.c
1925
esp->msg_out_len,
drivers/scsi/esp_scsi.c
1926
esp->msg_out_len,
drivers/scsi/esp_scsi.c
1931
esp_event(esp, ESP_EVENT_MSGOUT_DONE);
drivers/scsi/esp_scsi.c
1935
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
1936
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1938
if (esp->msg_out_len > 1)
drivers/scsi/esp_scsi.c
1939
esp->ops->dma_invalidate(esp);
drivers/scsi/esp_scsi.c
1944
if (!(esp->ireg & ESP_INTR_DC))
drivers/scsi/esp_scsi.c
1945
scsi_esp_cmd(esp, ESP_CMD_NULL);
drivers/scsi/esp_scsi.c
1948
esp->msg_out_len = 0;
drivers/scsi/esp_scsi.c
1950
esp_event(esp, ESP_EVENT_CHECK_PHASE);
drivers/scsi/esp_scsi.c
1953
if (esp->ireg & ESP_INTR_BSERV) {
drivers/scsi/esp_scsi.c
1954
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
1957
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1959
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1960
if (esp->rev == ESP100)
drivers/scsi/esp_scsi.c
1961
scsi_esp_cmd(esp, ESP_CMD_NULL);
drivers/scsi/esp_scsi.c
1963
scsi_esp_cmd(esp, ESP_CMD_TI);
drivers/scsi/esp_scsi.c
1964
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
1967
if (esp->ireg & ESP_INTR_FDONE) {
drivers/scsi/esp_scsi.c
1970
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
1971
val = esp->fifo[0];
drivers/scsi/esp_scsi.c
1974
esp->msg_in[esp->msg_in_len++] = val;
drivers/scsi/esp_scsi.c
1978
if (!esp_msgin_process(esp))
drivers/scsi/esp_scsi.c
1979
esp->msg_in_len = 0;
drivers/scsi/esp_scsi.c
1981
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
1982
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
1984
scsi_esp_cmd(esp, ESP_CMD_MOK);
drivers/scsi/esp_scsi.c
1987
if (esp->event == ESP_EVENT_RESET)
drivers/scsi/esp_scsi.c
1990
if (esp->event != ESP_EVENT_FREE_BUS)
drivers/scsi/esp_scsi.c
1991
esp_event(esp, ESP_EVENT_CHECK_PHASE);
drivers/scsi/esp_scsi.c
1993
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
1995
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
2000
memcpy(esp->command_block, esp->cmd_bytes_ptr,
drivers/scsi/esp_scsi.c
2001
esp->cmd_bytes_left);
drivers/scsi/esp_scsi.c
2002
esp_send_dma_cmd(esp, esp->cmd_bytes_left, 16, ESP_CMD_TI);
drivers/scsi/esp_scsi.c
2003
esp_event(esp, ESP_EVENT_CMD_DONE);
drivers/scsi/esp_scsi.c
2004
esp->flags |= ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
2007
esp->ops->dma_invalidate(esp);
drivers/scsi/esp_scsi.c
2008
if (esp->ireg & ESP_INTR_BSERV) {
drivers/scsi/esp_scsi.c
2009
esp_event(esp, ESP_EVENT_CHECK_PHASE);
drivers/scsi/esp_scsi.c
201
static void esp_flush_fifo(struct esp *esp)
drivers/scsi/esp_scsi.c
2012
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
2016
scsi_esp_cmd(esp, ESP_CMD_RS);
drivers/scsi/esp_scsi.c
2020
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
2021
"Unexpected event %x, resetting\n", esp->event);
drivers/scsi/esp_scsi.c
2022
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
2028
static void esp_reset_cleanup_one(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
203
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
2032
esp_unmap_dma(esp, cmd);
drivers/scsi/esp_scsi.c
2037
esp_unmap_sense(esp, ent);
drivers/scsi/esp_scsi.c
204
if (esp->rev == ESP236) {
drivers/scsi/esp_scsi.c
2041
esp_put_ent(esp, ent);
drivers/scsi/esp_scsi.c
2052
static void esp_reset_cleanup(struct esp *esp)
drivers/scsi/esp_scsi.c
2057
list_for_each_entry_safe(ent, tmp, &esp->queued_cmds, list) {
drivers/scsi/esp_scsi.c
2063
esp_put_ent(esp, ent);
drivers/scsi/esp_scsi.c
2066
list_for_each_entry_safe(ent, tmp, &esp->active_cmds, list) {
drivers/scsi/esp_scsi.c
2067
if (ent == esp->active_cmd)
drivers/scsi/esp_scsi.c
2068
esp->active_cmd = NULL;
drivers/scsi/esp_scsi.c
2069
esp_reset_cleanup_one(esp, ent);
drivers/scsi/esp_scsi.c
2072
BUG_ON(esp->active_cmd != NULL);
drivers/scsi/esp_scsi.c
2076
struct esp_target_data *tp = &esp->target[i];
drivers/scsi/esp_scsi.c
209
shost_printk(KERN_ALERT, esp->host,
drivers/scsi/esp_scsi.c
2090
esp->flags &= ~ESP_FLAG_RESETTING;
drivers/scsi/esp_scsi.c
2094
static void __esp_interrupt(struct esp *esp)
drivers/scsi/esp_scsi.c
2102
esp->sreg = esp_read8(ESP_STATUS);
drivers/scsi/esp_scsi.c
2103
esp->seqreg = esp_read8(ESP_SSTEP);
drivers/scsi/esp_scsi.c
2104
esp->ireg = esp_read8(ESP_INTRPT);
drivers/scsi/esp_scsi.c
2106
if (esp->flags & ESP_FLAG_RESETTING) {
drivers/scsi/esp_scsi.c
2109
if (esp_check_gross_error(esp))
drivers/scsi/esp_scsi.c
2112
finish_reset = esp_check_spur_intr(esp);
drivers/scsi/esp_scsi.c
2117
if (esp->ireg & ESP_INTR_SR)
drivers/scsi/esp_scsi.c
2121
esp_reset_cleanup(esp);
drivers/scsi/esp_scsi.c
2122
if (esp->eh_reset) {
drivers/scsi/esp_scsi.c
2123
complete(esp->eh_reset);
drivers/scsi/esp_scsi.c
2124
esp->eh_reset = NULL;
drivers/scsi/esp_scsi.c
2129
phase = (esp->sreg & ESP_STAT_PMASK);
drivers/scsi/esp_scsi.c
2130
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
2132
esp->select_state == ESP_SELECT_NONE &&
drivers/scsi/esp_scsi.c
2133
esp->event != ESP_EVENT_STATUS &&
drivers/scsi/esp_scsi.c
2134
esp->event != ESP_EVENT_DATA_DONE) ||
drivers/scsi/esp_scsi.c
2135
(esp->ireg & ESP_INTR_RSEL)) {
drivers/scsi/esp_scsi.c
2136
esp->sreg2 = esp_read8(ESP_STATUS2);
drivers/scsi/esp_scsi.c
2137
if (!(esp->sreg2 & ESP_STAT2_FEMPTY) ||
drivers/scsi/esp_scsi.c
2138
(esp->sreg2 & ESP_STAT2_F1BYTE))
drivers/scsi/esp_scsi.c
2139
hme_read_fifo(esp);
drivers/scsi/esp_scsi.c
2145
esp->sreg, esp->seqreg, esp->sreg2, esp->ireg);
drivers/scsi/esp_scsi.c
2149
if (esp->ireg & (ESP_INTR_S | ESP_INTR_SATN | ESP_INTR_IC)) {
drivers/scsi/esp_scsi.c
2150
shost_printk(KERN_INFO, esp->host,
drivers/scsi/esp_scsi.c
2151
"unexpected IREG %02x\n", esp->ireg);
drivers/scsi/esp_scsi.c
2152
if (esp->ireg & ESP_INTR_IC)
drivers/scsi/esp_scsi.c
2153
esp_dump_cmd_log(esp);
drivers/scsi/esp_scsi.c
2155
esp_schedule_reset(esp);
drivers/scsi/esp_scsi.c
2157
if (esp->ireg & ESP_INTR_RSEL) {
drivers/scsi/esp_scsi.c
2158
if (esp->active_cmd)
drivers/scsi/esp_scsi.c
2159
(void) esp_finish_select(esp);
drivers/scsi/esp_scsi.c
2160
intr_done = esp_reconnect(esp);
drivers/scsi/esp_scsi.c
2163
if (esp->select_state != ESP_SELECT_NONE)
drivers/scsi/esp_scsi.c
2164
intr_done = esp_finish_select(esp);
drivers/scsi/esp_scsi.c
2168
intr_done = esp_process_event(esp);
drivers/scsi/esp_scsi.c
2173
struct esp *esp = dev_id;
drivers/scsi/esp_scsi.c
2177
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2179
if (esp->ops->irq_pending(esp)) {
drivers/scsi/esp_scsi.c
218
static void hme_read_fifo(struct esp *esp)
drivers/scsi/esp_scsi.c
2184
__esp_interrupt(esp);
drivers/scsi/esp_scsi.c
2185
if (!(esp->flags & ESP_FLAG_QUICKIRQ_CHECK))
drivers/scsi/esp_scsi.c
2187
esp->flags &= ~ESP_FLAG_QUICKIRQ_CHECK;
drivers/scsi/esp_scsi.c
2190
if (esp->ops->irq_pending(esp))
drivers/scsi/esp_scsi.c
2197
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2203
static void esp_get_revision(struct esp *esp)
drivers/scsi/esp_scsi.c
2207
esp->config1 = (ESP_CONFIG1_PENABLE | (esp->scsi_id & 7));
drivers/scsi/esp_scsi.c
2208
if (esp->config2 == 0) {
drivers/scsi/esp_scsi.c
2209
esp->config2 = (ESP_CONFIG2_SCSI2ENAB | ESP_CONFIG2_REGPARITY);
drivers/scsi/esp_scsi.c
2210
esp_write8(esp->config2, ESP_CFG2);
drivers/scsi/esp_scsi.c
2215
esp->config2 = 0;
drivers/scsi/esp_scsi.c
2222
esp->rev = ESP100;
drivers/scsi/esp_scsi.c
2227
esp_set_all_config3(esp, 5);
drivers/scsi/esp_scsi.c
2228
esp->prev_cfg3 = 5;
drivers/scsi/esp_scsi.c
2229
esp_write8(esp->config2, ESP_CFG2);
drivers/scsi/esp_scsi.c
2231
esp_write8(esp->prev_cfg3, ESP_CFG3);
drivers/scsi/esp_scsi.c
2238
esp->rev = ESP100A;
drivers/scsi/esp_scsi.c
224
esp->fifo[idx++] = esp_read8(ESP_FDATA);
drivers/scsi/esp_scsi.c
2240
esp_set_all_config3(esp, 0);
drivers/scsi/esp_scsi.c
2241
esp->prev_cfg3 = 0;
drivers/scsi/esp_scsi.c
2242
esp_write8(esp->prev_cfg3, ESP_CFG3);
drivers/scsi/esp_scsi.c
2247
if (esp->cfact == 0 || esp->cfact > ESP_CCF_F5) {
drivers/scsi/esp_scsi.c
2248
esp->rev = FAST;
drivers/scsi/esp_scsi.c
2249
esp->sync_defp = SYNC_DEFP_FAST;
drivers/scsi/esp_scsi.c
225
esp->fifo[idx++] = esp_read8(ESP_FDATA);
drivers/scsi/esp_scsi.c
2251
esp->rev = ESP236;
drivers/scsi/esp_scsi.c
2256
static void esp_init_swstate(struct esp *esp)
drivers/scsi/esp_scsi.c
2260
INIT_LIST_HEAD(&esp->queued_cmds);
drivers/scsi/esp_scsi.c
2261
INIT_LIST_HEAD(&esp->active_cmds);
drivers/scsi/esp_scsi.c
2262
INIT_LIST_HEAD(&esp->esp_cmd_pool);
drivers/scsi/esp_scsi.c
2269
esp->target[i].flags = 0;
drivers/scsi/esp_scsi.c
227
if (esp->sreg2 & ESP_STAT2_F1BYTE) {
drivers/scsi/esp_scsi.c
2270
esp->target[i].nego_goal_period = 0;
drivers/scsi/esp_scsi.c
2271
esp->target[i].nego_goal_offset = 0;
drivers/scsi/esp_scsi.c
2272
esp->target[i].nego_goal_width = 0;
drivers/scsi/esp_scsi.c
2273
esp->target[i].nego_goal_tags = 0;
drivers/scsi/esp_scsi.c
2278
static void esp_bootup_reset(struct esp *esp)
drivers/scsi/esp_scsi.c
2283
esp->ops->reset_dma(esp);
drivers/scsi/esp_scsi.c
2286
esp_reset_esp(esp);
drivers/scsi/esp_scsi.c
229
esp->fifo[idx++] = esp_read8(ESP_FDATA);
drivers/scsi/esp_scsi.c
2293
scsi_esp_cmd(esp, ESP_CMD_RS);
drivers/scsi/esp_scsi.c
2296
esp_write8(esp->config1, ESP_CFG1);
drivers/scsi/esp_scsi.c
230
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
2302
static void esp_set_clock_params(struct esp *esp)
drivers/scsi/esp_scsi.c
232
esp->fifo_cnt = idx;
drivers/scsi/esp_scsi.c
2339
fhz = esp->cfreq;
drivers/scsi/esp_scsi.c
235
static void esp_set_all_config3(struct esp *esp, u8 val)
drivers/scsi/esp_scsi.c
2355
esp->cfact = (ccf == 8 ? 0 : ccf);
drivers/scsi/esp_scsi.c
2356
esp->cfreq = fhz;
drivers/scsi/esp_scsi.c
2357
esp->ccycle = ESP_HZ_TO_CYCLE(fhz);
drivers/scsi/esp_scsi.c
2358
esp->ctick = ESP_TICK(ccf, esp->ccycle);
drivers/scsi/esp_scsi.c
2359
esp->neg_defp = ESP_NEG_DEFP(fhz, ccf);
drivers/scsi/esp_scsi.c
2360
esp->sync_defp = SYNC_DEFP_SLOW;
drivers/scsi/esp_scsi.c
2377
int scsi_esp_register(struct esp *esp)
drivers/scsi/esp_scsi.c
2382
if (!esp->num_tags)
drivers/scsi/esp_scsi.c
2383
esp->num_tags = ESP_DEFAULT_TAGS;
drivers/scsi/esp_scsi.c
2384
esp->host->transportt = esp_transport_template;
drivers/scsi/esp_scsi.c
2385
esp->host->max_lun = ESP_MAX_LUN;
drivers/scsi/esp_scsi.c
2386
esp->host->cmd_per_lun = 2;
drivers/scsi/esp_scsi.c
2387
esp->host->unique_id = instance;
drivers/scsi/esp_scsi.c
2389
esp_set_clock_params(esp);
drivers/scsi/esp_scsi.c
2391
esp_get_revision(esp);
drivers/scsi/esp_scsi.c
2393
esp_init_swstate(esp);
drivers/scsi/esp_scsi.c
2395
esp_bootup_reset(esp);
drivers/scsi/esp_scsi.c
2397
dev_printk(KERN_INFO, esp->dev, "esp%u: regs[%1p:%1p] irq[%u]\n",
drivers/scsi/esp_scsi.c
2398
esp->host->unique_id, esp->regs, esp->dma_regs,
drivers/scsi/esp_scsi.c
2399
esp->host->irq);
drivers/scsi/esp_scsi.c
240
esp->target[i].esp_config3 = val;
drivers/scsi/esp_scsi.c
2400
dev_printk(KERN_INFO, esp->dev,
drivers/scsi/esp_scsi.c
2402
esp->host->unique_id, esp_chip_names[esp->rev],
drivers/scsi/esp_scsi.c
2403
esp->cfreq / 1000000, esp->cfact, esp->scsi_id);
drivers/scsi/esp_scsi.c
2408
err = scsi_add_host(esp->host, esp->dev);
drivers/scsi/esp_scsi.c
2414
scsi_scan_host(esp->host);
drivers/scsi/esp_scsi.c
2420
void scsi_esp_unregister(struct esp *esp)
drivers/scsi/esp_scsi.c
2422
scsi_remove_host(esp->host);
drivers/scsi/esp_scsi.c
2428
struct esp *esp = shost_priv(dev_to_shost(&starget->dev));
drivers/scsi/esp_scsi.c
2429
struct esp_target_data *tp = &esp->target[starget->id];
drivers/scsi/esp_scsi.c
2438
struct esp *esp = shost_priv(dev_to_shost(&starget->dev));
drivers/scsi/esp_scsi.c
2439
struct esp_target_data *tp = &esp->target[starget->id];
drivers/scsi/esp_scsi.c
244
static void esp_reset_esp(struct esp *esp)
drivers/scsi/esp_scsi.c
2446
struct esp *esp = shost_priv(dev->host);
drivers/scsi/esp_scsi.c
2447
struct esp_target_data *tp = &esp->target[dev->id];
drivers/scsi/esp_scsi.c
2455
spi_min_period(tp->starget) = esp->min_period;
drivers/scsi/esp_scsi.c
2458
if (esp->flags & ESP_FLAG_WIDE_CAPABLE)
drivers/scsi/esp_scsi.c
2468
struct esp *esp = shost_priv(dev->host);
drivers/scsi/esp_scsi.c
2469
struct esp_target_data *tp = &esp->target[dev->id];
drivers/scsi/esp_scsi.c
247
scsi_esp_cmd(esp, ESP_CMD_RC);
drivers/scsi/esp_scsi.c
2472
scsi_change_queue_depth(dev, esp->num_tags);
drivers/scsi/esp_scsi.c
248
scsi_esp_cmd(esp, ESP_CMD_NULL | ESP_CMD_DMA);
drivers/scsi/esp_scsi.c
249
if (esp->rev == FAST)
drivers/scsi/esp_scsi.c
2492
struct esp *esp = shost_priv(cmd->device->host);
drivers/scsi/esp_scsi.c
2500
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2501
shost_printk(KERN_ERR, esp->host, "Aborting command [%p:%02x]\n",
drivers/scsi/esp_scsi.c
2503
ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
2505
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
2508
list_for_each_entry(ent, &esp->queued_cmds, list) {
drivers/scsi/esp_scsi.c
2509
shost_printk(KERN_ERR, esp->host, "Queued command [%p:%02x]\n",
drivers/scsi/esp_scsi.c
251
scsi_esp_cmd(esp, ESP_CMD_NULL | ESP_CMD_DMA);
drivers/scsi/esp_scsi.c
2512
list_for_each_entry(ent, &esp->active_cmds, list) {
drivers/scsi/esp_scsi.c
2513
shost_printk(KERN_ERR, esp->host, " Active command [%p:%02x]\n",
drivers/scsi/esp_scsi.c
2516
esp_dump_cmd_log(esp);
drivers/scsi/esp_scsi.c
2517
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2519
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2522
list_for_each_entry(tmp, &esp->queued_cmds, list) {
drivers/scsi/esp_scsi.c
2538
esp_put_ent(esp, ent);
drivers/scsi/esp_scsi.c
2545
ent = esp->active_cmd;
drivers/scsi/esp_scsi.c
2551
if (esp->msg_out_len)
drivers/scsi/esp_scsi.c
2557
esp->msg_out[0] = ABORT_TASK_SET;
drivers/scsi/esp_scsi.c
2558
esp->msg_out_len = 1;
drivers/scsi/esp_scsi.c
256
esp->max_period = ((35 * esp->ccycle) / 1000);
drivers/scsi/esp_scsi.c
2561
scsi_esp_cmd(esp, ESP_CMD_SATN);
drivers/scsi/esp_scsi.c
257
if (esp->rev == FAST) {
drivers/scsi/esp_scsi.c
2582
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2585
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2587
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2595
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2603
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2609
struct esp *esp = shost_priv(cmd->device->host);
drivers/scsi/esp_scsi.c
261
esp->rev = FAS236;
drivers/scsi/esp_scsi.c
2615
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2617
esp->eh_reset = &eh_reset;
drivers/scsi/esp_scsi.c
2624
esp->flags |= ESP_FLAG_RESETTING;
drivers/scsi/esp_scsi.c
2625
scsi_esp_cmd(esp, ESP_CMD_RS);
drivers/scsi/esp_scsi.c
2627
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
263
esp->rev = FASHME; /* Version is usually '5'. */
drivers/scsi/esp_scsi.c
2632
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2633
esp->eh_reset = NULL;
drivers/scsi/esp_scsi.c
2634
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2645
struct esp *esp = shost_priv(cmd->device->host);
drivers/scsi/esp_scsi.c
2648
spin_lock_irqsave(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2649
esp_bootup_reset(esp);
drivers/scsi/esp_scsi.c
265
esp->rev = FSC;
drivers/scsi/esp_scsi.c
2650
esp_reset_cleanup(esp);
drivers/scsi/esp_scsi.c
2651
spin_unlock_irqrestore(esp->host->host_lock, flags);
drivers/scsi/esp_scsi.c
2687
struct esp *esp = shost_priv(host);
drivers/scsi/esp_scsi.c
269
esp->rev = FAS100A;
drivers/scsi/esp_scsi.c
2690
if (esp->flags & ESP_FLAG_DIFFERENTIAL)
drivers/scsi/esp_scsi.c
2701
struct esp *esp = shost_priv(host);
drivers/scsi/esp_scsi.c
2702
struct esp_target_data *tp = &esp->target[target->id];
drivers/scsi/esp_scsi.c
2704
if (esp->flags & ESP_FLAG_DISABLE_SYNC)
drivers/scsi/esp_scsi.c
271
esp->min_period = ((4 * esp->ccycle) / 1000);
drivers/scsi/esp_scsi.c
2714
struct esp *esp = shost_priv(host);
drivers/scsi/esp_scsi.c
2715
struct esp_target_data *tp = &esp->target[target->id];
drivers/scsi/esp_scsi.c
2724
struct esp *esp = shost_priv(host);
drivers/scsi/esp_scsi.c
2725
struct esp_target_data *tp = &esp->target[target->id];
drivers/scsi/esp_scsi.c
273
esp->min_period = ((5 * esp->ccycle) / 1000);
drivers/scsi/esp_scsi.c
275
if (esp->rev == FAS236) {
drivers/scsi/esp_scsi.c
2784
static inline unsigned int esp_wait_for_fifo(struct esp *esp)
drivers/scsi/esp_scsi.c
2797
shost_printk(KERN_ERR, esp->host, "FIFO is empty. sreg [%02x]\n",
drivers/scsi/esp_scsi.c
2802
static inline int esp_wait_for_intr(struct esp *esp)
drivers/scsi/esp_scsi.c
2807
esp->sreg = esp_read8(ESP_STATUS);
drivers/scsi/esp_scsi.c
2808
if (esp->sreg & ESP_STAT_INTR)
drivers/scsi/esp_scsi.c
2814
shost_printk(KERN_ERR, esp->host, "IRQ timeout. sreg [%02x]\n",
drivers/scsi/esp_scsi.c
2815
esp->sreg);
drivers/scsi/esp_scsi.c
2821
void esp_send_pio_cmd(struct esp *esp, u32 addr, u32 esp_count,
drivers/scsi/esp_scsi.c
2824
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/esp_scsi.c
2827
esp->send_cmd_error = 0;
drivers/scsi/esp_scsi.c
2833
scsi_esp_cmd(esp, cmd);
drivers/scsi/esp_scsi.c
2836
if (!esp_wait_for_fifo(esp))
drivers/scsi/esp_scsi.c
2839
*dst++ = readb(esp->fifo_reg);
drivers/scsi/esp_scsi.c
284
esp->rev = PCSCSI;
drivers/scsi/esp_scsi.c
2845
if (esp_wait_for_intr(esp)) {
drivers/scsi/esp_scsi.c
2846
esp->send_cmd_error = 1;
drivers/scsi/esp_scsi.c
285
esp_write8(esp->config4, ESP_CFG4);
drivers/scsi/esp_scsi.c
2850
if ((esp->sreg & ESP_STAT_PMASK) != phase)
drivers/scsi/esp_scsi.c
2853
esp->ireg = esp_read8(ESP_INTRPT);
drivers/scsi/esp_scsi.c
2854
if (esp->ireg & mask) {
drivers/scsi/esp_scsi.c
2855
esp->send_cmd_error = 1;
drivers/scsi/esp_scsi.c
2868
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/esp_scsi.c
2872
writesb(esp->fifo_reg, src, n);
drivers/scsi/esp_scsi.c
2876
scsi_esp_cmd(esp, cmd);
drivers/scsi/esp_scsi.c
2879
if (esp_wait_for_intr(esp)) {
drivers/scsi/esp_scsi.c
288
esp->max_period = (esp->max_period + 3)>>2;
drivers/scsi/esp_scsi.c
2880
esp->send_cmd_error = 1;
drivers/scsi/esp_scsi.c
2884
if ((esp->sreg & ESP_STAT_PMASK) != phase)
drivers/scsi/esp_scsi.c
2887
esp->ireg = esp_read8(ESP_INTRPT);
drivers/scsi/esp_scsi.c
2888
if (esp->ireg & ~ESP_INTR_BSERV) {
drivers/scsi/esp_scsi.c
2889
esp->send_cmd_error = 1;
drivers/scsi/esp_scsi.c
289
esp->min_period = (esp->min_period + 3)>>2;
drivers/scsi/esp_scsi.c
2898
writesb(esp->fifo_reg, src, n);
drivers/scsi/esp_scsi.c
2906
esp->send_cmd_residual = esp_count;
drivers/scsi/esp_scsi.c
291
esp_write8(esp->config1, ESP_CFG1);
drivers/scsi/esp_scsi.c
292
switch (esp->rev) {
drivers/scsi/esp_scsi.c
298
esp_write8(esp->config2, ESP_CFG2);
drivers/scsi/esp_scsi.c
303
esp_write8(esp->config2, ESP_CFG2);
drivers/scsi/esp_scsi.c
304
esp->prev_cfg3 = esp->target[0].esp_config3;
drivers/scsi/esp_scsi.c
305
esp_write8(esp->prev_cfg3, ESP_CFG3);
drivers/scsi/esp_scsi.c
309
esp->config2 |= (ESP_CONFIG2_HME32 | ESP_CONFIG2_HMEFENAB);
drivers/scsi/esp_scsi.c
315
esp_write8(esp->config2, ESP_CFG2);
drivers/scsi/esp_scsi.c
316
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
317
u8 cfg3 = esp->target[0].esp_config3;
drivers/scsi/esp_scsi.c
320
if (esp->scsi_id >= 8)
drivers/scsi/esp_scsi.c
322
esp_set_all_config3(esp, cfg3);
drivers/scsi/esp_scsi.c
324
u32 cfg3 = esp->target[0].esp_config3;
drivers/scsi/esp_scsi.c
327
esp_set_all_config3(esp, cfg3);
drivers/scsi/esp_scsi.c
329
esp->prev_cfg3 = esp->target[0].esp_config3;
drivers/scsi/esp_scsi.c
330
esp_write8(esp->prev_cfg3, ESP_CFG3);
drivers/scsi/esp_scsi.c
331
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
332
esp->radelay = 80;
drivers/scsi/esp_scsi.c
334
if (esp->flags & ESP_FLAG_DIFFERENTIAL)
drivers/scsi/esp_scsi.c
335
esp->radelay = 0;
drivers/scsi/esp_scsi.c
337
esp->radelay = 96;
drivers/scsi/esp_scsi.c
343
esp_write8(esp->config2, ESP_CFG2);
drivers/scsi/esp_scsi.c
344
esp_set_all_config3(esp,
drivers/scsi/esp_scsi.c
345
(esp->target[0].esp_config3 |
drivers/scsi/esp_scsi.c
347
esp->prev_cfg3 = esp->target[0].esp_config3;
drivers/scsi/esp_scsi.c
348
esp_write8(esp->prev_cfg3, ESP_CFG3);
drivers/scsi/esp_scsi.c
349
esp->radelay = 32;
drivers/scsi/esp_scsi.c
357
esp_write8(esp->cfact, ESP_CFACT);
drivers/scsi/esp_scsi.c
359
esp->prev_stp = 0;
drivers/scsi/esp_scsi.c
360
esp_write8(esp->prev_stp, ESP_STP);
drivers/scsi/esp_scsi.c
362
esp->prev_soff = 0;
drivers/scsi/esp_scsi.c
363
esp_write8(esp->prev_soff, ESP_SOFF);
drivers/scsi/esp_scsi.c
365
esp_write8(esp->neg_defp, ESP_TIMEO);
drivers/scsi/esp_scsi.c
372
static void esp_map_dma(struct esp *esp, struct scsi_cmnd *cmd)
drivers/scsi/esp_scsi.c
382
if (esp->flags & ESP_FLAG_NO_DMA_MAP) {
drivers/scsi/esp_scsi.c
431
static void esp_advance_dma(struct esp *esp, struct esp_cmd_entry *ent,
drivers/scsi/esp_scsi.c
444
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
446
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
459
static void esp_unmap_dma(struct esp *esp, struct scsi_cmnd *cmd)
drivers/scsi/esp_scsi.c
461
if (!(esp->flags & ESP_FLAG_NO_DMA_MAP))
drivers/scsi/esp_scsi.c
465
static void esp_save_pointers(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
480
static void esp_restore_pointers(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
495
static void esp_write_tgt_config3(struct esp *esp, int tgt)
drivers/scsi/esp_scsi.c
497
if (esp->rev > ESP100A) {
drivers/scsi/esp_scsi.c
498
u8 val = esp->target[tgt].esp_config3;
drivers/scsi/esp_scsi.c
500
if (val != esp->prev_cfg3) {
drivers/scsi/esp_scsi.c
501
esp->prev_cfg3 = val;
drivers/scsi/esp_scsi.c
507
static void esp_write_tgt_sync(struct esp *esp, int tgt)
drivers/scsi/esp_scsi.c
509
u8 off = esp->target[tgt].esp_offset;
drivers/scsi/esp_scsi.c
510
u8 per = esp->target[tgt].esp_period;
drivers/scsi/esp_scsi.c
512
if (off != esp->prev_soff) {
drivers/scsi/esp_scsi.c
513
esp->prev_soff = off;
drivers/scsi/esp_scsi.c
516
if (per != esp->prev_stp) {
drivers/scsi/esp_scsi.c
517
esp->prev_stp = per;
drivers/scsi/esp_scsi.c
522
static u32 esp_dma_length_limit(struct esp *esp, u32 dma_addr, u32 dma_len)
drivers/scsi/esp_scsi.c
524
if (esp->rev == FASHME) {
drivers/scsi/esp_scsi.c
58
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
63
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
630
static void esp_map_sense(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
633
if (esp->flags & ESP_FLAG_NO_DMA_MAP) {
drivers/scsi/esp_scsi.c
638
ent->sense_dma = dma_map_single(esp->dev, ent->sense_ptr,
drivers/scsi/esp_scsi.c
642
static void esp_unmap_sense(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
644
if (!(esp->flags & ESP_FLAG_NO_DMA_MAP))
drivers/scsi/esp_scsi.c
645
dma_unmap_single(esp->dev, ent->sense_dma,
drivers/scsi/esp_scsi.c
657
static void esp_autosense(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
671
esp_map_sense(esp, ent);
drivers/scsi/esp_scsi.c
675
esp->active_cmd = ent;
drivers/scsi/esp_scsi.c
677
p = esp->command_block;
drivers/scsi/esp_scsi.c
678
esp->msg_out_len = 0;
drivers/scsi/esp_scsi.c
68
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
689
esp->select_state = ESP_SELECT_BASIC;
drivers/scsi/esp_scsi.c
692
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
696
esp_write_tgt_sync(esp, tgt);
drivers/scsi/esp_scsi.c
697
esp_write_tgt_config3(esp, tgt);
drivers/scsi/esp_scsi.c
699
val = (p - esp->command_block);
drivers/scsi/esp_scsi.c
701
esp_send_dma_cmd(esp, val, 16, ESP_CMD_SELA);
drivers/scsi/esp_scsi.c
704
static struct esp_cmd_entry *find_and_prep_issuable_command(struct esp *esp)
drivers/scsi/esp_scsi.c
708
list_for_each_entry(ent, &esp->queued_cmds, list) {
drivers/scsi/esp_scsi.c
73
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
735
static void esp_maybe_execute_command(struct esp *esp)
drivers/scsi/esp_scsi.c
746
if (esp->active_cmd ||
drivers/scsi/esp_scsi.c
747
(esp->flags & ESP_FLAG_RESETTING))
drivers/scsi/esp_scsi.c
750
ent = find_and_prep_issuable_command(esp);
drivers/scsi/esp_scsi.c
755
esp_autosense(esp, ent);
drivers/scsi/esp_scsi.c
763
tp = &esp->target[tgt];
drivers/scsi/esp_scsi.c
765
list_move(&ent->list, &esp->active_cmds);
drivers/scsi/esp_scsi.c
767
esp->active_cmd = ent;
drivers/scsi/esp_scsi.c
769
esp_map_dma(esp, cmd);
drivers/scsi/esp_scsi.c
770
esp_save_pointers(esp, ent);
drivers/scsi/esp_scsi.c
775
p = esp->command_block;
drivers/scsi/esp_scsi.c
777
esp->msg_out_len = 0;
drivers/scsi/esp_scsi.c
78
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
798
if (esp->rev == FASHME && esp_need_to_nego_wide(tp)) {
drivers/scsi/esp_scsi.c
799
esp->msg_out_len =
drivers/scsi/esp_scsi.c
800
spi_populate_width_msg(&esp->msg_out[0],
drivers/scsi/esp_scsi.c
805
esp->msg_out_len =
drivers/scsi/esp_scsi.c
806
spi_populate_sync_msg(&esp->msg_out[0],
drivers/scsi/esp_scsi.c
815
if (esp->msg_out_len)
drivers/scsi/esp_scsi.c
822
if (ent->tag[0] && esp->rev == ESP100) {
drivers/scsi/esp_scsi.c
83
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
830
esp->cmd_bytes_left = cmd->cmd_len;
drivers/scsi/esp_scsi.c
831
esp->cmd_bytes_ptr = &cmd->cmnd[0];
drivers/scsi/esp_scsi.c
834
for (i = esp->msg_out_len - 1;
drivers/scsi/esp_scsi.c
836
esp->msg_out[i + 2] = esp->msg_out[i];
drivers/scsi/esp_scsi.c
837
esp->msg_out[0] = ent->tag[0];
drivers/scsi/esp_scsi.c
838
esp->msg_out[1] = ent->tag[1];
drivers/scsi/esp_scsi.c
839
esp->msg_out_len += 2;
drivers/scsi/esp_scsi.c
843
esp->select_state = ESP_SELECT_MSGOUT;
drivers/scsi/esp_scsi.c
856
esp->select_state = ESP_SELECT_BASIC;
drivers/scsi/esp_scsi.c
859
if (esp->rev == FASHME)
drivers/scsi/esp_scsi.c
863
esp_write_tgt_sync(esp, tgt);
drivers/scsi/esp_scsi.c
864
esp_write_tgt_config3(esp, tgt);
drivers/scsi/esp_scsi.c
866
val = (p - esp->command_block);
drivers/scsi/esp_scsi.c
875
esp_send_dma_cmd(esp, val, 16, start_cmd);
drivers/scsi/esp_scsi.c
878
static struct esp_cmd_entry *esp_get_ent(struct esp *esp)
drivers/scsi/esp_scsi.c
88
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
880
struct list_head *head = &esp->esp_cmd_pool;
drivers/scsi/esp_scsi.c
893
static void esp_put_ent(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
895
list_add(&ent->list, &esp->esp_cmd_pool);
drivers/scsi/esp_scsi.c
898
static void esp_cmd_is_done(struct esp *esp, struct esp_cmd_entry *ent,
drivers/scsi/esp_scsi.c
905
esp->active_cmd = NULL;
drivers/scsi/esp_scsi.c
906
esp_unmap_dma(esp, cmd);
drivers/scsi/esp_scsi.c
919
esp_unmap_sense(esp, ent);
drivers/scsi/esp_scsi.c
93
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
932
esp->host->unique_id, tgt, lun);
drivers/scsi/esp_scsi.c
942
esp_put_ent(esp, ent);
drivers/scsi/esp_scsi.c
944
esp_maybe_execute_command(esp);
drivers/scsi/esp_scsi.c
947
static void esp_event_queue_full(struct esp *esp, struct esp_cmd_entry *ent)
drivers/scsi/esp_scsi.c
958
struct esp *esp = shost_priv(dev->host);
drivers/scsi/esp_scsi.c
962
ent = esp_get_ent(esp);
drivers/scsi/esp_scsi.c
971
list_add_tail(&ent->list, &esp->queued_cmds);
drivers/scsi/esp_scsi.c
973
esp_maybe_execute_command(esp);
drivers/scsi/esp_scsi.c
98
shost_printk(KERN_DEBUG, esp->host, f, ## a); \
drivers/scsi/esp_scsi.c
980
static int esp_check_gross_error(struct esp *esp)
drivers/scsi/esp_scsi.c
982
if (esp->sreg & ESP_STAT_SPAM) {
drivers/scsi/esp_scsi.c
989
shost_printk(KERN_ERR, esp->host,
drivers/scsi/esp_scsi.c
990
"Gross error sreg[%02x]\n", esp->sreg);
drivers/scsi/esp_scsi.c
997
static int esp_check_spur_intr(struct esp *esp)
drivers/scsi/esp_scsi.c
999
switch (esp->rev) {
drivers/scsi/esp_scsi.h
365
struct esp;
drivers/scsi/esp_scsi.h
371
void (*esp_write8)(struct esp *esp, u8 val, unsigned long reg);
drivers/scsi/esp_scsi.h
372
u8 (*esp_read8)(struct esp *esp, unsigned long reg);
drivers/scsi/esp_scsi.h
379
int (*irq_pending)(struct esp *esp);
drivers/scsi/esp_scsi.h
384
u32 (*dma_length_limit)(struct esp *esp, u32 dma_addr,
drivers/scsi/esp_scsi.h
391
void (*reset_dma)(struct esp *esp);
drivers/scsi/esp_scsi.h
396
void (*dma_drain)(struct esp *esp);
drivers/scsi/esp_scsi.h
399
void (*dma_invalidate)(struct esp *esp);
drivers/scsi/esp_scsi.h
411
void (*send_dma_cmd)(struct esp *esp, u32 dma_addr, u32 esp_count,
drivers/scsi/esp_scsi.h
417
int (*dma_error)(struct esp *esp);
drivers/scsi/esp_scsi.h
576
extern int scsi_esp_register(struct esp *);
drivers/scsi/esp_scsi.h
578
extern void scsi_esp_unregister(struct esp *);
drivers/scsi/esp_scsi.h
580
extern void scsi_esp_cmd(struct esp *, u8);
drivers/scsi/esp_scsi.h
582
extern void esp_send_pio_cmd(struct esp *esp, u32 dma_addr, u32 esp_count,
drivers/scsi/jazz_esp.c
109
struct esp *esp;
drivers/scsi/jazz_esp.c
113
host = scsi_host_alloc(tpnt, sizeof(struct esp));
drivers/scsi/jazz_esp.c
120
esp = shost_priv(host);
drivers/scsi/jazz_esp.c
122
esp->host = host;
drivers/scsi/jazz_esp.c
123
esp->dev = &dev->dev;
drivers/scsi/jazz_esp.c
124
esp->ops = &jazz_esp_ops;
drivers/scsi/jazz_esp.c
130
esp->regs = (void __iomem *)res->start;
drivers/scsi/jazz_esp.c
131
if (!esp->regs)
drivers/scsi/jazz_esp.c
138
esp->dma_regs = (void __iomem *)res->start;
drivers/scsi/jazz_esp.c
140
esp->command_block = dma_alloc_coherent(esp->dev, 16,
drivers/scsi/jazz_esp.c
141
&esp->command_block_dma,
drivers/scsi/jazz_esp.c
143
if (!esp->command_block)
drivers/scsi/jazz_esp.c
149
err = request_irq(host->irq, scsi_esp_intr, IRQF_SHARED, "ESP", esp);
drivers/scsi/jazz_esp.c
153
esp->scsi_id = 7;
drivers/scsi/jazz_esp.c
154
esp->host->this_id = esp->scsi_id;
drivers/scsi/jazz_esp.c
155
esp->scsi_id_mask = (1 << esp->scsi_id);
drivers/scsi/jazz_esp.c
156
esp->cfreq = 40000000;
drivers/scsi/jazz_esp.c
158
dev_set_drvdata(&dev->dev, esp);
drivers/scsi/jazz_esp.c
160
err = scsi_esp_register(esp);
drivers/scsi/jazz_esp.c
167
free_irq(host->irq, esp);
drivers/scsi/jazz_esp.c
169
dma_free_coherent(esp->dev, 16,
drivers/scsi/jazz_esp.c
170
esp->command_block,
drivers/scsi/jazz_esp.c
171
esp->command_block_dma);
drivers/scsi/jazz_esp.c
181
struct esp *esp = dev_get_drvdata(&dev->dev);
drivers/scsi/jazz_esp.c
182
unsigned int irq = esp->host->irq;
drivers/scsi/jazz_esp.c
184
scsi_esp_unregister(esp);
drivers/scsi/jazz_esp.c
186
free_irq(irq, esp);
drivers/scsi/jazz_esp.c
187
dma_free_coherent(esp->dev, 16,
drivers/scsi/jazz_esp.c
188
esp->command_block,
drivers/scsi/jazz_esp.c
189
esp->command_block_dma);
drivers/scsi/jazz_esp.c
191
scsi_host_put(esp->host);
drivers/scsi/jazz_esp.c
32
static void jazz_esp_write8(struct esp *esp, u8 val, unsigned long reg)
drivers/scsi/jazz_esp.c
34
*(volatile u8 *)(esp->regs + reg) = val;
drivers/scsi/jazz_esp.c
37
static u8 jazz_esp_read8(struct esp *esp, unsigned long reg)
drivers/scsi/jazz_esp.c
39
return *(volatile u8 *)(esp->regs + reg);
drivers/scsi/jazz_esp.c
42
static int jazz_esp_irq_pending(struct esp *esp)
drivers/scsi/jazz_esp.c
44
if (jazz_esp_read8(esp, ESP_STATUS) & ESP_STAT_INTR)
drivers/scsi/jazz_esp.c
49
static void jazz_esp_reset_dma(struct esp *esp)
drivers/scsi/jazz_esp.c
51
vdma_disable ((int)esp->dma_regs);
drivers/scsi/jazz_esp.c
54
static void jazz_esp_dma_drain(struct esp *esp)
drivers/scsi/jazz_esp.c
59
static void jazz_esp_dma_invalidate(struct esp *esp)
drivers/scsi/jazz_esp.c
61
vdma_disable ((int)esp->dma_regs);
drivers/scsi/jazz_esp.c
64
static void jazz_esp_send_dma_cmd(struct esp *esp, u32 addr, u32 esp_count,
drivers/scsi/jazz_esp.c
69
jazz_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/jazz_esp.c
70
jazz_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/jazz_esp.c
71
vdma_disable ((int)esp->dma_regs);
drivers/scsi/jazz_esp.c
73
vdma_set_mode ((int)esp->dma_regs, DMA_MODE_READ);
drivers/scsi/jazz_esp.c
75
vdma_set_mode ((int)esp->dma_regs, DMA_MODE_WRITE);
drivers/scsi/jazz_esp.c
77
vdma_set_addr ((int)esp->dma_regs, addr);
drivers/scsi/jazz_esp.c
78
vdma_set_count ((int)esp->dma_regs, dma_count);
drivers/scsi/jazz_esp.c
79
vdma_enable ((int)esp->dma_regs);
drivers/scsi/jazz_esp.c
81
scsi_esp_cmd(esp, cmd);
drivers/scsi/jazz_esp.c
84
static int jazz_esp_dma_error(struct esp *esp)
drivers/scsi/jazz_esp.c
86
u32 enable = vdma_get_enable((int)esp->dma_regs);
drivers/scsi/mac_esp.c
109
esp->send_cmd_error = 1;
drivers/scsi/mac_esp.c
113
static inline int mac_esp_wait_for_dreq(struct esp *esp)
drivers/scsi/mac_esp.c
115
struct mac_esp_priv *mep = MAC_ESP_GET_PRIV(esp);
drivers/scsi/mac_esp.c
135
esp->send_cmd_error = 1;
drivers/scsi/mac_esp.c
197
static void mac_esp_send_pdma_cmd(struct esp *esp, u32 addr, u32 esp_count,
drivers/scsi/mac_esp.c
200
struct mac_esp_priv *mep = MAC_ESP_GET_PRIV(esp);
drivers/scsi/mac_esp.c
202
esp->send_cmd_error = 0;
drivers/scsi/mac_esp.c
205
scsi_esp_cmd(esp, ESP_CMD_FLUSH);
drivers/scsi/mac_esp.c
210
scsi_esp_cmd(esp, cmd);
drivers/scsi/mac_esp.c
218
if (mac_esp_wait_for_dreq(esp))
drivers/scsi/mac_esp.c
230
if (mac_esp_wait_for_empty_fifo(esp))
drivers/scsi/mac_esp.c
240
static int mac_esp_irq_pending(struct esp *esp)
drivers/scsi/mac_esp.c
247
static u32 mac_esp_dma_length_limit(struct esp *esp, u32 dma_addr, u32 dma_len)
drivers/scsi/mac_esp.c
294
struct esp *esp;
drivers/scsi/mac_esp.c
304
host = scsi_host_alloc(tpnt, sizeof(struct esp));
drivers/scsi/mac_esp.c
312
esp = shost_priv(host);
drivers/scsi/mac_esp.c
314
esp->host = host;
drivers/scsi/mac_esp.c
315
esp->dev = &dev->dev;
drivers/scsi/mac_esp.c
317
esp->command_block = kzalloc(16, GFP_KERNEL);
drivers/scsi/mac_esp.c
318
if (!esp->command_block)
drivers/scsi/mac_esp.c
320
esp->command_block_dma = (dma_addr_t)esp->command_block;
drivers/scsi/mac_esp.c
322
esp->scsi_id = 7;
drivers/scsi/mac_esp.c
323
host->this_id = esp->scsi_id;
drivers/scsi/mac_esp.c
324
esp->scsi_id_mask = 1 << esp->scsi_id;
drivers/scsi/mac_esp.c
329
mep->esp = esp;
drivers/scsi/mac_esp.c
334
esp->cfreq = 16500000;
drivers/scsi/mac_esp.c
335
esp->regs = (void __iomem *)MAC_ESP_REGS_QUADRA;
drivers/scsi/mac_esp.c
336
mep->pdma_io = esp->regs + MAC_ESP_PDMA_IO_OFFSET;
drivers/scsi/mac_esp.c
340
esp->cfreq = 25000000;
drivers/scsi/mac_esp.c
341
esp->regs = (void __iomem *)(MAC_ESP_REGS_QUADRA2 +
drivers/scsi/mac_esp.c
343
mep->pdma_io = esp->regs + MAC_ESP_PDMA_IO_OFFSET;
drivers/scsi/mac_esp.c
352
esp->cfreq = 25000000;
drivers/scsi/mac_esp.c
353
esp->regs = (void __iomem *)MAC_ESP_REGS_QUADRA3;
drivers/scsi/mac_esp.c
358
esp->fifo_reg = esp->regs + ESP_FDATA * 16;
drivers/scsi/mac_esp.c
360
esp->ops = &mac_esp_ops;
drivers/scsi/mac_esp.c
361
esp->flags = ESP_FLAG_NO_DMA_MAP;
drivers/scsi/mac_esp.c
366
esp->flags |= ESP_FLAG_DISABLE_SYNC;
drivers/scsi/mac_esp.c
383
esp_chips[dev->id] = esp;
drivers/scsi/mac_esp.c
386
err = scsi_esp_register(esp);
drivers/scsi/mac_esp.c
403
kfree(esp->command_block);
drivers/scsi/mac_esp.c
413
struct esp *esp = mep->esp;
drivers/scsi/mac_esp.c
414
unsigned int irq = esp->host->irq;
drivers/scsi/mac_esp.c
416
scsi_esp_unregister(esp);
drivers/scsi/mac_esp.c
428
kfree(esp->command_block);
drivers/scsi/mac_esp.c
430
scsi_host_put(esp->host);
drivers/scsi/mac_esp.c
49
#define esp_read8(REG) mac_esp_read8(esp, REG)
drivers/scsi/mac_esp.c
50
#define esp_write8(VAL, REG) mac_esp_write8(esp, VAL, REG)
drivers/scsi/mac_esp.c
53
struct esp *esp;
drivers/scsi/mac_esp.c
57
static struct esp *esp_chips[2];
drivers/scsi/mac_esp.c
60
#define MAC_ESP_GET_PRIV(esp) ((struct mac_esp_priv *) \
drivers/scsi/mac_esp.c
61
dev_get_drvdata((esp)->dev))
drivers/scsi/mac_esp.c
63
static inline void mac_esp_write8(struct esp *esp, u8 val, unsigned long reg)
drivers/scsi/mac_esp.c
65
nubus_writeb(val, esp->regs + reg * 16);
drivers/scsi/mac_esp.c
68
static inline u8 mac_esp_read8(struct esp *esp, unsigned long reg)
drivers/scsi/mac_esp.c
70
return nubus_readb(esp->regs + reg * 16);
drivers/scsi/mac_esp.c
73
static void mac_esp_reset_dma(struct esp *esp)
drivers/scsi/mac_esp.c
78
static void mac_esp_dma_drain(struct esp *esp)
drivers/scsi/mac_esp.c
83
static void mac_esp_dma_invalidate(struct esp *esp)
drivers/scsi/mac_esp.c
88
static int mac_esp_dma_error(struct esp *esp)
drivers/scsi/mac_esp.c
90
return esp->send_cmd_error;
drivers/scsi/mac_esp.c
93
static inline int mac_esp_wait_for_empty_fifo(struct esp *esp)
drivers/scsi/sun3x_esp.c
106
static void sun3x_esp_dma_invalidate(struct esp *esp)
drivers/scsi/sun3x_esp.c
115
"invalidate!\n", esp->host->unique_id);
drivers/scsi/sun3x_esp.c
128
static void sun3x_esp_send_dma_cmd(struct esp *esp, u32 addr, u32 esp_count,
drivers/scsi/sun3x_esp.c
135
sun3x_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/sun3x_esp.c
136
sun3x_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/sun3x_esp.c
146
scsi_esp_cmd(esp, cmd);
drivers/scsi/sun3x_esp.c
149
static int sun3x_esp_dma_error(struct esp *esp)
drivers/scsi/sun3x_esp.c
174
struct esp *esp;
drivers/scsi/sun3x_esp.c
178
host = scsi_host_alloc(tpnt, sizeof(struct esp));
drivers/scsi/sun3x_esp.c
183
esp = shost_priv(host);
drivers/scsi/sun3x_esp.c
185
esp->host = host;
drivers/scsi/sun3x_esp.c
186
esp->dev = &dev->dev;
drivers/scsi/sun3x_esp.c
187
esp->ops = &sun3x_esp_ops;
drivers/scsi/sun3x_esp.c
193
esp->regs = ioremap(res->start, 0x20);
drivers/scsi/sun3x_esp.c
194
if (!esp->regs)
drivers/scsi/sun3x_esp.c
201
esp->dma_regs = ioremap(res->start, 0x10);
drivers/scsi/sun3x_esp.c
203
esp->command_block = dma_alloc_coherent(esp->dev, 16,
drivers/scsi/sun3x_esp.c
204
&esp->command_block_dma,
drivers/scsi/sun3x_esp.c
206
if (!esp->command_block)
drivers/scsi/sun3x_esp.c
213
"SUN3X ESP", esp);
drivers/scsi/sun3x_esp.c
217
esp->scsi_id = 7;
drivers/scsi/sun3x_esp.c
218
esp->host->this_id = esp->scsi_id;
drivers/scsi/sun3x_esp.c
219
esp->scsi_id_mask = (1 << esp->scsi_id);
drivers/scsi/sun3x_esp.c
220
esp->cfreq = 20000000;
drivers/scsi/sun3x_esp.c
222
dev_set_drvdata(&dev->dev, esp);
drivers/scsi/sun3x_esp.c
224
err = scsi_esp_register(esp);
drivers/scsi/sun3x_esp.c
231
free_irq(host->irq, esp);
drivers/scsi/sun3x_esp.c
233
dma_free_coherent(esp->dev, 16,
drivers/scsi/sun3x_esp.c
234
esp->command_block,
drivers/scsi/sun3x_esp.c
235
esp->command_block_dma);
drivers/scsi/sun3x_esp.c
237
iounmap(esp->dma_regs);
drivers/scsi/sun3x_esp.c
239
iounmap(esp->regs);
drivers/scsi/sun3x_esp.c
248
struct esp *esp = dev_get_drvdata(&dev->dev);
drivers/scsi/sun3x_esp.c
249
unsigned int irq = esp->host->irq;
drivers/scsi/sun3x_esp.c
252
scsi_esp_unregister(esp);
drivers/scsi/sun3x_esp.c
258
free_irq(irq, esp);
drivers/scsi/sun3x_esp.c
259
dma_free_coherent(esp->dev, 16,
drivers/scsi/sun3x_esp.c
260
esp->command_block,
drivers/scsi/sun3x_esp.c
261
esp->command_block_dma);
drivers/scsi/sun3x_esp.c
263
scsi_host_put(esp->host);
drivers/scsi/sun3x_esp.c
44
readl(esp->dma_regs + (REG))
drivers/scsi/sun3x_esp.c
46
writel((VAL), esp->dma_regs + (REG))
drivers/scsi/sun3x_esp.c
49
*(volatile u32 *)(esp->dma_regs + (REG))
drivers/scsi/sun3x_esp.c
51
do { *(volatile u32 *)(esp->dma_regs + (REG)) = (VAL); } while (0)
drivers/scsi/sun3x_esp.c
54
static void sun3x_esp_write8(struct esp *esp, u8 val, unsigned long reg)
drivers/scsi/sun3x_esp.c
56
writeb(val, esp->regs + (reg * 4UL));
drivers/scsi/sun3x_esp.c
59
static u8 sun3x_esp_read8(struct esp *esp, unsigned long reg)
drivers/scsi/sun3x_esp.c
61
return readb(esp->regs + (reg * 4UL));
drivers/scsi/sun3x_esp.c
64
static int sun3x_esp_irq_pending(struct esp *esp)
drivers/scsi/sun3x_esp.c
71
static void sun3x_esp_reset_dma(struct esp *esp)
drivers/scsi/sun3x_esp.c
84
static void sun3x_esp_dma_drain(struct esp *esp)
drivers/scsi/sun3x_esp.c
99
esp->host->unique_id);
drivers/scsi/sun_esp.c
103
static int esp_sbus_map_command_block(struct esp *esp)
drivers/scsi/sun_esp.c
105
esp->command_block = dma_alloc_coherent(esp->dev, 16,
drivers/scsi/sun_esp.c
106
&esp->command_block_dma,
drivers/scsi/sun_esp.c
108
if (!esp->command_block)
drivers/scsi/sun_esp.c
113
static int esp_sbus_register_irq(struct esp *esp)
drivers/scsi/sun_esp.c
115
struct Scsi_Host *host = esp->host;
drivers/scsi/sun_esp.c
116
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
119
return request_irq(host->irq, scsi_esp_intr, IRQF_SHARED, "ESP", esp);
drivers/scsi/sun_esp.c
122
static void esp_get_scsi_id(struct esp *esp, struct platform_device *espdma)
drivers/scsi/sun_esp.c
124
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
128
esp->scsi_id = of_getintprop_default(dp, "initiator-id", 0xff);
drivers/scsi/sun_esp.c
129
if (esp->scsi_id != 0xff)
drivers/scsi/sun_esp.c
132
esp->scsi_id = of_getintprop_default(dp, "scsi-initiator-id", 0xff);
drivers/scsi/sun_esp.c
133
if (esp->scsi_id != 0xff)
drivers/scsi/sun_esp.c
136
esp->scsi_id = of_getintprop_default(espdma->dev.of_node,
drivers/scsi/sun_esp.c
140
esp->host->this_id = esp->scsi_id;
drivers/scsi/sun_esp.c
141
esp->scsi_id_mask = (1 << esp->scsi_id);
drivers/scsi/sun_esp.c
144
static void esp_get_differential(struct esp *esp)
drivers/scsi/sun_esp.c
146
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
151
esp->flags |= ESP_FLAG_DIFFERENTIAL;
drivers/scsi/sun_esp.c
153
esp->flags &= ~ESP_FLAG_DIFFERENTIAL;
drivers/scsi/sun_esp.c
156
static void esp_get_clock_params(struct esp *esp)
drivers/scsi/sun_esp.c
158
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
169
esp->cfreq = fmhz;
drivers/scsi/sun_esp.c
172
static void esp_get_bursts(struct esp *esp, struct platform_device *dma_of)
drivers/scsi/sun_esp.c
175
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
194
esp->bursts = bursts;
drivers/scsi/sun_esp.c
197
static void esp_sbus_get_props(struct esp *esp, struct platform_device *espdma)
drivers/scsi/sun_esp.c
199
esp_get_scsi_id(esp, espdma);
drivers/scsi/sun_esp.c
200
esp_get_differential(esp);
drivers/scsi/sun_esp.c
201
esp_get_clock_params(esp);
drivers/scsi/sun_esp.c
202
esp_get_bursts(esp, espdma);
drivers/scsi/sun_esp.c
205
static void sbus_esp_write8(struct esp *esp, u8 val, unsigned long reg)
drivers/scsi/sun_esp.c
207
sbus_writeb(val, esp->regs + (reg * 4UL));
drivers/scsi/sun_esp.c
210
static u8 sbus_esp_read8(struct esp *esp, unsigned long reg)
drivers/scsi/sun_esp.c
212
return sbus_readb(esp->regs + (reg * 4UL));
drivers/scsi/sun_esp.c
215
static int sbus_esp_irq_pending(struct esp *esp)
drivers/scsi/sun_esp.c
222
static void sbus_esp_reset_dma(struct esp *esp)
drivers/scsi/sun_esp.c
226
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
229
can_do_burst16 = (esp->bursts & DMA_BURST16) != 0;
drivers/scsi/sun_esp.c
230
can_do_burst32 = (esp->bursts & DMA_BURST32) != 0;
drivers/scsi/sun_esp.c
236
can_do_burst64 = (esp->bursts & DMA_BURST64) != 0;
drivers/scsi/sun_esp.c
239
if (esp->dmarev != dvmahme) {
drivers/scsi/sun_esp.c
244
switch (esp->dmarev) {
drivers/scsi/sun_esp.c
249
esp->prev_hme_dmacsr = (DMA_PARITY_OFF | DMA_2CLKS |
drivers/scsi/sun_esp.c
252
esp->prev_hme_dmacsr &= ~(DMA_ENABLE | DMA_ST_WRITE |
drivers/scsi/sun_esp.c
256
esp->prev_hme_dmacsr |= DMA_BRST64;
drivers/scsi/sun_esp.c
258
esp->prev_hme_dmacsr |= DMA_BRST32;
drivers/scsi/sun_esp.c
261
esp->prev_hme_dmacsr |= DMA_SCSI_SBUS64;
drivers/scsi/sun_esp.c
262
sbus_set_sbus64(&op->dev, esp->bursts);
drivers/scsi/sun_esp.c
270
esp->host->unique_id);
drivers/scsi/sun_esp.c
277
dma_write32(esp->prev_hme_dmacsr, DMA_CSR);
drivers/scsi/sun_esp.c
283
if (esp->rev != ESP100) {
drivers/scsi/sun_esp.c
321
static void sbus_esp_dma_drain(struct esp *esp)
drivers/scsi/sun_esp.c
326
if (esp->dmarev == dvmahme)
drivers/scsi/sun_esp.c
33
sbus_readl(esp->dma_regs + (REG))
drivers/scsi/sun_esp.c
333
if (esp->dmarev != dvmarev3 && esp->dmarev != dvmaesc1)
drivers/scsi/sun_esp.c
340
esp->host->unique_id);
drivers/scsi/sun_esp.c
347
static void sbus_esp_dma_invalidate(struct esp *esp)
drivers/scsi/sun_esp.c
349
if (esp->dmarev == dvmahme) {
drivers/scsi/sun_esp.c
35
sbus_writel((VAL), esp->dma_regs + (REG))
drivers/scsi/sun_esp.c
352
esp->prev_hme_dmacsr = ((esp->prev_hme_dmacsr |
drivers/scsi/sun_esp.c
358
dma_write32(esp->prev_hme_dmacsr, DMA_CSR);
drivers/scsi/sun_esp.c
372
"invalidate!\n", esp->host->unique_id);
drivers/scsi/sun_esp.c
386
static void sbus_esp_send_dma_cmd(struct esp *esp, u32 addr, u32 esp_count,
drivers/scsi/sun_esp.c
393
sbus_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/sun_esp.c
394
sbus_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/sun_esp.c
395
if (esp->rev == FASHME) {
drivers/scsi/sun_esp.c
396
sbus_esp_write8(esp, (esp_count >> 16) & 0xff, FAS_RLO);
drivers/scsi/sun_esp.c
397
sbus_esp_write8(esp, 0, FAS_RHI);
drivers/scsi/sun_esp.c
399
scsi_esp_cmd(esp, cmd);
drivers/scsi/sun_esp.c
401
csr = esp->prev_hme_dmacsr;
drivers/scsi/sun_esp.c
407
esp->prev_hme_dmacsr = csr;
drivers/scsi/sun_esp.c
420
if (esp->dmarev == dvmaesc1) {
drivers/scsi/sun_esp.c
426
scsi_esp_cmd(esp, cmd);
drivers/scsi/sun_esp.c
431
static int sbus_esp_dma_error(struct esp *esp)
drivers/scsi/sun_esp.c
457
struct esp *esp;
drivers/scsi/sun_esp.c
460
host = scsi_host_alloc(tpnt, sizeof(struct esp));
drivers/scsi/sun_esp.c
467
esp = shost_priv(host);
drivers/scsi/sun_esp.c
469
esp->host = host;
drivers/scsi/sun_esp.c
470
esp->dev = &op->dev;
drivers/scsi/sun_esp.c
471
esp->ops = &sbus_esp_ops;
drivers/scsi/sun_esp.c
474
esp->flags |= ESP_FLAG_WIDE_CAPABLE;
drivers/scsi/sun_esp.c
476
err = esp_sbus_setup_dma(esp, espdma);
drivers/scsi/sun_esp.c
48
static int esp_sbus_setup_dma(struct esp *esp, struct platform_device *dma_of)
drivers/scsi/sun_esp.c
480
err = esp_sbus_map_regs(esp, hme);
drivers/scsi/sun_esp.c
484
err = esp_sbus_map_command_block(esp);
drivers/scsi/sun_esp.c
488
err = esp_sbus_register_irq(esp);
drivers/scsi/sun_esp.c
492
esp_sbus_get_props(esp, espdma);
drivers/scsi/sun_esp.c
498
if (esp->dmarev == dvmaesc1) {
drivers/scsi/sun_esp.c
50
esp->dma = dma_of;
drivers/scsi/sun_esp.c
504
dev_set_drvdata(&op->dev, esp);
drivers/scsi/sun_esp.c
506
err = scsi_esp_register(esp);
drivers/scsi/sun_esp.c
513
free_irq(host->irq, esp);
drivers/scsi/sun_esp.c
516
esp->command_block,
drivers/scsi/sun_esp.c
517
esp->command_block_dma);
drivers/scsi/sun_esp.c
519
of_iounmap(&op->resource[(hme ? 1 : 0)], esp->regs, SBUS_ESP_REG_SIZE);
drivers/scsi/sun_esp.c
52
esp->dma_regs = of_ioremap(&dma_of->resource[0], 0,
drivers/scsi/sun_esp.c
55
if (!esp->dma_regs)
drivers/scsi/sun_esp.c
555
struct esp *esp = dev_get_drvdata(&op->dev);
drivers/scsi/sun_esp.c
556
struct platform_device *dma_of = esp->dma;
drivers/scsi/sun_esp.c
557
unsigned int irq = esp->host->irq;
drivers/scsi/sun_esp.c
561
scsi_esp_unregister(esp);
drivers/scsi/sun_esp.c
567
free_irq(irq, esp);
drivers/scsi/sun_esp.c
569
is_hme = (esp->dmarev == dvmahme);
drivers/scsi/sun_esp.c
572
esp->command_block,
drivers/scsi/sun_esp.c
573
esp->command_block_dma);
drivers/scsi/sun_esp.c
574
of_iounmap(&op->resource[(is_hme ? 1 : 0)], esp->regs,
drivers/scsi/sun_esp.c
576
of_iounmap(&dma_of->resource[0], esp->dma_regs,
drivers/scsi/sun_esp.c
579
scsi_host_put(esp->host);
drivers/scsi/sun_esp.c
60
esp->dmarev = dvmarev0;
drivers/scsi/sun_esp.c
63
esp->dmarev = dvmaesc1;
drivers/scsi/sun_esp.c
66
esp->dmarev = dvmarev1;
drivers/scsi/sun_esp.c
69
esp->dmarev = dvmarev2;
drivers/scsi/sun_esp.c
72
esp->dmarev = dvmahme;
drivers/scsi/sun_esp.c
75
esp->dmarev = dvmarevplus;
drivers/scsi/sun_esp.c
83
static int esp_sbus_map_regs(struct esp *esp, int hme)
drivers/scsi/sun_esp.c
85
struct platform_device *op = to_platform_device(esp->dev);
drivers/scsi/sun_esp.c
96
esp->regs = of_ioremap(res, 0, SBUS_ESP_REG_SIZE, "ESP");
drivers/scsi/sun_esp.c
97
if (!esp->regs)
drivers/scsi/zorro_esp.c
158
struct esp *esp; /* our ESP instance - for Scsi_host* */
drivers/scsi/zorro_esp.c
172
static void zorro_esp_write8(struct esp *esp, u8 val, unsigned long reg)
drivers/scsi/zorro_esp.c
174
writeb(val, esp->regs + (reg * 4UL));
drivers/scsi/zorro_esp.c
177
static u8 zorro_esp_read8(struct esp *esp, unsigned long reg)
drivers/scsi/zorro_esp.c
179
return readb(esp->regs + (reg * 4UL));
drivers/scsi/zorro_esp.c
182
static int zorro_esp_irq_pending(struct esp *esp)
drivers/scsi/zorro_esp.c
185
if (zorro_esp_read8(esp, ESP_STATUS) & ESP_STAT_INTR)
drivers/scsi/zorro_esp.c
191
static int cyber_esp_irq_pending(struct esp *esp)
drivers/scsi/zorro_esp.c
193
struct cyber_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
197
return ((zorro_esp_read8(esp, ESP_STATUS) & ESP_STAT_INTR) &&
drivers/scsi/zorro_esp.c
201
static int fastlane_esp_irq_pending(struct esp *esp)
drivers/scsi/zorro_esp.c
203
struct fastlane_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
215
(zorro_esp_read8(esp, ESP_STATUS) & ESP_STAT_INTR));
drivers/scsi/zorro_esp.c
218
static u32 zorro_esp_dma_length_limit(struct esp *esp, u32 dma_addr,
drivers/scsi/zorro_esp.c
224
static u32 fastlane_esp_dma_length_limit(struct esp *esp, u32 dma_addr,
drivers/scsi/zorro_esp.c
231
static void zorro_esp_reset_dma(struct esp *esp)
drivers/scsi/zorro_esp.c
236
static void zorro_esp_dma_drain(struct esp *esp)
drivers/scsi/zorro_esp.c
241
static void zorro_esp_dma_invalidate(struct esp *esp)
drivers/scsi/zorro_esp.c
246
static void fastlane_esp_dma_invalidate(struct esp *esp)
drivers/scsi/zorro_esp.c
248
struct zorro_esp_priv *zep = dev_get_drvdata(esp->dev);
drivers/scsi/zorro_esp.c
249
struct fastlane_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
259
static void zorro_esp_send_blz1230_dma_cmd(struct esp *esp, u32 addr,
drivers/scsi/zorro_esp.c
262
struct blz1230_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
263
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/zorro_esp.c
270
if (phase == ESP_MIP && addr == esp->command_block_dma) {
drivers/scsi/zorro_esp.c
271
esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
drivers/scsi/zorro_esp.c
277
esp->send_cmd_error = 0;
drivers/scsi/zorro_esp.c
278
esp->send_cmd_residual = 0;
drivers/scsi/zorro_esp.c
282
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
286
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
301
scsi_esp_cmd(esp, ESP_CMD_DMA);
drivers/scsi/zorro_esp.c
302
zorro_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/zorro_esp.c
303
zorro_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/zorro_esp.c
305
scsi_esp_cmd(esp, cmd);
drivers/scsi/zorro_esp.c
310
static void zorro_esp_send_blz1230II_dma_cmd(struct esp *esp, u32 addr,
drivers/scsi/zorro_esp.c
313
struct blz1230II_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
314
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/zorro_esp.c
317
if (phase == ESP_MIP && addr == esp->command_block_dma) {
drivers/scsi/zorro_esp.c
318
esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
drivers/scsi/zorro_esp.c
323
esp->send_cmd_error = 0;
drivers/scsi/zorro_esp.c
324
esp->send_cmd_residual = 0;
drivers/scsi/zorro_esp.c
328
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
332
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
346
scsi_esp_cmd(esp, ESP_CMD_DMA);
drivers/scsi/zorro_esp.c
347
zorro_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/zorro_esp.c
348
zorro_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/zorro_esp.c
350
scsi_esp_cmd(esp, cmd);
drivers/scsi/zorro_esp.c
355
static void zorro_esp_send_blz2060_dma_cmd(struct esp *esp, u32 addr,
drivers/scsi/zorro_esp.c
358
struct blz2060_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
359
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/zorro_esp.c
362
if (phase == ESP_MIP && addr == esp->command_block_dma) {
drivers/scsi/zorro_esp.c
363
esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
drivers/scsi/zorro_esp.c
368
esp->send_cmd_error = 0;
drivers/scsi/zorro_esp.c
369
esp->send_cmd_residual = 0;
drivers/scsi/zorro_esp.c
373
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
377
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
391
scsi_esp_cmd(esp, ESP_CMD_DMA);
drivers/scsi/zorro_esp.c
392
zorro_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/zorro_esp.c
393
zorro_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/zorro_esp.c
395
scsi_esp_cmd(esp, cmd);
drivers/scsi/zorro_esp.c
400
static void zorro_esp_send_cyber_dma_cmd(struct esp *esp, u32 addr,
drivers/scsi/zorro_esp.c
403
struct zorro_esp_priv *zep = dev_get_drvdata(esp->dev);
drivers/scsi/zorro_esp.c
404
struct cyber_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
405
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/zorro_esp.c
409
if (phase == ESP_MIP && addr == esp->command_block_dma) {
drivers/scsi/zorro_esp.c
410
esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
drivers/scsi/zorro_esp.c
415
esp->send_cmd_error = 0;
drivers/scsi/zorro_esp.c
416
esp->send_cmd_residual = 0;
drivers/scsi/zorro_esp.c
418
zorro_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/zorro_esp.c
419
zorro_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/zorro_esp.c
423
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
428
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
447
scsi_esp_cmd(esp, cmd);
drivers/scsi/zorro_esp.c
452
static void zorro_esp_send_cyberII_dma_cmd(struct esp *esp, u32 addr,
drivers/scsi/zorro_esp.c
455
struct cyberII_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
456
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/zorro_esp.c
459
if (phase == ESP_MIP && addr == esp->command_block_dma) {
drivers/scsi/zorro_esp.c
460
esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
drivers/scsi/zorro_esp.c
465
esp->send_cmd_error = 0;
drivers/scsi/zorro_esp.c
466
esp->send_cmd_residual = 0;
drivers/scsi/zorro_esp.c
468
zorro_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/zorro_esp.c
469
zorro_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/zorro_esp.c
473
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
478
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
488
scsi_esp_cmd(esp, cmd);
drivers/scsi/zorro_esp.c
493
static void zorro_esp_send_fastlane_dma_cmd(struct esp *esp, u32 addr,
drivers/scsi/zorro_esp.c
496
struct zorro_esp_priv *zep = dev_get_drvdata(esp->dev);
drivers/scsi/zorro_esp.c
497
struct fastlane_dma_registers __iomem *dregs = esp->dma_regs;
drivers/scsi/zorro_esp.c
498
u8 phase = esp->sreg & ESP_STAT_PMASK;
drivers/scsi/zorro_esp.c
502
if (phase == ESP_MIP && addr == esp->command_block_dma) {
drivers/scsi/zorro_esp.c
503
esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
drivers/scsi/zorro_esp.c
508
esp->send_cmd_error = 0;
drivers/scsi/zorro_esp.c
509
esp->send_cmd_residual = 0;
drivers/scsi/zorro_esp.c
511
zorro_esp_write8(esp, (esp_count >> 0) & 0xff, ESP_TCLOW);
drivers/scsi/zorro_esp.c
512
zorro_esp_write8(esp, (esp_count >> 8) & 0xff, ESP_TCMED);
drivers/scsi/zorro_esp.c
516
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
521
dma_sync_single_for_device(esp->dev, addr, esp_count,
drivers/scsi/zorro_esp.c
540
scsi_esp_cmd(esp, cmd);
drivers/scsi/zorro_esp.c
543
static int zorro_esp_dma_error(struct esp *esp)
drivers/scsi/zorro_esp.c
545
return esp->send_cmd_error;
drivers/scsi/zorro_esp.c
718
struct esp *esp;
drivers/scsi/zorro_esp.c
777
host = scsi_host_alloc(tpnt, sizeof(struct esp));
drivers/scsi/zorro_esp.c
788
esp = shost_priv(host);
drivers/scsi/zorro_esp.c
789
esp->host = host;
drivers/scsi/zorro_esp.c
790
esp->dev = &z->dev;
drivers/scsi/zorro_esp.c
792
esp->scsi_id = host->this_id;
drivers/scsi/zorro_esp.c
793
esp->scsi_id_mask = (1 << esp->scsi_id);
drivers/scsi/zorro_esp.c
795
esp->cfreq = 40000000;
drivers/scsi/zorro_esp.c
797
zep->esp = esp;
drivers/scsi/zorro_esp.c
799
dev_set_drvdata(esp->dev, zep);
drivers/scsi/zorro_esp.c
815
esp->ops = zdd->esp_ops;
drivers/scsi/zorro_esp.c
818
esp->regs = ioremap(ioaddr, 0x20);
drivers/scsi/zorro_esp.c
821
esp->regs = ZTWO_VADDR(ioaddr);
drivers/scsi/zorro_esp.c
823
if (!esp->regs) {
drivers/scsi/zorro_esp.c
828
esp->fifo_reg = esp->regs + ESP_FDATA * 4;
drivers/scsi/zorro_esp.c
832
zorro_esp_write8(esp, (ESP_CONFIG1_PENABLE | 7), ESP_CFG1);
drivers/scsi/zorro_esp.c
833
if (zorro_esp_read8(esp, ESP_CFG1) != (ESP_CONFIG1_PENABLE|7)) {
drivers/scsi/zorro_esp.c
844
esp->dma_regs = ioremap(dmaaddr,
drivers/scsi/zorro_esp.c
848
esp->dma_regs = ZTWO_VADDR(dmaaddr);
drivers/scsi/zorro_esp.c
850
if (!esp->dma_regs) {
drivers/scsi/zorro_esp.c
855
esp->command_block = dma_alloc_coherent(esp->dev, 16,
drivers/scsi/zorro_esp.c
856
&esp->command_block_dma,
drivers/scsi/zorro_esp.c
859
if (!esp->command_block) {
drivers/scsi/zorro_esp.c
866
"Amiga Zorro ESP", esp);
drivers/scsi/zorro_esp.c
873
err = scsi_esp_register(esp);
drivers/scsi/zorro_esp.c
883
free_irq(host->irq, esp);
drivers/scsi/zorro_esp.c
886
dma_free_coherent(esp->dev, 16,
drivers/scsi/zorro_esp.c
887
esp->command_block,
drivers/scsi/zorro_esp.c
888
esp->command_block_dma);
drivers/scsi/zorro_esp.c
892
iounmap(esp->dma_regs);
drivers/scsi/zorro_esp.c
896
iounmap(esp->regs);
drivers/scsi/zorro_esp.c
917
struct esp *esp = zep->esp;
drivers/scsi/zorro_esp.c
918
struct Scsi_Host *host = esp->host;
drivers/scsi/zorro_esp.c
920
scsi_esp_unregister(esp);
drivers/scsi/zorro_esp.c
922
free_irq(host->irq, esp);
drivers/scsi/zorro_esp.c
923
dma_free_coherent(esp->dev, 16,
drivers/scsi/zorro_esp.c
924
esp->command_block,
drivers/scsi/zorro_esp.c
925
esp->command_block_dma);
drivers/scsi/zorro_esp.c
929
iounmap(esp->dma_regs);
drivers/scsi/zorro_esp.c
933
iounmap(esp->regs);
fs/proc/array.c
469
unsigned long vsize, eip, esp, wchan = 0;
fs/proc/array.c
487
vsize = eip = esp = 0;
fs/proc/array.c
504
esp = KSTK_ESP(task);
fs/proc/array.c
613
seq_put_decimal_ull(m, " ", esp);
include/net/esp.h
44
int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp);
include/net/esp.h
45
int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp);
include/net/esp.h
47
int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp);
include/net/esp.h
48
int esp6_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp);
include/rdma/ib_verbs.h
2134
struct ib_flow_spec_esp esp;
include/uapi/video/uvesafb.h
17
__u32 esp;
include/xen/interface/hvm/hvm_vcpu.h
16
uint32_t esp;
net/ipv4/esp4.c
308
struct esp_info *esp,
net/ipv4/esp4.c
316
len = skb->len + esp->tailen - skb_transport_offset(skb);
net/ipv4/esp4.c
320
uh = (struct udphdr *)esp->esph;
net/ipv4/esp4.c
339
struct esp_info *esp)
net/ipv4/esp4.c
341
__be16 *lenp = (void *)esp->esph;
net/ipv4/esp4.c
346
len = skb->len + esp->tailen - skb_transport_offset(skb);
net/ipv4/esp4.c
367
struct esp_info *esp)
net/ipv4/esp4.c
374
struct esp_info *esp)
net/ipv4/esp4.c
390
esph = esp_output_udp_encap(skb, encap_type, esp, sport, dport);
net/ipv4/esp4.c
393
esph = esp_output_tcp_encap(x, skb, esp);
net/ipv4/esp4.c
400
esp->esph = esph;
net/ipv4/esp4.c
405
int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp)
net/ipv4/esp4.c
412
int tailen = esp->tailen;
net/ipv4/esp4.c
416
int err = esp_output_encap(x, skb, esp);
net/ipv4/esp4.c
439
esp->inplace = false;
net/ipv4/esp4.c
455
esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto);
net/ipv4/esp4.c
478
esph_offset = (unsigned char *)esp->esph - skb_transport_header(skb);
net/ipv4/esp4.c
484
esp->esph = (struct ip_esp_hdr *)(skb_transport_header(skb) + esph_offset);
net/ipv4/esp4.c
487
esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto);
net/ipv4/esp4.c
495
int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp)
net/ipv4/esp4.c
523
tmp = esp_alloc_tmp(aead, esp->nfrags + 2, extralen);
net/ipv4/esp4.c
532
if (esp->inplace)
net/ipv4/esp4.c
535
dsg = &sg[esp->nfrags];
net/ipv4/esp4.c
537
esph = esp_output_set_extra(skb, x, esp->esph, extra);
net/ipv4/esp4.c
538
esp->esph = esph;
net/ipv4/esp4.c
540
sg_init_table(sg, esp->nfrags);
net/ipv4/esp4.c
543
assoclen + ivlen + esp->clen + alen);
net/ipv4/esp4.c
547
if (!esp->inplace) {
net/ipv4/esp4.c
571
assoclen + ivlen + esp->clen + alen);
net/ipv4/esp4.c
581
aead_request_set_crypt(req, sg, dsg, ivlen + esp->clen, iv);
net/ipv4/esp4.c
585
memcpy(iv + ivlen - min(ivlen, 8), (u8 *)&esp->seqno + 8 - min(ivlen, 8),
net/ipv4/esp4.c
623
struct esp_info esp;
net/ipv4/esp4.c
625
esp.inplace = true;
net/ipv4/esp4.c
627
esp.proto = *skb_mac_header(skb);
net/ipv4/esp4.c
635
esp.tfclen = 0;
net/ipv4/esp4.c
642
esp.tfclen = padto - skb->len;
net/ipv4/esp4.c
645
esp.clen = ALIGN(skb->len + 2 + esp.tfclen, blksize);
net/ipv4/esp4.c
646
esp.plen = esp.clen - skb->len - esp.tfclen;
net/ipv4/esp4.c
647
esp.tailen = esp.tfclen + esp.plen + alen;
net/ipv4/esp4.c
649
esp.esph = ip_esp_hdr(skb);
net/ipv4/esp4.c
651
esp.nfrags = esp_output_head(x, skb, &esp);
net/ipv4/esp4.c
652
if (esp.nfrags < 0)
net/ipv4/esp4.c
653
return esp.nfrags;
net/ipv4/esp4.c
655
esph = esp.esph;
net/ipv4/esp4.c
659
esp.seqno = cpu_to_be64(XFRM_SKB_CB(skb)->seq.output.low +
net/ipv4/esp4.c
664
return esp_output_tail(x, skb, &esp);
net/ipv4/esp4_offload.c
273
struct esp_info esp;
net/ipv4/esp4_offload.c
278
esp.inplace = true;
net/ipv4/esp4_offload.c
292
esp.proto = xo->proto;
net/ipv4/esp4_offload.c
299
esp.tfclen = 0;
net/ipv4/esp4_offload.c
303
esp.clen = ALIGN(skb->len + 2 + esp.tfclen, blksize);
net/ipv4/esp4_offload.c
304
esp.plen = esp.clen - skb->len - esp.tfclen;
net/ipv4/esp4_offload.c
305
esp.tailen = esp.tfclen + esp.plen + alen;
net/ipv4/esp4_offload.c
307
esp.esph = ip_esp_hdr(skb);
net/ipv4/esp4_offload.c
313
esp.nfrags = esp_output_head(x, skb, &esp);
net/ipv4/esp4_offload.c
314
if (esp.nfrags < 0)
net/ipv4/esp4_offload.c
315
return esp.nfrags;
net/ipv4/esp4_offload.c
320
esph = esp.esph;
net/ipv4/esp4_offload.c
337
esp.seqno = cpu_to_be64(seq + ((u64)xo->seq.hi << 32));
net/ipv4/esp4_offload.c
366
err = esp_output_tail(x, skb, &esp);
net/ipv6/esp6.c
344
struct esp_info *esp,
net/ipv6/esp6.c
351
len = skb->len + esp->tailen - skb_transport_offset(skb);
net/ipv6/esp6.c
355
uh = (struct udphdr *)esp->esph;
net/ipv6/esp6.c
369
struct esp_info *esp)
net/ipv6/esp6.c
371
__be16 *lenp = (void *)esp->esph;
net/ipv6/esp6.c
376
len = skb->len + esp->tailen - skb_transport_offset(skb);
net/ipv6/esp6.c
397
struct esp_info *esp)
net/ipv6/esp6.c
404
struct esp_info *esp)
net/ipv6/esp6.c
420
esph = esp6_output_udp_encap(skb, encap_type, esp, sport, dport);
net/ipv6/esp6.c
423
esph = esp6_output_tcp_encap(x, skb, esp);
net/ipv6/esp6.c
430
esp->esph = esph;
net/ipv6/esp6.c
435
int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp)
net/ipv6/esp6.c
442
int tailen = esp->tailen;
net/ipv6/esp6.c
445
int err = esp6_output_encap(x, skb, esp);
net/ipv6/esp6.c
468
esp->inplace = false;
net/ipv6/esp6.c
484
esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto);
net/ipv6/esp6.c
509
esph_offset = (unsigned char *)esp->esph - skb_transport_header(skb);
net/ipv6/esp6.c
515
esp->esph = (struct ip_esp_hdr *)(skb_transport_header(skb) + esph_offset);
net/ipv6/esp6.c
518
esp_output_fill_trailer(tail, esp->tfclen, esp->plen, esp->proto);
net/ipv6/esp6.c
526
int esp6_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp)
net/ipv6/esp6.c
554
tmp = esp_alloc_tmp(aead, esp->nfrags + 2, extralen);
net/ipv6/esp6.c
563
if (esp->inplace)
net/ipv6/esp6.c
566
dsg = &sg[esp->nfrags];
net/ipv6/esp6.c
568
esph = esp_output_set_esn(skb, x, esp->esph, extra);
net/ipv6/esp6.c
569
esp->esph = esph;
net/ipv6/esp6.c
571
sg_init_table(sg, esp->nfrags);
net/ipv6/esp6.c
574
assoclen + ivlen + esp->clen + alen);
net/ipv6/esp6.c
578
if (!esp->inplace) {
net/ipv6/esp6.c
602
assoclen + ivlen + esp->clen + alen);
net/ipv6/esp6.c
612
aead_request_set_crypt(req, sg, dsg, ivlen + esp->clen, iv);
net/ipv6/esp6.c
616
memcpy(iv + ivlen - min(ivlen, 8), (u8 *)&esp->seqno + 8 - min(ivlen, 8),
net/ipv6/esp6.c
655
struct esp_info esp;
net/ipv6/esp6.c
657
esp.inplace = true;
net/ipv6/esp6.c
659
esp.proto = *skb_mac_header(skb);
net/ipv6/esp6.c
667
esp.tfclen = 0;
net/ipv6/esp6.c
674
esp.tfclen = padto - skb->len;
net/ipv6/esp6.c
677
esp.clen = ALIGN(skb->len + 2 + esp.tfclen, blksize);
net/ipv6/esp6.c
678
esp.plen = esp.clen - skb->len - esp.tfclen;
net/ipv6/esp6.c
679
esp.tailen = esp.tfclen + esp.plen + alen;
net/ipv6/esp6.c
681
esp.esph = ip_esp_hdr(skb);
net/ipv6/esp6.c
683
esp.nfrags = esp6_output_head(x, skb, &esp);
net/ipv6/esp6.c
684
if (esp.nfrags < 0)
net/ipv6/esp6.c
685
return esp.nfrags;
net/ipv6/esp6.c
687
esph = esp.esph;
net/ipv6/esp6.c
691
esp.seqno = cpu_to_be64(XFRM_SKB_CB(skb)->seq.output.low +
net/ipv6/esp6.c
696
return esp6_output_tail(x, skb, &esp);
net/ipv6/esp6_offload.c
311
struct esp_info esp;
net/ipv6/esp6_offload.c
315
esp.inplace = true;
net/ipv6/esp6_offload.c
327
esp.proto = xo->proto;
net/ipv6/esp6_offload.c
334
esp.tfclen = 0;
net/ipv6/esp6_offload.c
338
esp.clen = ALIGN(skb->len + 2 + esp.tfclen, blksize);
net/ipv6/esp6_offload.c
339
esp.plen = esp.clen - skb->len - esp.tfclen;
net/ipv6/esp6_offload.c
340
esp.tailen = esp.tfclen + esp.plen + alen;
net/ipv6/esp6_offload.c
343
esp.nfrags = esp6_output_head(x, skb, &esp);
net/ipv6/esp6_offload.c
344
if (esp.nfrags < 0)
net/ipv6/esp6_offload.c
345
return esp.nfrags;
net/ipv6/esp6_offload.c
350
esp.esph = ip_esp_hdr(skb);
net/ipv6/esp6_offload.c
351
esp.esph->spi = x->id.spi;
net/ipv6/esp6_offload.c
356
esp.esph->seq_no = htonl(seq);
net/ipv6/esp6_offload.c
367
esp.seqno = cpu_to_be64(xo->seq.low + ((u64)xo->seq.hi << 32));
net/ipv6/esp6_offload.c
387
err = esp6_output_tail(x, skb, &esp);
net/xfrm/xfrm_state.c
257
X(afinfo, type, esp);
net/xfrm/xfrm_state.c
302
X(afinfo, type, esp);
tools/lib/bpf/bpf_tracing.h
126
#define __PT_RET_REG esp
tools/lib/bpf/bpf_tracing.h
129
#define __PT_SP_REG esp
tools/lib/bpf/usdt.c
1266
{ {"rsp", "esp", "sp", "spl"}, reg_off(rsp, esp) },
tools/perf/util/perf-regs-arch/perf_regs_x86.c
51
SDT_NAME_REG(esp, sp),
tools/testing/selftests/x86/entry_from_vm86.c
251
v86.regs.esp = 4096;