From patchwork Thu Sep 19 22:35:54 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: 13808026 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (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 F085A125A9; Thu, 19 Sep 2024 22:38:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726785509; cv=fail; b=EXyFzgdb0ZjJ5YzgPpajsgb5iUS0F4MI2a+zVxJBi1OjE0yefz9ZRZeSdcGlxoesEFdBdUuD2oklwj9U0Nb2w9fgGtWbxEtRN1MX6CASfU4BAC39B+kjH0uOUn4kdd02vrJzuUeGBxeG4Fgm0cJoPdTFsoTSg4MEptfejWnxv3I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726785509; c=relaxed/simple; bh=YbWF9nIBa4DD7UTYOO4XTcGGdWYgSVwlwL3Pl1SvZko=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=riSBA+XZfxTFBXwddAWa/dtqjQd3Ki40vbuM4F/d3jcB/RpCGxE+y83gvfKj8s9w96fHtzz4NwwyrDb1MH0uggnfF4lGodOXLYzBbnFYijyvHVncnnTyAa/gwS7g7ExcASuYJ1eTD+RFbIPC02gwp3J45LPUXr/hxnu2lQc97Rw= 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=Ky0qvNCc; arc=fail smtp.client-ip=198.175.65.15 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="Ky0qvNCc" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1726785507; x=1758321507; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=YbWF9nIBa4DD7UTYOO4XTcGGdWYgSVwlwL3Pl1SvZko=; b=Ky0qvNCcrc7w2iDIMLDceDkGmrtBmzzYdBALM9bs9MudFbNwj+zaC0Kd 5oianxRR4AqK2GW5CHA88DTfGWh4oUPg4y+gRAcghZ/iyNh6AFaY12Mcd pqtirIe7L8e2x0tt+XAmdQ/2FMPMN3nnNAAwCbNnKh+TuI0QOP0xZ5JHo GHthtNs84k4IZoLG1OaqIsq4wgxp9Z1Cul41UOu+S1PT6BvLmIFGzK1pf SNn8/S4Boaeh7d0kjq32COETZxS+etK2JiYri0BHaCjJcoFG/7+YeCR4M bk6ll+XqGZAkuW6NPRI+daderkdOA7ZBDnEXhSSvnbSq0a61akFnzSWEo A==; X-CSE-ConnectionGUID: 0dTAH0yyT+Gp8lC4FAGlHw== X-CSE-MsgGUID: JTDgh0+cRFekqNM5wJ8SJA== X-IronPort-AV: E=McAfee;i="6700,10204,11200"; a="29514928" X-IronPort-AV: E=Sophos;i="6.10,243,1719903600"; d="scan'208";a="29514928" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Sep 2024 15:38:26 -0700 X-CSE-ConnectionGUID: UFEJhJckTQGZTgWCqfO9oA== X-CSE-MsgGUID: uTHuzJfGSamRsfZrRxehYA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,243,1719903600"; d="scan'208";a="75061346" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 19 Sep 2024 15:38:27 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep 2024 15:38:25 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.39 via Frontend Transport; Thu, 19 Sep 2024 15:38:25 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.48) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 19 Sep 2024 15:38:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i5AwAc0HI2MK0vDEiedgLs16HAHQGgp2Ki3ylyw8gC8MXQUY1oe3bKROgjeUMH5Q9+j1NlYUajCl9BVGiq8RPR31PTnFgynhgRmjRqvTpk23oJUN/nxXLuWb8B8XsCp7eiraJiW6thUZKlfZ5gp2NkE5ZJVDmt83tR+Fx5q0xJZHSivsu/p6NvgmFWu1aHsJy9ZYRWr9sooyKGvupeLWiFekHZbR2Aw2r769u4GtnQ7SFUCB+uhhdaM8P1IW9loTBifUqhb5T5Si/iapP4R6s6q0tLkSHPfYKUCxqiBXTLXILLCFWNH/E4M3BDYt1J04dQdGjuKu0bDSvtY1k0U+hw== 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=F2LOO0TQoxaV4GEmA+bJHioFpYdwNbXXIMX6LjCnrJk=; b=fx2NgQOSjqGw7LN+3HVnUGrsMvmIYKHGeFslqYQd44esmIFmN53HX5nS2VfjFPmvUHtVbPkQUC526r+X+ouqR8wdjMV9OZBEFF1APGTMfXMfN0bXwgiLlH1xurKGufIO/IlaQSSBmhvE2sb3wnMoIBNd+iAz7qJtVSTwOMWBWLC1tmG4zFGno95lS76ezj9Fq3tw/IZLuLE6qLjRrJIRRIlqImaO+EhYB9YspqHK49tA0UvFq2mBEQ8C1ctYIeheY+6zVB30jDctEYVKkYLMS/a7ZDnnUEyxvuWeeH3e4gxvXycMkkEtzgxZKP9s/Rf2lkqxtHyEZQTlCOEJr/bowg== 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 MW4PR11MB5824.namprd11.prod.outlook.com (2603:10b6:303:187::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.26; Thu, 19 Sep 2024 22:38:22 +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.7982.018; Thu, 19 Sep 2024 22:38:21 +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?= 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 v2 0/3] PCI: VF resizable BAR Date: Fri, 20 Sep 2024 00:35:54 +0200 Message-ID: <20240919223557.1897608-1-michal.winiarski@intel.com> X-Mailer: git-send-email 2.46.0 X-ClientProxiedBy: WA2P291CA0044.POLP291.PROD.OUTLOOK.COM (2603:10a6:1d0:1f::20) 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_|MW4PR11MB5824:EE_ X-MS-Office365-Filtering-Correlation-Id: 7cac091d-dd62-45da-13bd-08dcd8fbc258 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?kmvKS86Zt2xMAib2qXKeaCxPDx9EZe9?= =?utf-8?q?b6pLmDg6PWsHNGrno4zFK/1aQgwGAgljqPhSmnne5bQd1WW8gRiNmxS+SS+ZxMVLD?= =?utf-8?q?X39Euo4jYzwn7pZqSeA1HAvlZbsemcro4Zqj9j+oOaB1e9eiBgCXCorLoGPzVIa30?= =?utf-8?q?vb0Yc0A0L8GPtWCrl5iSPaYbq5kWWRINgrGP+F1dGb7yDzJahwjp5olzSY2AsV38j?= =?utf-8?q?Zx4lfnCM78+djKRN4zMPKJJJ4JoafdTNe/aDL1aGktpgfft8i4n3RvBRmtxztVP+T?= =?utf-8?q?dGo1ljw7yRikNU/WAvxBbOfsE5zFPmDBHMaiuAroQ+xt0MA/LzX6+/ceiaZko+Ku4?= =?utf-8?q?CEL6SxUlstXLzqXOp+CxAjKHzoDs1k9vApLEEG0Namrh3SPCxOc65xgUiqZA8XDTc?= =?utf-8?q?0UQdECrelKJg7RwMT8o3DWOMNAGzFOun87Crbl4ZdKA8hO+M4BcvBSRkbfX84ulmE?= =?utf-8?q?uALXRtgmx2aloNobQKS4OWh3bbTJEgFWICIKedIU/+kuVcvnHxLPFW+kcpWY/h4IX?= =?utf-8?q?LgnkP1QohBEReHedgzfyrTaIGqZIxvC/DOqCv7HUcg55qCSYllHahY7IMucw5Oj3E?= =?utf-8?q?dAMVF236ouKsCJYDb9wNu5wx4qca2SIaxWkMtZ27wWxoSAmlDbtA1V9p+kB651itZ?= =?utf-8?q?5+e1pLxgxQPLZyHMeId6L4oXP+EDw66+l8NuwCaVxUfVAM8HVbGUzGruxI+q4CvSZ?= =?utf-8?q?jE2pMq55tAsguGjvMdeFxukG5GDMoi7KRbhOUDGqVIvr+oNA4Qcvf8x/zgl9UVTXV?= =?utf-8?q?Y2cyFlsrMmSAtsJHMWg2CRaJw8RayQTT47dGsBjXwcy3wkC5jcRZvv7xF8onIHZ68?= =?utf-8?q?W5t66SwDi+UFFG0j+6biJ/9zXjE/Peyt3gF2zz+EWqVQMSoLc3tHxqXOrvLT3j2E5?= =?utf-8?q?Wl3zFZOAU8b6NXb09squpNws5Z56L03rFqqLRWBIlnxCd6Xt+kFkoIzGzV9Zil+e7?= =?utf-8?q?bd5lINh3fWXBf79F1Jo8sCP9WvGGlRJzn9IuutkBEZIqeHBNgzs/JeNvrqaHdoV3A?= =?utf-8?q?v3abweIUArWdtMwhLjWYm9Gw7zVZneF0ukI+SjPgu7EEnta/TnsXwAMKtJoTAXgty?= =?utf-8?q?Qv39O0qvERsRWEKQE/FR3LBkIkhakbAmpZ8vudHKnRZenKI8jmy+juryMqu2VHwpn?= =?utf-8?q?5WNCWlNqcKc6lth8wDmGUvoXTCDoqHlDcOLsQv0hhzM0SV4fRlV2gmDeWGyYsAEGL?= =?utf-8?q?A+v5mG2F58eaRVvrmpRISBbYZHtaZAjcYeko8KBVUf5UnSbzRaE1iS+8kTTrVRT3g?= =?utf-8?q?52u/zt/BvsNhEipuoO0zuYtkDWiWioaeJWSBI9ijxNbS/qNqHGoGNmbI=3D?= 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)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Jn3CCnItrL2/zqXjhkmLwjq7utN8?= =?utf-8?q?xk5zFCnyKAtQ3ZGpCnWa4kER7O+ySmjzY0XOsXZm6b9gIvAi4h1zYQAU2zYf8Z4qC?= =?utf-8?q?0M00pPaxEkjK4LNFEkdx4ZNFr3+RvaLFvgASJBYpmCIZcZ9qcA/+3Xu2uGaD6O+Me?= =?utf-8?q?rTyRZXO7ZfGpMnQJUGGyc7CYJAEHCLilERdGYWLqei6+2MT2QC08dC7w/Z8y2hesj?= =?utf-8?q?oMU4Tn0LYfLGLc+sOzmlstX2+Wlpdv2hjTIQOhx+R9Yw3GQFeBrMTnmv9CJHBL7wE?= =?utf-8?q?Wvqbjord8UDCjV+TkfrK/xL574Gv0zVWCl9S6yWg9eiImFHxM9sX65++yyDdk/el4?= =?utf-8?q?mgFmyX9yYhD0jdjnoU7X8hQa8/j4Lxa/Gk5F/mqOUuGMCc6lhDuVXvcK6+OHK9Fw0?= =?utf-8?q?ckpvJbd7lIiI4PoRDN7QHN41q8gLekZEI0YBxh/B9FtAAmy2+Q6rdy93eU+H/CUnF?= =?utf-8?q?6U252YbMqgoMVizkpMoFoHepSiYY+Xr25mDWPz+EUlHUT18oOzkYktRz0IBfRiB6N?= =?utf-8?q?kW/LAFQPtX5XWwRUKhg5NWqqXNrPRy8yDkqO7hA48dUtQBok8jhI7X/J9cV9thWZ2?= =?utf-8?q?9TErLPKCPhHQ2vWBgb84q9gDny+TpcedKcKJbM3iJ1N1PBGi75X7ySNZKEyzC9kI0?= =?utf-8?q?ZEISxzZakPHYMPt04islpqTtbziWNGNqbEWS5hG7zdywNXvb0w8HLpZn1k/Jh5bx0?= =?utf-8?q?owAw48bEaB1t5RacuA/zEGkMQDAx2zWy5ihR3RC5z9UDcsM/aMbylM+gF0AGvPSec?= =?utf-8?q?hLZhaLAd8ukHSx2Ls6jxcdz/ivMo/UOREeL8c2SkHCf/V5JrvyYVqDLvTEdHod93W?= =?utf-8?q?AYU8JucMiY0QWZyyXue/gRk8yDWqktT4kZDjAcTs81FiT8dRhzr/gnicNLT/Yb5qo?= =?utf-8?q?PO51E5Nc3B1617GlWJmFkdmEhTGC6CV+mTS/aIfYIL1cvDnytK1wF4n3qBE6Job11?= =?utf-8?q?pfOutHffFvBzNMJvPvzSV2dxV16Us9yRBqsXuXBbjH4LfPjOz42Rle8VRRHyKGGoe?= =?utf-8?q?FqlXtqtCNPPVKCxbFzks6eLk3GC3FS4omdREVWcFgmbYjxLiwhb0o6MUU7waGIlYY?= =?utf-8?q?+R0KuT5cXtESUlC9AviJI0jmLBGWYNl3jutq2Ff5mE3I+vj9ZLH0WJ4MLamBrJg34?= =?utf-8?q?9JD/tVdCIsQ9sDgBTCn29xMxb9cRTod2PXoJEe4YKl8cVrCTlo3IMCfllipFj9eXu?= =?utf-8?q?1bnLkpzAcY7pbUnsE+Z7zvt6MYZIqoAeYWX1+5cz5EdPrz/Q/7nJnVM2nk2HWML3E?= =?utf-8?q?hF/QY9f1uOB1pvjU1cE9noKVTwGEEB9GFyZTZbMUniNW/0zf0B5RA9BW0vsvlzBmp?= =?utf-8?q?cP474ms+OwJkfm6AifLIbrnF3X7LrwDTsbq4l/Mixr1a8/hz9aOonYeog9ixCh5hP?= =?utf-8?q?6bA2MCQ9J9moNeFnPzMi9g35PlQJdOn+GI/zl+1HWJKhgfMfSRIWpNdKsJLeOeIhC?= =?utf-8?q?2NP57uIsITrHHpf3GNyBvZ99wuQkWweaytVAXQc3YPq3eFNiwOl73l+dPyf8sXu8z?= =?utf-8?q?lhHLPPXktoWfh/ffGE3puQT1Y9GM5Z6jLA=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 7cac091d-dd62-45da-13bd-08dcd8fbc258 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 22:38:21.7715 (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: oe27+F8xndMl8ECaPbJH2PeXQQSvcjevr4fKuNGgTw8ArBnbOgrb3Gx2XjLQUPcFl5H9/2yA/POPM/whdHpzQIwsmU3xhHqKq1F8/jIIm7c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB5824 X-OriginatorOrg: intel.com Hi, Resurrecting an old series [1], now that we have an in-tree user for it. For regular BAR, drivers can use pci_resize_resource to resize it to the desired size provided that it is supported by the hardware, which the driver can query using pci_rebar_get_possible_sizes. This series expands the API to work with IOV BAR as well. It also adds the additional API to allow extending the VF BAR within the original resource boundary. Thanks, -Michał [1] https://lore.kernel.org/all/20211215141626.3090807-1-michal.winiarski@intel.com/ v1 -> v2: - Add pci_iov_resource_extend() and usage in Xe driver - Reduce the number of ifdefs (Christian) - Drop patch 2/2 from v1 (Christian) - Add a helper to avoid upsetting static analysis tools (Krzysztof) Michał Winiarski (3): PCI: Add support for VF Resizable Bar extended cap PCI: Allow extending VF BAR within original resource boundary drm/xe/pf: Extend the VF LMEM BAR drivers/gpu/drm/xe/regs/xe_bars.h | 1 + drivers/gpu/drm/xe/xe_sriov_pf.c | 8 ++ drivers/pci/iov.c | 120 +++++++++++++++++++++++++++++- drivers/pci/pci.c | 40 +++++++++- drivers/pci/pci.h | 15 +++- drivers/pci/setup-res.c | 44 +++++++++-- include/linux/pci.h | 3 + include/uapi/linux/pci_regs.h | 1 + 8 files changed, 223 insertions(+), 9 deletions(-)