From patchwork Sat Feb 11 06:32:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: srinivas pandruvada X-Patchwork-Id: 5270 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1362132wrn; Fri, 10 Feb 2023 22:33:55 -0800 (PST) X-Google-Smtp-Source: AK7set/YrqN+bOO5vPbPGS9vbvftWcst5oe+WpSSWXuBkssyOHBXp3Wpe9578hrLzNKePolecdB+ X-Received: by 2002:a50:ba8e:0:b0:4a2:358e:e734 with SMTP id x14-20020a50ba8e000000b004a2358ee734mr18126388ede.7.1676097235820; Fri, 10 Feb 2023 22:33:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676097235; cv=none; d=google.com; s=arc-20160816; b=huGoxLO5biv1OVkF9izxjK/qUyDHhQArF9pIXaFW2Dmw2XCwxZvrTajiDLzlt/Y4Eb UXBgQcnFn//2gHqU5u0RM8uzSd80zvAKcq1D2w7boW2BLbqCi5I7RgwcpNe1/G4j7Fgw NJAiEV3x1EFIr8Og+CTxgHL5GjIiIEDLzlbrPlQm0ZyE4CSs222vWi9z9dnQaJ31F23x ypp4f87NQLuocy+gTzmIPYj7zqt2FUHMwsTVsURYrI+0UBw1OqX3U4HlhMy1wPHs2zkd xHXF+3z+FYlgfk/WZ0OXb9+yJh0nIEKvMNCmalDCUvhnYlS5wuN76PVHPm2cvSjfOOTX 7NxA== 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=Ve9N17USs7BkzaRsl1q/gvirEu3Pta8YrVr/GDhdIOw=; b=prq8Jtu55nLerggE2sbvP5M29jcCjeUpb4/vJzzOEbCQpnobE4kwaqwYgChyjKjEl3 wWnvY5x+nNQ95yQBSEKCYfNuL7sJwFckK2azqO00DyBNLsUpmjIAV2Nt2rOw+9JN1byj dPS9hMJHrV0wB4GPc+kwRPb9EEK3a/UyG4BF8vNwXAnJv5/lJhPKqMWvXkEkOYhT6Kb9 kaTyXxM6nHObFxEz1zOHOtJWpO4LRvzwuRuen9EkNzdThvHj/ZEkFXuX4EJn6YYR4/gZ x417Iw6Zdea6myl1qq5UWfG+CY74g3Bhhmxt4q37QgWAunb4CePxgIPd0ujwsVxuF4Ly 8rqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kaiQLjDh; 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 a1-20020a50e701000000b004aaa07a9475si7948372edn.50.2023.02.10.22.33.32; Fri, 10 Feb 2023 22:33:55 -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=kaiQLjDh; 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 S229588AbjBKGdK (ORCPT + 99 others); Sat, 11 Feb 2023 01:33:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229577AbjBKGdH (ORCPT ); Sat, 11 Feb 2023 01:33:07 -0500 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58CA87CC92; Fri, 10 Feb 2023 22:33:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676097180; x=1707633180; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=7zxEPErl2IqErE1vJsd67hjtwPv08qOzrW4rXNoRggo=; b=kaiQLjDht2dP9QxcN3Kiv8EXlfTYuhBWgVYRPAVndMV7qJCgkZlFUHSC YivnsNo2wGTSuoC/iVM3R+BJg7THkJYtO4M1VtpOspdvuXCTth7sLlwJh Tc0o26o+wjBRFGLZzXgH8uobVnwa26b//BCTpIC98vcgpdmlU+hJ9EDlE +9dqdUOu5kVg1yF+VVoJLGF0WoaPGGOy/SuT/7WIYblSvU6nmwzFNAyVK J+8AXNA4Cx4hGSfUzA+TvzYDTvILDnChLqtXPDp00r1p3L9cPtmA5Jkvt LdQuZpdu3KtfJgEel1nyzf+e1vpoN/2ciSWlvHm0gSjr7uej2MMtuR5iw g==; X-IronPort-AV: E=McAfee;i="6500,9779,10617"; a="310223192" X-IronPort-AV: E=Sophos;i="5.97,289,1669104000"; d="scan'208";a="310223192" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2023 22:33:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10617"; a="997171758" X-IronPort-AV: E=Sophos;i="5.97,289,1669104000"; d="scan'208";a="997171758" Received: from spandruv-desk.jf.intel.com ([10.54.75.8]) by fmsmga005.fm.intel.com with ESMTP; 10 Feb 2023 22:32:59 -0800 From: Srinivas Pandruvada To: hdegoede@redhat.com, markgross@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Pandruvada Subject: [PATCH 00/12] platform/x86: ISST: Use TPMI interface Date: Fri, 10 Feb 2023 22:32:45 -0800 Message-Id: <20230211063257.311746-1-srinivas.pandruvada@linux.intel.com> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, 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?1757515334955838420?= X-GMAIL-MSGID: =?utf-8?q?1757515334955838420?= This series implements TPMI as Intel Speed Select Technology (Intel SST) HW interface. TPMI has several advantages for Intel SST. This replaces legacy mailbox and MMIO with architectural interface over TPMI. This improves performance for HPC type applications. One single IOCTL command replaces 10s of IOCTLs for mailboxes. This allowed to offer many more performance levels and SST configurations. Users use intel-speed-select utility to configure Intel SST. User of the tool still can use the same commands. The utility uses new IOCTLs based on the new API version. The TPMI documentation can be downloaded from: https://github.com/intel/tpmi_power_management This series depends on previously posted series: - platform/x86/intel: Add TPMI support Uses 6.2-rc1 as baseline, so the patchset needs to be rebased. Srinivas Pandruvada (12): platform/x86: ISST: Fix kernel documentation warnings platform/x86: ISST: Add TPMI target platform/x86: ISST: Add IOCTL default callback platform/x86: ISST: Add API version of the target platform/x86: ISST: Add support for MSR 0x54 platform/x86: ISST: Enumerate TPMI SST and create framework platform/x86: ISST: Parse SST MMIO and update instance platform/x86: ISST: Add SST-CP support via TPMI platform/x86: ISST: Add SST-PP support via TPMI platform/x86: ISST: Add SST-BF support via TPMI platform/x86: ISST: Add SST-TF support via TPMI platform/x86: ISST: Add suspend/resume callbacks .../x86/intel/speed_select_if/Kconfig | 4 + .../x86/intel/speed_select_if/Makefile | 2 + .../intel/speed_select_if/isst_if_common.c | 73 +- .../intel/speed_select_if/isst_if_common.h | 9 +- .../x86/intel/speed_select_if/isst_tpmi.c | 74 + .../intel/speed_select_if/isst_tpmi_core.c | 1438 +++++++++++++++++ .../intel/speed_select_if/isst_tpmi_core.h | 18 + include/uapi/linux/isst_if.h | 303 ++++ 8 files changed, 1918 insertions(+), 3 deletions(-) create mode 100644 drivers/platform/x86/intel/speed_select_if/isst_tpmi.c create mode 100644 drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c create mode 100644 drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.h