From nobody Mon Feb 9 09:09:23 2026 Received: from mail-pl1-f226.google.com (mail-pl1-f226.google.com [209.85.214.226]) (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 1D62C3101C2 for ; Mon, 29 Dec 2025 21:59:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.226 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045589; cv=none; b=YUrOHneSrV9i32vekuWsGHVSydOQ5bitbpoVw2EdQnyLn1kl53nfeoyNaa1T5dSziyGSLXlQfTuNkik8zj7QjsCgOlCGOFW66MllzNcIpLf5tiIEBE0SGNLHR8XzIBgFsNBHw0LA/tIwOgcrZ8gj6FfCDNDJAL8TbQYeVBczncY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045589; c=relaxed/simple; bh=MCmZMQpuKmERVQMPsv7VnKQwRQOFoHYWjZ3czevXg6I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m2XXTkgprktNqo8NBFtfYLsDdikuGTCMLk1iNhVx1wXkkiPXcJgWU3dA1BnP2NTyqhxtDkk+P/I9SzsWlDjS83+A4Ggz4onp8ubxAdBWUJzxon0K5HK6WuTfJ8qbiMrJ+8+wvsXLqnTffVDbZ1NZLpZLgzEa+9kfVs5KHa2UOXE= 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=MSgek0ap; arc=none smtp.client-ip=209.85.214.226 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="MSgek0ap" Received: by mail-pl1-f226.google.com with SMTP id d9443c01a7336-2a07f8dd9cdso98841605ad.1 for ; Mon, 29 Dec 2025 13:59:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767045587; x=1767650387; 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=eqxbMiL7ohe4dc/pwMvCfPcqWUGF7TjyIlnwnpMs1gk=; b=mN6/kfh9hdn7jly8Sj6n+0bAmDk8bA2sjTlPOs0W9LM9in2sb4kh8smbigJVlN3kiv jqJ7yYAC4M9HbiGh6Hn+aDt7hCVM720j8AD9EdbroTPX65Eim9/Oj5dhsEUzVTd6j2M/ d7AJ6wdytY686+u4RLUp80Fuh7C81vOU4GH7xKw8duxAYxAR4Scaa5HiafLG3LvUS8dI ubs7ZFurcHTfKtqHFRH+2raVOs2tq/pfeaTTED9dNd/0Or4kDojmYyj/N7zpxbfUWaNz dNRhCljokg/BeLo1cPu8qOiylEddxs5RUxqlaHBoFCCmpN03dclzXJS2wYt2cazSVGGs PNMA== X-Forwarded-Encrypted: i=1; AJvYcCUnKC5xdzD0TjBNYBgvePPm8sqQv6GKDtmhqNyP71Uf5EEF1s4cAuy5AaVkuXyLO1HtjNmE8UJbPryaNUs=@vger.kernel.org X-Gm-Message-State: AOJu0YxcVoxaQLZoQomTaUPLju9PbJ+v7up84bDYIphNTE3828+S7K/Z 6vK40K9S3jKFKWL46C1H/nZMiEFns+thtGIDepbjVO6sVrHWO3cmTwTRsZqVUTodo2HpzKM7FOw Cs41pP+EfKyFp8crb4MKbPC6oPoN3je7PNhUYHQeu6Tmwv6eM49I/7xr6kpjL0OAp76X7YbagXt i9Rfp5tI8x0eXqceX3nsCq2GqSOLx5MpJgd2uBgcYb1UUVWxhoTqRtNHpVmI3H08GOTxAalZ65Q xn4h0RefLGs7gmq X-Gm-Gg: AY/fxX4JgDl5GHU6lcaVRRjNIM4YVjcz0p8CXFzsdKZuIKAzSyCbEwV095mw+JI+F3V WtfHUKGfvFjkeIdwOK5D0NbzEPdP8sxBxgflRRn/7S0mnA8fS0+Biwb1sQJQIsrKx73KThEKGUN Yavg06vu36nf9B5s99wYsmczJOBVyXDpgOivz7ttcwhodo6y12B0ZsvdPbI6157SsF3a70minMo OGhizp1BNGbhfZwaHu9dMTD9NCBJd2X/8U6V/pPqDbnEJ6026Ivk97vMK4CpSGfRn0ynLAsNTxo ASF7DG/BvdppX74D0vh0iKXzv045rJIt3hY1tT6PTbJ9QpLVwdI+k+5zWzArSNkAIb8v3lzYR+d 4DXj1/rTGKeEAJcBp7oLZUjZskabTcjYEBEm82lamr33nfxTIw4wqcc+Zts4O0au99FjKx9gCe+ JEW0AmL0b/IorrNOQb6w6iMqpXGHz/mKD1R6okmRKH05je X-Google-Smtp-Source: AGHT+IH6oqoMiU16N2fusgOQd45YDn9L8427D4U7G9m3BxvZsVnK5GgEbHWEKFmJSXMqFEQb4IGQvgWRtTFI X-Received: by 2002:a17:902:e846:b0:246:7a43:3f66 with SMTP id d9443c01a7336-2a2f220d878mr345135385ad.7.1767045587419; Mon, 29 Dec 2025 13:59:47 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-117.dlp.protect.broadcom.com. [144.49.247.117]) by smtp-relay.gmail.com with ESMTPS id d9443c01a7336-2a2f3eae07bsm35905555ad.33.2025.12.29.13.59.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Dec 2025 13:59:47 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b1d8f56e24so2399905985a.2 for ; Mon, 29 Dec 2025 13:59:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1767045586; x=1767650386; 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=eqxbMiL7ohe4dc/pwMvCfPcqWUGF7TjyIlnwnpMs1gk=; b=MSgek0apE+U+uqUmSBP471HsvASc0fDspC1G4pIpXunO94rzQb/75adp9onQ7I3VaY GgZyktOo1vyDrG2DBGEixd+wzOHH6Lkk6pl4xIzEqJTFvyJq5vFFnOgZjZHnh46GqOdA bVZskUpYjxTk5ZQPYnPACJcd2r78Gkn12+NsE= X-Forwarded-Encrypted: i=1; AJvYcCW0RoXG8iiBLarezvBONRPk8EAiYV/knqkjMqGpUa4xhDruLjBZbhPHYsjKRZAgSXL0AcHfFrCWorrKX0I=@vger.kernel.org X-Received: by 2002:a05:620a:44d5:b0:8b2:e179:feb7 with SMTP id af79cd13be357-8c08fa99a77mr5321267385a.49.1767045585854; Mon, 29 Dec 2025 13:59:45 -0800 (PST) X-Received: by 2002:a05:620a:44d5:b0:8b2:e179:feb7 with SMTP id af79cd13be357-8c08fa99a77mr5321265485a.49.1767045585459; Mon, 29 Dec 2025 13:59:45 -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.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 13:59:44 -0800 (PST) From: Zack Rusin To: dri-devel@lists.freedesktop.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 12/12] drm/i915: Use devm aperture helpers for sysfb restore on probe failure Date: Mon, 29 Dec 2025 16:58:18 -0500 Message-ID: <20251229215906.3688205-13-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-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" 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 i915 driver fails to probe after removing the firmware framebuffer. Signed-off-by: Zack Rusin Cc: Jani Nikula Cc: Joonas Lahtinen Cc: Rodrigo Vivi Cc: Tvrtko Ursulin Cc: David Airlie Cc: Simona Vetter Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org --- drivers/gpu/drm/i915/i915_driver.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915= _driver.c index c97b76771917..f9efeb825064 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -506,7 +506,12 @@ static int i915_driver_hw_probe(struct drm_i915_privat= e *dev_priv) if (ret) goto err_perf; =20 - ret =3D aperture_remove_conflicting_pci_devices(pdev, dev_priv->drm.drive= r->name); + /* + * 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, dev_priv->drm.= driver->name); if (ret) goto err_ggtt; =20 @@ -866,6 +871,12 @@ int i915_driver_probe(struct pci_dev *pdev, const stru= ct pci_device_id *ent) =20 i915->do_release =3D true; =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 out_cleanup_gem: --=20 2.48.1