From patchwork Wed Mar 12 22:59:48 2025 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: 14014030 Return-Path: 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 03B82C28B30 for ; Wed, 12 Mar 2025 23:01:12 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 66F5D10E7C4; Wed, 12 Mar 2025 23:01:12 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="IFcJRqZA"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C66910E7C4; Wed, 12 Mar 2025 23:01:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741820472; x=1773356472; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=b5CME6Kq0cM6eI0ZSaR5Sq4qPyAWwrsOUsqySK1L34M=; b=IFcJRqZA6C7DP7II+A7ISWPAVyOQRhBnHSsXhiJYzeN8pnkXR/ydRF1C WgsFNkHi846Tc9Jyac1dCzJZhynznA27zOY/wtYSJ/7JbZbYlCcXkSful FOAJ9NYwm6FBrtFTqmmy2kb1caTZ7k7zkIlV1mk2RAX0RqPbWgWSVclPN CePqjxp4aRMMvhD4IZ9pIQsceDasrcDJUUaQ0eQwddVzOOxBqF9n2BUuE vvbKHq+8AyNxjiTEvX0PXywub/d1WhjZ8zliZMR9A9aJhX2f/d4bmIi/m wJNsumpLECzFYRDv1JuvckWaB268z1OeJVeR+l6uu6LT72uEKUrfNdn+H g==; X-CSE-ConnectionGUID: RxnqisBQTM6PkGK2Fni40Q== X-CSE-MsgGUID: HcyZwPVpSuiouwRwLlHF3Q== X-IronPort-AV: E=McAfee;i="6700,10204,11371"; a="43103859" X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; d="scan'208";a="43103859" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Mar 2025 16:01:11 -0700 X-CSE-ConnectionGUID: WtPSxywVSGym2PGt3NC3ZQ== X-CSE-MsgGUID: 89ftNNQXQNGd/wS8rM+hOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,243,1736841600"; d="scan'208";a="151604654" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Mar 2025 16:01:11 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44; Wed, 12 Mar 2025 16:01:10 -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; Wed, 12 Mar 2025 16:01:10 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) 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; Wed, 12 Mar 2025 16:01:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wV3v6hM2K2sHjYeOdElEUdNFGwGZ6YMEJvd1ZU6hoSPPDWgwktmgmGY1SicbrMfRpR8JGkZiMpPpyMZ9ZCpKbcNb0XqEqnzpBdw1JSuZDBhUa51NhJZwv1fNLe4leKtQFfOyY4wkc3+Mm56cEd9BK8utJqo/NtSB0Ph3kdfI1k/REAGFXwSSnk+fwfBcj6S5352K2u9Sh7qhx+WJ30pZ2smKhYsc4+Rw5QdvL8F/NvwlIUKrqAy9oiFdB3Vg6e/3kayqDd8HzZoKL7ZJoPHqabsisrxcxQdsdQGPRZW+MdaLisodWZwOakjCD/CzU994gpT1KeJNpmN2umwqMAzMew== 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=VVwLgLV93AcvNgBV82/WCwJUu1K2L/gGXe2Dnc4Ak04=; b=Sxu9KmLNgO+SWTNROsKEPxpGqQSE82JMcsrbMM7mXfvhst6J0TtmvdHTyG02LhOWW7BdhCAHsSym0O6iNTpTHMLo72LvFrCAClWkJbGEseT82tICAOwQNSG09UG+kCnwMweV4TDUsoEivfIEglzcZkZQSAPFZ4T/SuC5BPEoohgMwo/SofVPsZUyjTiS41i8R+bZ0SjwFyxi14078GQGE2rNj2ObkMjiKhcgEhCyvSuUbQTRwnppL3k8UvDobz3WCRF+EE/PWEY1MQJrNqnG5M7lDqwB8nwue8CFpyRQwmaPX26y1Z0XGkox211icMwyIcxJB/ywT0nScVguTFW2Fg== 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 SA1PR11MB6735.namprd11.prod.outlook.com (2603:10b6:806:25e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Wed, 12 Mar 2025 23:00:52 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%6]) with mapi id 15.20.8511.026; Wed, 12 Mar 2025 23:00:52 +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 v5 5/6] PCI: Allow drivers to control VF BAR size Date: Wed, 12 Mar 2025 23:59:48 +0100 Message-ID: <20250312225949.969716-6-michal.winiarski@intel.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250312225949.969716-1-michal.winiarski@intel.com> References: <20250312225949.969716-1-michal.winiarski@intel.com> X-ClientProxiedBy: MI0P293CA0006.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:44::17) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|SA1PR11MB6735:EE_ X-MS-Office365-Filtering-Correlation-Id: f687b3ce-4af6-431f-daa7-08dd61b9bd00 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?j35cT0AORDfXE05UUiV7eG1dB7RwTWC?= =?utf-8?q?QHFmPaRBmVdKtlnRNFgoWLvdkNnw7lrQjT25ihpJR4wIOvx+t/xVQa1UWvlYlOfRD?= =?utf-8?q?9wDvxF7aD3fyJImaARKFtUO91KIlqCi6CDBG+AkeDQTCYXQEwNM7uHJRPbfHqtF5S?= =?utf-8?q?FdZzHi+ZMzTXZx4/zj9ApPcSA/+6e0nIsI1TTN5JtdspsZoXZW6yBySQhMYkmXA7+?= =?utf-8?q?OKgokMNj1EowW91l3lBWrWw73egGsTrlLKbvsYXyvnjQ264NKIT1DVlE51SCYAOY8?= =?utf-8?q?QFcjYphgT+sgZEsMZ+mJUnCaWoQr5cVsgqdMFdL67lMRlaualeGhA5NWnWHzdZMDJ?= =?utf-8?q?OBJeAJ56vq8AN5d8ZJ/d5Vi/gw/lUheGU3vtiFi5P6vvfM1x7oBv11uUr5dy4eaEv?= =?utf-8?q?PsxU1uL8ygiApd8bUDILGr/gIAORjRMB9LYFbIFmVlefb0iXBVEWWN4J1/WTVMSgx?= =?utf-8?q?5yOHNYa4kPQT7gAit7g/ZtcUP6URU+6woKH4ku5HUn591rvY1+TYVhLuFTYBL4Ozr?= =?utf-8?q?dZKDGzngmn1VGnBG2ROMUB5pyHIaZi4UbzpltUyrFryLFMDky3TCp+E2YvN1YCQpT?= =?utf-8?q?EPA8IUiEQuDX9EtbF+LfCz76svmI4vcXBE3Xu77S14WnkATAKuDQdSJ/SzMHdhFyo?= =?utf-8?q?tP36kmZtam4+fWHHuhoUODHZObTQCLYEROiLQpB6rflokKWkFQYusG+NjzSdI0Rf5?= =?utf-8?q?gauIhawGedZWM1k7q4xKnV1pfBMTdJ+uuAFQlgBBoJq+alVkECOs5CMsN8LVbN7PT?= =?utf-8?q?Q4UrlaKDOyvlRB2bYnNMs22GrXYCM4EAxH6gj242j2+H9uOJGoCzWOuu1xsMVWjM2?= =?utf-8?q?/zcIH5+lbmtSSZpZIspEZ/I2H1qXL6TuKQ4duO+0LqcotzQ4ixnHI5pt87Pi2EZE8?= =?utf-8?q?0y/iFpDEKTIhI+4r2UVe6ZHtJu08JjW47+My2GLSvCDC2c3uHJtbI+hm+OHfPm5Bp?= =?utf-8?q?Nf9quyBfSIxhXjmziYLM5zZ1V+QW2po5ixJvTGfAUBVlLyi617eVNwb246srM6gPS?= =?utf-8?q?4NfjTJ/5Tuvn+JKKv4HT7PHWieFPZSFIKxkLUle5Y3yx9FAECLaITxi1rYaXDWuD+?= =?utf-8?q?8MH2HOskJoTmAM/V88g8u9dr1KCZkIMRMhZXXZYWuonZw97pzGSCAsO8SwK/NhtsA?= =?utf-8?q?yj/iSequqgCIcFRX6zpEFCDbZbKkBIgJ6NY9KnlBwkjm01KJACiPBo1GRYAay/7Qi?= =?utf-8?q?kgyYHWySEwCwfKQoPTBbHNo1suP4YA1CzbEPdz1q6USZ9PmgFuIALvLa9MytRY8QA?= =?utf-8?q?zDace9mKAPwdk8AMkjEmHsszOZDySvEzSD9YWn6+JRtJLjBg8J421PoMjZl+FmIZL?= =?utf-8?q?Bv+Yb+AYafXq?= 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)(366016)(1800799024)(376014)(7416014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hqwtvcpzRR5gd5Dfz849XcMw+JWE?= =?utf-8?q?f4DwUD79hRLzvuwIhM80oRRdYjpGKSpz17iRCIFdcn52GLFBNSICvzxcCWNJsUlxB?= =?utf-8?q?94X5PP//sZ9c4u3rHhaH6VawzUUd90lo9gedhJ3DQT6gAVZ7bDxF5v2l+4XpgadPN?= =?utf-8?q?qdnmnGGw7/5rOZEoxUGElSGKu1CJDDGCE8QZLX+IwS8HOcOlN7qwgX6SXW8Q335wq?= =?utf-8?q?gkr80iWV2esnwCh2Rv9ImdPgZGVm3R7C+9jHFlGzOwAZmIBfhq+ustvtilrAEMRUF?= =?utf-8?q?seNYZCSR1QP+iY4vlfKlqP4ErVx9bFoiHeJRe2x4OfWkGt2Nyz+lU7p0EUxwYFM70?= =?utf-8?q?yZUG5/v9FaPNoWLSF0oqWel1azlD1YeLrafsSNhEKRkBqggnwm5fSL6RHJgO28HJ/?= =?utf-8?q?BUN3pQr55gLM8+cyQNQp5JyY+yHcPCcu+dBFmOGfVb31IaTukij4ncGs8EZe5WLBK?= =?utf-8?q?4VJCB7l22Vbj1dLQo/S1lygpM7uxjIre+pKGrilaS3f8krtp+0UZ5JXzZG35iLcJq?= =?utf-8?q?7Que4tL7djAPci3tGgI5QpNkQrqe76BByKva43+f1psjfDJmsLSHb5F5vBtfXcGSl?= =?utf-8?q?6JY38Ps0AWBP/k+g3D8JIK9pooxNPHywENnGSSRq1ky3wDHSeRc/kQS/Q5aBqk0nX?= =?utf-8?q?LVM0xHKJWcxEMiAvd9cxp10DIBO8021srTgbYCnjuqKwXdXYwexBstw44QPSXLcZU?= =?utf-8?q?M4IWRpAw3fWCGk4MDi4n8nbCFdIHdzh46X7iy3jaBEfdJd3BEorlRFsQazDva/Ysy?= =?utf-8?q?Et4SZJylcu058bkX6q1E4xJbVi5nvXAOJS9sPITv/X6WPbi72HVWGXJuKD2cVrpyC?= =?utf-8?q?WvY5jvc+uDPAqi/l3HIeJqunbt5VYmuzr9QS9Y0skebvsmfv1TWFHC1EXvIJ5Y4Vf?= =?utf-8?q?XFccdkEa44PE0dC9ThbCeUDrhWSy2s6G3h4KQx0JVwfbvbuqv1niAnLJSIFrMhSRT?= =?utf-8?q?IYS9+qB3RsRoyTmH3R0q28qBHmaEwKXjuEGdCT1tJE6641sPkGNTz5BL7PmE6+Fhb?= =?utf-8?q?ifHPi15m/qTormEkvSa0K8Z5UhYTfBRe4aAzmP36aH0ZcwEsxRs4D123OLIsSrR85?= =?utf-8?q?z9c0i1NBASG+G6iFsoV5x4er10eT4SftBNu5rOpCCuvYZVE4Cf6n1auF2yVn9/7G2?= =?utf-8?q?FRj5LZXZv3iAcW1KVczc9kS1TJgRlKlcCu6iUvuZICDsyJV+qV96MxRaivkKrILCz?= =?utf-8?q?ibS+DgZbPWAs1lDqBZVUFY60AyHM18A4Rlcjs/S+rcPxUPnqsiqZwIUvXhidw2Vow?= =?utf-8?q?C2PuXCkVqoFYY0rlKAOIpfC6zw/M0kPx6qc76R0nCkEVrgp4aqjQilPNCQkwleVQq?= =?utf-8?q?FnCFNtfThCrH0DAOw/8B8mC/AVWQEXXN8joerOdrAZ4/pl3L9EU7SAbWEYs/xs/YQ?= =?utf-8?q?8P7jL1IMXMqnHmYE8dU2xoJvG68gqi6w9JSnUbpmPbSPvCx/Iw6xqqdWUso73PqXs?= =?utf-8?q?OHOhKbWubT9StMdDtm7WlO2gvKvdNn5sFCytygtSaBoXWg7+jtzMY8bo+n8ImTWZG?= =?utf-8?q?k7pgiPLTk7DoVJlFxdnJT8C92b2uzhTLug=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: f687b3ce-4af6-431f-daa7-08dd61b9bd00 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2025 23:00:52.5437 (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: AzuDcTMj8GAvFCzxsaYLnygQdTpWhKmQrmJHfO1N5iaxc7YJh7Vv0ES3NFdKJErMWTg4pNL6/222frwEl62IuvJwYXmn/0q/mT/ke2UbcTg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6735 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Drivers could leverage the fact that the VF BAR MMIO reservation is created for total number of VFs supported by the device by resizing the BAR to larger size when smaller number of VFs is enabled. Add a pci_iov_vf_bar_set_size() function to control the size and a pci_iov_vf_bar_get_sizes() helper to get the VF BAR sizes that will allow up to num_vfs to be successfully enabled with the current underlying reservation size. Signed-off-by: MichaƂ Winiarski --- drivers/pci/iov.c | 78 +++++++++++++++++++++++++++++++++++++++++++++ include/linux/pci.h | 6 ++++ 2 files changed, 84 insertions(+) diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c index d6d63083884e6..76846df2a26d8 100644 --- a/drivers/pci/iov.c +++ b/drivers/pci/iov.c @@ -1290,3 +1290,81 @@ int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn) return nr_virtfn; } EXPORT_SYMBOL_GPL(pci_sriov_configure_simple); + +/** + * pci_iov_vf_bar_set_size - set a new size for a VF BAR + * @dev: the PCI device + * @resno: the resource number + * @size: new size as defined in the spec (0=1MB, 31=128TB) + * + * Set the new size of a VF BAR that supports VF resizable BAR capability. + * Unlike pci_resize_resource(), this does not cause the resource that + * reserves the MMIO space (originally up to total_VFs) to be resized, which + * means that following calls to pci_enable_sriov() can fail if the resources + * no longer fit. + * + * Returns 0 on success, or negative on failure. + */ +int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size) +{ + int ret; + u32 sizes; + + if (!pci_resource_is_iov(resno)) + return -EINVAL; + + if (pci_iov_is_memory_decoding_enabled(dev)) + return -EBUSY; + + sizes = pci_rebar_get_possible_sizes(dev, resno); + if (!sizes) + return -ENOTSUPP; + + if (!(sizes & BIT(size))) + return -EINVAL; + + ret = pci_rebar_set_size(dev, resno, size); + if (ret) + return ret; + + pci_iov_resource_set_size(dev, resno, pci_rebar_size_to_bytes(size)); + + return 0; +} +EXPORT_SYMBOL_GPL(pci_iov_vf_bar_set_size); + +/** + * pci_iov_vf_bar_get_sizes - get VF BAR sizes allowing to create up to num_vfs + * @dev: the PCI device + * @resno: the resource number + * @num_vfs: number of VFs + * + * Get the sizes of a VF resizable BAR that can be accommodated within the + * resource that reserves the MMIO space if num_vfs are enabled. + * + * Returns 0 if BAR isn't resizable, otherwise returns a bitmask in format + * defined in the spec (bit 0=1MB, bit 31=128TB). + */ +u32 pci_iov_vf_bar_get_sizes(struct pci_dev *dev, int resno, int num_vfs) +{ + resource_size_t size; + u32 sizes; + int i; + + sizes = pci_rebar_get_possible_sizes(dev, resno); + if (!sizes) + return 0; + + while (sizes > 0) { + i = __fls(sizes); + size = pci_rebar_size_to_bytes(i); + + if (size * num_vfs <= pci_resource_len(dev, resno)) + break; + + sizes &= ~BIT(i); + } + + return sizes; +} +EXPORT_SYMBOL_GPL(pci_iov_vf_bar_get_sizes); diff --git a/include/linux/pci.h b/include/linux/pci.h index 7192b9d78d7e3..76de900c652f8 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -2393,6 +2393,8 @@ int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs); int pci_sriov_get_totalvfs(struct pci_dev *dev); int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn); resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno); +int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size); +u32 pci_iov_vf_bar_get_sizes(struct pci_dev *dev, int resno, int num_vfs); void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe); /* Arch may override these (weak) */ @@ -2445,6 +2447,10 @@ static inline int pci_sriov_get_totalvfs(struct pci_dev *dev) #define pci_sriov_configure_simple NULL static inline resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno) { return 0; } +static inline int pci_iov_vf_bar_set_size(struct pci_dev *dev, int resno, int size) +{ return -ENODEV; } +static inline u32 pci_iov_vf_bar_get_sizes(struct pci_dev *dev, int resno, int num_vfs) +{ return 0; } static inline void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe) { } #endif