Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp1619171rdh; Mon, 25 Sep 2023 20:18:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF0qwZ3vq0csccnweqiDMQVqjjirMrimGEzsNkSC57YgImNNda1/Oz+P9nFdpDKufgLj+Dm X-Received: by 2002:a05:6a00:1990:b0:68b:fdfe:76c2 with SMTP id d16-20020a056a00199000b0068bfdfe76c2mr7678563pfl.20.1695698338700; Mon, 25 Sep 2023 20:18:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695698338; cv=none; d=google.com; s=arc-20160816; b=nudkY3TzATtdOBdYTN7cCfXqhhRakxW/oORbSayF/Cw/WSWHwk6Lpag7YQ3wWkTPpe +xKBXgmX8tOR/8AKxVva/TDlzIBXBaQovtB6lpDJpb4sYlKLIYwLxZUGJEAdGSFMNmtf INR35osqrP1DLhe5xSBUQvw179HPRa28G42cJ/ZUH9+/SZrl6ssz7+5vdRo85a2pKSNe L8jumbhfUF/I7L7FjybObX7RdkXu/oQCgxZX6Y6jg0vN7aq4SK3+l/OV6Zd0QqQt5Fei I4O89H4wb9FMQYeavUgWF833Kp2vQ6aZP4Y7/afNXG558eI+BLHUcZQmJJ7UvK/UmVLi 2oUg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3rvNlDzaDAsx4GrFylz2yurEiQgvNtF9raFCsmZwIV4=; fh=WxcXzAXi1awalX5nBNdKiu2pCszhVA/a0vtqlN5we7w=; b=qnQz5gbOf2Ktp0iRWrISjJW80TX/wT/iX5ZYeywqjyuCGDdL2UgRhMckEJSbNQ6mAm sRGDBml/5DeVE4iLpwyaMJSaTlQunV360Yr3H4O00NzdLAz5y1SM0xmYGPaHmzv9ZzWq RUPd7vNBx4ZWh5gP0egODbVnd78ijWXe36+QJuY2xjNfWwR5U3kpsT2fWfri38tAu0fd cQ9WEddfaTIFW0kA50+ovljUPWWLru8sIUx/jPBcyXTknvNIiscLyVgIUJdi8fR11vZU Lr/BVM8xKlBpsexPiuRw48UUvFZS8859oyT4Fm7wLNwsEJLUPXhJB1c+aNR7c1EQL0cG Npvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DR7rfQY7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id w62-20020a638241000000b00578e2d3c8e6si12112496pgd.492.2023.09.25.20.18.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 20:18:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DR7rfQY7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E7868802F94D; Mon, 25 Sep 2023 12:44:04 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233336AbjIYTn5 (ORCPT + 99 others); Mon, 25 Sep 2023 15:43:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233216AbjIYTnz (ORCPT ); Mon, 25 Sep 2023 15:43:55 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 284EC101; Mon, 25 Sep 2023 12:43:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695671029; x=1727207029; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Qc58uCA2qyiU/pC/xc6SIaVgCU5JFHqYtmabPIVw1Kw=; b=DR7rfQY77zqh4ix3iOI29fThoKIpQtkCKqcPjfd7ZfJGZOZef/LBqhYc Hdv26A1EJ1XzkV0CXqjZn3RMuM8w8+GEL0jfqksePUOEi6WgyyRWQIhRh iaAWad+wgZowrzPrx/14EH0qDKRvY06k4+8ncqPFXNalpSZBcBCiva2r4 1uRHjkZZHvzQ3NUSKkawMxwGzFR0UWaTV9Yia8MUNtNeQ6bD+EVTl5YyL f3devJweahoNx8UTods8np6A+LNTCITD0wsSiv71IB6skQMBQNsi9Gv7P iXkvex6UVUDOs0NPGbWuak0uZaK2qlhkMm6xbBBBtfc/QAnTAZa9eVMfK w==; X-IronPort-AV: E=McAfee;i="6600,9927,10843"; a="360743071" X-IronPort-AV: E=Sophos;i="6.03,176,1694761200"; d="scan'208";a="360743071" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2023 12:43:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10843"; a="872194750" X-IronPort-AV: E=Sophos;i="6.03,176,1694761200"; d="scan'208";a="872194750" Received: from spandruv-desk.jf.intel.com ([10.54.75.14]) by orsmga004.jf.intel.com with ESMTP; 25 Sep 2023 12:43:39 -0700 From: Srinivas Pandruvada To: hdegoede@redhat.com, markgross@kernel.org, ilpo.jarvinen@linux.intel.com, andriy.shevchenko@linux.intel.com Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Pandruvada Subject: [PATCH 2/3] platform/x86: ISST : Check major minor version Date: Mon, 25 Sep 2023 12:43:37 -0700 Message-Id: <20230925194338.966639-3-srinivas.pandruvada@linux.intel.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230925194338.966639-1-srinivas.pandruvada@linux.intel.com> References: <20230925194338.966639-1-srinivas.pandruvada@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 25 Sep 2023 12:44:05 -0700 (PDT) Parse major and minor version number from the version field. If there is a mismatch for major version, exit from further processing for that domain. If there is mismatch in minor version, driver continue to process with an error message. Minor version change doesn't change offsets and bit structures of TPMI fields. Signed-off-by: Srinivas Pandruvada --- .../x86/intel/speed_select_if/isst_tpmi_core.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c index 63faa2ea8327..37f17e229419 100644 --- a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c +++ b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c @@ -30,7 +30,8 @@ #include "isst_if_common.h" /* Supported SST hardware version by this driver */ -#define ISST_HEADER_VERSION 1 +#define ISST_MAJOR_VERSION 0 +#define ISST_MINOR_VERSION 1 /* * Used to indicate if value read from MMIO needs to get multiplied @@ -352,12 +353,19 @@ static int sst_main(struct auxiliary_device *auxdev, struct tpmi_per_power_domai pd_info->sst_header.cp_offset *= 8; pd_info->sst_header.pp_offset *= 8; - if (pd_info->sst_header.interface_version != ISST_HEADER_VERSION) { - dev_err(&auxdev->dev, "SST: Unsupported version:%x\n", - pd_info->sst_header.interface_version); + if (pd_info->sst_header.interface_version == TPMI_VERSION_INVALID) + return -ENODEV; + + if (TPMI_MAJOR_VERSION(pd_info->sst_header.interface_version) != ISST_MAJOR_VERSION) { + dev_err(&auxdev->dev, "SST: Unsupported major version:%lx\n", + TPMI_MAJOR_VERSION(pd_info->sst_header.interface_version)); return -ENODEV; } + if (TPMI_MINOR_VERSION(pd_info->sst_header.interface_version) != ISST_MINOR_VERSION) + dev_err(&auxdev->dev, "SST: Ignore: Unsupported minor version:%lx\n", + TPMI_MINOR_VERSION(pd_info->sst_header.interface_version)); + /* Read SST CP Header */ *((u64 *)&pd_info->cp_header) = readq(pd_info->sst_base + pd_info->sst_header.cp_offset); -- 2.41.0