| /linux/drivers/pci/endpoint/ |
| H A D | pci-epc-core.c | 23 struct pci_epc *epc = *(struct pci_epc **)res; in devm_pci_epc_release() local 25 pci_epc_destroy(epc); in devm_pci_epc_release() 34 void pci_epc_put(struct pci_epc *epc) in pci_epc_put() argument 36 if (IS_ERR_OR_NULL(epc)) in pci_epc_put() 39 module_put(epc->ops->owner); in pci_epc_put() 40 put_device(&epc->dev); in pci_epc_put() 54 struct pci_epc *epc; in pci_epc_get() local 61 epc = to_pci_epc(dev); in pci_epc_get() 62 if (try_module_get(epc->ops->owner)) in pci_epc_get() 63 return epc; in pci_epc_get() [all …]
|
| H A D | pci-epc-mem.c | 47 int pci_epc_multi_mem_init(struct pci_epc *epc, in pci_epc_multi_mem_init() argument 60 epc->num_windows = 0; in pci_epc_multi_mem_init() 65 epc->windows = kzalloc_objs(*epc->windows, num_windows); in pci_epc_multi_mem_init() 66 if (!epc->windows) in pci_epc_multi_mem_init() 98 epc->windows[i] = mem; in pci_epc_multi_mem_init() 101 epc->mem = epc->windows[0]; in pci_epc_multi_mem_init() 102 epc->num_windows = num_windows; in pci_epc_multi_mem_init() 108 mem = epc->windows[i]; in pci_epc_multi_mem_init() 112 kfree(epc->windows); in pci_epc_multi_mem_init() 128 int pci_epc_mem_init(struct pci_epc *epc, phys_addr_t base, in pci_epc_mem_init() argument [all …]
|
| H A D | pci-ep-msi.c | 26 struct pci_epc *epc; in pci_epf_write_msi_msg() local 29 epc = pci_epc_get(dev_name(msi_desc_to_dev(desc))); in pci_epf_write_msi_msg() 30 if (IS_ERR(epc)) in pci_epf_write_msi_msg() 33 epf = list_first_entry_or_null(&epc->pci_epf, struct pci_epf, list); in pci_epf_write_msi_msg() 38 pci_epc_put(epc); in pci_epf_write_msi_msg() 45 struct pci_epc *epc = epf->epc; in pci_epf_alloc_doorbell_embedded() local 52 count = pci_epc_get_aux_resources_count(epc, epf->func_no, in pci_epf_alloc_doorbell_embedded() 64 ret = pci_epc_get_aux_resources(epc, epf->func_no, epf->vfunc_no, in pci_epf_alloc_doorbell_embedded() 93 iova_base = dma_map_resource(epc->dev.parent, phys_base, in pci_epf_alloc_doorbell_embedded() 95 if (dma_mapping_error(epc->dev.parent, iova_base)) in pci_epf_alloc_doorbell_embedded() [all …]
|
| H A D | Makefile | 7 obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\ 8 pci-epc-mem.o functions/
|
| /linux/arch/mips/kernel/ |
| H A D | branch.c | 32 long epc = regs->cp0_epc; in __isa_exception_epc() local 35 if (__get_user(inst, (u16 __user *) msk_isa16_mode(epc))) { in __isa_exception_epc() 38 return epc; in __isa_exception_epc() 45 epc += 4; in __isa_exception_epc() 47 epc += 2; in __isa_exception_epc() 49 epc += 2; in __isa_exception_epc() 51 epc += 4; in __isa_exception_epc() 53 return epc; in __isa_exception_epc() 326 long epc; in __MIPS16e_compute_return_epc() local 328 epc = regs->cp0_epc; in __MIPS16e_compute_return_epc() [all …]
|
| H A D | mips-r2-to-r6-emul.c | 250 unsigned long cepc, epc, nepc; in jr_func() local 260 epc = regs->cp0_epc; in jr_func() 287 err = mips_dsemul(regs, nir, epc, cepc); in jr_func() 911 unsigned long cpc, epc, nepc, r31, res, rs, rt; in mipsr2_decoder() local 918 epc = regs->cp0_epc; in mipsr2_decoder() 925 inst, epc, pass); in mipsr2_decoder() 994 regs->cp0_epc = epc; in mipsr2_decoder() 1001 nepc = epc + 4; in mipsr2_decoder() 1037 err = mips_dsemul(regs, nir, epc, cpc); in mipsr2_decoder() 1051 regs->cp0_epc = epc; in mipsr2_decoder() [all …]
|
| H A D | traps.c | 1031 unsigned long epc = msk_isa16_mode(exception_epc(regs)); in do_bp() local 1041 if (__get_inst16(&instr[0], (u16 *)epc, user)) in do_bp() 1052 if (__get_inst16(&instr[1], (u16 *)(epc + 2), user)) in do_bp() 1058 if (__get_inst32(&opcode, (u32 *)epc, user)) in do_bp() 1122 unsigned long epc = msk_isa16_mode(exception_epc(regs)); in do_tr() local 1127 if (__get_inst16(&instr[0], (u16 *)(epc + 0), user) || in do_tr() 1128 __get_inst16(&instr[1], (u16 *)(epc + 2), user)) in do_tr() 1135 if (__get_inst32(&opcode, (u32 *)epc, user)) in do_tr() 1155 unsigned int __user *epc = (unsigned int __user *)exception_epc(regs); in do_ri() local 1168 likely(get_user(opcode, epc) >= 0)) { in do_ri() [all …]
|
| /linux/include/linux/ |
| H A D | pci-epc.h | 134 int (*write_header)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 136 int (*set_bar)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 138 void (*clear_bar)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 140 u64 (*align_addr)(struct pci_epc *epc, u64 pci_addr, size_t *size, 142 int (*map_addr)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 144 void (*unmap_addr)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 146 int (*set_msi)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 148 int (*get_msi)(struct pci_epc *epc, u8 func_no, u8 vfunc_no); 149 int (*set_msix)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 151 int (*get_msix)(struct pci_epc *epc, u8 func_no, u8 vfunc_no); [all …]
|
| /linux/drivers/pci/endpoint/functions/ |
| H A D | pci-epf-ntb.c | 83 struct epf_ntb_epc *epc[2]; member 95 struct pci_epc *epc; member 146 struct pci_epc *epc; in epf_ntb_link_up() local 152 ntb_epc = ntb->epc[type]; in epf_ntb_link_up() 153 epc = ntb_epc->epc; in epf_ntb_link_up() 163 ret = pci_epc_raise_irq(epc, func_no, vfunc_no, irq_type, 1); in epf_ntb_link_up() 165 dev_err(&epc->dev, in epf_ntb_link_up() 244 struct pci_epc *epc; in epf_ntb_configure_mw() local 248 ntb_epc = ntb->epc[type]; in epf_ntb_configure_mw() 249 epc = ntb_epc->epc; in epf_ntb_configure_mw() [all …]
|
| H A D | pci-epf-test.c | 260 filter.dev = epf->epc->dev.parent; in pci_epf_test_init_dma_chan() 361 struct pci_epc *epc = epf->epc; in pci_epf_test_copy() local 390 ret = pci_epc_mem_map(epc, epf->func_no, epf->vfunc_no, in pci_epf_test_copy() 398 ret = pci_epc_mem_map(epf->epc, epf->func_no, epf->vfunc_no, in pci_epf_test_copy() 403 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, in pci_epf_test_copy() 430 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &dst_map); in pci_epf_test_copy() 431 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &src_map); in pci_epf_test_copy() 440 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &dst_map); in pci_epf_test_copy() 441 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &src_map); in pci_epf_test_copy() 465 struct pci_epc *epc = epf->epc; in pci_epf_test_read() local [all …]
|
| H A D | pci-epf-mhi.c | 172 struct pci_epc *epc = epf->epc; in __pci_epf_mhi_alloc_map() local 175 *vaddr = pci_epc_mem_alloc_addr(epc, paddr, size + offset); in __pci_epf_mhi_alloc_map() 179 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, *paddr, in __pci_epf_mhi_alloc_map() 182 pci_epc_mem_free_addr(epc, *paddr, *vaddr, size + offset); in __pci_epf_mhi_alloc_map() 210 struct pci_epc *epc = epf->epc; in __pci_epf_mhi_unmap_free() local 212 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, paddr - offset); in __pci_epf_mhi_unmap_free() 213 pci_epc_mem_free_addr(epc, paddr - offset, vaddr - offset, in __pci_epf_mhi_unmap_free() 232 struct pci_epc *epc = epf->epc; in pci_epf_mhi_raise_irq() local 238 pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, PCI_IRQ_MSI, in pci_epf_mhi_raise_irq() 313 struct device *dma_dev = epf_mhi->epf->epc->dev.parent; in pci_epf_mhi_edma_read() [all …]
|
| H A D | pci-epf-vntb.c | 240 ret = pci_epc_map_addr(ntb->epf->epc, func_no, vfunc_no, phys_addr, addr, size); in epf_ntb_configure_mw() 242 dev_err(&ntb->epf->epc->dev, in epf_ntb_configure_mw() 257 pci_epc_unmap_addr(ntb->epf->epc, in epf_ntb_teardown_mw() 387 pci_epc_clear_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar); in epf_ntb_config_sspad_bar_clear() 416 ret = pci_epc_set_bar(ntb->epf->epc, func_no, vfunc_no, epf_bar); in epf_ntb_config_sspad_bar_set() 458 const struct pci_epc_features *epc_features = pci_epc_get_features(epf->epc, in epf_ntb_config_spad_bar_alloc() 510 epc_features = pci_epc_get_features(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no); in epf_ntb_configure_interrupt() 524 ret = pci_epc_set_msi(ntb->epf->epc, in epf_ntb_configure_interrupt() 628 ret = pci_epc_set_bar(ntb->epf->epc, ntb->epf->func_no, in epf_ntb_db_bar_init_msi_doorbell() 688 epc_features = pci_epc_get_features(ntb->epf->epc, in epf_ntb_db_bar_init() [all …]
|
| /linux/drivers/pci/controller/ |
| H A D | pcie-rockchip-ep.c | 50 struct pci_epc *epc; member 114 static int rockchip_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_write_header() argument 118 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_write_header() 151 static int rockchip_pcie_ep_set_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_set_bar() argument 154 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_set_bar() 219 static void rockchip_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_clear_bar() argument 222 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_clear_bar() 253 static u64 rockchip_pcie_ep_align_addr(struct pci_epc *epc, u64 pci_addr, in rockchip_pcie_ep_align_addr() argument 256 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_align_addr() 275 static int rockchip_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_map_addr() argument [all …]
|
| /linux/arch/mips/kvm/ |
| H A D | emulate.c | 46 long epc = instpc; in kvm_compute_return_epc() local 50 if (epc & 3) { in kvm_compute_return_epc() 56 err = kvm_get_badinstrp((u32 *)epc, vcpu, &insn.word); in kvm_compute_return_epc() 65 arch->gprs[insn.r_format.rd] = epc + 8; in kvm_compute_return_epc() 85 epc = epc + 4 + (insn.i_format.simmediate << 2); in kvm_compute_return_epc() 87 epc += 8; in kvm_compute_return_epc() 88 nextpc = epc; in kvm_compute_return_epc() 94 epc = epc + 4 + (insn.i_format.simmediate << 2); in kvm_compute_return_epc() 96 epc += 8; in kvm_compute_return_epc() 97 nextpc = epc; in kvm_compute_return_epc() [all …]
|
| /linux/arch/riscv/kernel/ |
| H A D | cfi.c | 38 if (get_kernel_nofault(insn, (void *)regs->epc - 4)) in decode_cfi_insn() 45 if (get_kernel_nofault(insn, (void *)regs->epc) || in decode_cfi_insn() 46 get_kernel_nofault(insn, (void *)regs->epc + GET_INSN_LENGTH(insn))) in decode_cfi_insn() 70 if (!is_cfi_trap(regs->epc)) in handle_cfi_failure() 74 return report_cfi_failure_noaddr(regs, regs->epc); in handle_cfi_failure() 76 return report_cfi_failure(regs, regs->epc, &target, type); in handle_cfi_failure()
|
| H A D | traps.c | 151 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \ 156 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \ 180 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal() 188 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal() 228 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_misaligned() 293 force_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)regs->epc); in handle_break() 299 else if (report_bug(regs->epc, regs) == BUG_TRAP_TYPE_WARN || in handle_break() 301 regs->epc += get_break_insn_length(regs->epc); in handle_break() 332 regs->epc += 4; in do_trap_ecall_u() 348 do_trap_error(regs, SIGILL, ILL_ILLTRP, regs->epc, in do_trap_ecall_u() [all …]
|
| H A D | signal.c | 347 frame, (void *)regs->epc, (void *)regs->sp); in SYSCALL_DEFINE0() 468 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 477 (void *)regs->epc, (void *)regs->ra, frame); in setup_rt_frame() 508 continue_addr = regs->epc; in arch_do_signal_or_restart() 525 regs->epc = restart_addr; in arch_do_signal_or_restart() 540 if (regs->epc == restart_addr && in arch_do_signal_or_restart() 546 regs->epc = continue_addr; in arch_do_signal_or_restart() 558 if (syscall && regs->epc == restart_addr && retval == -ERESTART_RESTARTBLOCK) in arch_do_signal_or_restart()
|
| H A D | kgdb.c | 39 unsigned long pc = regs->epc; in get_step_address() 201 {DBG_REG_EPC, GDB_SIZEOF_REG, offsetof(struct pt_regs, epc)}, 255 regs->epc = pc; in kgdb_arch_set_pc() 283 regs->epc = addr; in kgdb_arch_update_addr() 333 type = kgdb_riscv_kgdbbreak(regs->epc); in kgdb_riscv_notify() 344 regs->epc += 4; in kgdb_riscv_notify()
|
| H A D | compat_signal.c | 155 frame, (void *)regs->epc, (void *)regs->sp); in COMPAT_SYSCALL_DEFINE0() 232 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in compat_setup_rt_frame() 241 (void *)regs->epc, (void *)regs->ra, frame); in compat_setup_rt_frame()
|
| /linux/arch/riscv/include/asm/ |
| H A D | ftrace.h | 128 unsigned long epc; member 161 return arch_ftrace_regs(fregs)->epc; in ftrace_regs_get_instruction_pointer() 167 arch_ftrace_regs(fregs)->epc = pc; in ftrace_regs_set_instruction_pointer() 206 arch_ftrace_regs(fregs)->epc = arch_ftrace_regs(fregs)->ra; in ftrace_override_function_with_return() 215 regs->epc = afregs->epc; in ftrace_partial_regs()
|
| H A D | ptrace.h | 16 unsigned long epc; member 74 return regs->epc; in instruction_pointer() 79 regs->epc = val; in instruction_pointer_set()
|
| /linux/arch/riscv/mm/ |
| H A D | extable.c | 26 regs->epc = get_ex_fixup(ex); in ex_handler_fixup() 57 regs->epc = get_ex_fixup(ex); in ex_handler_uaccess_err_zero() 78 regs->epc = get_ex_fixup(ex); in ex_handler_load_unaligned_zeropad() 86 ex = search_exception_tables(regs->epc); in fixup_exception()
|
| /linux/arch/csky/kernel/ |
| H A D | atomic.S | 21 mfcr a3, epc 53 mtcr a3, epc
|
| /linux/tools/testing/selftests/kvm/riscv/ |
| H A D | ebreak_test.c | 32 WRITE_ONCE(sw_bp_addr, regs->epc); in guest_breakpoint_handler() 33 regs->epc += 4; in guest_breakpoint_handler()
|
| /linux/include/uapi/linux/ |
| H A D | zorro.h | 36 #define ZORRO_ID(manuf, prod, epc) \ argument 37 ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc))
|