/openbmc/linux/lib/ |
H A D | irq_poll.c | 21 * @iop: The parent iopoll structure 27 void irq_poll_sched(struct irq_poll *iop) in irq_poll_sched() argument 31 if (test_bit(IRQ_POLL_F_DISABLE, &iop->state)) in irq_poll_sched() 33 if (test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state)) in irq_poll_sched() 37 list_add_tail(&iop->list, this_cpu_ptr(&blk_cpu_iopoll)); in irq_poll_sched() 44 * __irq_poll_complete - Mark this @iop as un-polled again 45 * @iop: The parent iopoll structure 51 static void __irq_poll_complete(struct irq_poll *iop) in __irq_poll_complete() argument 53 list_del(&iop->list); in __irq_poll_complete() 55 clear_bit_unlock(IRQ_POLL_F_SCHED, &iop->state); in __irq_poll_complete() [all …]
|
/openbmc/linux/arch/m68k/mac/ |
H A D | iop.c | 2 * 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 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 [all …]
|
/openbmc/linux/drivers/md/bcache/ |
H A D | request.c | 482 struct data_insert_op iop; member 499 s->iop.status = bio->bi_status; in bch_cache_read_endio() 501 ptr_stale(s->iop.c, &b->key, 0)) { in bch_cache_read_endio() 502 atomic_long_inc(&s->iop.c->cache_read_races); in bch_cache_read_endio() 503 s->iop.status = BLK_STS_IOERR; in bch_cache_read_endio() 506 bch_bbio_endio(s->iop.c, bio, bio->bi_status, "reading from cache"); in bch_cache_read_endio() 520 if (bkey_cmp(k, &KEY(s->iop.inode, bio->bi_iter.bi_sector, 0)) <= 0) in cache_lookup_fn() 523 if (KEY_INODE(k) != s->iop.inode || in cache_lookup_fn() 526 unsigned int sectors = KEY_INODE(k) == s->iop.inode in cache_lookup_fn() 557 bch_cut_front(&KEY(s->iop.inode, n->bi_iter.bi_sector, 0), bio_key); in cache_lookup_fn() [all …]
|
/openbmc/linux/drivers/iommu/ |
H A D | io-pgtable.c | 41 struct io_pgtable *iop; in alloc_io_pgtable_ops() local 51 iop = fns->alloc(cfg, cookie); in alloc_io_pgtable_ops() 52 if (!iop) in alloc_io_pgtable_ops() 55 iop->fmt = fmt; in alloc_io_pgtable_ops() 56 iop->cookie = cookie; in alloc_io_pgtable_ops() 57 iop->cfg = *cfg; in alloc_io_pgtable_ops() 59 return &iop->ops; in alloc_io_pgtable_ops() 69 struct io_pgtable *iop; in free_io_pgtable_ops() local 74 iop = io_pgtable_ops_to_pgtable(ops); in free_io_pgtable_ops() 75 io_pgtable_tlb_flush_all(iop); in free_io_pgtable_ops() [all …]
|
H A D | io-pgtable-dart.c | 34 container_of((x), struct dart_io_pgtable, iop) 68 struct io_pgtable iop; member 84 if (data->iop.fmt == APPLE_DART) in paddr_to_iopte() 99 if (data->iop.fmt == APPLE_DART) in iopte_to_paddr() 130 size_t sz = data->iop.cfg.pgsize_bitmap; in dart_init_pte() 218 if (data->iop.fmt == APPLE_DART) { in dart_prot_to_pte() 224 if (data->iop.fmt == APPLE_DART2) { in dart_prot_to_pte() 241 struct io_pgtable_cfg *cfg = &data->iop.cfg; in dart_map_pages() 302 struct io_pgtable_cfg *cfg = &data->iop.cfg; in dart_unmap_pages() 330 io_pgtable_tlb_add_page(&data->iop, gather, in dart_unmap_pages() [all …]
|
H A D | io-pgtable-arm-v7s.c | 40 container_of((x), struct arm_v7s_io_pgtable, iop) 165 struct io_pgtable iop; member 236 return phys_to_virt(iopte_to_paddr(pte, lvl, &data->iop.cfg)); in iopte_deref() 242 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_v7s_alloc_table() 302 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_v7s_free_table() 435 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_v7s_init_pte() 501 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_v7s_map() 551 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias) || in arm_v7s_map_pages() 552 paddr >= (1ULL << data->iop.cfg.oas))) in arm_v7s_map_pages() 577 static void arm_v7s_free_pgtable(struct io_pgtable *iop) in arm_v7s_free_pgtable() argument [all …]
|
H A D | io-pgtable-arm.c | 31 container_of((x), struct arm_lpae_io_pgtable, iop) 142 struct io_pgtable iop; member 275 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_lpae_init_pte() 279 if (data->iop.fmt != ARM_MALI_LPAE && lvl == ARM_LPAE_MAX_LEVELS - 1) in __arm_lpae_init_pte() 299 if (iopte_leaf(ptep[i], lvl, data->iop.fmt)) { in arm_lpae_init_pte() 329 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_lpae_install_table() 363 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_lpae_map() 399 if (pte && !iopte_leaf(pte, lvl, data->iop.fmt)) { in __arm_lpae_map() 417 if (data->iop.fmt == ARM_64_LPAE_S1 || in arm_lpae_prot_to_pte() 418 data->iop.fmt == ARM_32_LPAE_S1) { in arm_lpae_prot_to_pte() [all …]
|
/openbmc/linux/arch/powerpc/platforms/8xx/ |
H A D | cpm1.c | 157 struct cpm_ioport32e __iomem *iop; in cpm1_set_pin32() local 161 iop = (struct cpm_ioport32e __iomem *) in cpm1_set_pin32() 164 iop = (struct cpm_ioport32e __iomem *) in cpm1_set_pin32() 168 setbits32(&iop->dir, pin); in cpm1_set_pin32() 170 clrbits32(&iop->dir, pin); in cpm1_set_pin32() 173 setbits32(&iop->par, pin); in cpm1_set_pin32() 175 clrbits32(&iop->par, pin); in cpm1_set_pin32() 186 setbits32(&iop->sor, pin); in cpm1_set_pin32() 188 clrbits32(&iop->sor, pin); in cpm1_set_pin32() 199 struct cpm_ioport16 __iomem *iop = in cpm1_set_pin16() local [all …]
|
/openbmc/linux/include/linux/ |
H A D | io-pgtable.h | 217 static inline void io_pgtable_tlb_flush_all(struct io_pgtable *iop) in io_pgtable_tlb_flush_all() argument 219 if (iop->cfg.tlb && iop->cfg.tlb->tlb_flush_all) in io_pgtable_tlb_flush_all() 220 iop->cfg.tlb->tlb_flush_all(iop->cookie); in io_pgtable_tlb_flush_all() 224 io_pgtable_tlb_flush_walk(struct io_pgtable *iop, unsigned long iova, in io_pgtable_tlb_flush_walk() argument 227 if (iop->cfg.tlb && iop->cfg.tlb->tlb_flush_walk) in io_pgtable_tlb_flush_walk() 228 iop->cfg.tlb->tlb_flush_walk(iova, size, granule, iop->cookie); in io_pgtable_tlb_flush_walk() 232 io_pgtable_tlb_add_page(struct io_pgtable *iop, in io_pgtable_tlb_add_page() argument 236 if (iop->cfg.tlb && iop->cfg.tlb->tlb_add_page) in io_pgtable_tlb_add_page() 237 iop->cfg.tlb->tlb_add_page(gather, iova, granule, iop->cookie); in io_pgtable_tlb_add_page() 245 * @free: Free the page tables associated with iop. [all …]
|
/openbmc/linux/arch/m68k/include/asm/ |
H A D | mac_iop.h | 3 * I/O Processor (IOP) defines and structures, mostly snagged from A/UX 13 * a "struct iop" (see below) to see where the actual registers fall. 22 /* IOP status/control register bits: */ 26 #define IOP_RUN 0x04 /* set to 0 to reset IOP chip */ 27 #define IOP_IRQ 0x08 /* generate IRQ to IOP if 1 */ 28 #define IOP_INT0 0x10 /* intr priority from IOP to host */ 29 #define IOP_INT1 0x20 /* intr priority from IOP to host */ 38 /* IOP reference numbers, used by the globally-visible iop_xxx functions */ 43 /* IOP channel states */ 50 /* IOP message status codes */ [all …]
|
/openbmc/linux/drivers/spi/ |
H A D | spi-intel.c | 181 const struct intel_spi_mem_op *iop, 357 const struct intel_spi_mem_op *iop, size_t len) in intel_spi_hw_cycle() argument 362 if (!iop->replacement_op) in intel_spi_hw_cycle() 370 val |= iop->replacement_op; in intel_spi_hw_cycle() 458 const struct intel_spi_mem_op *iop, in intel_spi_read_reg() argument 472 ret = intel_spi_hw_cycle(ispi, iop, nbytes); in intel_spi_read_reg() 481 const struct intel_spi_mem_op *iop, in intel_spi_write_reg() argument 538 return intel_spi_hw_cycle(ispi, iop, nbytes); in intel_spi_write_reg() 542 const struct intel_spi_mem_op *iop, in intel_spi_read() argument 603 const struct intel_spi_mem_op *iop, in intel_spi_write() argument [all …]
|
/openbmc/linux/Documentation/scsi/ |
H A D | hptiop.rst | 11 For RR44xx Intel IOP based adapters, the controller IOP is accessed via PCI BAR0 and BAR2 36 For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0: 54 For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: 78 For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: 83 0x0 IOP configuration information. 111 A request packet can be allocated in either IOP or host memory. 119 relative to the IOP BAR0. 125 - Post the packet to IOP by writing it to inbound queue. For requests 126 allocated in IOP memory, write the offset to inbound queue port. For 130 - The IOP process the request. When the request is completed, it [all …]
|
/openbmc/linux/drivers/macintosh/ |
H A D | adb-iop.c | 3 * I/O Processor (IOP) ADB Driver 52 .name = "ISM IOP", 77 * Completion routine for ADB commands sent to the IOP. 94 * Listen for ADB messages from the IOP. 96 * This will be called when unsolicited IOP messages are received. 97 * These IOP messages can carry ADB autopoll responses and also occur 112 * produced when the IOP polls devices. They are mostly timeouts. in adb_iop_listen() 151 * Start sending an ADB packet, IOP style 153 * There isn't much to do other than hand the packet over to the IOP 167 /* The IOP takes MacII-style packets, so strip the initial in adb_iop_start() [all …]
|
/openbmc/linux/arch/powerpc/sysdev/ |
H A D | cpm_common.c | 111 struct cpm2_ioports __iomem *iop = mm_gc->regs; in cpm2_gpio32_save_regs() local 113 cpm2_gc->cpdata = in_be32(&iop->dat); in cpm2_gpio32_save_regs() 119 struct cpm2_ioports __iomem *iop = mm_gc->regs; in cpm2_gpio32_get() local 124 return !!(in_be32(&iop->dat) & pin_mask); in cpm2_gpio32_get() 131 struct cpm2_ioports __iomem *iop = mm_gc->regs; in __cpm2_gpio32_set() local 138 out_be32(&iop->dat, cpm2_gc->cpdata); in __cpm2_gpio32_set() 159 struct cpm2_ioports __iomem *iop = mm_gc->regs; in cpm2_gpio32_dir_out() local 165 setbits32(&iop->dir, pin_mask); in cpm2_gpio32_dir_out() 177 struct cpm2_ioports __iomem *iop = mm_gc->regs; in cpm2_gpio32_dir_in() local 183 clrbits32(&iop->dir, pin_mask); in cpm2_gpio32_dir_in()
|
H A D | cpm2.c | 320 struct cpm2_ioports __iomem *iop = in cpm2_set_pin() local 326 setbits32(&iop[port].dir, pin); in cpm2_set_pin() 328 clrbits32(&iop[port].dir, pin); in cpm2_set_pin() 331 setbits32(&iop[port].par, pin); in cpm2_set_pin() 333 clrbits32(&iop[port].par, pin); in cpm2_set_pin() 336 setbits32(&iop[port].sor, pin); in cpm2_set_pin() 338 clrbits32(&iop[port].sor, pin); in cpm2_set_pin() 341 setbits32(&iop[port].odr, pin); in cpm2_set_pin() 343 clrbits32(&iop[port].odr, pin); in cpm2_set_pin()
|
/openbmc/linux/drivers/iommu/amd/ |
H A D | io_pgtable.c | 165 if (address <= PM_LEVEL_SIZE(domain->iop.mode)) in increase_address_space() 169 if (WARN_ON_ONCE(domain->iop.mode == PAGE_MODE_6_LEVEL)) in increase_address_space() 172 *pte = PM_LEVEL_PDE(domain->iop.mode, iommu_virt_to_phys(domain->iop.root)); in increase_address_space() 174 domain->iop.root = pte; in increase_address_space() 175 domain->iop.mode += 1; in increase_address_space() 183 amd_iommu_domain_set_pgtable(domain, pte, domain->iop.mode); in increase_address_space() 207 while (address > PM_LEVEL_SIZE(domain->iop.mode)) { in alloc_pte() 217 level = domain->iop.mode - 1; in alloc_pte() 218 pte = &domain->iop.root[PM_LEVEL_INDEX(level, address)]; in alloc_pte() 492 static void v1_free_pgtable(struct io_pgtable *iop) in v1_free_pgtable() argument [all …]
|
H A D | io_pgtable_v2.c | 241 struct io_pgtable_cfg *cfg = &pdom->iop.iop.cfg; in iommu_v2_map_pages() 259 pte = v2_alloc_pte(pdom->nid, pdom->iop.pgd, in iommu_v2_map_pages() 294 struct io_pgtable_cfg *cfg = &pgtable->iop.cfg; in iommu_v2_unmap_pages() 357 static void v2_free_pgtable(struct io_pgtable *iop) in v2_free_pgtable() argument 360 struct amd_io_pgtable *pgtable = container_of(iop, struct amd_io_pgtable, iop); in v2_free_pgtable() 362 pdom = container_of(pgtable, struct protection_domain, iop); in v2_free_pgtable() 394 pgtable->iop.ops.map_pages = iommu_v2_map_pages; in v2_alloc_pgtable() 395 pgtable->iop.ops.unmap_pages = iommu_v2_unmap_pages; in v2_alloc_pgtable() 396 pgtable->iop.ops.iova_to_phys = iommu_v2_iova_to_phys; in v2_alloc_pgtable() 403 return &pgtable->iop; in v2_alloc_pgtable()
|
/openbmc/linux/include/uapi/linux/ |
H A D | i2o-dev.h | 50 unsigned int iop; /* IOP unit number */ member 55 unsigned int iop; /* IOP unit number */ member 60 unsigned int iop; /* IOP unit number */ member 66 unsigned int iop; /* IOP unit number */ member 75 unsigned int iop; /* IOP unit number */ member 86 unsigned int iop; /* IOP unit number */ member 98 unsigned int iop; member
|
/openbmc/linux/drivers/scsi/ |
H A D | hptiop.c | 52 req = readl(&hba->u.itl.iop->inbound_queue); in iop_wait_ready_itl() 59 writel(req, &hba->u.itl.iop->outbound_queue); in iop_wait_ready_itl() 60 readl(&hba->u.itl.iop->outbound_intstatus); in iop_wait_ready_itl() 90 while ((req = readl(&hba->u.itl.iop->outbound_queue)) != in hptiop_drain_outbound_queue_itl() 99 ((char __iomem *)hba->u.itl.iop + req); in hptiop_drain_outbound_queue_itl() 115 struct hpt_iopmu_itl __iomem *iop = hba->u.itl.iop; in iop_intr_itl() local 123 status = readl(&iop->outbound_intstatus); in iop_intr_itl() 126 u32 msg = readl(&iop->outbound_msgaddr0); in iop_intr_itl() 129 writel(IOPMU_OUTBOUND_INT_MSG0, &iop->outbound_intstatus); in iop_intr_itl() 306 writel((unsigned long)req - (unsigned long)hba->u.itl.iop, in iop_send_sync_request_itl() [all …]
|
/openbmc/u-boot/include/configs/ |
H A D | MPC8560ADS.h | 297 #define MDIO_DECLARE volatile ioport_t *iop = ioport_addr ( \ 301 #define MDIO_ACTIVE (iop->pdir |= 0x00400000) 302 #define MDIO_TRISTATE (iop->pdir &= ~0x00400000) 303 #define MDIO_READ ((iop->pdat & 0x00400000) != 0) 305 #define MDIO(bit) if(bit) iop->pdat |= 0x00400000; \ 306 else iop->pdat &= ~0x00400000 308 #define MDC(bit) if(bit) iop->pdat |= 0x00200000; \ 309 else iop->pdat &= ~0x00200000
|
/openbmc/linux/arch/alpha/kernel/ |
H A D | core_wildfire.c | 187 wildfire_iop *iop; in wildfire_hardware_probe() local 286 iop = WILDFIRE_iop(soft_qbb); in wildfire_hardware_probe() 290 if ((iop->iop_hose[i].init.csr & 1) == 1 && in wildfire_hardware_probe() 552 wildfire_iop *iop = WILDFIRE_iop(qbbno); in wildfire_dump_iop_regs() local 555 printk(KERN_ERR "IOP registers for QBB %d (%p)\n", qbbno, iop); in wildfire_dump_iop_regs() 557 printk(KERN_ERR " IOA_CONFIG: 0x%16lx\n", iop->ioa_config.csr); in wildfire_dump_iop_regs() 558 printk(KERN_ERR " IOD_CONFIG: 0x%16lx\n", iop->iod_config.csr); in wildfire_dump_iop_regs() 560 iop->iop_switch_credits.csr); in wildfire_dump_iop_regs() 562 iop->iop_hose_credits.csr); in wildfire_dump_iop_regs() 566 i, iop->iop_hose[i].init.csr); in wildfire_dump_iop_regs() [all …]
|
/openbmc/linux/drivers/infiniband/core/ |
H A D | cq.c | 151 static int ib_poll_handler(struct irq_poll *iop, int budget) in ib_poll_handler() argument 153 struct ib_cq *cq = container_of(iop, struct ib_cq, iop); in ib_poll_handler() 159 irq_poll_complete(&cq->iop); in ib_poll_handler() 162 irq_poll_sched(&cq->iop); in ib_poll_handler() 175 irq_poll_sched(&cq->iop); in ib_cq_completion_softirq() 253 irq_poll_init(&cq->iop, IB_POLL_BUDGET_IRQ, ib_poll_handler); in __ib_alloc_cq() 331 irq_poll_disable(&cq->iop); in ib_free_cq()
|
/openbmc/u-boot/board/cssi/MCR3000/ |
H A D | MCR3000.c | 121 iop8xx_t __iomem *iop = &immr->im_ioport; in misc_init_r() local 124 clrbits_be16(&iop->iop_pcpar, 0x4); in misc_init_r() 125 clrbits_be16(&iop->iop_pcdir, 0x4); in misc_init_r() 128 if ((in_be16(&iop->iop_pcdat) & 0x0004) == 0) in misc_init_r()
|
/openbmc/linux/drivers/net/fddi/skfp/h/ |
H A D | targetos.h | 51 #define ADDR(a) (smc->hw.iop+(a)) 53 …ADDR(a) (((a)>>7) ? (outp(smc->hw.iop+B0_RAP,(a)>>7), (smc->hw.iop+( ((a)&0x7F) | ((a)>>7 ? 0x80:0…
|
/openbmc/linux/Documentation/devicetree/bindings/timer/ |
H A D | hpe,gxp-timer.yaml | 27 const: iop 46 clock-names = "iop";
|