v2: - Fix comment header typo (Vinod) - Declare and init struct w/o memset (Vinod) The series adds support to refresh the interrupt handles when they become invalid. Typically this happens during a VM live migration where a VM moves from one machine to another. The driver will receive an interrupt to indicate that interrupt handles need to be changed. The driver blocks the current submissions and acquires new interrupt handles. All submissions will be held off until the handle is refreshed. Already submitted descriptor will error with status of "incorrect interrupt handle" and be resubmitted by the driver. --- Dave Jiang (7): dmaengine: idxd: rework descriptor free path on failure dmaengine: idxd: int handle management refactoring dmaengine: idxd: move interrupt handle assignment dmaengine: idxd: add helper for per interrupt handle drain dmaengine: idxd: create locked version of idxd_quiesce() call dmaengine: idxd: handle invalid interrupt handle descriptors dmaengine: idxd: handle interrupt handle revoked event drivers/dma/idxd/device.c | 24 +++- drivers/dma/idxd/dma.c | 18 ++- drivers/dma/idxd/idxd.h | 13 +- drivers/dma/idxd/init.c | 87 +++++++------- drivers/dma/idxd/irq.c | 226 +++++++++++++++++++++++++++++++++++ drivers/dma/idxd/registers.h | 1 + drivers/dma/idxd/submit.c | 26 ++-- drivers/dma/idxd/sysfs.c | 1 - 8 files changed, 331 insertions(+), 65 deletions(-) --