linux_dsm_epyc7002/drivers/misc/cxl
Daniel Axtens c044c41542 cxl: Refactor adaptor init/teardown
Some aspects of initialisation are done only once in the lifetime of
an adapter: for example, allocating memory for the adapter,
allocating the adapter number, 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 CXL init/teardown as follows.

 - Keep the overarching functions 'cxl_init_adapter' and its pair,
   'cxl_remove_adapter'.

 - Move all 'once only' allocation/freeing steps to the existing
   'cxl_alloc_adapter' function, and its pair 'cxl_release_adapter'
   (This involves moving allocation of the adapter number out of
   cxl_init_adapter.)

 - Create two new functions: 'cxl_configure_adapter', and its pair
   'cxl_deconfigure_adapter'. These two functions 'wire up' the
   hardware --- they (de)configure resources that do not need to
   last the entire lifetime of the adapter

Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-08-14 21:32:05 +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 adaptor init/teardown 2015-08-14 21:32:05 +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