From nobody Mon Feb 9 14:14:36 2026 Received: from mail-qv1-f98.google.com (mail-qv1-f98.google.com [209.85.219.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA6DF310785 for ; Mon, 29 Dec 2025 21:59:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045588; cv=none; b=qTVw24RDmyonlsRPDNPpYbz66clzDESe39RXvvvhqL9HxVi8U3TRfeW59sA+FPhffJVCr1PNcIEk4BcOhF4oQ/qpANYYnlCnmccAdo9IFqj399m0fORuucGKMJHVSKdKwJ6RlqYYWfEqYNcfnuhHkjU+qElM90FotYZKYQE/z60= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045588; c=relaxed/simple; bh=IyNAce/gjDKl8/1PEqfEt2kXbFAdpNjKL4WWOlBvphg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KZQLvRHVqE0SqLCBxmINcg5Pkx9C4r79z/J+wg6Y/8R5mTC+2pvtRbyG1UPeZOCFtxI67TQMah6+AbmhoepYDzzOP75sY5MbTI0QBHyV53s9Rng6TntAmc+C93u0NPmKF7bJxOL2ni4lp6Ri1ptxO7wGdHoeapeqyMpGlOr0sNU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=VDRsJlYO; arc=none smtp.client-ip=209.85.219.98 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="VDRsJlYO" Received: by mail-qv1-f98.google.com with SMTP id 6a1803df08f44-8888a444300so102285656d6.1 for ; Mon, 29 Dec 2025 13:59:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767045585; x=1767650385; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IB8+29ViFF3HgSBOU+iv2rB43ubUg7MMKbsWRsTRATY=; b=dG7K2YZrYDNspdAgboVmOm9y7x6HLY3VK62oCBibmdk/q5q5Cg85X9qcwaGY6TYY7P uAZicYiXbBeQ5VDAygFIBjU4baRTNwHwcc/T88L53H5R5aRUoPQYrJHE78QATHu8JaVU tVvUnLzAyyH2cuVr3mlICPLJhQZSCEKOFWM9Nvl0OmTa2Rw+ELazYRUeLoj5Co8ZznxP b696PfTcfMZSea3PwjO3LYO2WLkNy7QZraANkRzurhFlYOlodDxuJaoLQABDsjVmq846 Ju5YB0b5lyVNtUdxWxP08GNA5CVDo+v8tzjWa8333p/ShQdj1RvWsj6FiSQDC+rRg158 Ltjw== X-Forwarded-Encrypted: i=1; AJvYcCVZZL/pnI4mrQGnhEteFn9wHJD7AxPT52FgZuK+0/3nvBo9+0aAfSFIbieQB2I0Gv1eGRk7xdctK3k/+y8=@vger.kernel.org X-Gm-Message-State: AOJu0Ywdkl3KkHGklIjLQ1MbhRvNNOKtT3Kw78v0K0gxhiI9PHI/BA4K SRaQFH9dUk0yWXyNRLzgz19JYNzDPuV/pvHNwHqp51mQc8erJG154dvXk2s0+NqDu76f6a9Vqz1 UpLKccaW2pLe3Hu7tRbQ+yjeunl+9a2ypTYmEDGSUF9PQ07G8eR9gLQqE6dbBpZVUXnN4/EAXBS 5ozs4VPyUwqvh1tcRzTqZwPURpJVDfiyPqjgKmQfeF2lNygbBUMVALY4NfM3vdcdhhSVRgsrZzF SzPfVlkMWnObYgP X-Gm-Gg: AY/fxX4veTg4lZZreWRmegUztrA17U9EB3W4aB5G7LUiFObxbkigoJ/xIS/AAiYpluJ qmNYFOahUYRYnCytJu4ZyWGPMpdVQNJa2JfipH5hNcezJS37uMDhoz1fQVPMFmkZb0YVvYpzHoC 7N31qfI/AYIvE5o+7QPoS4U3ZNBVkUMKstHoswYQRAlzoan1FDqJ1oYler2W8R+C6zr/Lt2Rp2f eZAfMXzvgjiGeS8X1erGceELJZ/I7COvTlUglYFhKVcFDxVyIf72SszCUrk3ogY170CM2YoDesG /9xH6HhCab6eGUTuAai68Sr0Ih1rOWRB97NuS1cOnEo6DPUgYNW9lkI/ugfSdGEEZu5AZdwoA/F Q+ala+fUaucFdVnuoEoXEmDvkCFa22br+Pac01A0FBny5DR7QHe/23fXGFxEjTt3leln7C9UOXU aOKPtceT3dud4tW3aGsv6ZEq/TaPtjCZJzJ0WSsj8= X-Google-Smtp-Source: AGHT+IHTycB8LPoOD1GFQyu9c8f8W6YDI9bYdjJmeT5X1QVl89trGD3Vr4y8/KOGq/LHVN25u6xXRXlzVN7z X-Received: by 2002:a05:6214:248b:b0:70f:a4b0:1eb8 with SMTP id 6a1803df08f44-88d8203f029mr513090346d6.13.1767045585524; Mon, 29 Dec 2025 13:59:45 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-2.dlp.protect.broadcom.com. [144.49.247.2]) by smtp-relay.gmail.com with ESMTPS id 6a1803df08f44-88d94fcc0e5sm42173716d6.3.2025.12.29.13.59.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Dec 2025 13:59:45 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b2e2342803so2213598485a.3 for ; Mon, 29 Dec 2025 13:59:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1767045584; x=1767650384; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IB8+29ViFF3HgSBOU+iv2rB43ubUg7MMKbsWRsTRATY=; b=VDRsJlYOw9x6GQA24mgP6SEoOMzvjGg0A1+6b6Kh4Vg3IRbGobpCwBomZ7rMU42fLk ZbVx5n/JCD6sT8+aH/jNtKgMV1bcHCnHJFAVfes5eIpUSNNWj7Zzo1qywNVCYvQD5hp1 ZWdeHdUzHeMkO3nablR31qTl6S5gCTkNBj47A= X-Forwarded-Encrypted: i=1; AJvYcCXYhC0ni780VmCwDgTiftRRETRcUtC1kjiY+LprrvsboO6dwRr0/RNC1Spqm2wBhg63+ydwt30cc4pcLzo=@vger.kernel.org X-Received: by 2002:a05:620a:2911:b0:89e:b8af:f72d with SMTP id af79cd13be357-8c08fa99987mr4700269885a.57.1767045584538; Mon, 29 Dec 2025 13:59:44 -0800 (PST) X-Received: by 2002:a05:620a:2911:b0:89e:b8af:f72d with SMTP id af79cd13be357-8c08fa99987mr4700268685a.57.1767045584169; Mon, 29 Dec 2025 13:59:44 -0800 (PST) Received: from localhost.localdomain (pool-173-49-113-140.phlapa.fios.verizon.net. [173.49.113.140]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88d9759f164sm231530026d6.24.2025.12.29.13.59.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 13:59:40 -0800 (PST) From: Zack Rusin To: dri-devel@lists.freedesktop.org Cc: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , Simona Vetter , amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 11/12] drm/radeon: Use devm aperture helpers for sysfb restore on probe failure Date: Mon, 29 Dec 2025 16:58:17 -0500 Message-ID: <20251229215906.3688205-12-zack.rusin@broadcom.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251229215906.3688205-1-zack.rusin@broadcom.com> References: <20251229215906.3688205-1-zack.rusin@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Use devm_aperture_remove_conflicting_pci_devices() instead of the non-devm variant to automatically restore the system framebuffer (efifb/simpledrm) if the driver's probe fails after removing the firmware framebuffer. Call devm_aperture_remove_conflicting_pci_devices_done() after successful probe to cancel the automatic restore, as the driver is now responsible for display output. This ensures users don't lose display output if the radeon driver fails to probe after removing the firmware framebuffer. Signed-off-by: Zack Rusin Cc: Alex Deucher Cc: "Christian K=C3=B6nig" Cc: David Airlie Cc: Simona Vetter Cc: amd-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org --- drivers/gpu/drm/radeon/radeon_drv.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/r= adeon_drv.c index 87fd6255c114..225f716d5db9 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -324,8 +324,13 @@ static int radeon_pci_probe(struct pci_dev *pdev, if (vga_switcheroo_client_probe_defer(pdev)) return -EPROBE_DEFER; =20 - /* Get rid of things like offb */ - ret =3D aperture_remove_conflicting_pci_devices(pdev, kms_driver.name); + /* + * Get rid of things like offb. Use devm variant to automatically + * restore sysfb if probe fails. This ensures the user doesn't lose + * display if our probe fails after removing the firmware framebuffer + * (efifb/simpledrm). + */ + ret =3D devm_aperture_remove_conflicting_pci_devices(pdev, kms_driver.nam= e); if (ret) return ret; =20 @@ -361,6 +366,12 @@ static int radeon_pci_probe(struct pci_dev *pdev, =20 drm_client_setup(ddev, format); =20 + /* + * Probe succeeded - cancel the automatic sysfb restore action. + * We're now responsible for display output. + */ + devm_aperture_remove_conflicting_pci_devices_done(pdev); + return 0; =20 err: --=20 2.48.1