dmaengine: idxd: embed irq_entry in idxd_wq struct
authorDave Jiang <dave.jiang@intel.com>
Mon, 13 Dec 2021 18:51:23 +0000 (11:51 -0700)
committerVinod Koul <vkoul@kernel.org>
Wed, 5 Jan 2022 07:41:21 +0000 (13:11 +0530)
commitec0d64231615e50539d83516b974e7947d45fbce
tree1a54597ad9c7edd145ec117dd0bd55e04030b43c
parent26e9baa849a262f75b781c7292c36f4fdfbbf03b
dmaengine: idxd: embed irq_entry in idxd_wq struct

With irq_entry already being associated with the wq in a 1:1 relationship,
embed the irq_entry in the idxd_wq struct and remove back pointers for
idxe_wq and idxd_device. In the process of this work, clean up the interrupt
handle assignment so that there's no decision to be made during submit
call on where interrupt handle value comes from. Set the interrupt handle
during irq request initialization time.

irq_entry 0 is designated as special and is tied to the device itself.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/163942148362.2412839.12055447853311267866.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/device.c
drivers/dma/idxd/idxd.h
drivers/dma/idxd/init.c
drivers/dma/idxd/irq.c
drivers/dma/idxd/submit.c
drivers/dma/idxd/sysfs.c