Message ID | 20250320110854.3866284-7-michal.winiarski@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <dri-devel-bounces@lists.freedesktop.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 73A6EC36002 for <dri-devel@archiver.kernel.org>; Thu, 20 Mar 2025 11:10:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E092F10E5E9; Thu, 20 Mar 2025 11:10:38 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="kqmKKOaK"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9526710E5F4; Thu, 20 Mar 2025 11:10:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1742469038; x=1774005038; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=bvVvwt0y5ZU+ZkeloQRdenfa1tfIFKVtQjEFgD/wv3Y=; b=kqmKKOaKxItrjYzoxGAme76p6uCzAt+aAL7Jp33YwcoGXe/SLNthq88D ps0LP/BNqX08/LLsfhhkbtjFZrHBAhUZXlLDhCJhfSUQEWBK4fLAwHmsC 21O49i4oyq3FgUErpYaxYuJeYgdXAcUYxbXPHGvjt4HgL2eLNUiah0xf4 6EiF4Cv5vdW3No8ACMknnWZXLmGq6ECnEcv8Ggy9pbaRbfD58mP4hs00+ QqCt8kVAUX+9imrBvuBC1pE1SBzJjZCSesM9lKZnipymY1VXz5lq/KfBN /f4fdpXliNV5L8BthT4JDcO8sSeAcrzLMuDncsl97VP7UwO0+EI0514+Q g==; X-CSE-ConnectionGUID: XCWRq3e2R22hE2u0ddu51w== X-CSE-MsgGUID: QCIbLBU6RLK+fWCs5VwpAw== X-IronPort-AV: E=McAfee;i="6700,10204,11378"; a="55070954" X-IronPort-AV: E=Sophos;i="6.14,261,1736841600"; d="scan'208";a="55070954" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Mar 2025 04:10:37 -0700 X-CSE-ConnectionGUID: j9q8d2P+SHy6FvZwy4SfvA== X-CSE-MsgGUID: sZuMH+97TYynQecJtD7/Qg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,261,1736841600"; d="scan'208";a="146265891" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa002.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Mar 2025 04:10:35 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Thu, 20 Mar 2025 04:10:35 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend Transport; Thu, 20 Mar 2025 04:10:35 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.43) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Thu, 20 Mar 2025 04:10:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oZH3VMsxtz8q54vpOF/Wn43AgX1wju5RRGwDoyaqmt4sEWwjTnb4jDYMThqkiM0+Ov3G08oeAliLlalcks3jRexdaCK6Aj49moMQhiRBlxBZXRlQ+b5tIhUIpNtyHothImD2G9xT5AcbGimKSc7hOp8lukosg56qIqoz7EnKAwl5l5NvYT0Yd6/W+I0jl3KoLt7WAoXnnHl/TjAQTrfb9+A0kjlOYVgi/+o6u5Kb37sjdihv5ANEbSLR7X9bTMzNaelcx/WW0fYNaVz4IIO+jalUHRV0IpjefQSOB6kYrl04SDPNRCmXrrFKhy/qbfXz145MaH3A4WQuFVN/xKiJvw== 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=rZAkXwf8MLaO3y2+dBIyKmc26XFB+GjoTCgYEzxxgVE=; b=fSgDcmBHQXxHpsEpedZZiOAJgeXQKdMrCtw8WuH+h2+1U2pKP9eRzV9qYqzvRQD1z8seZT4qFSMzlzjEWZ5wYqnM+BpRnmmXhxjZbr/Z+7/77EGEBs9W40yI9sKnbtsAZwh2EKbkBQZVNdp2EvhJat589d4/9KFBp6TWXoiP8MWVdqrW0dof19ilxhqCSmlxg1FpCw/xCcNhLXqwTvUUurGvdSNCSrA4h/tdypcgPyZPvSaAoIyvIIbOmmVi4ZvSzegaPMxwK0fCJN/GimEATUgeqlt/zl7ism/QNFrGI5l7ttEtOh9gyVcbCRdSokUfvkIpxC2BlxfEuy8UWQOKHA== 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 SN7PR11MB6875.namprd11.prod.outlook.com (2603:10b6:806:2a6::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:10:01 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%7]) with mapi id 15.20.8534.036; Thu, 20 Mar 2025 11:10:01 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= <michal.winiarski@intel.com> To: <linux-pci@vger.kernel.org>, <intel-xe@lists.freedesktop.org>, <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>, "Bjorn Helgaas" <bhelgaas@google.com>, =?utf-8?q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, =?utf-8?q?Krzy?= =?utf-8?q?sztof_Wilczy=C5=84ski?= <kw@linux.com>, =?utf-8?q?Ilpo_J=C3=A4rvi?= =?utf-8?q?nen?= <ilpo.jarvinen@linux.intel.com> CC: Rodrigo Vivi <rodrigo.vivi@intel.com>, Michal Wajdeczko <michal.wajdeczko@intel.com>, Lucas De Marchi <lucas.demarchi@intel.com>, =?utf-8?q?Thomas_Hellstr=C3=B6m?= <thomas.hellstrom@linux.intel.com>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>, Matt Roper <matthew.d.roper@intel.com>, =?utf-8?q?Micha=C5=82_Winiarski?= <michal.winiarski@intel.com> Subject: [PATCH v6 6/6] drm/xe/pf: Set VF LMEM BAR size Date: Thu, 20 Mar 2025 12:08:54 +0100 Message-ID: <20250320110854.3866284-7-michal.winiarski@intel.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250320110854.3866284-1-michal.winiarski@intel.com> References: <20250320110854.3866284-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: VI1PR06CA0169.eurprd06.prod.outlook.com (2603:10a6:803:c8::26) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|SN7PR11MB6875:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b020934-2e31-4b3a-cf7c-08dd679fc270 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?q?VxuU3fCZ/SQi48yOiovlcX+5X1AJJcE?= =?utf-8?q?aDs+i5UzfWh8JOdEfCcySQy4BjrYArzL+yn/grxXORek5eHvyv8+9XihW597HP2sK?= =?utf-8?q?5PTiIIEKRhEq/68OdWXNgsrBXEc8jMC8DYBqBZ5O1DJjC1sYpA1wLYtCjbdSnQoex?= =?utf-8?q?sB01xUGq840CzWBn000SSO1tka/KymiHr7Cyt4VVSME/9/BknM6zDVuYtfBuhlvWi?= =?utf-8?q?i/s0pgxp93MCe7YVtEnymEQgqNUeEZwxu7A8NF8lSurx2ZBPvUHPgCvia7z5BQjw3?= =?utf-8?q?Ls+fZRFm4nzM+NdjjkTJZ4T1ju7OA4lcUcTKDbkGOrVNYv34h7MJbysESRColRDkh?= =?utf-8?q?S08VVPTKm7KeLkNVgfaKuIjOKsAgXG51A9bhaRkf7TciliA1liWiw/RdpK9ed+4dE?= =?utf-8?q?GAXUPxegWJKFSeggkP/2o6EN2gSxztJeaf2IVqPvrBm7Zgvs/Uisg5BZMXSMebZMb?= =?utf-8?q?yv3MZm2tLTcU87Au2RCBb7kKYW6aLqgfdCpWImnnQz+cLxgAQ4/FV3B87AGBhJd3u?= =?utf-8?q?LoFIRP2uZHDkOpp+0gkl9RJTHMUH24yzP39NnTDdHUn8bBc3NdX7UYT4mCElq2U4/?= =?utf-8?q?WFecl3RHvP1N8bxxWJXph87QLDQWIWl1p1U+Ffu9oNldXXnNuzR+gXhFNHH66mKTo?= =?utf-8?q?h+CiZ8LfKHZDiFWTp6aiZepZk9EwKCFo0E1J+m0cfOFgZ55+WHf1beNHSqV0/gx1M?= =?utf-8?q?Mi/kHJlh/07IPXsLoctp2KGf5bmjbiDSc8bLuVhu3k6FKv2xAY2ZAzn2YVwflk6IP?= =?utf-8?q?rmkFSCx/I8LKw/qtE2RGh7AYUrPMpPykk5oY0LkgQ1DvOtp39YZuYyODhh2tgLBeA?= =?utf-8?q?bPBYeAAo7aPw3RLe/3I0eH0RUdrQ0yfAOmv0KZZquW9s1HZLebF5MX9/N654TT59m?= =?utf-8?q?ZHsLkOAx0hdIZaTj8a2ZFys6VwVK0txmC+MnhqEwRizt0Hu8AvKcdWgzfv0M6s8k0?= =?utf-8?q?+dYXV70Kz5ciYzbaX2NTkaoelh+r339pqsEJLOgCvML5xUKLLnaAXx3CkZVIbUmlx?= =?utf-8?q?wqFNYX46/y9l4SI+Sro35si4W5l06CVSXx0/8lXrUB+6HP6RI4mQa2xMT1J0NWQlR?= =?utf-8?q?oZJhCqZail0roLvWlokvbdReW1OZwPHa/V/eXM+6CTXnJ/mYKWGfPIr9UaXk9ZrVi?= =?utf-8?q?Ec3NG9H6HWAhrwdNgoMu3bIpnbkmp3ygHd9gqgYxLMtvBmkT3JnBUxfq+iGB6AoY2?= =?utf-8?q?LcVWqjOapIi9fz1j2q5iVNpO35Yg+gTAx7dUxI8aEuvaO4aCEv+ZWv6Pc+kvlno83?= =?utf-8?q?QeXIk6Ace9aYIQLBNgMovRT4MENguVmeXdca6korVqfBCfF12Xyi3q3LCF6HTVZ+W?= =?utf-8?q?9zpUdSnMoQx8?= 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)(376014)(7416014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?T7V7nTw9xa9WpYY6f28AqkYRx+nE?= =?utf-8?q?gucPFluwxKIlET8ep931cLpsQqjXdRuMsRWUTMbN77GbTvN4ZFrQON9gq0b1UgPMZ?= =?utf-8?q?1qeoCrDe3esO8bgcye7zgaHCuT1AZDQlYLdmJMbvruJxP8XHS/Skz0LwleaY0FLfj?= =?utf-8?q?GF2HiI2CDHexFQYfgAnVSC6u9J7ZAC8QkptqpLro7KMO87c2m2mnklNmkJ6kpCICi?= =?utf-8?q?prkC8FkGpA3NJf7D4Tqsycg/LfYEI6H/S37juNSp42tsWQLWSta1AHooM4SRGWjWN?= =?utf-8?q?VR+lUUBEKP4tDergp6ZdQCJuaLR9n7WsdqmoXVbHWmOreOEIKGbe3VH2hXyAb2S+z?= =?utf-8?q?PlC8faxe+NtiWFUu1xqxpi0lVxZpvK9b6wj2pRdSeT5afE0+DzGDNAJgDD5qk6GA/?= =?utf-8?q?8n5o4OG0szzHHEEAzYcHxMUDiHa7K9imjxHhWtKI4PQFVuOuFRAe0ifAI+9rUFBVB?= =?utf-8?q?oAoj0viK9mfLKldpWFLRaK+UH6ZB1M+B2euXufmSKBMOgchPwdSp9nS8u0IkDS5MY?= =?utf-8?q?7WvBLIQo+UfrlDDN63LJgaEF+sKvFy+oyQIwA339tjQm2MHt69xVE45LoIGeNRp4U?= =?utf-8?q?O1biZPY1bkenbWKx63/8yksnw9hrZnZRKzRg34HPMooFbvSVGkPREh7apsGUZ7WFg?= =?utf-8?q?Atz8zGaD9VsOFBVqTTAt+J5+b/mMdpS7ouOxhHtNaQ8Vet4h+DoaGcLDrxtXnfGis?= =?utf-8?q?gglcwCPxuruNPfg4TYPWZxPegpO2WX7fjzoKb7W3WQY1w/+zi8oUchl+7gZenUB5E?= =?utf-8?q?7IArzZB7HN8CeV31Bbh9fOrJVAQUATezLq/uKcw45a1RXFzw775fGVtpyxOsAUN8K?= =?utf-8?q?i5RMJQ8XPbH6iNZOcyqYeloSFiVLOLhQGCQDh+9zjqlEbpWvxiRvGtx4tKAn1VcEA?= =?utf-8?q?hu9xdEl46Ryj/UXEkd/DqE9v0Hzekq2kjfbbHg+0EojWarKdTllfrx3o15rz0SG2v?= =?utf-8?q?kc5D1RbBLAB4edDHerREySiVaDc3hO34YKNtC3G4lfrcHc1WdSW0iR8LnIajIQhtK?= =?utf-8?q?1P7Us9a6KIWqX0jrwLZO4lvIHc0sI1JHR0ozFbVLlCHlqhGxhMaB+N5eMiOcNkner?= =?utf-8?q?UGMXxjcOfxb2v7LP/ZboKCEBaaiJlMiou8tPcVclwMFTI7LMNRIWUNgeRYtrcNUS6?= =?utf-8?q?e30yiaGmynZb6ha9xJg/6pPjK6VNsu8tyDrZdoXMTcnbKqgW/1AZezv7GtlwhYeVR?= =?utf-8?q?2dX3GQfTvOqzxVsi3WlIbSGRqyAeZnXiJRbc7jRApA/EoU6bJ8Aas9JJkksR5NBXQ?= =?utf-8?q?rlbKz8HluMvr0NcJZr7l7009E8qy5RD8fDpoLGJJmB7XDPJkznUquBakMz9Ef1B+M?= =?utf-8?q?0eCgy1Y7O4sArO1kIm0L/sXymPnvpX+48sk8X4N/k/ofbDWk4UWKawGIpURAAuxyi?= =?utf-8?q?tNh8Z/2s2TKavOWF6XjgW93Op+AhfvFZnkJ9F+gBxvL/9QzgSxMPgsOX4E6lTBTZT?= =?utf-8?q?2hcCcW+KMbE70j1BRlCl97X2eZX8TtEobhPrZLw38j5sPFJUIA2TSbxcCPnTuM9FI?= =?utf-8?q?fIWSwrSxJn3afMJTSYIwo8Dt2vc0lTwziw=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 1b020934-2e31-4b3a-cf7c-08dd679fc270 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:10:01.7382 (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: o3b0HK9H7r9wff6fPo4bXVREXcCB53gVFDRkm3lZ+mWWm4eojndsxzcwjdqMJgmbq2ptMPL4MzZMpt1Evh5sNWwI8ykU4M3gdz+bJadHZ4k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6875 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development <dri-devel.lists.freedesktop.org> List-Unsubscribe: <https://lists.freedesktop.org/mailman/options/dri-devel>, <mailto:dri-devel-request@lists.freedesktop.org?subject=unsubscribe> List-Archive: <https://lists.freedesktop.org/archives/dri-devel> List-Post: <mailto:dri-devel@lists.freedesktop.org> List-Help: <mailto:dri-devel-request@lists.freedesktop.org?subject=help> List-Subscribe: <https://lists.freedesktop.org/mailman/listinfo/dri-devel>, <mailto:dri-devel-request@lists.freedesktop.org?subject=subscribe> Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" <dri-devel-bounces@lists.freedesktop.org> |
Series |
PCI: VF resizable BAR
|
expand
|
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 <linux/bitops.h> +#include <linux/pci.h> + +#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;
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 <michal.winiarski@intel.com> --- drivers/gpu/drm/xe/regs/xe_bars.h | 1 + drivers/gpu/drm/xe/xe_pci_sriov.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+)