linux/arch/s390
Niklas Schnelle 1f3f76812d s390/pci: improve DMA translation init and exit
Currently zpci_dma_init_device()/zpci_dma_exit_device() is called as
part of zpci_enable_device()/zpci_disable_device() and errors for
zpci_dma_exit_device() are always ignored even if we could abort.

Improve upon this by moving zpci_dma_exit_device() out of
zpci_disable_device() and check for errors whenever we have a way to
abort the current operation. Note that for example in
zpci_event_hard_deconfigured() the device is expected to be gone so we
really can't abort and proceed even in case of error.

Similarly move the cc == 3 special case out of zpci_unregister_ioat()
and into the callers allowing to abort when finding an already disabled
devices precludes proceeding with the operation.

While we are at it log IOAT register/unregister errors in the s390
debugfs log,

Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2021-08-25 11:03:34 +02:00
..
appldata s390/appldata: use struct_size() helper 2020-06-29 16:32:34 +02:00
boot s390/boot: factor out offset_vmlinux_info() function 2021-08-25 11:03:33 +02:00
configs s390: update defconfigs 2021-07-20 17:59:40 +02:00
crypto s390/archrandom: add parameter check for s390_arch_random_generate 2021-04-21 12:32:12 +02:00
hypfs s390: rename dma section to amode31 2021-08-05 14:10:53 +02:00
include s390/pci: improve DMA translation init and exit 2021-08-25 11:03:34 +02:00
kernel s390/sclp: reserve memory occupied by sclp early buffer 2021-08-18 10:01:29 +02:00
kvm s390 updates for the 5.14 merge window 2021-07-04 12:17:38 -07:00
lib s390/delay: get rid of not needed header includes 2021-07-27 09:39:22 +02:00
mm s390/kasan: fix large PMD pages address alignment check 2021-08-25 11:03:33 +02:00
net s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] 2021-07-15 19:47:25 +02:00
pci s390/pci: improve DMA translation init and exit 2021-08-25 11:03:34 +02:00
purgatory s390: enable KCSAN 2021-07-30 17:09:23 +02:00
tools s390/disassembler: add instructions 2021-07-27 09:39:19 +02:00
Kbuild s390/numa: move code to arch/s390/kernel 2020-08-11 18:16:55 +02:00
Kconfig s390: enable KCSAN 2021-07-30 17:09:23 +02:00
Kconfig.debug s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
Makefile s390: move the install rule to arch/s390/Makefile 2021-07-30 17:09:36 +02:00