Lines Matching refs:adapter
27 fir1 = cxl_p1_read(ctx->afu->adapter, CXL_PSL_FIR1); in handle_psl_slice_error()
28 fir2 = cxl_p1_read(ctx->afu->adapter, CXL_PSL_FIR2); in handle_psl_slice_error()
41 cxl_stop_trace(ctx->afu->adapter); in handle_psl_slice_error()
69 struct cxl *adapter = data; in cxl_irq_err() local
74 err_ivte = cxl_p1_read(adapter, CXL_PSL_ErrIVTE); in cxl_irq_err()
75 dev_crit(&adapter->dev, "PSL_ErrIVTE: 0x%.16llx\n", err_ivte); in cxl_irq_err()
77 dev_crit(&adapter->dev, "STOPPING CXL TRACE\n"); in cxl_irq_err()
78 cxl_stop_trace(adapter); in cxl_irq_err()
80 fir1 = cxl_p1_read(adapter, CXL_PSL_FIR1); in cxl_irq_err()
81 fir2 = cxl_p1_read(adapter, CXL_PSL_FIR2); in cxl_irq_err()
83 dev_crit(&adapter->dev, "PSL_FIR1: 0x%.16llx\nPSL_FIR2: 0x%.16llx\n", fir1, fir2); in cxl_irq_err()
262 unsigned int cxl_map_irq(struct cxl *adapter, irq_hw_number_t hwirq, in cxl_map_irq() argument
271 dev_warn(&adapter->dev, "cxl_map_irq: irq_create_mapping failed\n"); in cxl_map_irq()
275 cxl_setup_irq(adapter, hwirq, virq); in cxl_map_irq()
281 dev_warn(&adapter->dev, "cxl_map_irq: request_irq failed: %i\n", result); in cxl_map_irq()
293 static int cxl_register_one_irq(struct cxl *adapter, in cxl_register_one_irq() argument
302 if ((hwirq = cxl_alloc_one_irq(adapter)) < 0) in cxl_register_one_irq()
305 if (!(virq = cxl_map_irq(adapter, hwirq, handler, cookie, name))) in cxl_register_one_irq()
314 cxl_release_one_irq(adapter, hwirq); in cxl_register_one_irq()
318 int cxl_register_psl_err_irq(struct cxl *adapter) in cxl_register_psl_err_irq() argument
322 adapter->irq_name = kasprintf(GFP_KERNEL, "cxl-%s-err", in cxl_register_psl_err_irq()
323 dev_name(&adapter->dev)); in cxl_register_psl_err_irq()
324 if (!adapter->irq_name) in cxl_register_psl_err_irq()
327 if ((rc = cxl_register_one_irq(adapter, cxl_irq_err, adapter, in cxl_register_psl_err_irq()
328 &adapter->err_hwirq, in cxl_register_psl_err_irq()
329 &adapter->err_virq, in cxl_register_psl_err_irq()
330 adapter->irq_name))) { in cxl_register_psl_err_irq()
331 kfree(adapter->irq_name); in cxl_register_psl_err_irq()
332 adapter->irq_name = NULL; in cxl_register_psl_err_irq()
336 cxl_p1_write(adapter, CXL_PSL_ErrIVTE, adapter->err_hwirq & 0xffff); in cxl_register_psl_err_irq()
341 void cxl_release_psl_err_irq(struct cxl *adapter) in cxl_release_psl_err_irq() argument
343 cxl_p1_write(adapter, CXL_PSL_ErrIVTE, 0x0000000000000000); in cxl_release_psl_err_irq()
344 cxl_unmap_irq(adapter->err_virq, adapter); in cxl_release_psl_err_irq()
345 cxl_release_one_irq(adapter, adapter->err_hwirq); in cxl_release_psl_err_irq()
346 kfree(adapter->irq_name); in cxl_release_psl_err_irq()
359 if ((rc = cxl_register_one_irq(afu->adapter, cxl_slice_irq_err, afu, in cxl_register_serr_irq()
378 cxl_release_one_irq(afu->adapter, afu->serr_hwirq); in cxl_release_serr_irq()
391 if ((rc = cxl_register_one_irq(afu->adapter, cxl_irq_multiplexed, afu, in cxl_register_psl_irq()
403 cxl_release_one_irq(afu->adapter, afu->psl_hwirq); in cxl_release_psl_irq()
424 if ((rc = cxl_alloc_irq_ranges(&ctx->irqs, ctx->afu->adapter, count))) in afu_register_irqs()
466 cxl_map_irq(ctx->afu->adapter, hwirq, in afu_register_irqs()
495 cxl_release_irq_ranges(&ctx->irqs, ctx->afu->adapter); in afu_release_irqs()