File dmaengine-idxd-fix-setting-up-priv-mode-for-dwq.patch of Package linux-glibc-devel

From d8071323c5632bdf0a8ef9b9e5662fac43649f9d Mon Sep 17 00:00:00 2001
From: Dave Jiang <dave.jiang@intel.com>
Date: Thu, 19 Aug 2021 09:34:06 -0700
Subject: [PATCH] dmaengine: idxd: fix setting up priv mode for dwq
Git-commit: d8071323c5632bdf0a8ef9b9e5662fac43649f9d
Patch-mainline: v5.15-rc1
References: jsc#SLE-18899

DSA spec says WQ priv bit is 0 if the Privileged Mode Enable field of the
PCI Express PASID capability is 0 and pasid is enabled. Make sure that the
WQCFG priv field is set correctly according to usage type. Reject config if
setting up kernel WQ type and no support. Also add the correct priv setup
for a descriptor.

Fixes: 484f910e93b4 ("dmaengine: idxd: fix wq config registers offset programming")
Cc: Ramesh Thomas <ramesh.thomas@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/162939084657.903168.14160019185148244596.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/dma/Kconfig       |  1 +
 drivers/dma/idxd/device.c | 29 ++++++++++++++++++++++++++++-
 drivers/dma/idxd/dma.c    |  6 +++++-
 include/uapi/linux/idxd.h |  1 +
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/include/uapi/linux/idxd.h b/include/uapi/linux/idxd.h
index ca24c25252fb..c750eac09fc9 100644
--- a/include/linux/idxd.h
+++ b/include/linux/idxd.h
@@ -27,6 +27,7 @@ enum idxd_scmd_stat {
 	IDXD_SCMD_WQ_NO_SWQ_SUPPORT = 0x800c0000,
 	IDXD_SCMD_WQ_NONE_CONFIGURED = 0x800d0000,
 	IDXD_SCMD_WQ_NO_SIZE = 0x800e0000,
+	IDXD_SCMD_WQ_NO_PRIV = 0x800f0000,
 };
 
 #define IDXD_SCMD_SOFTERR_MASK	0x80000000
-- 
2.26.2

openSUSE Build Service is sponsored by