From patchwork Fri Oct 25 21:50:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Micha=C5=82_Winiarski?= X-Patchwork-Id: 13851870 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99B6E20EA2F; Fri, 25 Oct 2024 21:51:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729893096; cv=fail; b=p2MaIYu8tYb5uSg8sP9wnEre7mcOJLkBH5FHHJLmNL1S//H7cD88OIHqmGhG5oZX4Ty3n6NaZMXITCl3Ru6BOduDj8zzwfGTvpk4wFIqHuLHIUDxntJQHleJ//o1hfHpVKACnUt211BD+ojVJDTnMBWNfK3iHcB+sCe6AhZN8dI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729893096; c=relaxed/simple; bh=wV/lB3RvOsZOu3vDULszMLNgmlK9960n/gBi+PSlrKE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=cwjgdiUvk4bwgHZt1GWqrzhFlKtAy8aUFl4QatGtOmo36F+KRdzSDyaDsTNaymmGmATcScNX8Uxx5AOkQtn9CJUVono2CP3BQ1RgCHpTSFNj7qkWv/r4mns6MVPzVrJkyXqpiKGDV2ulrHZueg0KcYZs/4R/ahCmr3qguF7vrho= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=mtN/C0u8; arc=fail smtp.client-ip=198.175.65.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="mtN/C0u8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729893095; x=1761429095; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=wV/lB3RvOsZOu3vDULszMLNgmlK9960n/gBi+PSlrKE=; b=mtN/C0u88n7fls8sZl14u8mQePWdFNs48HeRWSDYEFFgzmXujo7NVuNR h8MHzjgZLhg/lJiuC6URkWIKnJk0ZwFENqBmQBTGScoCz9NMAixccjwXf FTF2Z0dO7nFRU9H5+jHNXANScLS4/Tmxz/P5EwM47xgwy7Kgx0Nuw5X4A OgnahhLyFxZLqQEwi44UX+SyF2wDGhMmaX/kn+zR4VVz+QxzsLuBjNXiI OLGVAD3aetN2eGyzF0xGQZzkzFzESVHRIoQ5iXW7LhShvefvhqu4780mU IvW/bnk0Qcy4R9y/tkC8/sKbrIqVM4Rbkaq6Pwr/1tVUIXx+AloeadT5/ Q==; X-CSE-ConnectionGUID: 4jCRoJhkT2q1WoC8x12m0w== X-CSE-MsgGUID: c2eM73nuRf+QXxpTdezs9g== X-IronPort-AV: E=McAfee;i="6700,10204,11222"; a="29750663" X-IronPort-AV: E=Sophos;i="6.11,199,1725346800"; d="scan'208";a="29750663" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2024 14:51:34 -0700 X-CSE-ConnectionGUID: bF8FtKR1SYa0C23rCnraUQ== X-CSE-MsgGUID: iRTtAwq/SseoUQScyMBfGw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,233,1725346800"; d="scan'208";a="85816278" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 25 Oct 2024 14:51:34 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Oct 2024 14:51:33 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 25 Oct 2024 14:51:33 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 25 Oct 2024 14:51:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BVfGQhUM0duLzY9RXbPECPTozg0n02qOx/cjvozrLi7yaItfV6cx8BM2azZ/QDpdGDrRXeMrGyGT+K/PNRP/XzPWRpHwMexq/OPp6NACdarhWV9tE1dtBHLdjMWi7+igVNIi58U3hm+Q3NN6PbrQfGDFAG8sDJWYjwnaNBjiOAZ1reQsmvB2H5bXdNyVbLqkViKv4Zc/5/cHQM9iabL0eV4cqOlE9Dpq3KNdxFmn9wwJ0cTwk8J7KSWJqAIHZ1nhvmjNrgSCDWFtdtX7NUxPOFeNZgpktnfrPv3e4OP6YnAq0FIT8m30JdyXRs12yLBEoU8lGX1aSeB1t8VR9ecICw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UwNmh+itC+Ul8yFEj6hh3gv/yry98BeOohAwro8BFBU=; b=eaSMxNx8RYOFBSApdcTCuN7gjk8b+VYmva8IEdrceCUO0ATisa4gtL4Av/dpyUDv00P6xir9xG7in072pX1PFly83B4hWUkZkOP8Ye2osu+yfnLNLwsaSQAHdm8H7l4gWtIrMJh2PBKsdBuidtc3hg2YzIoTqdQaCBciTEPleMEHo3LYLnakMGH0Owy5dYVYdOzHVyt3fbslepYieGH3f/LaQPoXMPhJjHHZXZlksx8sdDs22XVvvgYFCIQk1ZnbEgFcXvxWeawXnng6u2ZcQK3VOEou/rk3Df2P3k5z1/vX/bSWQfZhg9L6jnnA8fy5H0D5vfGQki5evL05a4TW0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by CY8PR11MB7745.namprd11.prod.outlook.com (2603:10b6:930:90::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.16; Fri, 25 Oct 2024 21:51:29 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.8093.018; Fri, 25 Oct 2024 21:51:29 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= To: , , , , "Bjorn Helgaas" , =?utf-8?q?Christian_K=C3=B6nig?= , =?utf-8?q?Krzy?= =?utf-8?q?sztof_Wilczy=C5=84ski?= , =?utf-8?q?Ilpo_J=C3=A4rvi?= =?utf-8?q?nen?= CC: Rodrigo Vivi , Michal Wajdeczko , Lucas De Marchi , =?utf-8?q?Thomas_Hellstr=C3=B6m?= , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Matt Roper , =?utf-8?q?Micha=C5=82_Winiarski?= Subject: [PATCH v4 7/7] drm/xe/pf: Set VF LMEM BAR size Date: Fri, 25 Oct 2024 23:50:38 +0200 Message-ID: <20241025215038.3125626-8-michal.winiarski@intel.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241025215038.3125626-1-michal.winiarski@intel.com> References: <20241025215038.3125626-1-michal.winiarski@intel.com> X-ClientProxiedBy: WA0P291CA0011.POLP291.PROD.OUTLOOK.COM (2603:10a6:1d0:1::23) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|CY8PR11MB7745:EE_ X-MS-Office365-Filtering-Correlation-Id: 3bd2660d-564f-476c-8417-08dcf53f2e97 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?6Ym0H42Hlol2TypwMBgma97Pp4Z03TP?= =?utf-8?q?P4ERbnm91ZvC6pu1mlh++q2EfZ2o1Rw1GPmkPf4/VYUJ3j2dpAxIj44m3x40KxSQr?= =?utf-8?q?JLmi21CVvtUVD47C+YIS+rG93uCY8zYHDsMCOBc7dZ6QdKErGUr2bFCUVNfcedcag?= =?utf-8?q?cx7RW9SctNGu0mlh8w6P15cDVmoaGKPxIGQdBYpZjJgdL4U6zsSdM0fG+F6cIuhVF?= =?utf-8?q?P2GSz5okYVZ4Efs8kY82uiNtdJbCzoTF1kPTM3T5hQ7I7PJtlR8Wyj7V6qLR/NNWh?= =?utf-8?q?/JtHSix0cS10CxodRGDNmpZs/eH75U7aSmYhjMiLsiHQFO3oJWBbCfTnS4YA8v3hf?= =?utf-8?q?Bika7XwTMTVksdoivSjIKFfAQp7TmkqYYVsA+eQ1HNZJw5eqn8ldnwoM+NmiXJYYF?= =?utf-8?q?POethp8vl99JqaChQHE26d1OT1WXnbg6XWNvEHtoM09xonH/dFLVEv6Cwoyis3BzL?= =?utf-8?q?aJICCNOWrU3tdOdNsyedsn9NQ4RT+2Xu0HKhSdkbSdJ0lGwTlJEAaKPpRKZNl7nTq?= =?utf-8?q?BhK3EkQboxitUJqVTlhjTRCQurA/IvGvjSs4EWzq0QuFjc9Lyq+85SZn3qHeVdNUd?= =?utf-8?q?0bs6zkkDrgp1wpOGd4eX3IzMEjEr0xyaUmqhdbFK9PXo1bmFe9KoZy9iCegX185/6?= =?utf-8?q?rsvHPbHcoQuDNQnMB9nW57YuftxuIIhXB6aPiMHLBFlbWtRls6mi5ZnwdlwIGv5nl?= =?utf-8?q?02tYkJoYwSColYEEQwD7kxA1PyvGXeOgY+ChkYwYDS0BCGjVLTtpaYxuMHdGhuB3v?= =?utf-8?q?fJnSOam9v+rpW/BkxVnLE5N/TrhKb37ohpaL/sUulDnm3EXy14AuKdTVk1IcHIWk8?= =?utf-8?q?SVgwS7HRajmH5wJCPUBGiBgyCRvXCyFpAfEt98OrhiyMri1oTTgRWD6oVrkrvSREW?= =?utf-8?q?Bn6jFdm7wCsYwjPIdmGY9ImmveeHIYnQtZy07omzGlUhr1Ea+hLII8xHpYnCB/efH?= =?utf-8?q?et4C5Nbo5WjgNSOsidtz7XqNvuiLo116NEsa69lNH9rv/mEkIvu8UYUcLp3cNtkdB?= =?utf-8?q?aUjcPoKwg+CPeQaohac3khgwfTXIm7QtkBForVcfPHYmB6/+T2t7vysKV2KLz6er5?= =?utf-8?q?Mz2vt7TuTrj+IpGD3KCdUYwEqzQEbAm3dfvDCi7C2vCfycgqSbsGLkiqZ/W8L57BU?= =?utf-8?q?SnQBxhkwxzyLp1Wj4qKKWJ+s2VE/ltuiFNy6MXPAdWecPd8702rwl0/LlUqg3SwX9?= =?utf-8?q?h3UidCUffkeyQeqiCFMon7djWBCHoB+iuR3Q0vgXuTaPaueb7lu1/hQE6+ezIGmcJ?= =?utf-8?q?RVdBPoYj4lgH7?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?D1dkYCIbeccu5HXWtMcWP+cGE1NV?= =?utf-8?q?Q+F1zAl7secnEvAiXcFtai/02akti2Nj3AuaAg7YauXuo4DYhK9KtuX9KJqYY+7sV?= =?utf-8?q?1N0tvQrY+Uxzb1fL/ZOwmES0EO1xQzMlURM23Tu8p01vGL8QudSoRn57U3etFHH0p?= =?utf-8?q?/3mJAA+sPi0iKozb46RZQ/IV3ry+dr7SWjBHmhUEe+gBbS8C9W3COkCzm4Sb+houH?= =?utf-8?q?dzNvm2sdR2zl/HmoIxTvsMEMjsAkEJXImpZmbQDRiS/Sd7PpmHNUI4heweErO1Nxp?= =?utf-8?q?qcQBNbA9UUNqTRwI2hvbbXEC4e6pSgtS8CKTGIyC/ct2T45wGYUgbgvDKdtScKcWH?= =?utf-8?q?rJa5L5uKaKqlCnkoS8gaXC4+gnyU2wEqGtqSs8iO1aneyf2/kN//BotbsHaHq/CKf?= =?utf-8?q?Fkzbf4kvFv/L5y3jsovbUr4uB7GCHdEGwQt2dLrVaSYx1SvPgQAOFPHSEPot3kf3M?= =?utf-8?q?W+LzULwi/VlIivALpAsMPIjSgWeYT/uY++8jYLtcDmtjV7foWg7opQlmpFPsWptte?= =?utf-8?q?CbUzenVa0IcZJBkYQnLmTkC8ieppxj5r/udCg12SXDsJN/RSVOUBTUb/ly5MDf0Ne?= =?utf-8?q?o1D7kukL+BMepuPEbffJfLsXAXUlJ1f6ZsQVbGusWmSn4dXweDazZJC7491ToROyq?= =?utf-8?q?0uxZ+O2I2BdtBbNcTaBFMi2uW6wzYx53w7tBYKjESeifvrEnE5iUju7p5OXOzSc3b?= =?utf-8?q?Ms10R6yIe+CskkotNfl5vFK0c9qTQjQ7O0b/NeBhnneho8UwbQRP4WYY/zamyhgCq?= =?utf-8?q?bsPS6gGNXxoI2lsV0Nwu3mSbWUUacnAy6GQD6TEQvPMBz1LCH0pFnT2I+w6A5BY89?= =?utf-8?q?DwpOzkfMsMEWYxQwz2CIbbmtNaEo2HqmMBfUa2YpgBFd5O2baweKmZcFqoknOzXHJ?= =?utf-8?q?4i7FQyROsWW9jzCG+jzT7GljIVmyFBDbEO26oRKLfpdjTj7ihuCqaD4KcNKaqUAG3?= =?utf-8?q?7i2OtV1NbDbxsRENjHmio22aa9CnbQP/AmhbEC0pw2OkYlFyi3UuzmchCM18xcY9/?= =?utf-8?q?b5flITuC9puyQhgr7ZacL5NF0jKOcEnV1ZL8g2hGQRdza8makBTzRvidShhWpVH0O?= =?utf-8?q?V82/4qZ/qtmrG/eB/ttPiatD5ltIor3f7rqVhfKwSziJHTZMFIw0doLRgjsEQ0jrD?= =?utf-8?q?EaurBUzSNUqsqcEKpBJHXnzAZCf2tkVKc2GCUFJnqq40JjW56QgXWaXqPhBDh9dbe?= =?utf-8?q?xm8/EoQtwJyUAgQDOhSHDqpKCMpQsMVndfriafo9SKsrRB89x4nsETbLPHcLCVBa3?= =?utf-8?q?+LfsQLe30YFTlI693MtYcavup8I4mZXXXE8fr0dnF1dl+lUEI0hnHOXixm0UMqhii?= =?utf-8?q?McYAl7Nd/UityLaK5A8MOE3XTfwKEz9tT3lDHd6/K/8Gb37xRJyPJ9zXPpILDCaXx?= =?utf-8?q?gDirttUz7SCsONV3S5qo7GD80PdxnjdqidmC3mxTTxkoWGQV5w4HURQyleSUciTvZ?= =?utf-8?q?0fyxKQ2BDJw7pB7HEdDuXVyH5u+GlLBCFTBEm8fysFvLHnuWkCLT0juHggRYnVHsk?= =?utf-8?q?9rq77YpPwxLSh+C9AOMsQaoq6igOCZG6gA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 3bd2660d-564f-476c-8417-08dcf53f2e97 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2024 21:51:29.4417 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3w3Doj34VXuKQocdxUmMW4BEd9xbChY6yNytKjsKl0K+tLWVS1zE6MTurV47t9JQC7OsuKQ5GcORp6oTvw/lT29EpUVWWuMiRnl8jKsFifY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7745 X-OriginatorOrg: intel.com LMEM is partitioned between multiple VFs and we expect that the more VFs we have, the less LMEM is assigned to each VF. This means that we can achieve full LMEM BAR access without the need to attempt full VF LMEM BAR resize via pci_resize_resource(). Always set the largest possible BAR size that allows to fit the number of enabled VFs. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/xe/regs/xe_bars.h | 1 + drivers/gpu/drm/xe/xe_pci_sriov.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/drivers/gpu/drm/xe/regs/xe_bars.h b/drivers/gpu/drm/xe/regs/xe_bars.h index ce05b6ae832f1..880140d6ccdca 100644 --- a/drivers/gpu/drm/xe/regs/xe_bars.h +++ b/drivers/gpu/drm/xe/regs/xe_bars.h @@ -7,5 +7,6 @@ #define GTTMMADR_BAR 0 /* MMIO + GTT */ #define LMEM_BAR 2 /* VRAM */ +#define VF_LMEM_BAR 9 /* VF VRAM */ #endif diff --git a/drivers/gpu/drm/xe/xe_pci_sriov.c b/drivers/gpu/drm/xe/xe_pci_sriov.c index aaceee748287e..57cdeb41ef1d9 100644 --- a/drivers/gpu/drm/xe/xe_pci_sriov.c +++ b/drivers/gpu/drm/xe/xe_pci_sriov.c @@ -3,6 +3,10 @@ * Copyright © 2023-2024 Intel Corporation */ +#include +#include + +#include "regs/xe_bars.h" #include "xe_assert.h" #include "xe_device.h" #include "xe_gt_sriov_pf_config.h" @@ -62,6 +66,18 @@ static void pf_reset_vfs(struct xe_device *xe, unsigned int num_vfs) xe_gt_sriov_pf_control_trigger_flr(gt, n); } +static int resize_vf_vram_bar(struct xe_device *xe, int num_vfs) +{ + struct pci_dev *pdev = to_pci_dev(xe->drm.dev); + u32 sizes; + + sizes = pci_iov_vf_bar_get_sizes(pdev, VF_LMEM_BAR, num_vfs); + if (!sizes) + return 0; + + return pci_iov_vf_bar_set_size(pdev, VF_LMEM_BAR, __fls(sizes)); +} + static int pf_enable_vfs(struct xe_device *xe, int num_vfs) { struct pci_dev *pdev = to_pci_dev(xe->drm.dev); @@ -88,6 +104,12 @@ static int pf_enable_vfs(struct xe_device *xe, int num_vfs) if (err < 0) goto failed; + if (IS_DGFX(xe)) { + err = resize_vf_vram_bar(xe, num_vfs); + if (err) + xe_sriov_info(xe, "Failed to set VF LMEM BAR size: %d\n", err); + } + err = pci_enable_sriov(pdev, num_vfs); if (err < 0) goto failed;