linux_dsm_epyc7002/drivers/misc/cxl
Daniel Axtens d76427b0d8 cxl: Refactor AFU init/teardown
As with an adapter, some aspects of initialisation are done only once
in the lifetime of an AFU: for example, allocating memory, or setting
up sysfs/debugfs files.

However, we may want to be able to do some parts of the initialisation
multiple times: for example, in error recovery we want to be able to
tear down and then re-map IO memory and IRQs.

Therefore, refactor AFU init/teardown as follows.

 - Create two new functions: 'cxl_configure_afu', and its pair
   'cxl_deconfigure_afu'. As with the adapter functions,
   these (de)configure resources that do not need to last the entire
   lifetime of the AFU.

 - Allocating and releasing memory remain the task of 'cxl_alloc_afu'
   and 'cxl_release_afu'.

 - Once-only functions that do not involve allocating/releasing memory
   stay in the overarching 'cxl_init_afu'/'cxl_remove_afu' pair.
   However, the task of picking an AFU mode and activating it has been
   broken out.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-08-14 21:32:07 +10:00
..
api.c cxl: Fix refcounting in kernel API 2015-07-07 19:38:37 +10:00
base.c cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
context.c cxl: Drop commands if the PCI channel is not in normal state 2015-08-14 21:32:03 +10:00
cxl.h cxl: Allocate and release the SPA with the AFU 2015-08-14 21:32:04 +10:00
debugfs.c cxl: sparse: Silence iomem warning in debugfs file creation 2015-08-12 14:49:29 +10:00
fault.c cxl: Only check pid for userspace contexts 2015-06-03 13:27:18 +10:00
file.c cxl: Drop commands if the PCI channel is not in normal state 2015-08-14 21:32:03 +10:00
irq.c cxl: Make IRQ release idempotent 2015-08-14 21:32:04 +10:00
Kconfig cxl: Add CXL_KERNEL_API config option 2015-06-19 17:10:30 +10:00
main.c cxl: Destroy cxl_adapter_idr on module_exit 2015-07-16 14:14:55 +10:00
Makefile cxl: Compile with -Werror 2015-08-11 07:43:40 +10:00
native.c cxl: Allocate and release the SPA with the AFU 2015-08-14 21:32:04 +10:00
pci.c cxl: Refactor AFU init/teardown 2015-08-14 21:32:07 +10:00
sysfs.c cxl: cxl_afu_reset() -> __cxl_afu_reset() 2015-06-03 13:27:18 +10:00
trace.c cxl: Add tracepoints 2015-01-22 17:31:51 +11:00
trace.h cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
vphb.c cxl: Drop commands if the PCI channel is not in normal state 2015-08-14 21:32:03 +10:00