diff options
Diffstat (limited to 'drivers/misc/cxl/cxl.h')
-rw-r--r-- | drivers/misc/cxl/cxl.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/misc/cxl/cxl.h b/drivers/misc/cxl/cxl.h index 3d2b8677ec8a..b5b6bda44a00 100644 --- a/drivers/misc/cxl/cxl.h +++ b/drivers/misc/cxl/cxl.h | |||
@@ -336,6 +336,8 @@ struct cxl_sste { | |||
336 | struct cxl_afu { | 336 | struct cxl_afu { |
337 | irq_hw_number_t psl_hwirq; | 337 | irq_hw_number_t psl_hwirq; |
338 | irq_hw_number_t serr_hwirq; | 338 | irq_hw_number_t serr_hwirq; |
339 | char *err_irq_name; | ||
340 | char *psl_irq_name; | ||
339 | unsigned int serr_virq; | 341 | unsigned int serr_virq; |
340 | void __iomem *p1n_mmio; | 342 | void __iomem *p1n_mmio; |
341 | void __iomem *p2n_mmio; | 343 | void __iomem *p2n_mmio; |
@@ -379,6 +381,12 @@ struct cxl_afu { | |||
379 | bool enabled; | 381 | bool enabled; |
380 | }; | 382 | }; |
381 | 383 | ||
384 | |||
385 | struct cxl_irq_name { | ||
386 | struct list_head list; | ||
387 | char *name; | ||
388 | }; | ||
389 | |||
382 | /* | 390 | /* |
383 | * This is a cxl context. If the PSL is in dedicated mode, there will be one | 391 | * This is a cxl context. If the PSL is in dedicated mode, there will be one |
384 | * of these per AFU. If in AFU directed there can be lots of these. | 392 | * of these per AFU. If in AFU directed there can be lots of these. |
@@ -403,6 +411,7 @@ struct cxl_context { | |||
403 | 411 | ||
404 | unsigned long *irq_bitmap; /* Accessed from IRQ context */ | 412 | unsigned long *irq_bitmap; /* Accessed from IRQ context */ |
405 | struct cxl_irq_ranges irqs; | 413 | struct cxl_irq_ranges irqs; |
414 | struct list_head irq_names; | ||
406 | u64 fault_addr; | 415 | u64 fault_addr; |
407 | u64 fault_dsisr; | 416 | u64 fault_dsisr; |
408 | u64 afu_err; | 417 | u64 afu_err; |
@@ -444,6 +453,7 @@ struct cxl { | |||
444 | struct dentry *trace; | 453 | struct dentry *trace; |
445 | struct dentry *psl_err_chk; | 454 | struct dentry *psl_err_chk; |
446 | struct dentry *debugfs; | 455 | struct dentry *debugfs; |
456 | char *irq_name; | ||
447 | struct bin_attribute cxl_attr; | 457 | struct bin_attribute cxl_attr; |
448 | int adapter_num; | 458 | int adapter_num; |
449 | int user_irqs; | 459 | int user_irqs; |
@@ -563,9 +573,6 @@ int _cxl_afu_deactivate_mode(struct cxl_afu *afu, int mode); | |||
563 | int cxl_afu_deactivate_mode(struct cxl_afu *afu); | 573 | int cxl_afu_deactivate_mode(struct cxl_afu *afu); |
564 | int cxl_afu_select_best_mode(struct cxl_afu *afu); | 574 | int cxl_afu_select_best_mode(struct cxl_afu *afu); |
565 | 575 | ||
566 | unsigned int cxl_map_irq(struct cxl *adapter, irq_hw_number_t hwirq, | ||
567 | irq_handler_t handler, void *cookie); | ||
568 | void cxl_unmap_irq(unsigned int virq, void *cookie); | ||
569 | int cxl_register_psl_irq(struct cxl_afu *afu); | 576 | int cxl_register_psl_irq(struct cxl_afu *afu); |
570 | void cxl_release_psl_irq(struct cxl_afu *afu); | 577 | void cxl_release_psl_irq(struct cxl_afu *afu); |
571 | int cxl_register_psl_err_irq(struct cxl *adapter); | 578 | int cxl_register_psl_err_irq(struct cxl *adapter); |
@@ -612,7 +619,7 @@ int cxl_attach_process(struct cxl_context *ctx, bool kernel, u64 wed, | |||
612 | u64 amr); | 619 | u64 amr); |
613 | int cxl_detach_process(struct cxl_context *ctx); | 620 | int cxl_detach_process(struct cxl_context *ctx); |
614 | 621 | ||
615 | int cxl_get_irq(struct cxl_context *ctx, struct cxl_irq_info *info); | 622 | int cxl_get_irq(struct cxl_afu *afu, struct cxl_irq_info *info); |
616 | int cxl_ack_irq(struct cxl_context *ctx, u64 tfc, u64 psl_reset_mask); | 623 | int cxl_ack_irq(struct cxl_context *ctx, u64 tfc, u64 psl_reset_mask); |
617 | 624 | ||
618 | int cxl_check_error(struct cxl_afu *afu); | 625 | int cxl_check_error(struct cxl_afu *afu); |