dmaengine: idxd: reflect shadow copy of traffic class programming
authorDave Jiang <dave.jiang@intel.com>
Tue, 10 Mar 2020 17:50:30 +0000 (10:50 -0700)
committerVinod Koul <vkoul@kernel.org>
Wed, 11 Mar 2020 09:38:52 +0000 (15:08 +0530)
The traffic class are set to -1 at initialization until the user programs
them. If the user choose not to, the driver will program appropriate
defaults. The driver also needs to update the shadowed copies of the values
after doing the programming.

Fixes: c52ca478233c ("dmaengine: idxd: add configuration component of driver")
Reported-by: Yixin Zhang <yixin.zhang@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/158386263076.10898.4586509576813094559.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/device.c

index ada69e722f84a7bcfbf462ce98fecf3f79921572..f6f49f0f6fae25a284ffccce7afdc8a2df5668c3 100644 (file)
@@ -584,11 +584,11 @@ static void idxd_group_flags_setup(struct idxd_device *idxd)
                struct idxd_group *group = &idxd->groups[i];
 
                if (group->tc_a == -1)
-                       group->grpcfg.flags.tc_a = 0;
+                       group->tc_a = group->grpcfg.flags.tc_a = 0;
                else
                        group->grpcfg.flags.tc_a = group->tc_a;
                if (group->tc_b == -1)
-                       group->grpcfg.flags.tc_b = 1;
+                       group->tc_b = group->grpcfg.flags.tc_b = 1;
                else
                        group->grpcfg.flags.tc_b = group->tc_b;
                group->grpcfg.flags.use_token_limit = group->use_token_limit;