projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b1b9ef3
)
dmaengine: idxd: reconfig device after device reset command
author
Dave Jiang
<dave.jiang@intel.com>
Thu, 2 Sep 2021 00:18:05 +0000
(17:18 -0700)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:17:03 +0000
(19:17 +0100)
[ Upstream commit
e530a9f3db4188d1f4e3704b0948ef69c04d5ca6
]
Device reset clears the MSIXPERM table and the device registers. Re-program
the MSIXPERM table and re-enable the error interrupts post reset.
Fixes: 745e92a6d816 ("dmaengine: idxd: idxd: move remove() bits for idxd 'struct device' to device.c")
Reported-by: Sanjay Kumar <sanjay.k.kumar@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link:
https://lore.kernel.org/r/163054188513.2853562.12077053294595278181.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/dma/idxd/device.c
patch
|
blob
|
history
diff --git
a/drivers/dma/idxd/device.c
b/drivers/dma/idxd/device.c
index cbbfa17d8d11bf9c8d0e5a8961177d906ab26b83..419b206f8a42d09934e941de2dc4327bae99dc82 100644
(file)
--- a/
drivers/dma/idxd/device.c
+++ b/
drivers/dma/idxd/device.c
@@
-583,6
+583,8
@@
void idxd_device_reset(struct idxd_device *idxd)
spin_lock(&idxd->dev_lock);
idxd_device_clear_state(idxd);
idxd->state = IDXD_DEV_DISABLED;
+ idxd_unmask_error_interrupts(idxd);
+ idxd_msix_perm_setup(idxd);
spin_unlock(&idxd->dev_lock);
}