Searched refs:ioc3 (Results 1 - 10 of 10) sorted by relevance

/linux-4.1.27/arch/mips/sgi-ip27/
H A Dip27-console.c13 #include <asm/sn/ioc3.h>
24 struct ioc3 *ioc3; console_uart() local
28 ioc3 = (struct ioc3 *)KL_CONFIG_CH_CONS_INFO(nasid)->memory_base; console_uart()
30 return &ioc3->sregs.uarta; console_uart()
H A Dip27-init.c25 #include <asm/sn/ioc3.h>
167 struct ioc3 *ioc3; ioc3_eth_init() local
171 ioc3 = (struct ioc3 *) KL_CONFIG_CH_CONS_INFO(nid)->memory_base; ioc3_eth_init()
173 ioc3->eier = 0; ioc3_eth_init()
H A Dip27-timer.c23 #include <asm/sn/ioc3.h>
239 * kludge make this a device_initcall after ioc3 resource conflicts
/linux-4.1.27/drivers/net/ethernet/sgi/
H A Dioc3-eth.c30 #define IOC3_NAME "ioc3-eth"
65 #include <asm/sn/ioc3.h>
79 struct ioc3 *regs;
167 * to the IOC3's memory mapped registers is expected as struct ioc3 * ioc3
170 #define ioc3_r_mcr() be32_to_cpu(ioc3->mcr)
171 #define ioc3_w_mcr(v) do { ioc3->mcr = cpu_to_be32(v); } while (0)
172 #define ioc3_w_gpcr_s(v) do { ioc3->gpcr_s = cpu_to_be32(v); } while (0)
173 #define ioc3_r_emcr() be32_to_cpu(ioc3->emcr)
174 #define ioc3_w_emcr(v) do { ioc3->emcr = cpu_to_be32(v); } while (0)
175 #define ioc3_r_eisr() be32_to_cpu(ioc3->eisr)
176 #define ioc3_w_eisr(v) do { ioc3->eisr = cpu_to_be32(v); } while (0)
177 #define ioc3_r_eier() be32_to_cpu(ioc3->eier)
178 #define ioc3_w_eier(v) do { ioc3->eier = cpu_to_be32(v); } while (0)
179 #define ioc3_r_ercsr() be32_to_cpu(ioc3->ercsr)
180 #define ioc3_w_ercsr(v) do { ioc3->ercsr = cpu_to_be32(v); } while (0)
181 #define ioc3_r_erbr_h() be32_to_cpu(ioc3->erbr_h)
182 #define ioc3_w_erbr_h(v) do { ioc3->erbr_h = cpu_to_be32(v); } while (0)
183 #define ioc3_r_erbr_l() be32_to_cpu(ioc3->erbr_l)
184 #define ioc3_w_erbr_l(v) do { ioc3->erbr_l = cpu_to_be32(v); } while (0)
185 #define ioc3_r_erbar() be32_to_cpu(ioc3->erbar)
186 #define ioc3_w_erbar(v) do { ioc3->erbar = cpu_to_be32(v); } while (0)
187 #define ioc3_r_ercir() be32_to_cpu(ioc3->ercir)
188 #define ioc3_w_ercir(v) do { ioc3->ercir = cpu_to_be32(v); } while (0)
189 #define ioc3_r_erpir() be32_to_cpu(ioc3->erpir)
190 #define ioc3_w_erpir(v) do { ioc3->erpir = cpu_to_be32(v); } while (0)
191 #define ioc3_r_ertr() be32_to_cpu(ioc3->ertr)
192 #define ioc3_w_ertr(v) do { ioc3->ertr = cpu_to_be32(v); } while (0)
193 #define ioc3_r_etcsr() be32_to_cpu(ioc3->etcsr)
194 #define ioc3_w_etcsr(v) do { ioc3->etcsr = cpu_to_be32(v); } while (0)
195 #define ioc3_r_ersr() be32_to_cpu(ioc3->ersr)
196 #define ioc3_w_ersr(v) do { ioc3->ersr = cpu_to_be32(v); } while (0)
197 #define ioc3_r_etcdc() be32_to_cpu(ioc3->etcdc)
198 #define ioc3_w_etcdc(v) do { ioc3->etcdc = cpu_to_be32(v); } while (0)
199 #define ioc3_r_ebir() be32_to_cpu(ioc3->ebir)
200 #define ioc3_w_ebir(v) do { ioc3->ebir = cpu_to_be32(v); } while (0)
201 #define ioc3_r_etbr_h() be32_to_cpu(ioc3->etbr_h)
202 #define ioc3_w_etbr_h(v) do { ioc3->etbr_h = cpu_to_be32(v); } while (0)
203 #define ioc3_r_etbr_l() be32_to_cpu(ioc3->etbr_l)
204 #define ioc3_w_etbr_l(v) do { ioc3->etbr_l = cpu_to_be32(v); } while (0)
205 #define ioc3_r_etcir() be32_to_cpu(ioc3->etcir)
206 #define ioc3_w_etcir(v) do { ioc3->etcir = cpu_to_be32(v); } while (0)
207 #define ioc3_r_etpir() be32_to_cpu(ioc3->etpir)
208 #define ioc3_w_etpir(v) do { ioc3->etpir = cpu_to_be32(v); } while (0)
209 #define ioc3_r_emar_h() be32_to_cpu(ioc3->emar_h)
210 #define ioc3_w_emar_h(v) do { ioc3->emar_h = cpu_to_be32(v); } while (0)
211 #define ioc3_r_emar_l() be32_to_cpu(ioc3->emar_l)
212 #define ioc3_w_emar_l(v) do { ioc3->emar_l = cpu_to_be32(v); } while (0)
213 #define ioc3_r_ehar_h() be32_to_cpu(ioc3->ehar_h)
214 #define ioc3_w_ehar_h(v) do { ioc3->ehar_h = cpu_to_be32(v); } while (0)
215 #define ioc3_r_ehar_l() be32_to_cpu(ioc3->ehar_l)
216 #define ioc3_w_ehar_l(v) do { ioc3->ehar_l = cpu_to_be32(v); } while (0)
217 #define ioc3_r_micr() be32_to_cpu(ioc3->micr)
218 #define ioc3_w_micr(v) do { ioc3->micr = cpu_to_be32(v); } while (0)
219 #define ioc3_r_midr_r() be32_to_cpu(ioc3->midr_r)
220 #define ioc3_w_midr_r(v) do { ioc3->midr_r = cpu_to_be32(v); } while (0)
221 #define ioc3_r_midr_w() be32_to_cpu(ioc3->midr_w)
222 #define ioc3_w_midr_w(v) do { ioc3->midr_w = cpu_to_be32(v); } while (0)
229 static int nic_wait(struct ioc3 *ioc3) nic_wait() argument
240 static int nic_reset(struct ioc3 *ioc3) nic_reset() argument
245 presence = nic_wait(ioc3); nic_reset()
248 nic_wait(ioc3); nic_reset()
253 static inline int nic_read_bit(struct ioc3 *ioc3) nic_read_bit() argument
258 result = nic_wait(ioc3); nic_read_bit()
260 nic_wait(ioc3); nic_read_bit()
265 static inline void nic_write_bit(struct ioc3 *ioc3, int bit) nic_write_bit() argument
272 nic_wait(ioc3); nic_write_bit()
278 static u32 nic_read_byte(struct ioc3 *ioc3) nic_read_byte() argument
284 result = (result >> 1) | (nic_read_bit(ioc3) << 7); nic_read_byte()
292 static void nic_write_byte(struct ioc3 *ioc3, int byte) nic_write_byte() argument
300 nic_write_bit(ioc3, bit); nic_write_byte()
304 static u64 nic_find(struct ioc3 *ioc3, int *last) nic_find() argument
309 nic_reset(ioc3); nic_find()
311 nic_write_byte(ioc3, 0xf0); nic_find()
315 a = nic_read_bit(ioc3); nic_find()
316 b = nic_read_bit(ioc3); nic_find()
332 nic_write_bit(ioc3, address & (1UL << index)); nic_find()
339 nic_write_bit(ioc3, a); nic_find()
349 static int nic_init(struct ioc3 *ioc3) nic_init() argument
359 reg = nic_find(ioc3, &save); nic_init()
373 nic_reset(ioc3); nic_init()
376 nic_write_byte(ioc3, 0x55); nic_init()
378 nic_write_byte(ioc3, (reg >> (i << 3)) & 0xff); nic_init()
403 struct ioc3 *ioc3 = ip->regs; ioc3_get_eaddr_nic() local
411 if (!nic_init(ioc3)) ioc3_get_eaddr_nic()
422 nic_write_byte(ioc3, 0xf0); ioc3_get_eaddr_nic()
423 nic_write_byte(ioc3, 0x00); ioc3_get_eaddr_nic()
424 nic_write_byte(ioc3, 0x00); ioc3_get_eaddr_nic()
427 nic[i] = nic_read_byte(ioc3); ioc3_get_eaddr_nic()
448 struct ioc3 *ioc3 = ip->regs; __ioc3_set_mac_address() local
476 struct ioc3 *ioc3 = ip->regs; ioc3_mdio_read() local
488 struct ioc3 *ioc3 = ip->regs; ioc3_mdio_write() local
501 struct ioc3 *ioc3 = ip->regs; ioc3_get_stats() local
579 struct ioc3 *ioc3 = ip->regs; ioc3_rx() local
656 struct ioc3 *ioc3 = ip->regs; ioc3_tx() local
735 struct ioc3 *ioc3 = ip->regs; ioc3_interrupt() local
759 struct ioc3 *ioc3 = ip->regs; ioc3_setup_duplex() local
946 struct ioc3 *ioc3 = ip->regs; ioc3_init_rings() local
976 struct ioc3 *ioc3 = ip->regs; ioc3_ssram_disc() local
977 volatile u32 *ssram0 = &ioc3->ssram[0x0000]; ioc3_ssram_disc()
978 volatile u32 *ssram1 = &ioc3->ssram[0x4000]; ioc3_ssram_disc()
999 struct ioc3 *ioc3 = ip->regs; ioc3_init() local
1036 struct ioc3 *ioc3 = ip->regs; ioc3_stop() local
1119 * addresses on a partitioned machine. Since we currently use the ioc3
1121 * driver uses for pci/pnp ports (there is an entry for the SGI ioc3
1124 * port 0. So, we just use one serial port from each ioc3 (since the
1134 * around ioc3 oddities in this respect.
1171 static void ioc3_serial_probe(struct pci_dev *pdev, struct ioc3 *ioc3) ioc3_serial_probe() argument
1189 ioc3->gpcr_s = GPCR_UARTA_MODESEL | GPCR_UARTB_MODESEL; ioc3_serial_probe()
1190 ioc3->gpcr_s; ioc3_serial_probe()
1191 ioc3->gppr_6 = 0; ioc3_serial_probe()
1192 ioc3->gppr_6; ioc3_serial_probe()
1193 ioc3->gppr_7 = 0; ioc3_serial_probe()
1194 ioc3->gppr_7; ioc3_serial_probe()
1195 ioc3->sscr_a = ioc3->sscr_a & ~SSCR_DMA_EN; ioc3_serial_probe()
1196 ioc3->sscr_a; ioc3_serial_probe()
1197 ioc3->sscr_b = ioc3->sscr_b & ~SSCR_DMA_EN; ioc3_serial_probe()
1198 ioc3->sscr_b; ioc3_serial_probe()
1200 ioc3->sio_iec &= ~ (SIO_IR_SA_TX_MT | SIO_IR_SA_RX_FULL | ioc3_serial_probe()
1204 ioc3->sio_iec |= SIO_IR_SA_INT; ioc3_serial_probe()
1205 ioc3->sscr_a = 0; ioc3_serial_probe()
1206 ioc3->sio_iec &= ~ (SIO_IR_SB_TX_MT | SIO_IR_SB_RX_FULL | ioc3_serial_probe()
1210 ioc3->sio_iec |= SIO_IR_SB_INT; ioc3_serial_probe()
1211 ioc3->sscr_b = 0; ioc3_serial_probe()
1213 ioc3_8250_register(&ioc3->sregs.uarta); ioc3_serial_probe()
1214 ioc3_8250_register(&ioc3->sregs.uartb); ioc3_serial_probe()
1236 struct ioc3 *ioc3; ioc3_probe() local
1273 err = pci_request_regions(pdev, "ioc3"); ioc3_probe()
1285 ioc3 = (struct ioc3 *) ioremap(ioc3_base, ioc3_size); ioc3_probe()
1286 if (!ioc3) { ioc3_probe()
1292 ip->regs = ioc3; ioc3_probe()
1295 ioc3_serial_probe(pdev, ioc3); ioc3_probe()
1315 printk(KERN_CRIT "ioc3-eth(%s): Didn't find a PHY, goodbye.\n", ioc3_probe()
1373 struct ioc3 *ioc3 = ip->regs; ioc3_remove_one() local
1378 iounmap(ioc3); ioc3_remove_one()
1394 .name = "ioc3-eth",
1404 struct ioc3 *ioc3 = ip->regs; ioc3_start_xmit() local
1634 struct ioc3 *ioc3 = ip->regs; ioc3_set_multicast_list() local
/linux-4.1.27/include/linux/
H A Dioc3.h12 #include <asm/sn/ioc3.h>
30 struct ioc3 __iomem *vma; /* pointer to registers */
65 int reset_mask; /* non-zero if you want the ioc3.c module to reset interrupts */
/linux-4.1.27/arch/ia64/include/asm/sn/
H A Dioc3.h55 struct ioc3 { struct
66 * modify them use the functions in ioc3.c
90 /* These don't exist on the ioc3 serial card... */
/linux-4.1.27/drivers/sn/
H A Dioc3.c17 #include <linux/ioc3.h>
656 if (!request_mem_region(idd->pma, IOC3_PCI_SIZE, "ioc3")) { ioc3_probe()
707 "ioc3-eth", (void *)idd)) { ioc3_probe()
715 "ioc3-io", (void *)idd)) { ioc3_probe()
724 "ioc3", (void *)idd)) { ioc3_probe()
/linux-4.1.27/drivers/rtc/
H A Drtc-m48t35.c159 * kludge: remove the #ifndef after ioc3 resource m48t35_probe()
/linux-4.1.27/drivers/tty/serial/
H A Dioc3_serial.c10 * This file contains a module version of the ioc3 serial driver. This
23 #include <linux/ioc3.h>
27 * Interesting things about the ioc3
376 * port_init - Initialize the sio and ioc3 hardware for a given port
1968 * @idd: ioc3 driver data for this submodule
2006 * @idd: ioc3 driver data for this card
/linux-4.1.27/arch/mips/include/asm/sn/
H A Dioc3.h70 struct ioc3 { struct

Completed in 406 milliseconds