From patchwork Fri Jan 27 19:28:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fenghua Yu X-Patchwork-Id: 49605 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1008284wrn; Fri, 27 Jan 2023 11:36:45 -0800 (PST) X-Google-Smtp-Source: AMrXdXsUFi/4h4yORRU/TZ3mgb+zuMxNByl38K289vxgbKVhu2ewXvJDW1C0fraGjVnEMrAJlT4k X-Received: by 2002:a05:6a00:1d23:b0:58d:a91d:e9f8 with SMTP id a35-20020a056a001d2300b0058da91de9f8mr33976176pfx.18.1674848205279; Fri, 27 Jan 2023 11:36:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674848205; cv=none; d=google.com; s=arc-20160816; b=k2VK2czGj0uF9couw7QnFTq7KIxStzMAognDKrvyrF0BbjsIgy4rkVFH8dFeURy9gn KAOHh9MmxVmZo/pNtETiXu6dHA1kTsngzfcwanma8la5sZtFHHPPC7qMvzYncrzOD7UO AYBWalXDjDhpQe30ytzVHH/NrDnoMdCluKNjVrhYdRQnamw6qLTSsALE9vr39AJ051dL AHXLajVxmSxW2icVEmk22qQO8rbFS148Wz+I2+0h0ZlGw9EBa7sOovSPOVoG6sP9V81K yCTZ0l1ZykdyBF3gW9k2wKaQjUh5icx5+SMPMZQMkD08xtMZMVXv9qnWMhEZCsH9g30J DVyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=WykRXHjqeNDyLsxIZxWD3HMU/LKrGjSL0Z7opaKF170=; b=MjweUfjFi7GOzWkQjUKQfHhaxV4dcR8Ba5DUT1p67gmvgfQGhveBxrUnGk/AToveVx T5b8nhmXBUL4K67WHFzqwMQKIsLRuuICSal4GpFCHCYIA7ORVcyF66dEj8uLcs9t2nbF w9r2AalU8H12fZqe0YS9UqwJfCbd4JdUGPNvEEbfBe4hCcaV6Mg2ukNN0C9VTNtY8ddd VscmJiSMI4xvWHSyH/b7B9WesxIAiXaYNjxH0qysElg0UmqtGdDKL6q5TZJ3e8WqLy7d YAbvVaJMoa3CgaN1DZULUSIjV1FSAFWc+/yh1rZWbVCXIsOb4YGAUVI99wOPzsbWJJ5f fQsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dL3JLaUx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r1-20020a056a00216100b0058b398c1a69si5049615pff.59.2023.01.27.11.36.33; Fri, 27 Jan 2023 11:36:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dL3JLaUx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234571AbjA0T3d (ORCPT + 99 others); Fri, 27 Jan 2023 14:29:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231274AbjA0T3Z (ORCPT ); Fri, 27 Jan 2023 14:29:25 -0500 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBB9C6D5E0; Fri, 27 Jan 2023 11:29:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1674847761; x=1706383761; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=zon/6+Tnyyx6Alfmpf8RH++FBpnIXSclhVfwwyk9hRk=; b=dL3JLaUxFjsF1VeNUj7Xlt7YRJKQiucDTomp2uOc5i0dD7avt0BUsdxC 2f7qCp4pyvW2lNXOefgARcQIzFDILDvlPho7DdR2BZzvF+R+zZiUuPXY/ rgUENQ0SGQuqpgQi5ci+G7Ve6n+vBYWyxhErw+8GfjToAGyvqOdB4ngoI S3SKSFMBauItBzab+78TdUy9VFOKiMpH2urJ1O/eaKA/bLv92GHt05tpH xYwsUvEkVq6zby+SNDXVc25XqaCcbDMTiKKXn3t7E5iLkynQ6dK309rhn bg5jYdJOe5TomHJXP2azZYlGJOdl+hn5Rpcq1KiDhEeOsRm9zdM+BldDy A==; X-IronPort-AV: E=McAfee;i="6500,9779,10603"; a="389547556" X-IronPort-AV: E=Sophos;i="5.97,252,1669104000"; d="scan'208";a="389547556" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jan 2023 11:29:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10603"; a="992178911" X-IronPort-AV: E=Sophos;i="5.97,252,1669104000"; d="scan'208";a="992178911" Received: from fyu1.sc.intel.com ([172.25.103.126]) by fmsmga005.fm.intel.com with ESMTP; 27 Jan 2023 11:29:21 -0800 From: Fenghua Yu To: "Vinod Koul" , "Dave Jiang" Cc: "linux-kernel" , dmaengine@vger.kernel.org, Fenghua Yu , Ramesh Thomas , Nikhil Rao Subject: [PATCH] dmaengine: idxd: Fix default allowed read buffers value in group Date: Fri, 27 Jan 2023 11:28:55 -0800 Message-Id: <20230127192855.966929-1-fenghua.yu@intel.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756205631623168235?= X-GMAIL-MSGID: =?utf-8?q?1756205631623168235?= Currently default read buffers that is allowed in a group is 0. grpcfg will be configured to max read buffers that IDXD can support if the group's allowed read buffers value is 0. But 0 is an invalid read buffers value and user may get confused when seeing the invalid initial value 0 through sysfs interface. To show only valid allowed read buffers value and eliminate confusion, directly initialize the allowed read buffers to IDXD's max read buffers. User still can change the value through sysfs interface. Suggested-by: Ramesh Thomas Signed-off-by: Fenghua Yu Reviewed-by: Nikhil Rao Reviewed-by: Dave Jiang --- drivers/dma/idxd/device.c | 12 ++++++------ drivers/dma/idxd/init.c | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index 29dbb0f52e18..8d0e3aab2ad2 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -699,7 +699,11 @@ static void idxd_groups_clear_state(struct idxd_device *idxd) group->num_engines = 0; group->num_wqs = 0; group->use_rdbuf_limit = false; - group->rdbufs_allowed = 0; + /* + * The default value is the same as the value of + * total read buffers in GRPCAP. + */ + group->rdbufs_allowed = idxd->max_rdbufs; group->rdbufs_reserved = 0; if (idxd->hw.version < DEVICE_VERSION_2 && !tc_override) { group->tc_a = 1; @@ -934,11 +938,7 @@ static void idxd_group_flags_setup(struct idxd_device *idxd) group->grpcfg.flags.tc_b = group->tc_b; group->grpcfg.flags.use_rdbuf_limit = group->use_rdbuf_limit; group->grpcfg.flags.rdbufs_reserved = group->rdbufs_reserved; - if (group->rdbufs_allowed) - group->grpcfg.flags.rdbufs_allowed = group->rdbufs_allowed; - else - group->grpcfg.flags.rdbufs_allowed = idxd->max_rdbufs; - + group->grpcfg.flags.rdbufs_allowed = group->rdbufs_allowed; group->grpcfg.flags.desc_progress_limit = group->desc_progress_limit; group->grpcfg.flags.batch_progress_limit = group->batch_progress_limit; } diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c index 529ea09c9094..b2df604e8a5f 100644 --- a/drivers/dma/idxd/init.c +++ b/drivers/dma/idxd/init.c @@ -302,6 +302,11 @@ static int idxd_setup_groups(struct idxd_device *idxd) group->tc_a = -1; group->tc_b = -1; } + /* + * The default value is the same as the value of + * total read buffers in GRPCAP. + */ + group->rdbufs_allowed = idxd->max_rdbufs; } return 0;