Home
last modified time | relevance | path

Searched full:epc (Results 1 – 25 of 94) sorted by relevance

1234

/linux/drivers/pci/endpoint/
H A Dpci-epc-core.c3 * PCI Endpoint *Controller* (EPC) library
13 #include <linux/pci-epc.h>
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()
30 * @epc: epc returned by pci_epc_get()
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
[all …]
H A Dpci-ep-msi.c3 * PCI Endpoint *Controller* (EPC) MSI library
15 #include <linux/pci-epc.h>
23 struct pci_epc *epc; in pci_epf_write_msi_msg() local
26 epc = pci_epc_get(dev_name(msi_desc_to_dev(desc))); in pci_epf_write_msi_msg()
27 if (IS_ERR(epc)) in pci_epf_write_msi_msg()
30 epf = list_first_entry_or_null(&epc->pci_epf, struct pci_epf, list); in pci_epf_write_msi_msg()
35 pci_epc_put(epc); in pci_epf_write_msi_msg()
40 struct pci_epc *epc = epf->epc; in pci_epf_alloc_doorbell() local
48 if (list_first_entry_or_null(&epc->pci_epf, struct pci_epf, list) != epf) { in pci_epf_alloc_doorbell()
53 domain = of_msi_map_get_device_domain(epc->dev.parent, 0, in pci_epf_alloc_doorbell()
[all …]
H A Dpci-ep-cfs.c13 #include <linux/pci-epc.h>
33 struct pci_epc *epc; member
53 struct pci_epc *epc = epc_group->epc; in pci_secondary_epc_epf_link() local
56 ret = pci_epc_add_epf(epc, epf, SECONDARY_INTERFACE); in pci_secondary_epc_epf_link()
62 pci_epc_remove_epf(epc, epf, SECONDARY_INTERFACE); in pci_secondary_epc_epf_link()
66 /* Send any pending EPC initialization complete to the EPF driver */ in pci_secondary_epc_epf_link()
67 pci_epc_notify_pending_init(epc, epf); in pci_secondary_epc_epf_link()
77 struct pci_epc *epc; in pci_secondary_epc_epf_unlink() local
82 epc = epc_group->epc; in pci_secondary_epc_epf_unlink()
85 pci_epc_remove_epf(epc, epf, SECONDARY_INTERFACE); in pci_secondary_epc_epf_unlink()
[all …]
H A DMakefile7 obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\
8 pci-epc-mem.o functions/
/linux/include/linux/
H A Dpci-epc.h3 * PCI Endpoint *Controller* (EPC) header file
36 * struct pci_epc_map - information about EPC memory for mapping a RC PCI
44 * @phys_base: base physical address of the allocated EPC memory for mapping the
47 * @virt_base: base virtual address of the allocated EPC memory for mapping the
65 * struct pci_epc_ops - set of function pointers for performing EPC operations
86 * @get_features: ops to get the features supported by the EPC
90 int (*write_header)(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
92 int (*set_bar)(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
94 void (*clear_bar)(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
96 u64 (*align_addr)(struct pci_epc *epc, u64 pci_addr, size_t *size,
[all …]
/linux/arch/mips/kernel/
H A Dbranch.c32 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 Dkprobes.c192 * result of evaluation would be the updated epc. The insturction in delayslot
205 long epc; in evaluate_branch_instruction() local
208 epc = regs->cp0_epc; in evaluate_branch_instruction()
209 if (epc & 3) in evaluate_branch_instruction()
229 …pr_notice("Failed to emulate branch instruction because of unaligned epc - sending SIGBUS to %s.\n… in evaluate_branch_instruction()
264 * epc to be restored.
/linux/drivers/pci/controller/cadence/
H A Dpcie-cadence-ep.c11 #include <linux/pci-epc.h>
38 static int cdns_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_write_header() argument
41 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_write_header()
48 dev_err(&epc->dev, "Only Virtual Function #1 has deviceID\n"); in cdns_pcie_ep_write_header()
81 static int cdns_pcie_ep_set_bar(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_set_bar() argument
84 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_set_bar()
152 static void cdns_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_clear_bar() argument
155 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_clear_bar()
185 static int cdns_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_map_addr() argument
188 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_map_addr()
[all …]
/linux/drivers/pci/controller/
H A Dpcie-rockchip-ep.c18 #include <linux/pci-epc.h>
29 * @epc: PCI EPC device
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
[all …]
H A Dpcie-rcar-ep.c13 #include <linux/pci-epc.h>
159 static int rcar_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in rcar_pcie_ep_write_header() argument
162 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_write_header()
195 static int rcar_pcie_ep_set_bar(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in rcar_pcie_ep_set_bar() argument
199 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_set_bar()
246 static void rcar_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rcar_pcie_ep_clear_bar() argument
249 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_clear_bar()
259 static int rcar_pcie_ep_set_msi(struct pci_epc *epc, u8 fn, u8 vfn, u8 nr_irqs) in rcar_pcie_ep_set_msi() argument
261 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_set_msi()
273 static int rcar_pcie_ep_get_msi(struct pci_epc *epc, u8 fn, u8 vfn) in rcar_pcie_ep_get_msi() argument
[all …]
/linux/drivers/pci/endpoint/functions/
H A Dpci-epf-ntb.c42 #include <linux/pci-epc.h>
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()
[all …]
/linux/Documentation/arch/x86/
H A Dsgx.rst37 SGX utilizes an *Enclave Page Cache (EPC)* to store pages that are associated
56 Regular EPC pages contain the code and data of an enclave.
64 number for a page evicted from the EPC.
69 The processor tracks EPC pages in a hardware metadata structure called the
70 *Enclave Page Cache Map (EPCM)*. The EPCM contains an entry for each EPC page
146 EPC sanitization
155 The sanitization is done by going through EPC address space and applying the
231 EPC leaks
234 When EPC page leaks happen, a WARNING like this is shown in dmesg:
236 "EREMOVE returned ... and an EPC page was leaked. SGX may become unusable..."
[all …]
/linux/arch/riscv/kernel/
H A Dtraps_misaligned.c146 static inline int get_insn(struct pt_regs *regs, ulong epc, ulong *r_insn) in get_insn() argument
150 if (epc & 0x2) { in get_insn()
153 if (__read_insn(regs, insn, epc, u16)) in get_insn()
164 epc += sizeof(u16); in get_insn()
165 if (__read_insn(regs, tmp, epc, u16)) in get_insn()
171 if (__read_insn(regs, insn, epc, u32)) in get_insn()
196 unsigned long epc = regs->epc; in handle_vector_misaligned_load() local
199 if (get_insn(regs, epc, &insn)) in handle_vector_misaligned_load()
205 regs->epc = epc + INSN_LEN(insn); in handle_vector_misaligned_load()
210 regs->epc = epc; in handle_vector_misaligned_load()
[all …]
H A Dcfi.c11 * Returns the target address and the expected type when regs->epc points
31 * ebreak ; <- regs->epc in decode_cfi_insn()
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 Dtraps.c156 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \
161 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \
183 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal()
191 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal()
231 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_misaligned()
294 force_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)regs->epc); in handle_break()
300 else if (report_bug(regs->epc, regs) == BUG_TRAP_TYPE_WARN || in handle_break()
302 regs->epc += get_break_insn_length(regs->epc); in handle_break()
332 regs->epc += 4; in do_trap_ecall_u()
363 do_trap_error(regs, SIGILL, ILL_ILLTRP, regs->epc, in do_trap_ecall_u()
H A Dsignal.c269 frame, (void *)regs->epc, (void *)regs->sp); in SYSCALL_DEFINE0()
385 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
394 (void *)regs->epc, (void *)regs->ra, frame); in setup_rt_frame()
425 continue_addr = regs->epc; in arch_do_signal_or_restart()
442 regs->epc = restart_addr; in arch_do_signal_or_restart()
457 if (regs->epc == restart_addr && in arch_do_signal_or_restart()
463 regs->epc = continue_addr; in arch_do_signal_or_restart()
475 if (syscall && regs->epc == restart_addr && retval == -ERESTART_RESTARTBLOCK) in arch_do_signal_or_restart()
H A Dkgdb.c39 unsigned long pc = regs->epc; in get_step_address()
201 {DBG_REG_EPC, GDB_SIZEOF_REG, offsetof(struct pt_regs, epc)},
254 regs->epc = pc; in kgdb_arch_set_pc()
282 regs->epc = addr; in kgdb_arch_update_addr()
332 type = kgdb_riscv_kgdbbreak(regs->epc); in kgdb_riscv_notify()
343 regs->epc += 4; in kgdb_riscv_notify()
/linux/arch/mips/kvm/
H A Demulate.c46 long epc = instpc; in kvm_compute_return_epc() local
50 if (epc & 3) { in kvm_compute_return_epc()
51 kvm_err("%s: unaligned epc\n", __func__); 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()
[all …]
H A Dtrace.h176 { KVM_TRACE_COP0(14, 0), "EPC" }, \
317 __field(unsigned long, epc)
325 __entry->epc = kvm_read_c0_guest_epc(&vcpu->arch.cop0);
332 TP_printk("EPC: 0x%08lx PC: 0x%08lx Status: 0x%08x Cause: 0x%08x BadVAddr: 0x%08lx",
333 __entry->epc,
/linux/arch/riscv/include/asm/
H A Dftrace.h128 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 Dptrace.h16 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 Dextable.c26 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/include/uapi/linux/
H A Dzorro.h36 #define ZORRO_ID(manuf, prod, epc) \ argument
37 ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc))
48 * (epc). The epc has to be ANDed with the GVP_PRODMASK before the
/linux/arch/csky/kernel/
H A Datomic.S21 mfcr a3, epc
53 mtcr a3, epc
/linux/Documentation/devicetree/bindings/usb/
H A Drenesas,rzn1-usbf.yaml41 - description: The USBF EPC interrupt
42 - description: The USBF AHB-EPC interrupt

1234