drivers/tty/serial/icom.c
1001
first = icom_port->recv_buf[offset];
drivers/tty/serial/icom.c
1002
tty_insert_flip_string(port, icom_port->recv_buf + offset, count - 1);
drivers/tty/serial/icom.c
1005
icount = &icom_port->uart_port.icount;
drivers/tty/serial/icom.c
1013
trace(icom_port, "BREAK_DET", 0);
drivers/tty/serial/icom.c
1036
if (status & icom_port->ignore_status_mask) {
drivers/tty/serial/icom.c
1037
trace(icom_port, "IGNORE_CHAR", 0);
drivers/tty/serial/icom.c
1041
status &= icom_port->read_status_mask;
drivers/tty/serial/icom.c
1046
trace(icom_port, "PARITY_ERROR", 0);
drivers/tty/serial/icom.c
1053
tty_insert_flip_char(port, *(icom_port->recv_buf + offset + count - 1), flag);
drivers/tty/serial/icom.c
1063
icom_port->statStg->rcv[rcv_buff].flags = 0;
drivers/tty/serial/icom.c
1064
icom_port->statStg->rcv[rcv_buff].leLength = 0;
drivers/tty/serial/icom.c
1065
icom_port->statStg->rcv[rcv_buff].WorkingLength =
drivers/tty/serial/icom.c
1072
status = le16_to_cpu(icom_port->statStg->rcv[rcv_buff].flags);
drivers/tty/serial/icom.c
1074
icom_port->next_rcv = rcv_buff;
drivers/tty/serial/icom.c
1080
struct icom_port *icom_port)
drivers/tty/serial/icom.c
1083
uart_port_lock(&icom_port->uart_port);
drivers/tty/serial/icom.c
1084
trace(icom_port, "INTERRUPT", port_int_reg);
drivers/tty/serial/icom.c
1087
xmit_interrupt(port_int_reg, icom_port);
drivers/tty/serial/icom.c
1090
recv_interrupt(port_int_reg, icom_port);
drivers/tty/serial/icom.c
1092
uart_port_unlock(&icom_port->uart_port);
drivers/tty/serial/icom.c
1101
struct icom_port *icom_port;
drivers/tty/serial/icom.c
1113
icom_port = &icom_adapter->port_info[2];
drivers/tty/serial/icom.c
1115
process_interrupt(port_int_reg, icom_port);
drivers/tty/serial/icom.c
1116
check_modem_status(icom_port);
drivers/tty/serial/icom.c
1120
icom_port = &icom_adapter->port_info[3];
drivers/tty/serial/icom.c
1121
if (icom_port->status == ICOM_PORT_ACTIVE) {
drivers/tty/serial/icom.c
1124
process_interrupt(port_int_reg, icom_port);
drivers/tty/serial/icom.c
1125
check_modem_status(icom_port);
drivers/tty/serial/icom.c
1141
icom_port = &icom_adapter->port_info[0];
drivers/tty/serial/icom.c
1143
process_interrupt(port_int_reg, icom_port);
drivers/tty/serial/icom.c
1144
check_modem_status(icom_port);
drivers/tty/serial/icom.c
1148
icom_port = &icom_adapter->port_info[1];
drivers/tty/serial/icom.c
1149
if (icom_port->status == ICOM_PORT_ACTIVE) {
drivers/tty/serial/icom.c
1151
process_interrupt(port_int_reg, icom_port);
drivers/tty/serial/icom.c
1152
check_modem_status(icom_port);
drivers/tty/serial/icom.c
1172
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1177
if (le16_to_cpu(icom_port->statStg->xmit[0].flags) &
drivers/tty/serial/icom.c
1189
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1192
trace(icom_port, "SET_MODEM", 0);
drivers/tty/serial/icom.c
1193
local_osr = readb(&icom_port->dram->osr);
drivers/tty/serial/icom.c
1196
trace(icom_port, "RAISE_RTS", 0);
drivers/tty/serial/icom.c
1199
trace(icom_port, "LOWER_RTS", 0);
drivers/tty/serial/icom.c
1204
trace(icom_port, "RAISE_DTR", 0);
drivers/tty/serial/icom.c
1207
trace(icom_port, "LOWER_DTR", 0);
drivers/tty/serial/icom.c
1211
writeb(local_osr, &icom_port->dram->osr);
drivers/tty/serial/icom.c
1216
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1220
trace(icom_port, "GET_MODEM", 0);
drivers/tty/serial/icom.c
1222
status = readb(&icom_port->dram->isr);
drivers/tty/serial/icom.c
1233
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1236
trace(icom_port, "STOP", 0);
drivers/tty/serial/icom.c
1237
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1238
writeb(cmdReg | CMD_HOLD_XMIT, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1243
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1246
trace(icom_port, "START", 0);
drivers/tty/serial/icom.c
1247
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1250
&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1257
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1262
trace(icom_port, "SEND_XCHAR", ch);
drivers/tty/serial/icom.c
1267
xdata = readb(&icom_port->dram->xchar);
drivers/tty/serial/icom.c
1269
trace(icom_port, "QUICK_WRITE", 0);
drivers/tty/serial/icom.c
1270
writeb(ch, &icom_port->dram->xchar);
drivers/tty/serial/icom.c
1273
xdata = readb(&icom_port->dram->xchar);
drivers/tty/serial/icom.c
1284
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1287
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1288
writeb(cmdReg & ~CMD_RCV_ENABLE, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1293
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1298
trace(icom_port, "BREAK", 0);
drivers/tty/serial/icom.c
1299
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1301
writeb(cmdReg | CMD_SND_BREAK, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1303
writeb(cmdReg & ~CMD_SND_BREAK, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1310
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1313
kref_get(&icom_port->adapter->kref);
drivers/tty/serial/icom.c
1314
retval = icom_startup(icom_port);
drivers/tty/serial/icom.c
1317
kref_put(&icom_port->adapter->kref, icom_kref_release);
drivers/tty/serial/icom.c
1318
trace(icom_port, "STARTUP_ERROR", 0);
drivers/tty/serial/icom.c
1327
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1330
trace(icom_port, "CLOSE", 0);
drivers/tty/serial/icom.c
1333
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1334
writeb(cmdReg & ~CMD_RCV_ENABLE, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1336
icom_shutdown(icom_port);
drivers/tty/serial/icom.c
1338
kref_put(&icom_port->adapter->kref, icom_kref_release);
drivers/tty/serial/icom.c
1344
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
1356
trace(icom_port, "CHANGE_SPEED", 0);
drivers/tty/serial/icom.c
1387
trace(icom_port, "PARENB", 0);
drivers/tty/serial/icom.c
1392
trace(icom_port, "PARODD", 0);
drivers/tty/serial/icom.c
1412
tmp_byte = readb(&(icom_port->dram->HDLCConfigReg));
drivers/tty/serial/icom.c
1417
writeb(tmp_byte, &(icom_port->dram->HDLCConfigReg));
drivers/tty/serial/icom.c
1422
icom_port->read_status_mask = SA_FLAGS_OVERRUN | SA_FL_RCV_DONE;
drivers/tty/serial/icom.c
1424
icom_port->read_status_mask |=
drivers/tty/serial/icom.c
1428
icom_port->read_status_mask |= SA_FLAGS_BREAK_DET;
drivers/tty/serial/icom.c
1433
icom_port->ignore_status_mask = 0;
drivers/tty/serial/icom.c
1435
icom_port->ignore_status_mask |=
drivers/tty/serial/icom.c
1438
icom_port->ignore_status_mask |= SA_FLAGS_BREAK_DET;
drivers/tty/serial/icom.c
1444
icom_port->ignore_status_mask |= SA_FLAGS_OVERRUN;
drivers/tty/serial/icom.c
1451
icom_port->ignore_status_mask |= SA_FL_RCV_DONE;
drivers/tty/serial/icom.c
1454
writeb(CMD_RCV_DISABLE, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1457
if (readb(&icom_port->dram->PrevCmdReg) == 0x00) {
drivers/tty/serial/icom.c
1464
icom_port->statStg->rcv[rcv_buff].flags = 0;
drivers/tty/serial/icom.c
1465
icom_port->statStg->rcv[rcv_buff].leLength = 0;
drivers/tty/serial/icom.c
1466
icom_port->statStg->rcv[rcv_buff].WorkingLength =
drivers/tty/serial/icom.c
1471
icom_port->statStg->xmit[xmit_buff].flags = 0;
drivers/tty/serial/icom.c
1476
writeb(new_config3, &(icom_port->dram->async_config3));
drivers/tty/serial/icom.c
1477
writeb(new_config2, &(icom_port->dram->async_config2));
drivers/tty/serial/icom.c
1478
tmp_byte = readb(&(icom_port->dram->HDLCConfigReg));
drivers/tty/serial/icom.c
1480
writeb(tmp_byte, &(icom_port->dram->HDLCConfigReg));
drivers/tty/serial/icom.c
1481
writeb(0x04, &(icom_port->dram->FlagFillIdleTimer)); /* 0.5 seconds */
drivers/tty/serial/icom.c
1482
writeb(0xFF, &(icom_port->dram->ier)); /* enable modem signal interrupts */
drivers/tty/serial/icom.c
1485
writeb(CMD_RESTART, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1488
if (readb(&icom_port->dram->CmdReg) == 0x00) {
drivers/tty/serial/icom.c
1495
(unsigned long) &icom_port->statStg->rcv[0] -
drivers/tty/serial/icom.c
1496
(unsigned long) icom_port->statStg;
drivers/tty/serial/icom.c
1497
writel(icom_port->statStg_pci + offset,
drivers/tty/serial/icom.c
1498
&icom_port->dram->RcvStatusAddr);
drivers/tty/serial/icom.c
1499
icom_port->next_rcv = 0;
drivers/tty/serial/icom.c
1500
*icom_port->xmitRestart = 0;
drivers/tty/serial/icom.c
1501
writel(icom_port->xmitRestart_pci,
drivers/tty/serial/icom.c
1502
&icom_port->dram->XmitStatusAddr);
drivers/tty/serial/icom.c
1503
trace(icom_port, "XR_ENAB", 0);
drivers/tty/serial/icom.c
1504
writeb(CMD_XMIT_RCV_ENABLE, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
1551
struct icom_port *icom_port;
drivers/tty/serial/icom.c
1557
icom_port = &icom_adapter->port_info[i];
drivers/tty/serial/icom.c
1558
icom_port->port = i;
drivers/tty/serial/icom.c
1559
icom_port->status = ICOM_PORT_ACTIVE;
drivers/tty/serial/icom.c
1566
icom_port = &icom_adapter->port_info[i];
drivers/tty/serial/icom.c
1568
icom_port->port = i;
drivers/tty/serial/icom.c
1569
icom_port->status = ICOM_PORT_ACTIVE;
drivers/tty/serial/icom.c
1586
static void icom_port_active(struct icom_port *icom_port, struct icom_adapter *icom_adapter, int port_num)
drivers/tty/serial/icom.c
1589
icom_port->global_reg = icom_adapter->base_addr + 0x4000;
drivers/tty/serial/icom.c
1590
icom_port->int_reg = icom_adapter->base_addr +
drivers/tty/serial/icom.c
1593
icom_port->global_reg = icom_adapter->base_addr + 0x8000;
drivers/tty/serial/icom.c
1594
if (icom_port->port < 2)
drivers/tty/serial/icom.c
1595
icom_port->int_reg = icom_adapter->base_addr +
drivers/tty/serial/icom.c
1596
0x8004 + 2 - 2 * icom_port->port;
drivers/tty/serial/icom.c
1598
icom_port->int_reg = icom_adapter->base_addr +
drivers/tty/serial/icom.c
1599
0x8024 + 2 - 2 * (icom_port->port - 2);
drivers/tty/serial/icom.c
1604
struct icom_port *icom_port;
drivers/tty/serial/icom.c
1609
icom_port = &icom_adapter->port_info[port_num];
drivers/tty/serial/icom.c
1611
if (icom_port->status == ICOM_PORT_ACTIVE) {
drivers/tty/serial/icom.c
1612
icom_port_active(icom_port, icom_adapter, port_num);
drivers/tty/serial/icom.c
1613
icom_port->dram = icom_adapter->base_addr +
drivers/tty/serial/icom.c
1614
0x2000 * icom_port->port;
drivers/tty/serial/icom.c
1616
icom_port->adapter = icom_adapter;
drivers/tty/serial/icom.c
1619
if (get_port_memory(icom_port) != 0) {
drivers/tty/serial/icom.c
1620
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
1667
struct icom_port *icom_port;
drivers/tty/serial/icom.c
1671
icom_port = &icom_adapter->port_info[index];
drivers/tty/serial/icom.c
1673
if (icom_port->status == ICOM_PORT_ACTIVE) {
drivers/tty/serial/icom.c
1678
&icom_port->uart_port);
drivers/tty/serial/icom.c
1681
writeb(0x00, &icom_port->dram->osr);
drivers/tty/serial/icom.c
1687
stop_processor(icom_port);
drivers/tty/serial/icom.c
1689
free_port_memory(icom_port);
drivers/tty/serial/icom.c
1706
struct icom_port *icom_port;
drivers/tty/serial/icom.c
1776
icom_port = &icom_adapter->port_info[index];
drivers/tty/serial/icom.c
1778
if (icom_port->status == ICOM_PORT_ACTIVE) {
drivers/tty/serial/icom.c
1779
icom_port->uart_port.irq = icom_port->adapter->pci_dev->irq;
drivers/tty/serial/icom.c
1780
icom_port->uart_port.type = PORT_ICOM;
drivers/tty/serial/icom.c
1781
icom_port->uart_port.iotype = UPIO_MEM;
drivers/tty/serial/icom.c
1782
icom_port->uart_port.membase =
drivers/tty/serial/icom.c
1784
icom_port->uart_port.fifosize = 16;
drivers/tty/serial/icom.c
1785
icom_port->uart_port.ops = &icom_ops;
drivers/tty/serial/icom.c
1786
icom_port->uart_port.line =
drivers/tty/serial/icom.c
1787
icom_port->port + icom_adapter->index * 4;
drivers/tty/serial/icom.c
1788
if (uart_add_one_port (&icom_uart_driver, &icom_port->uart_port)) {
drivers/tty/serial/icom.c
1789
icom_port->status = ICOM_PORT_OFF;
drivers/tty/serial/icom.c
281
struct icom_port port_info[4];
drivers/tty/serial/icom.c
308
static inline struct icom_port *to_icom_port(struct uart_port *port)
drivers/tty/serial/icom.c
310
return container_of(port, struct icom_port, uart_port);
drivers/tty/serial/icom.c
383
static inline void trace(struct icom_port *icom_port, char *trace_pt,
drivers/tty/serial/icom.c
386
dev_info(&icom_port->adapter->pci_dev->dev, ":%d:%s - %lx\n",
drivers/tty/serial/icom.c
387
icom_port->port, trace_pt, trace_data);
drivers/tty/serial/icom.c
390
static inline void trace(struct icom_port *icom_port, char *trace_pt, unsigned long trace_data) {};
drivers/tty/serial/icom.c
394
static void free_port_memory(struct icom_port *icom_port)
drivers/tty/serial/icom.c
396
struct pci_dev *dev = icom_port->adapter->pci_dev;
drivers/tty/serial/icom.c
398
trace(icom_port, "RET_PORT_MEM", 0);
drivers/tty/serial/icom.c
399
if (icom_port->recv_buf) {
drivers/tty/serial/icom.c
400
dma_free_coherent(&dev->dev, 4096, icom_port->recv_buf,
drivers/tty/serial/icom.c
401
icom_port->recv_buf_pci);
drivers/tty/serial/icom.c
402
icom_port->recv_buf = NULL;
drivers/tty/serial/icom.c
404
if (icom_port->xmit_buf) {
drivers/tty/serial/icom.c
405
dma_free_coherent(&dev->dev, 4096, icom_port->xmit_buf,
drivers/tty/serial/icom.c
406
icom_port->xmit_buf_pci);
drivers/tty/serial/icom.c
407
icom_port->xmit_buf = NULL;
drivers/tty/serial/icom.c
409
if (icom_port->statStg) {
drivers/tty/serial/icom.c
410
dma_free_coherent(&dev->dev, 4096, icom_port->statStg,
drivers/tty/serial/icom.c
411
icom_port->statStg_pci);
drivers/tty/serial/icom.c
412
icom_port->statStg = NULL;
drivers/tty/serial/icom.c
415
if (icom_port->xmitRestart) {
drivers/tty/serial/icom.c
416
dma_free_coherent(&dev->dev, 4096, icom_port->xmitRestart,
drivers/tty/serial/icom.c
417
icom_port->xmitRestart_pci);
drivers/tty/serial/icom.c
418
icom_port->xmitRestart = NULL;
drivers/tty/serial/icom.c
422
static int get_port_memory(struct icom_port *icom_port)
drivers/tty/serial/icom.c
428
struct pci_dev *dev = icom_port->adapter->pci_dev;
drivers/tty/serial/icom.c
430
icom_port->xmit_buf =
drivers/tty/serial/icom.c
431
dma_alloc_coherent(&dev->dev, 4096, &icom_port->xmit_buf_pci,
drivers/tty/serial/icom.c
433
if (!icom_port->xmit_buf) {
drivers/tty/serial/icom.c
438
trace(icom_port, "GET_PORT_MEM",
drivers/tty/serial/icom.c
439
(unsigned long) icom_port->xmit_buf);
drivers/tty/serial/icom.c
441
icom_port->recv_buf =
drivers/tty/serial/icom.c
442
dma_alloc_coherent(&dev->dev, 4096, &icom_port->recv_buf_pci,
drivers/tty/serial/icom.c
444
if (!icom_port->recv_buf) {
drivers/tty/serial/icom.c
446
free_port_memory(icom_port);
drivers/tty/serial/icom.c
449
trace(icom_port, "GET_PORT_MEM",
drivers/tty/serial/icom.c
450
(unsigned long) icom_port->recv_buf);
drivers/tty/serial/icom.c
452
icom_port->statStg =
drivers/tty/serial/icom.c
453
dma_alloc_coherent(&dev->dev, 4096, &icom_port->statStg_pci,
drivers/tty/serial/icom.c
455
if (!icom_port->statStg) {
drivers/tty/serial/icom.c
457
free_port_memory(icom_port);
drivers/tty/serial/icom.c
460
trace(icom_port, "GET_PORT_MEM",
drivers/tty/serial/icom.c
461
(unsigned long) icom_port->statStg);
drivers/tty/serial/icom.c
463
icom_port->xmitRestart =
drivers/tty/serial/icom.c
464
dma_alloc_coherent(&dev->dev, 4096, &icom_port->xmitRestart_pci,
drivers/tty/serial/icom.c
466
if (!icom_port->xmitRestart) {
drivers/tty/serial/icom.c
469
free_port_memory(icom_port);
drivers/tty/serial/icom.c
477
stgAddr = (unsigned long) icom_port->statStg;
drivers/tty/serial/icom.c
479
trace(icom_port, "FOD_ADDR", stgAddr);
drivers/tty/serial/icom.c
480
stgAddr = stgAddr + sizeof(icom_port->statStg->xmit[0]);
drivers/tty/serial/icom.c
482
memset(&icom_port->statStg->xmit[index], 0, sizeof(struct xmit_status_area));
drivers/tty/serial/icom.c
483
icom_port->statStg->xmit[index].leLengthASD =
drivers/tty/serial/icom.c
485
trace(icom_port, "FOD_ADDR", stgAddr);
drivers/tty/serial/icom.c
486
trace(icom_port, "FOD_XBUFF",
drivers/tty/serial/icom.c
487
(unsigned long) icom_port->xmit_buf);
drivers/tty/serial/icom.c
488
icom_port->statStg->xmit[index].leBuffer =
drivers/tty/serial/icom.c
489
cpu_to_le32(icom_port->xmit_buf_pci);
drivers/tty/serial/icom.c
491
memset(&icom_port->statStg->xmit[index], 0, sizeof(struct xmit_status_area));
drivers/tty/serial/icom.c
492
icom_port->statStg->xmit[index].leLengthASD =
drivers/tty/serial/icom.c
494
trace(icom_port, "FOD_XBUFF",
drivers/tty/serial/icom.c
495
(unsigned long) icom_port->xmit_buf);
drivers/tty/serial/icom.c
496
icom_port->statStg->xmit[index].leBuffer =
drivers/tty/serial/icom.c
497
cpu_to_le32(icom_port->xmit_buf_pci);
drivers/tty/serial/icom.c
499
memset(&icom_port->statStg->xmit[index], 0, sizeof(struct xmit_status_area));
drivers/tty/serial/icom.c
507
trace(icom_port, "FID_ADDR", stgAddr);
drivers/tty/serial/icom.c
508
stgAddr = stgAddr + sizeof(icom_port->statStg->rcv[0]);
drivers/tty/serial/icom.c
509
icom_port->statStg->rcv[index].leLength = 0;
drivers/tty/serial/icom.c
510
icom_port->statStg->rcv[index].WorkingLength =
drivers/tty/serial/icom.c
513
offset = stgAddr - (unsigned long) icom_port->statStg;
drivers/tty/serial/icom.c
514
icom_port->statStg->rcv[index].leNext =
drivers/tty/serial/icom.c
515
cpu_to_le32(icom_port-> statStg_pci + offset);
drivers/tty/serial/icom.c
516
trace(icom_port, "FID_RBUFF",
drivers/tty/serial/icom.c
517
(unsigned long) icom_port->recv_buf);
drivers/tty/serial/icom.c
518
icom_port->statStg->rcv[index].leBuffer =
drivers/tty/serial/icom.c
519
cpu_to_le32(icom_port->recv_buf_pci);
drivers/tty/serial/icom.c
521
offset = startStgAddr - (unsigned long) icom_port->statStg;
drivers/tty/serial/icom.c
522
icom_port->statStg->rcv[index].leNext =
drivers/tty/serial/icom.c
523
cpu_to_le32(icom_port-> statStg_pci + offset);
drivers/tty/serial/icom.c
524
trace(icom_port, "FID_RBUFF",
drivers/tty/serial/icom.c
525
(unsigned long) icom_port->recv_buf + 2048);
drivers/tty/serial/icom.c
526
icom_port->statStg->rcv[index].leBuffer =
drivers/tty/serial/icom.c
527
cpu_to_le32(icom_port->recv_buf_pci + 2048);
drivers/tty/serial/icom.c
529
icom_port->statStg->rcv[index].leNext = 0;
drivers/tty/serial/icom.c
530
icom_port->statStg->rcv[index].leBuffer = 0;
drivers/tty/serial/icom.c
537
static void stop_processor(struct icom_port *icom_port)
drivers/tty/serial/icom.c
545
port = icom_port->port;
drivers/tty/serial/icom.c
547
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
553
stop_proc[port].global_control_reg = &icom_port->global_reg->control;
drivers/tty/serial/icom.c
555
stop_proc[port].global_control_reg = &icom_port->global_reg->control_2;
drivers/tty/serial/icom.c
568
static void start_processor(struct icom_port *icom_port)
drivers/tty/serial/icom.c
576
port = icom_port->port;
drivers/tty/serial/icom.c
578
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
584
start_proc[port].global_control_reg = &icom_port->global_reg->control;
drivers/tty/serial/icom.c
586
start_proc[port].global_control_reg = &icom_port->global_reg->control_2;
drivers/tty/serial/icom.c
599
static void load_code(struct icom_port *icom_port)
drivers/tty/serial/icom.c
605
void __iomem *dram_ptr = icom_port->dram;
drivers/tty/serial/icom.c
609
struct pci_dev *dev = icom_port->adapter->pci_dev;
drivers/tty/serial/icom.c
612
writew(0x3FFF, icom_port->int_reg);
drivers/tty/serial/icom.c
614
trace(icom_port, "CLEAR_INTERRUPTS", 0);
drivers/tty/serial/icom.c
617
stop_processor(icom_port);
drivers/tty/serial/icom.c
636
iram_ptr = (char __iomem *)icom_port->dram + ICOM_IRAM_OFFSET;
drivers/tty/serial/icom.c
656
iram_ptr = (char __iomem *) icom_port->dram + ICOM_IRAM_OFFSET;
drivers/tty/serial/icom.c
663
if (icom_port->adapter->version == ADAPTER_V2)
drivers/tty/serial/icom.c
664
writeb(V2_HARDWARE, &(icom_port->dram->misc_flags));
drivers/tty/serial/icom.c
667
start_processor(icom_port);
drivers/tty/serial/icom.c
670
&(icom_port->dram->HDLCConfigReg));
drivers/tty/serial/icom.c
671
writeb(0x04, &(icom_port->dram->FlagFillIdleTimer)); /* 0.5 seconds */
drivers/tty/serial/icom.c
672
writeb(0x00, &(icom_port->dram->CmdReg));
drivers/tty/serial/icom.c
673
writeb(0x10, &(icom_port->dram->async_config3));
drivers/tty/serial/icom.c
675
ICOM_ACFG_1STOP_BIT), &(icom_port->dram->async_config2));
drivers/tty/serial/icom.c
704
writeb((char) ((fw->size + 16)/16), &icom_port->dram->mac_length);
drivers/tty/serial/icom.c
705
writel(temp_pci, &icom_port->dram->mac_load_addr);
drivers/tty/serial/icom.c
718
writeb(START_DOWNLOAD, &icom_port->dram->sync);
drivers/tty/serial/icom.c
723
if (readb(&icom_port->dram->misc_flags) & ICOM_HDW_ACTIVE)
drivers/tty/serial/icom.c
733
cable_id = readb(&icom_port->dram->cable_id);
drivers/tty/serial/icom.c
738
icom_port->cable_id = cable_id;
drivers/tty/serial/icom.c
741
icom_port->cable_id = NO_CABLE;
drivers/tty/serial/icom.c
748
writew(0x3FFF, icom_port->int_reg);
drivers/tty/serial/icom.c
751
writeb(ICOM_DISABLE, &(icom_port->dram->disable));
drivers/tty/serial/icom.c
754
stop_processor(icom_port);
drivers/tty/serial/icom.c
756
dev_err(&icom_port->adapter->pci_dev->dev,"Port not operational\n");
drivers/tty/serial/icom.c
763
static int icom_startup(struct icom_port *icom_port)
drivers/tty/serial/icom.c
770
trace(icom_port, "STARTUP", 0);
drivers/tty/serial/icom.c
772
if (!icom_port->dram) {
drivers/tty/serial/icom.c
774
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
782
raw_cable_id = readb(&icom_port->dram->cable_id);
drivers/tty/serial/icom.c
783
trace(icom_port, "CABLE_ID", raw_cable_id);
drivers/tty/serial/icom.c
790
(cable_id != icom_port->cable_id)) {
drivers/tty/serial/icom.c
793
load_code(icom_port);
drivers/tty/serial/icom.c
796
raw_cable_id = readb(&icom_port->dram->cable_id);
drivers/tty/serial/icom.c
799
(icom_port->cable_id == NO_CABLE))
drivers/tty/serial/icom.c
807
port = icom_port->port;
drivers/tty/serial/icom.c
809
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
815
int_mask_tbl[port].global_int_mask = &icom_port->global_reg->int_mask;
drivers/tty/serial/icom.c
817
int_mask_tbl[port].global_int_mask = &icom_port->global_reg->int_mask_2;
drivers/tty/serial/icom.c
820
writew(0x00FF, icom_port->int_reg);
drivers/tty/serial/icom.c
822
writew(0x3F00, icom_port->int_reg);
drivers/tty/serial/icom.c
835
static void icom_shutdown(struct icom_port *icom_port)
drivers/tty/serial/icom.c
843
trace(icom_port, "SHUTDOWN", 0);
drivers/tty/serial/icom.c
848
port = icom_port->port;
drivers/tty/serial/icom.c
850
dev_err(&icom_port->adapter->pci_dev->dev,
drivers/tty/serial/icom.c
855
int_mask_tbl[port].global_int_mask = &icom_port->global_reg->int_mask;
drivers/tty/serial/icom.c
857
int_mask_tbl[port].global_int_mask = &icom_port->global_reg->int_mask_2;
drivers/tty/serial/icom.c
871
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
873
writeb(cmdReg & ~CMD_SND_BREAK, &icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
879
struct icom_port *icom_port = to_icom_port(port);
drivers/tty/serial/icom.c
885
trace(icom_port, "WRITE", 0);
drivers/tty/serial/icom.c
887
if (le16_to_cpu(icom_port->statStg->xmit[0].flags) &
drivers/tty/serial/icom.c
889
trace(icom_port, "WRITE_FULL", 0);
drivers/tty/serial/icom.c
893
data_count = kfifo_out_peek(&tport->xmit_fifo, icom_port->xmit_buf,
drivers/tty/serial/icom.c
897
icom_port->statStg->xmit[0].flags =
drivers/tty/serial/icom.c
899
icom_port->statStg->xmit[0].leLength =
drivers/tty/serial/icom.c
902
(unsigned long) &icom_port->statStg->xmit[0] -
drivers/tty/serial/icom.c
903
(unsigned long) icom_port->statStg;
drivers/tty/serial/icom.c
904
*icom_port->xmitRestart =
drivers/tty/serial/icom.c
905
cpu_to_le32(icom_port->statStg_pci + offset);
drivers/tty/serial/icom.c
906
cmdReg = readb(&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
908
&icom_port->dram->CmdReg);
drivers/tty/serial/icom.c
909
writeb(START_XMIT, &icom_port->dram->StartXmitCmd);
drivers/tty/serial/icom.c
910
trace(icom_port, "WRITE_START", data_count);
drivers/tty/serial/icom.c
912
readb(&icom_port->dram->StartXmitCmd);
drivers/tty/serial/icom.c
918
static inline void check_modem_status(struct icom_port *icom_port)
drivers/tty/serial/icom.c
924
uart_port_lock(&icom_port->uart_port);
drivers/tty/serial/icom.c
927
status = readb(&icom_port->dram->isr);
drivers/tty/serial/icom.c
928
trace(icom_port, "CHECK_MODEM", status);
drivers/tty/serial/icom.c
932
icom_port->uart_port.icount.rng++;
drivers/tty/serial/icom.c
934
icom_port->uart_port.icount.dsr++;
drivers/tty/serial/icom.c
936
uart_handle_dcd_change(&icom_port->uart_port,
drivers/tty/serial/icom.c
939
uart_handle_cts_change(&icom_port->uart_port,
drivers/tty/serial/icom.c
942
wake_up_interruptible(&icom_port->uart_port.state->
drivers/tty/serial/icom.c
946
uart_port_unlock(&icom_port->uart_port);
drivers/tty/serial/icom.c
949
static void xmit_interrupt(u16 port_int_reg, struct icom_port *icom_port)
drivers/tty/serial/icom.c
951
struct tty_port *tport = &icom_port->uart_port.state->port;
drivers/tty/serial/icom.c
955
trace(icom_port, "XMIT_COMPLETE", 0);
drivers/tty/serial/icom.c
958
icom_port->statStg->xmit[0].flags &=
drivers/tty/serial/icom.c
961
count = le16_to_cpu(icom_port->statStg->xmit[0].leLength);
drivers/tty/serial/icom.c
962
icom_port->uart_port.icount.tx += count;
drivers/tty/serial/icom.c
966
if (!icom_write(&icom_port->uart_port))
drivers/tty/serial/icom.c
968
uart_write_wakeup(&icom_port->uart_port);
drivers/tty/serial/icom.c
970
trace(icom_port, "XMIT_DISABLED", 0);
drivers/tty/serial/icom.c
973
static void recv_interrupt(u16 port_int_reg, struct icom_port *icom_port)
drivers/tty/serial/icom.c
976
struct tty_port *port = &icom_port->uart_port.state->port;
drivers/tty/serial/icom.c
982
trace(icom_port, "RCV_COMPLETE", 0);
drivers/tty/serial/icom.c
983
rcv_buff = icom_port->next_rcv;
drivers/tty/serial/icom.c
985
status = le16_to_cpu(icom_port->statStg->rcv[rcv_buff].flags);
drivers/tty/serial/icom.c
989
trace(icom_port, "FID_STATUS", status);
drivers/tty/serial/icom.c
990
count = le16_to_cpu(icom_port->statStg->rcv[rcv_buff].leLength);
drivers/tty/serial/icom.c
992
trace(icom_port, "RCV_COUNT", count);
drivers/tty/serial/icom.c
994
trace(icom_port, "REAL_COUNT", count);
drivers/tty/serial/icom.c
996
offset = le32_to_cpu(icom_port->statStg->rcv[rcv_buff].leBuffer) -
drivers/tty/serial/icom.c
997
icom_port->recv_buf_pci;