/drivers/misc/cxl/ |
D | api.c | 51 void cxl_release_mapping(struct cxl_context *ctx) in cxl_release_mapping() 101 struct cxl_context *cxl_dev_context_init(struct pci_dev *dev) in cxl_dev_context_init() 104 struct cxl_context *ctx; in cxl_dev_context_init() 130 struct cxl_context *cxl_get_context(struct pci_dev *dev) in cxl_get_context() 136 int cxl_release_context(struct cxl_context *ctx) in cxl_release_context() 147 static irq_hw_number_t cxl_find_afu_irq(struct cxl_context *ctx, int num) in cxl_find_afu_irq() 163 int cxl_set_priv(struct cxl_context *ctx, void *priv) in cxl_set_priv() 174 void *cxl_get_priv(struct cxl_context *ctx) in cxl_get_priv() 183 int cxl_allocate_afu_irqs(struct cxl_context *ctx, int num) in cxl_allocate_afu_irqs() 213 void cxl_free_afu_irqs(struct cxl_context *ctx) in cxl_free_afu_irqs() [all …]
|
D | cxl.h | 540 struct cxl_context { struct 634 irqreturn_t (*handle_interrupt)(int irq, struct cxl_context *ctx, struct cxl_irq_info *irq_info); argument 637 int (*attach_afu_directed)(struct cxl_context *ctx, u64 wed, u64 amr); 638 int (*attach_dedicated_process)(struct cxl_context *ctx, u64 wed, u64 amr); 639 void (*update_dedicated_ivtes)(struct cxl_context *ctx); 642 void (*psl_irq_dump_registers)(struct cxl_context *ctx); 878 void cxl_context_free(struct cxl_context *ctx); 879 void cxl_context_detach(struct cxl_context *ctx); 898 int afu_register_irqs(struct cxl_context *ctx, u32 count); 899 void afu_release_irqs(struct cxl_context *ctx, void *cookie); [all …]
|
D | context.c | 27 struct cxl_context *cxl_context_alloc(void) in cxl_context_alloc() 29 return kzalloc(sizeof(struct cxl_context), GFP_KERNEL); in cxl_context_alloc() 35 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master) in cxl_context_init() 118 void cxl_context_set_mapping(struct cxl_context *ctx, in cxl_context_set_mapping() 129 struct cxl_context *ctx = vma->vm_file->private_data; in cxl_mmap_fault() 182 int cxl_context_iomap(struct cxl_context *ctx, struct vm_area_struct *vma) in cxl_context_iomap() 234 int __detach_context(struct cxl_context *ctx) in __detach_context() 282 void cxl_context_detach(struct cxl_context *ctx) in cxl_context_detach() 299 struct cxl_context *ctx; in cxl_context_detach_all() 326 struct cxl_context *ctx = container_of(rcu, struct cxl_context, rcu); in reclaim_ctx() [all …]
|
D | fault.c | 32 static struct cxl_sste *find_free_sste(struct cxl_context *ctx, in find_free_sste() 63 static void cxl_load_segment(struct cxl_context *ctx, struct copro_slb *slb) in cxl_load_segment() 84 static int cxl_fault_segment(struct cxl_context *ctx, struct mm_struct *mm, in cxl_fault_segment() 97 static void cxl_ack_ae(struct cxl_context *ctx) in cxl_ack_ae() 112 static int cxl_handle_segment_miss(struct cxl_context *ctx, in cxl_handle_segment_miss() 180 static void cxl_handle_page_fault(struct cxl_context *ctx, in cxl_handle_page_fault() 198 static struct mm_struct *get_mem_context(struct cxl_context *ctx) in get_mem_context() 209 static bool cxl_is_segment_miss(struct cxl_context *ctx, u64 dsisr) in cxl_is_segment_miss() 217 static bool cxl_is_page_fault(struct cxl_context *ctx, u64 dsisr) in cxl_is_page_fault() 230 struct cxl_context *ctx = in cxl_handle_fault() [all …]
|
D | irq.c | 26 static irqreturn_t schedule_cxl_fault(struct cxl_context *ctx, u64 dsisr, u64 dar) in schedule_cxl_fault() 34 irqreturn_t cxl_irq_psl9(int irq, struct cxl_context *ctx, struct cxl_irq_info *irq_info) in cxl_irq_psl9() 85 irqreturn_t cxl_irq_psl8(int irq, struct cxl_context *ctx, struct cxl_irq_info *irq_info) in cxl_irq_psl8() 173 struct cxl_context *ctx = data; in cxl_irq_afu() 281 void afu_irq_name_free(struct cxl_context *ctx) in afu_irq_name_free() 292 int afu_allocate_irqs(struct cxl_context *ctx, u32 count) in afu_allocate_irqs() 357 static void afu_register_hwirqs(struct cxl_context *ctx) in afu_register_hwirqs() 390 int afu_register_irqs(struct cxl_context *ctx, u32 count) in afu_register_irqs() 402 void afu_release_irqs(struct cxl_context *ctx, void *cookie) in afu_release_irqs()
|
D | native.c | 404 static void slb_invalid(struct cxl_context *ctx) in slb_invalid() 426 static int do_process_element_cmd(struct cxl_context *ctx, in do_process_element_cmd() 477 static int add_process_element(struct cxl_context *ctx) in add_process_element() 490 static int terminate_process_element(struct cxl_context *ctx) in terminate_process_element() 513 static int remove_process_element(struct cxl_context *ctx) in remove_process_element() 536 void cxl_assign_psn_space(struct cxl_context *ctx) in cxl_assign_psn_space() 623 static u64 calculate_sr(struct cxl_context *ctx) in calculate_sr() 629 static void update_ivtes_directed(struct cxl_context *ctx) in update_ivtes_directed() 658 static int process_element_entry_psl9(struct cxl_context *ctx, u64 wed, u64 amr) in process_element_entry_psl9() 713 int cxl_attach_afu_directed_psl9(struct cxl_context *ctx, u64 wed, u64 amr) in cxl_attach_afu_directed_psl9() [all …]
|
D | file.c | 47 struct cxl_context *ctx; in __afu_open() 119 struct cxl_context *ctx = file->private_data; in afu_release() 147 static long afu_ioctl_start_work(struct cxl_context *ctx, in afu_ioctl_start_work() 280 static long afu_ioctl_process_element(struct cxl_context *ctx, in afu_ioctl_process_element() 291 static long afu_ioctl_get_afu_id(struct cxl_context *ctx, in afu_ioctl_get_afu_id() 312 struct cxl_context *ctx = file->private_data; in afu_ioctl() 341 struct cxl_context *ctx = file->private_data; in afu_mmap() 353 static inline bool ctx_event_pending(struct cxl_context *ctx) in ctx_event_pending() 366 struct cxl_context *ctx = file->private_data; in afu_poll() 389 static ssize_t afu_driver_event_copy(struct cxl_context *ctx, in afu_driver_event_copy() [all …]
|
D | trace.h | 64 TP_PROTO(struct cxl_context *ctx), 89 TP_PROTO(struct cxl_context *ctx, u64 wed, s16 num_interrupts, u64 amr), 125 TP_PROTO(struct cxl_context *ctx), 130 TP_PROTO(struct cxl_context *ctx, int afu_irq, int virq, irq_hw_number_t hwirq), 163 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 197 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 230 TP_PROTO(struct cxl_context *ctx, u64 tfc), 257 TP_PROTO(struct cxl_context *ctx, u64 dar), 284 TP_PROTO(struct cxl_context *ctx, unsigned int idx, u64 e, u64 v), 317 TP_PROTO(struct cxl_context *ctx, u64 dsisr, u64 dar), [all …]
|
D | guest.c | 61 static irqreturn_t guest_handle_psl_slice_error(struct cxl_context *ctx, u64 dsisr, in guest_handle_psl_slice_error() 156 static int guest_get_irq_info(struct cxl_context *ctx, struct cxl_irq_info *info) in guest_get_irq_info() 163 struct cxl_context *ctx = data; in guest_psl_irq() 379 static int guest_ack_irq(struct cxl_context *ctx, u64 tfc, u64 psl_reset_mask) in guest_ack_irq() 385 static void disable_afu_irqs(struct cxl_context *ctx) in disable_afu_irqs() 401 static void enable_afu_irqs(struct cxl_context *ctx) in enable_afu_irqs() 521 static int attach_afu_directed(struct cxl_context *ctx, u64 wed, u64 amr) in attach_afu_directed() 626 static int guest_attach_process(struct cxl_context *ctx, bool kernel, u64 wed, u64 amr) in guest_attach_process() 639 static int detach_afu_directed(struct cxl_context *ctx) in detach_afu_directed() 648 static int guest_detach_process(struct cxl_context *ctx) in guest_detach_process()
|
D | main.c | 58 static inline void _cxl_slbia(struct cxl_context *ctx, struct mm_struct *mm) in _cxl_slbia() 80 struct cxl_context *ctx; in cxl_slbia_core() 108 int cxl_alloc_sst(struct cxl_context *ctx) in cxl_alloc_sst()
|
D | vphb.c | 32 struct cxl_context *ctx; in cxl_pci_enable_device_hook() 58 struct cxl_context *ctx = cxl_get_context(dev); in cxl_pci_disable_device()
|
D | pci.c | 1973 struct cxl_context *ctx; in cxl_pci_slot_reset()
|