From patchwork Fri Aug 11 01:26:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fenghua Yu X-Patchwork-Id: 134280 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp813086vqi; Thu, 10 Aug 2023 19:32:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEqN9CO64UvdQzEli0irR5o8IUOPbL8b662QxliBN+a9JCxMFfzoGBY+PBZocB36ZNRKJdd X-Received: by 2002:aa7:d390:0:b0:522:30cc:a1f4 with SMTP id x16-20020aa7d390000000b0052230cca1f4mr657663edq.0.1691721168000; Thu, 10 Aug 2023 19:32:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691721167; cv=none; d=google.com; s=arc-20160816; b=ix6S5HDbPfvaYH3xkgt3q52LNKZu2JjOoAKe/mSoJfbxyf/TKCckVS1LEz6SxMUR3K ITR8DMwpPSB5bbjOXFIAKaDMveeJxjD/hQDqvUMhPGNLoU/IkbDkPfnv3sQhDM0iUpHK sw9ZSkP+kwxJobuIUZncFexb98LNQGzTlsFFaDvFCI0+nYGOkC2LQv8TUBSB3b8MfgiB XSwEqYNWVAAkXqYazL01zNUyk09AuCrnf41tDnGAIVjrkZ1QpEGwbM7s1VgidaoWBJCO WEQal6nzK3E2P5YDmhdyFASitfYQhjEvBUcbQz6cwAym59Yn63qOSNNGhlNjNG+lEgJh 9wow== 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=/aJYmVhy1lZlfZEn1pyKI+IP8Ub0GWJUsytTfq1fItc=; fh=/5iuT7zm+1LdtyDsRT8aaoOPy5FKYhDbwG/k3GVtR/A=; b=Y+pIUjCsWsGG7cSzJTLOXM1ddBMprMjhnW3UX6rCXoZcZ5NYdf2nWurHdhOE1CpEVH 2oVpVZe5htTzOAeILdCEcG/UgtVY09MixAxgE4BNw6RJmh7xKNxY0jhT2V569AigNHGj TWG39Fd8BHD2Od/EqMgA3Za+zPJ5OuJCFlUiudkl4mdSDxikf3f00CFLpe5ItD0+nTLz qVGmhw36MpXnyGNRokw5asHkpUpa8/i0fgh/pKoQHRLAFPKBhoIBni4BKENa7WpyDHED q7KDO8vl4i7MLnZ1X8QGSGtbjh3Lp/4uJn8U7SsrT8giB8gFq0NawVOR77FRDYoyljI5 2OdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=U6QcTb0s; 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 bc22-20020a056402205600b005222b88bb90si2557821edb.133.2023.08.10.19.32.24; Thu, 10 Aug 2023 19:32:47 -0700 (PDT) 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=U6QcTb0s; 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 S232296AbjHKB0u (ORCPT + 99 others); Thu, 10 Aug 2023 21:26:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229503AbjHKB0t (ORCPT ); Thu, 10 Aug 2023 21:26:49 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2028B2D54; Thu, 10 Aug 2023 18:26:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1691717208; x=1723253208; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=6eOxzjNSdJ9xLoQ+f6WYB+DPCDQFuAVd8R3aCELZr7o=; b=U6QcTb0skvEprv6uezuukKXguxQq4x8Ipu7uH+4gW9AHBwF/nRD5aXOV aLHXJG3zE6+Mzg7IHrnj3Zm21Xags3fypsgxPLC2GH45w9FEW/Oqw38sq oGIBHH6MsLJRa2ygfFhg/6Bmu6DoJI+I/dtczpNNZDzGu8JRXO6RTR35P nEraomYh+NYXrJ9ORpQlTmntcTxOriOFJciBZNlTFrKEVGIqB5CqlSs+4 Ez/XmBHTyEWFWWdRWV7W9XWfJXre1/nnldUpKkmbk/KHOTQ0FmPZ0CKlK F4aRQfxxBK0ZIP2qfvIk2gVTfWcUImYMczq3e73co3Gy9omELPt54XiR0 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10798"; a="351884241" X-IronPort-AV: E=Sophos;i="6.01,164,1684825200"; d="scan'208";a="351884241" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2023 18:26:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10798"; a="726060720" X-IronPort-AV: E=Sophos;i="6.01,164,1684825200"; d="scan'208";a="726060720" Received: from fyu1.sc.intel.com ([172.25.103.126]) by orsmga007.jf.intel.com with ESMTP; 10 Aug 2023 18:26:44 -0700 From: Fenghua Yu To: "Vinod Koul" , "Dave Jiang" Cc: dmaengine@vger.kernel.org, "linux-kernel" , Fenghua Yu Subject: [PATCH 1/2] dmaengine: idxd: Allow ATS disable update only for configurable devices Date: Thu, 10 Aug 2023 18:26:34 -0700 Message-Id: <20230811012635.535413-1-fenghua.yu@intel.com> X-Mailer: git-send-email 2.37.1 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,URIBL_BLOCKED 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: INBOX X-GMAIL-THRID: 1773898215612661248 X-GMAIL-MSGID: 1773898215612661248 ATS disable status in a WQ is read-only if the device is not configurable. This change ensures that the ATS disable attribute can be modified via sysfs only on configurable devices. Fixes: 92de5fa2dc39 ("dmaengine: idxd: add ATS disable knob for work queues") Signed-off-by: Fenghua Yu Reviewed-by: Dave Jiang --- Applied cleanly to https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine next drivers/dma/idxd/sysfs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c index d16c16445c4f..66c89b07b3f7 100644 --- a/drivers/dma/idxd/sysfs.c +++ b/drivers/dma/idxd/sysfs.c @@ -1088,12 +1088,16 @@ static ssize_t wq_ats_disable_store(struct device *dev, struct device_attribute const char *buf, size_t count) { struct idxd_wq *wq = confdev_to_wq(dev); + struct idxd_device *idxd = wq->idxd; bool ats_dis; int rc; if (wq->state != IDXD_WQ_DISABLED) return -EPERM; + if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) + return -EPERM; + rc = kstrtobool(buf, &ats_dis); if (rc < 0) return rc;