Lines Matching refs:port

644 static inline int port_is_active(struct ioc4_port *port,  in port_is_active()  argument
647 if (port) { in port_is_active()
648 if ((port->ip_flags & PORT_ACTIVE) in port_is_active()
649 && (port->ip_port == uart_port)) in port_is_active()
707 static int set_baud(struct ioc4_port *port, int baud) in set_baud() argument
715 divisor = SER_DIVISOR(baud, port->ip_pci_bus_speed); in set_baud()
718 actual_baud = DIVISOR_TO_BAUD(divisor, port->ip_pci_bus_speed); in set_baud()
728 uart = port->ip_uart_regs; in set_baud()
747 struct ioc4_port *port; in get_ioc4_port() local
753 port = control->ic_port[port_num].icp_port; in get_ioc4_port()
754 if (!port) in get_ioc4_port()
759 if (the_port == port->ip_all_ports in get_ioc4_port()
763 port->ip_port = the_port; in get_ioc4_port()
765 return port; in get_ioc4_port()
827 static int inline port_init(struct ioc4_port *port) in port_init() argument
830 struct hooks *hooks = port->ip_hooks; in port_init()
834 writel(IOC4_SSCR_RESET, &port->ip_serial_regs->sscr); in port_init()
838 sio_cr = readl(&port->ip_mem->sio_cr.raw); in port_init()
842 writel(0, &port->ip_serial_regs->sscr); in port_init()
847 port->ip_tx_prod = readl(&port->ip_serial_regs->stcir) & PROD_CONS_MASK; in port_init()
848 writel(port->ip_tx_prod, &port->ip_serial_regs->stpir); in port_init()
849 port->ip_rx_cons = readl(&port->ip_serial_regs->srpir) & PROD_CONS_MASK; in port_init()
850 writel(port->ip_rx_cons | IOC4_SRCIR_ARM, &port->ip_serial_regs->srcir); in port_init()
853 uart = port->ip_uart_regs; in port_init()
858 set_baud(port, port->ip_baud); in port_init()
877 if (port->ip_hooks == &hooks_array[0] in port_init()
878 || port->ip_hooks == &hooks_array[2]) { in port_init()
883 if (port->ip_hooks == &hooks_array[0]) { in port_init()
884 sbbr_l = &port->ip_serial->sbbr01_l; in port_init()
885 sbbr_h = &port->ip_serial->sbbr01_h; in port_init()
887 sbbr_l = &port->ip_serial->sbbr23_l; in port_init()
888 sbbr_h = &port->ip_serial->sbbr23_h; in port_init()
891 ring_pci_addr = (unsigned long __iomem)port->ip_dma_ringbuf; in port_init()
900 writel(IOC4_SRTR_HZ / 100, &port->ip_serial_regs->srtr); in port_init()
904 port->ip_sscr = (ENTRIES_PER_RING * 3 / 4); in port_init()
905 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in port_init()
908 write_ireg(port->ip_ioc4_soft, hooks->intr_clear, in port_init()
910 port->ip_ienb &= ~hooks->intr_clear; in port_init()
911 writel(hooks->intr_clear, &port->ip_mem->sio_ir.raw); in port_init()
923 struct ioc4_port *port = (struct ioc4_port *)arg; in handle_dma_error_intr() local
924 struct hooks *hooks = port->ip_hooks; in handle_dma_error_intr()
927 spin_lock_irqsave(&port->ip_lock, flags); in handle_dma_error_intr()
930 writel(hooks->intr_dma_error, &port->ip_mem->other_ir.raw); in handle_dma_error_intr()
932 if (readl(&port->ip_mem->pci_err_addr_l.raw) & IOC4_PCI_ERR_ADDR_VLD) { in handle_dma_error_intr()
936 (((uint64_t)readl(&port->ip_mem->pci_err_addr_h) in handle_dma_error_intr()
938 | readl(&port->ip_mem->pci_err_addr_l.raw)) in handle_dma_error_intr()
940 ((char)(readl(&port->ip_mem->pci_err_addr_l.raw) & in handle_dma_error_intr()
942 (readl(&port->ip_mem->pci_err_addr_l.raw) in handle_dma_error_intr()
946 if (readl(&port->ip_mem->pci_err_addr_l.raw) in handle_dma_error_intr()
952 spin_unlock_irqrestore(&port->ip_lock, flags); in handle_dma_error_intr()
955 write_ireg(port->ip_ioc4_soft, hooks->intr_dma_error, IOC4_W_IES, in handle_dma_error_intr()
1053 struct ioc4_port *port; in ioc4_attach_local() local
1081 port = kzalloc(sizeof(struct ioc4_port), GFP_KERNEL); in ioc4_attach_local()
1082 if (!port) { in ioc4_attach_local()
1087 spin_lock_init(&port->ip_lock); in ioc4_attach_local()
1092 ports[port_number] = port; in ioc4_attach_local()
1095 control->ic_port[port_number].icp_port = port; in ioc4_attach_local()
1096 port->ip_ioc4_soft = soft; in ioc4_attach_local()
1097 port->ip_pdev = pdev; in ioc4_attach_local()
1098 port->ip_ienb = 0; in ioc4_attach_local()
1104 port->ip_pci_bus_speed = IOC4_SER_XIN_CLK_66; in ioc4_attach_local()
1106 port->ip_pci_bus_speed = IOC4_SER_XIN_CLK_33; in ioc4_attach_local()
1108 port->ip_baud = 9600; in ioc4_attach_local()
1109 port->ip_control = control; in ioc4_attach_local()
1110 port->ip_mem = ioc4_misc; in ioc4_attach_local()
1111 port->ip_serial = ioc4_serial; in ioc4_attach_local()
1114 port->ip_hooks = &hooks_array[port_number]; in ioc4_attach_local()
1121 port->ip_serial_regs = &(port->ip_serial->port_0); in ioc4_attach_local()
1122 port->ip_uart_regs = &(port->ip_serial->uart_0); in ioc4_attach_local()
1125 port->ip_serial_regs = &(port->ip_serial->port_1); in ioc4_attach_local()
1126 port->ip_uart_regs = &(port->ip_serial->uart_1); in ioc4_attach_local()
1129 port->ip_serial_regs = &(port->ip_serial->port_2); in ioc4_attach_local()
1130 port->ip_uart_regs = &(port->ip_serial->uart_2); in ioc4_attach_local()
1134 port->ip_serial_regs = &(port->ip_serial->port_3); in ioc4_attach_local()
1135 port->ip_uart_regs = &(port->ip_serial->uart_3); in ioc4_attach_local()
1142 port->ip_dma_ringbuf = in ioc4_attach_local()
1144 port->ip_cpu_ringbuf = in ioc4_attach_local()
1146 port->ip_inring = RING(port, RX_1_OR_3); in ioc4_attach_local()
1147 port->ip_outring = RING(port, TX_1_OR_3); in ioc4_attach_local()
1150 if (port->ip_dma_ringbuf == 0) { in ioc4_attach_local()
1151 port->ip_cpu_ringbuf = pci_alloc_consistent in ioc4_attach_local()
1153 &port->ip_dma_ringbuf); in ioc4_attach_local()
1156 BUG_ON(!((((int64_t)port->ip_dma_ringbuf) & in ioc4_attach_local()
1161 (void *)port->ip_cpu_ringbuf, in ioc4_attach_local()
1162 (void *)port->ip_dma_ringbuf)); in ioc4_attach_local()
1163 port->ip_inring = RING(port, RX_0_OR_2); in ioc4_attach_local()
1164 port->ip_outring = RING(port, TX_0_OR_2); in ioc4_attach_local()
1168 port_number, (void *)port, (void *)control)); in ioc4_attach_local()
1170 (void *)port->ip_serial_regs, in ioc4_attach_local()
1171 (void *)port->ip_uart_regs)); in ioc4_attach_local()
1174 port_init(port); in ioc4_attach_local()
1179 port_number, (void *)port, in ioc4_attach_local()
1180 (void *)port->ip_inring, in ioc4_attach_local()
1181 (void *)port->ip_outring)); in ioc4_attach_local()
1186 handle_intr, port); in ioc4_attach_local()
1190 handle_dma_error_intr, port); in ioc4_attach_local()
1200 static void enable_intrs(struct ioc4_port *port, uint32_t mask) in enable_intrs() argument
1202 struct hooks *hooks = port->ip_hooks; in enable_intrs()
1204 if ((port->ip_ienb & mask) != mask) { in enable_intrs()
1205 write_ireg(port->ip_ioc4_soft, mask, IOC4_W_IES, in enable_intrs()
1207 port->ip_ienb |= mask; in enable_intrs()
1210 if (port->ip_ienb) in enable_intrs()
1211 write_ireg(port->ip_ioc4_soft, hooks->intr_dma_error, in enable_intrs()
1219 static inline int local_open(struct ioc4_port *port) in local_open() argument
1223 port->ip_flags = PORT_ACTIVE; in local_open()
1226 if (port->ip_sscr & IOC4_SSCR_DMA_EN) { in local_open()
1227 writel(port->ip_sscr | IOC4_SSCR_DMA_PAUSE, in local_open()
1228 &port->ip_serial_regs->sscr); in local_open()
1229 while((readl(&port->ip_serial_regs-> sscr) in local_open()
1233 port->ip_flags = PORT_INACTIVE; in local_open()
1245 &port->ip_uart_regs->i4u_fcr); in local_open()
1247 writeb(UART_LCR_WLEN8, &port->ip_uart_regs->i4u_lcr); in local_open()
1253 port->ip_sscr &= ~IOC4_SSCR_RX_THRESHOLD; in local_open()
1254 port->ip_sscr |= 1; /* default threshold */ in local_open()
1259 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in local_open()
1260 port->ip_tx_lowat = 1; in local_open()
1269 static inline int set_rx_timeout(struct ioc4_port *port, int timeout) in set_rx_timeout() argument
1273 port->ip_rx_timeout = timeout; in set_rx_timeout()
1282 threshold = timeout * port->ip_baud / 4000; in set_rx_timeout()
1289 port->ip_sscr &= ~IOC4_SSCR_RX_THRESHOLD; in set_rx_timeout()
1290 port->ip_sscr |= threshold; in set_rx_timeout()
1292 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in set_rx_timeout()
1301 writel(timeout, &port->ip_serial_regs->srtr); in set_rx_timeout()
1315 config_port(struct ioc4_port *port, in config_port() argument
1324 if (set_baud(port, baud)) in config_port()
1345 if (port->ip_sscr & IOC4_SSCR_DMA_EN) { in config_port()
1346 writel(port->ip_sscr | IOC4_SSCR_DMA_PAUSE, in config_port()
1347 &port->ip_serial_regs->sscr); in config_port()
1348 while((readl(&port->ip_serial_regs->sscr) in config_port()
1357 lcr = readb(&port->ip_uart_regs->i4u_lcr); in config_port()
1375 writeb(lcr, &port->ip_uart_regs->i4u_lcr); in config_port()
1378 if (port->ip_sscr & IOC4_SSCR_DMA_EN) { in config_port()
1379 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in config_port()
1381 port->ip_baud = baud; in config_port()
1387 port->ip_tx_lowat = (TX_LOWAT_CHARS(baud) + 3) / 4; in config_port()
1388 if (port->ip_tx_lowat == 0) in config_port()
1389 port->ip_tx_lowat = 1; in config_port()
1391 set_rx_timeout(port, 2); in config_port()
1403 static inline int do_write(struct ioc4_port *port, char *buf, int len) in do_write() argument
1408 struct hooks *hooks = port->ip_hooks; in do_write()
1412 prod_ptr = port->ip_tx_prod; in do_write()
1413 cons_ptr = readl(&port->ip_serial_regs->stcir) & PROD_CONS_MASK; in do_write()
1414 outring = port->ip_outring; in do_write()
1446 if (!(port->ip_flags & LOWAT_WRITTEN) && in do_write()
1448 <= port->ip_tx_lowat in do_write()
1450 port->ip_flags |= LOWAT_WRITTEN; in do_write()
1460 if (total > 0 && !(port->ip_sscr & IOC4_SSCR_DMA_EN)) { in do_write()
1461 port->ip_sscr |= IOC4_SSCR_DMA_EN; in do_write()
1462 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in do_write()
1468 if (!uart_tx_stopped(port->ip_port)) { in do_write()
1469 writel(prod_ptr, &port->ip_serial_regs->stpir); in do_write()
1475 enable_intrs(port, hooks->intr_tx_mt); in do_write()
1477 port->ip_tx_prod = prod_ptr; in do_write()
1486 static void disable_intrs(struct ioc4_port *port, uint32_t mask) in disable_intrs() argument
1488 struct hooks *hooks = port->ip_hooks; in disable_intrs()
1490 if (port->ip_ienb & mask) { in disable_intrs()
1491 write_ireg(port->ip_ioc4_soft, mask, IOC4_W_IEC, in disable_intrs()
1493 port->ip_ienb &= ~mask; in disable_intrs()
1496 if (!port->ip_ienb) in disable_intrs()
1497 write_ireg(port->ip_ioc4_soft, hooks->intr_dma_error, in disable_intrs()
1507 static int set_notification(struct ioc4_port *port, int mask, int set_on) in set_notification() argument
1509 struct hooks *hooks = port->ip_hooks; in set_notification()
1528 enable_intrs(port, intrbits); in set_notification()
1529 port->ip_notify |= mask; in set_notification()
1530 port->ip_sscr |= sscrbits; in set_notification()
1532 disable_intrs(port, intrbits); in set_notification()
1533 port->ip_notify &= ~mask; in set_notification()
1534 port->ip_sscr &= ~sscrbits; in set_notification()
1541 if (port->ip_notify & (N_DATA_READY | N_DDCD)) in set_notification()
1542 port->ip_sscr |= IOC4_SSCR_DMA_EN; in set_notification()
1543 else if (!(port->ip_ienb & hooks->intr_tx_mt)) in set_notification()
1544 port->ip_sscr &= ~IOC4_SSCR_DMA_EN; in set_notification()
1546 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in set_notification()
1559 struct ioc4_port *port = get_ioc4_port(the_port, 0); in set_mcr() local
1564 if (!port) in set_mcr()
1568 if (port->ip_sscr & IOC4_SSCR_DMA_EN) { in set_mcr()
1569 writel(port->ip_sscr | IOC4_SSCR_DMA_PAUSE, in set_mcr()
1570 &port->ip_serial_regs->sscr); in set_mcr()
1571 while ((readl(&port->ip_serial_regs->sscr) in set_mcr()
1578 shadow = readl(&port->ip_serial_regs->shadow); in set_mcr()
1585 writeb(mcr, &port->ip_uart_regs->i4u_mcr); in set_mcr()
1586 writel(shadow, &port->ip_serial_regs->shadow); in set_mcr()
1589 if (port->ip_sscr & IOC4_SSCR_DMA_EN) { in set_mcr()
1590 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in set_mcr()
1600 static int ioc4_set_proto(struct ioc4_port *port, int proto) in ioc4_set_proto() argument
1602 struct hooks *hooks = port->ip_hooks; in ioc4_set_proto()
1607 writel(0, (&port->ip_mem->gppr[hooks->rs422_select_pin].raw)); in ioc4_set_proto()
1612 writel(1, (&port->ip_mem->gppr[hooks->rs422_select_pin].raw)); in ioc4_set_proto()
1631 struct ioc4_port *port = get_ioc4_port(the_port, 0); in transmit_chars() local
1636 if (!port) in transmit_chars()
1640 tty = state->port.tty; in transmit_chars()
1644 set_notification(port, N_ALL_OUTPUT, 0); in transmit_chars()
1655 result = do_write(port, start, xmit_count); in transmit_chars()
1671 set_notification(port, N_OUTPUT_LOWAT, 0); in transmit_chars()
1673 set_notification(port, N_OUTPUT_LOWAT, 1); in transmit_chars()
1687 struct ioc4_port *port = get_ioc4_port(the_port, 0); in ioc4_change_speed() local
1744 state->port.low_latency = 1; in ioc4_change_speed()
1760 port->ip_sscr |= IOC4_SSCR_HFC_EN; in ioc4_change_speed()
1763 port->ip_sscr &= ~IOC4_SSCR_HFC_EN; in ioc4_change_speed()
1765 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in ioc4_change_speed()
1771 __func__, (void *)port, cflag, baud, new_data, new_stop, in ioc4_change_speed()
1774 if ((config_port(port, baud, /* baud */ in ioc4_change_speed()
1779 set_notification(port, the_port->ignore_status_mask, 1); in ioc4_change_speed()
1789 struct ioc4_port *port; in ic4_startup_local() local
1795 port = get_ioc4_port(the_port, 0); in ic4_startup_local()
1796 if (!port) in ic4_startup_local()
1801 local_open(port); in ic4_startup_local()
1804 ioc4_set_proto(port, the_port->mapbase); in ic4_startup_local()
1807 ioc4_change_speed(the_port, &state->port.tty->termios, in ic4_startup_local()
1837 struct ioc4_port *port = (struct ioc4_port *)arg; in handle_intr() local
1838 struct hooks *hooks = port->ip_hooks; in handle_intr()
1860 spin_lock_irqsave(&port->ip_lock, flags); in handle_intr()
1878 &port->ip_mem->sio_ir.raw); in handle_intr()
1880 shadow = readl(&port->ip_serial_regs->shadow); in handle_intr()
1882 if ((port->ip_notify & N_DDCD) in handle_intr()
1884 && (port->ip_port)) { in handle_intr()
1885 the_port = port->ip_port; in handle_intr()
1888 (&the_port->state->port.delta_msr_wait); in handle_intr()
1889 } else if ((port->ip_notify & N_DDCD) in handle_intr()
1892 port->ip_flags |= DCD_ON; in handle_intr()
1900 &port->ip_mem->sio_ir.raw); in handle_intr()
1902 shadow = readl(&port->ip_serial_regs->shadow); in handle_intr()
1904 if ((port->ip_notify & N_DCTS) in handle_intr()
1905 && (port->ip_port)) { in handle_intr()
1906 the_port = port->ip_port; in handle_intr()
1910 (&the_port->state->port.delta_msr_wait); in handle_intr()
1921 &port->ip_mem->sio_ir.raw); in handle_intr()
1923 if ((port->ip_notify & N_DATA_READY) in handle_intr()
1924 && (port->ip_port)) { in handle_intr()
1926 receive_chars(port->ip_port); in handle_intr()
1933 if ((port->ip_notify & N_DATA_READY) in handle_intr()
1934 && port->ip_port) { in handle_intr()
1936 receive_chars(port->ip_port); in handle_intr()
1948 if ((sio_ir = PENDING(port)) & hooks->intr_rx_high) { in handle_intr()
1949 if ((port->ip_flags & READ_ABORTED) == 0) { in handle_intr()
1950 port->ip_ienb &= ~hooks->intr_rx_high; in handle_intr()
1951 port->ip_flags |= INPUT_HIGH; in handle_intr()
1963 port->ip_flags &= ~LOWAT_WRITTEN; in handle_intr()
1967 &port->ip_mem->sio_ir.raw); in handle_intr()
1969 if (port->ip_notify & N_OUTPUT_LOWAT) in handle_intr()
1970 ioc4_cb_output_lowat(port->ip_port); in handle_intr()
1982 if (port->ip_notify & N_OUTPUT_LOWAT) { in handle_intr()
1983 ioc4_cb_output_lowat(port->ip_port); in handle_intr()
1989 sio_ir = PENDING(port); in handle_intr()
2002 if (!(port->ip_notify in handle_intr()
2004 BUG_ON(!(port->ip_sscr in handle_intr()
2006 port->ip_sscr &= ~IOC4_SSCR_DMA_EN; in handle_intr()
2007 writel(port->ip_sscr, in handle_intr()
2008 &port->ip_serial_regs->sscr); in handle_intr()
2012 port->ip_ienb &= ~hooks->intr_tx_mt; in handle_intr()
2015 sio_ir = PENDING(port); in handle_intr()
2026 spin_unlock_irqrestore(&port->ip_lock, flags); in handle_intr()
2033 write_ireg(port->ip_ioc4_soft, port->ip_ienb, IOC4_W_IES, in handle_intr()
2070 struct ioc4_port *port = get_ioc4_port(the_port, 0); in do_read() local
2079 BUG_ON(!port); in do_read()
2080 hooks = port->ip_hooks; in do_read()
2103 writel(port->ip_rx_cons | IOC4_SRCIR_ARM, &port->ip_serial_regs->srcir); in do_read()
2105 prod_ptr = readl(&port->ip_serial_regs->srpir) & PROD_CONS_MASK; in do_read()
2106 cons_ptr = port->ip_rx_cons; in do_read()
2114 if (!(port->ip_sscr & IOC4_SSCR_DMA_EN)) { in do_read()
2115 port->ip_sscr |= IOC4_SSCR_DMA_EN; in do_read()
2125 writel(port->ip_sscr | IOC4_SSCR_RX_DRAIN, in do_read()
2126 &port->ip_serial_regs->sscr); in do_read()
2127 prod_ptr = readl(&port->ip_serial_regs->srpir) in do_read()
2139 while (readl(&port->ip_serial_regs->sscr) & in do_read()
2149 prod_ptr = readl(&port->ip_serial_regs->srpir) in do_read()
2153 port->ip_sscr &= ~IOC4_SSCR_DMA_EN; in do_read()
2154 writel(port->ip_sscr, &port->ip_serial_regs->sscr); in do_read()
2157 inring = port->ip_inring; in do_read()
2158 port->ip_flags &= ~READ_ABORTED; in do_read()
2184 port->ip_flags |= READ_ABORTED; in do_read()
2195 && (port->ip_notify & N_DDCD)) { in do_read()
2198 if ((port->ip_flags & DCD_ON) in do_read()
2212 port->ip_flags &= ~DCD_ON; in do_read()
2235 &port->ip_serial_regs->srcir); in do_read()
2236 port->ip_rx_cons = cons_ptr; in do_read()
2239 if ((port->ip_notify & N_DDCD) in do_read()
2240 && port->ip_port) { in do_read()
2244 port.delta_msr_wait); in do_read()
2256 && (port->ip_notify & N_OVERRUN_ERROR)) { in do_read()
2268 && (port->ip_notify & (N_PARITY_ERROR in do_read()
2283 (port->ip_notify & N_PARITY_ERROR)) { in do_read()
2288 (port->ip_notify & N_FRAMING_ERROR)){ in do_read()
2293 && (port->ip_notify & N_BREAK)) { in do_read()
2322 writel(cons_ptr, &port->ip_serial_regs->srcir); in do_read()
2323 port->ip_rx_cons = cons_ptr; in do_read()
2328 if ((port->ip_flags & INPUT_HIGH) && (((prod_ptr - cons_ptr) in do_read()
2329 & PROD_CONS_MASK) < ((port->ip_sscr & in do_read()
2332 port->ip_flags &= ~INPUT_HIGH; in do_read()
2333 enable_intrs(port, hooks->intr_rx_high); in do_read()
2356 request_count = tty_buffer_request_room(&state->port, IOC4_MAX_CHARS); in receive_chars()
2362 tty_insert_flip_string(&state->port, ch, read_count); in receive_chars()
2369 tty_flip_buffer_push(&state->port); in receive_chars()
2392 struct ioc4_port *port = get_ioc4_port(the_port, 0); in ic4_tx_empty() local
2395 if (port_is_active(port, the_port)) { in ic4_tx_empty()
2396 if (readl(&port->ip_serial_regs->shadow) & IOC4_SHADOW_TEMT) in ic4_tx_empty()
2409 struct ioc4_port *port = get_ioc4_port(the_port, 0); in ic4_stop_tx() local
2411 if (port_is_active(port, the_port)) in ic4_stop_tx()
2412 set_notification(port, N_OUTPUT_LOWAT, 0); in ic4_stop_tx()
2432 struct ioc4_port *port; in ic4_shutdown() local
2435 port = get_ioc4_port(the_port, 0); in ic4_shutdown()
2436 if (!port) in ic4_shutdown()
2440 port->ip_port = NULL; in ic4_shutdown()
2442 wake_up_interruptible(&state->port.delta_msr_wait); in ic4_shutdown()
2444 if (state->port.tty) in ic4_shutdown()
2445 set_bit(TTY_IO_ERROR, &state->port.tty->flags); in ic4_shutdown()
2448 set_notification(port, N_ALL, 0); in ic4_shutdown()
2449 port->ip_flags = PORT_INACTIVE; in ic4_shutdown()
2462 struct ioc4_port *port; in ic4_set_mctrl() local
2464 port = get_ioc4_port(the_port, 0); in ic4_set_mctrl()
2465 if (!port_is_active(port, the_port)) in ic4_set_mctrl()
2489 struct ioc4_port *port = get_ioc4_port(the_port, 0); in ic4_get_mctrl() local
2493 if (!port_is_active(port, the_port)) in ic4_get_mctrl()
2496 shadow = readl(&port->ip_serial_regs->shadow); in ic4_get_mctrl()
2513 struct ioc4_port *port = get_ioc4_port(the_port, 0); in ic4_start_tx() local
2515 if (port_is_active(port, the_port)) { in ic4_start_tx()
2516 set_notification(port, N_OUTPUT_LOWAT, 1); in ic4_start_tx()
2517 enable_intrs(port, port->ip_hooks->intr_tx_mt); in ic4_start_tx()
2539 struct ioc4_port *port; in ic4_startup() local
2546 port = get_ioc4_port(the_port, 1); in ic4_startup()
2547 if (!port) in ic4_startup()
2551 control = port->ip_control; in ic4_startup()
2553 port->ip_port = NULL; in ic4_startup()
2587 static int ic4_request_port(struct uart_port *port) in ic4_request_port() argument
2644 struct ioc4_port *port; in ioc4_serial_remove_one() local
2672 port = control->ic_port[port_num].icp_port; in ioc4_serial_remove_one()
2674 if (!(port_num & 1) && port) { in ioc4_serial_remove_one()
2675 pci_free_consistent(port->ip_pdev, in ioc4_serial_remove_one()
2677 port->ip_cpu_ringbuf, in ioc4_serial_remove_one()
2678 port->ip_dma_ringbuf); in ioc4_serial_remove_one()
2679 kfree(port); in ioc4_serial_remove_one()
2708 struct ioc4_port *port; in ioc4_serial_core_attach() local
2733 port = control->ic_port[port_num].icp_port; in ioc4_serial_core_attach()
2734 port->ip_all_ports[port_type_idx] = the_port; in ioc4_serial_core_attach()
2738 (void *)port, in ioc4_serial_core_attach()