Searched refs:IOP (Results 1 - 41 of 41) sorted by relevance

/linux-4.4.14/arch/m68k/include/asm/
H A Dmac_iop.h2 * I/O Processor (IOP) defines and structures, mostly snagged from A/UX
21 /* IOP status/control register bits: */
25 #define IOP_RUN 0x04 /* set to 0 to reset IOP chip */
26 #define IOP_IRQ 0x08 /* generate IRQ to IOP if 1 */
27 #define IOP_INT0 0x10 /* intr priority from IOP to host */
28 #define IOP_INT1 0x20 /* intr priority from IOP to host */
37 /* IOP reference numbers, used by the globally-visible iop_xxx functions */
42 /* IOP channel states */
49 /* IOP message status codes */
57 /* IOP memory addresses of the members of the mac_iop_kernel structure. */
71 * IOP Control registers, staggered because in usual Apple style they were
136 /* This structure is used to track IOP messages in the Linux kernel */
140 uint iop_num; /* IOP number */
H A Dadb_iop.h2 * ADB through the IOP
6 /* IOP number and channel number for ADB */
H A Dmac_via.h34 * VIA1A_vSccWrReq not available and that VIA1A_vSync has moved to an IOP.
/linux-4.4.14/arch/m68k/mac/
H A Diop.c2 * I/O Processor (IOP) management
16 * The IOP chips are used in the IIfx and some Quadras (900, 950) to manage
19 * 990429 (jmt) - Initial implementation, just enough to knock the SCC IOP
22 * 990603 (jmt) - Added code to grab the correct ISM IOP interrupt for OSS
26 * 990605 (jmt) - Rearranged things a bit wrt IOP detection; iop_present is
27 * gone, IOP base addresses are now in an array and the
28 * globally-visible functions take an IOP number instead of an
33 * IOP. The trick now is figuring out the message formats.
41 * unsolicited messages from the IOP (and our replies to them
45 * 990729 (jmt) - Added passing of pt_regs structure to IOP handlers. This is
51 * IOP hasn't died.
52 * o Some of the IOP manager routines need better error checking and
58 * IOP Message Passing 101
62 * a shared memory area in the IOP RAM. Each IOP has seven "channels"; each
63 * channel is conneced to a specific software driver on the IOP. For example
64 * on the SCC IOP there is one channel for each serial port. Each channel has
69 * buffer, set the state to MSG_NEW and signal the IOP by setting the IRQ flag
70 * in the IOP control to 1. The IOP will move the state to MSG_RCVD when it
76 * To receive message from the IOP the same procedure is used except the roles
77 * are reversed. That is, the IOP puts message in the channel with a state of
80 * has been placed back in the receive channel. The IOP will then reset the
84 * interrupt level; they are distinguished by a pair of bits in the IOP status
85 * register. The IOP will raise INT0 when one or more messages in the send
96 * a message is received on that IOP/channel combination. The handlers are
98 * from the IOP. The message state will be in MSG_RCVD while the handler runs;
101 * the IOP. This two-step process is provided to allow the handler to defer
132 * IOP structures for the two IOPs
134 * The SCC IOP controls both serial ports (A and B) as its two functions.
135 * The ISM IOP controls the SWIM (floppy drive) and ADB.
141 * IOP message queues
230 * the serial IOP can be placed into bypass mode _before_ we try to
271 printk("IOP: detected SCC IOP at %p\n", iop_base[IOP_NUM_SCC]); iop_init()
274 printk("IOP: detected ISM IOP at %p\n", iop_base[IOP_NUM_ISM]); iop_init()
305 "ISM IOP", (void *)IOP_NUM_ISM)) iop_register_interrupts()
306 pr_err("Couldn't register ISM IOP interrupt\n"); iop_register_interrupts()
308 if (request_irq(IRQ_VIA2_0, iop_ism_irq, 0, "ISM IOP", iop_register_interrupts()
310 pr_err("Couldn't register ISM IOP interrupt\n"); iop_register_interrupts()
313 printk("IOP: oh my god, they killed the ISM IOP!\n"); iop_register_interrupts()
315 printk("IOP: the ISM IOP seems to be alive.\n"); iop_register_interrupts()
321 * Register or unregister a listener for a specific IOP and channel
343 * notifying the IOP.
514 * Upload code to the shared RAM of an IOP.
530 * Download code from the shared RAM of an IOP.
546 * Compare the code in the shared RAM of an IOP with a copy in system memory
568 * Handle an ISM IOP interrupt
H A Dmacints.c56 * 1 - ISM IOP (ADB)
62 * 4 - SCC IOP
H A Doss.c14 * since we now have a functional IOP manager.
/linux-4.4.14/drivers/macintosh/
H A Dadb-iop.c2 * I/O Processor (IOP) ADB Driver
57 "ISM IOP",
75 * Completion routine for ADB commands sent to the IOP.
96 * Listen for ADB messages from the IOP.
126 /* We need to send back a timeout packet to the IOP to shut */ adb_iop_listen()
155 * Start sending an ADB packet, IOP style
157 * There isn't much to do other than hand the packet over to the IOP
183 /* The IOP takes MacII-style packets, so */ adb_iop_start()
197 /* Now send it. The IOP manager will call adb_iop_complete */ adb_iop_start()
212 printk("adb: IOP ISM driver v0.4 for Unified ADB.\n"); adb_iop_init()
/linux-4.4.14/arch/arm/plat-iop/
H A Dtime.c39 * IOP clocksource (free-running timer 1).
55 * IOP sched_clock() implementation via its clocksource.
63 * IOP clockevents (interrupting timer 0).
144 .name = "IOP Timer Tick",
H A Dcp6.c2 * IOP Coprocessor-6 access handler
/linux-4.4.14/arch/m68k/include/uapi/asm/
H A Dbootinfo-mac.h44 #define BI_MAC_SCCTYPE 0x801c /* Mac SCC serial type (normal, IOP) */
48 #define BI_MAC_IOP_SWIM 0x8020 /* Mac SWIM floppy IOP */
49 #define BI_MAC_IOP_ADB 0x8021 /* Mac ADB IOP */
/linux-4.4.14/include/uapi/linux/
H A Di2o-dev.h49 unsigned int iop; /* IOP unit number */
54 unsigned int iop; /* IOP unit number */
59 unsigned int iop; /* IOP unit number */
65 unsigned int iop; /* IOP unit number */
74 unsigned int iop; /* IOP unit number */
85 unsigned int iop; /* IOP unit number */
/linux-4.4.14/drivers/scsi/arcmsr/
H A Darcmsr.h107 ** IOP Message Transfer Data for user space
116 /* IOP message transfer */
176 ** Q Buffer of IOP Message Transfer
186 ** FIRMWARE INFO for Intel IOP R 80331 processor (Type A)
612 #define ACB_ADAPTER_TYPE_A 0x00000001 /* hba I IOP */
613 #define ACB_ADAPTER_TYPE_B 0x00000002 /* hbb M IOP */
614 #define ACB_ADAPTER_TYPE_C 0x00000004 /* hbc P IOP */
615 #define ACB_ADAPTER_TYPE_D 0x00000008 /* hbd A IOP */
670 /*The present outstanding command number that in the IOP that
H A Darcmsr_hba.c1706 /* let IOP know data has been read */ arcmsr_Read_iop_rqbuffer_in_DWORD()
3577 /* let IOP know data has been read */ arcmsr_clear_doorbell_queue_buffer()
3636 printk(KERN_NOTICE "ARCMSR IOP enables EOI_MODE TIMEOUT"); arcmsr_enable_eoi_mode()
/linux-4.4.14/drivers/scsi/pm8001/
H A Dpm8001_defs.h105 IOP, /* IO processor */ enumerator in enum:memory_region_num
H A Dpm8001_init.c272 /* MPI Memory region 2 for IOP Event Log for fw */ pm8001_alloc()
273 pm8001_ha->memoryMap.region[IOP].num_elements = 1; pm8001_alloc()
274 pm8001_ha->memoryMap.region[IOP].element_size = PM8001_EVENT_LOG_SIZE; pm8001_alloc()
275 pm8001_ha->memoryMap.region[IOP].total_len = PM8001_EVENT_LOG_SIZE; pm8001_alloc()
276 pm8001_ha->memoryMap.region[IOP].alignment = 32; pm8001_alloc()
H A Dpm8001_ctl.c413 * pm8001_ctl_aap_log_show - IOP event log
426 (*(u32 *)((u8*)pm8001_ha->memoryMap.region[IOP].virt_ptr + (r) * 32 \ pm8001_ctl_iop_log_show()
H A Dpm8001_hwi.c215 pm8001_ha->memoryMap.region[IOP].phys_addr_hi; init_default_table_values()
217 pm8001_ha->memoryMap.region[IOP].phys_addr_lo; init_default_table_values()
573 /* check IOP error */ check_fw_ready()
829 /* step 2: clear NMI status register on AAP1 and IOP, write the same pm8001_chip_soft_rst()
842 pm8001_printk("MBIC - NMI Enable VPE0 (IOP)= 0x%x\n", regVal)); pm8001_chip_soft_rst()
970 /* Step 6: Reset the IOP and AAP1 */ pm8001_chip_soft_rst()
981 pm8001_printk("Top Register before resetting IOP/AAP1" pm8001_chip_soft_rst()
1062 /* step 13: bring the IOP and AAP1 out of reset */ pm8001_chip_soft_rst()
1115 /* step 17 (Normal Mode): wait for the FW and IOP to get pm8001_chip_soft_rst()
H A Dpm8001_hwi.h883 #define SCRATCH_PAD2_IOPRDY_RST 0x08 /* IOP ready for soft reset */
H A Dpm80xx_hwi.h1309 #define SCRATCH_PAD2_IOPRDY_RST 0x08 /* IOP ready for soft reset */
H A Dpm80xx_hwi.c483 pm8001_ha->memoryMap.region[IOP].phys_addr_hi; init_default_table_values()
485 pm8001_ha->memoryMap.region[IOP].phys_addr_lo; init_default_table_values()
/linux-4.4.14/drivers/message/fusion/lsi/
H A Dmpi_log_sas.h22 /* Bits 27-24: IOC_LOGINFO_ORIGINATOR: 0=IOP, 1=PL, 2=IR */
43 /* IOP LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IOP */
/linux-4.4.14/drivers/dma/ppc4xx/
H A Ddma.h54 /* I2O IOP Interrupt Mask Register */
H A Dadma.c26 * Based on the Intel Xscale(R) family of I/O Processors (IOP 32x, 33x, 134x)
/linux-4.4.14/arch/arm/include/asm/hardware/
H A Diop_adma.h76 * struct iop_adma_desc_slot - IOP-ADMA software descriptor
/linux-4.4.14/drivers/dma/
H A Diop-adma.c18 * on the Intel Xscale(R) family of I/O Processors (IOP 32x, 33x, 134x)
448 printk(KERN_INFO "IOP ADMA Channel only initialized" iop_adma_alloc_chan_resources()
754 printk(KERN_ERR "IOP: Freeing %d in use descriptors!\n", iop_adma_free_chan_resources()
1425 dev_info(&pdev->dev, "Intel(R) IOP: ( %s%s%s%s%s%s)\n", iop_adma_probe()
1564 MODULE_DESCRIPTION("IOP ADMA Engine Driver");
/linux-4.4.14/drivers/scsi/
H A Ddpt_i2o.c238 /* If IOP don't get online, we need to rebuild the System table */ adpt_detect()
1319 * outstanding. If not, it means that the IOP adpt_i2o_post_wait_complete()
1380 printk(KERN_ERR"IOP reset failed - no free memory.\n"); adpt_i2o_reset_hba()
1401 printk(KERN_WARNING"%s: IOP Reset Timeout\n",pHba->name); adpt_i2o_reset_hba()
1423 printk(KERN_ERR "%s:Timeout waiting for IOP Reset.\n",pHba->name); adpt_i2o_reset_hba()
2838 printk(KERN_WARNING"%s: IOP reset failed - no free memory.\n", adpt_i2o_init_outbound_q()
3041 * Get the IOP's Logical Configuration Table
3437 /* SysQuiesce discarded if IOP not in READY or OPERATIONAL state */ adpt_i2o_quiesce_hba()
3462 * Enable IOP. Allows the IOP to resume external operations.
3506 msg[4] = (0<<16) | ((pHba->unit+2) << 12); /* Host 0 IOP ID (unit + 2) */ adpt_i2o_systab_send()
H A Dhptiop.h311 /* IOP config info */
H A Dgdth.h920 u8 bus_id[MAXBUS]; /* IOP IDs */
H A Dhptiop.c1093 /* IOP is in unknown state, abort reset */ hptiop_reset_hba()
/linux-4.4.14/drivers/scsi/dpt/
H A Ddpti_i2o.h81 struct _adpt_hba *controller; /* Controlling IOP */
/linux-4.4.14/arch/powerpc/perf/
H A Dppc970-pmu.c397 mmcra |= 0x2000; /* mark only one IOP per PPC instruction */ p970_compute_mmcr()
H A Dpower4-pmu.c519 mmcra |= 0x2000; /* mark only one IOP per PPC instruction */ p4_compute_mmcr()
/linux-4.4.14/arch/alpha/kernel/
H A Dcore_wildfire.c580 printk(KERN_ERR "IOP registers for QBB %d (%p)\n", qbbno, iop); wildfire_dump_iop_regs()
/linux-4.4.14/drivers/scsi/aic94xx/
H A Daic94xx_dump.c311 asd_printk("IOP REGISTERS\n"); asd_dump_cseq_state()
519 asd_printk("LSEQ%d: IOP REGISTERS\n", lseq); asd_dump_lseq_state()
H A Daic94xx_sds.c509 "IOP",
H A Daic94xx_reg_def.h1362 * Mode 3: Configuration and Setup, IOP Context SCB.
/linux-4.4.14/drivers/scsi/megaraid/
H A Dmegaraid_sas_base.c113 /* xscale IOP */
115 /* ppc IOP */
117 /* ppc IOP */
127 /* xscale IOP, vega */
129 /* xscale IOP */
/linux-4.4.14/fs/proc/
H A Dbase.c116 #define NOD(NAME, MODE, IOP, FOP, OP) { \
120 .iop = IOP, \
/linux-4.4.14/arch/m68k/math-emu/
H A Dfp_util.S1407 1: bset #FPSR_AEXC_IOP,%d0 | set IOP bit
/linux-4.4.14/drivers/message/fusion/
H A Dmptbase.c7919 "IOP", /* 00h */
8095 case 0: /* IOP */ mpt_sas_log_info()
/linux-4.4.14/drivers/scsi/mpt3sas/
H A Dmpt3sas_base.c695 originator_str = "IOP"; _base_sas_log_info()

Completed in 1235 milliseconds