]> Gentwo Git Trees - linux/.git/commitdiff
drm/i915: Remove driver side BAR release before resize
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 13 Nov 2025 16:26:26 +0000 (18:26 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 14 Nov 2025 18:34:17 +0000 (12:34 -0600)
PCI core handles releasing device's resources and their rollback in case of
failure of a BAR resizing operation. Releasing resource prior to calling
pci_resize_resource() prevents PCI core from restoring the BARs as they
were.

Remove driver-side release of BARs from the i915 driver.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patch.msgid.link/20251113162628.5946-10-ilpo.jarvinen@linux.intel.com
drivers/gpu/drm/i915/gt/intel_region_lmem.c

index 7699e8fcf5edf23d21cf273bad24683373f1aba5..c37a0560ebe0b64208859cff5d73a36ed515c480 100644 (file)
 #include "gt/intel_gt_regs.h"
 
 #ifdef CONFIG_64BIT
-static void _release_bars(struct pci_dev *pdev)
-{
-       int resno;
-
-       for (resno = PCI_STD_RESOURCES; resno < PCI_STD_RESOURCE_END; resno++) {
-               if (pci_resource_len(pdev, resno))
-                       pci_release_resource(pdev, resno);
-       }
-}
-
 static void
 _resize_bar(struct drm_i915_private *i915, int resno, resource_size_t size)
 {
@@ -35,8 +25,6 @@ _resize_bar(struct drm_i915_private *i915, int resno, resource_size_t size)
        int bar_size = pci_rebar_bytes_to_size(size);
        int ret;
 
-       _release_bars(pdev);
-
        ret = pci_resize_resource(pdev, resno, bar_size, 0);
        if (ret) {
                drm_info(&i915->drm, "Failed to resize BAR%d to %dM (%pe)\n",