dmaengine: idxd: set descriptor allocation size to threshold for swq
authorDave Jiang <dave.jiang@intel.com>
Fri, 6 Aug 2021 17:38:37 +0000 (10:38 -0700)
committerVinod Koul <vkoul@kernel.org>
Wed, 25 Aug 2021 11:30:24 +0000 (17:00 +0530)
Since submission is sent to limited portal, the actual wq size for shared
wq is set by the threshold rather than the wq size. When the wq type is
shared, set the allocated descriptors to the threshold.

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

index 21f0d732b76ee0fc9e8f8179a633057dfd9c9555..e093cf225a5c6a66cf673c57366511de856ab8ef 100644 (file)
@@ -141,8 +141,8 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
        if (wq->type != IDXD_WQT_KERNEL)
                return 0;
 
-       wq->num_descs = wq->size;
-       num_descs = wq->size;
+       num_descs = wq_dedicated(wq) ? wq->size : wq->threshold;
+       wq->num_descs = num_descs;
 
        rc = alloc_hw_descs(wq, num_descs);
        if (rc < 0)