From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 723252D948D for ; Sun, 1 Mar 2026 01:40:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772329200; cv=none; b=CZ2Jp3BE3PPaj5J7gqSzuRgwFtVclYIBXukXSe8Q1XbZlaADl3ze6a8zCeGmGTutxY76H8zNt3rKhM9n30uS+cj2g/PRw0/M1a7YPMGP8dEb7hh1xpqiLSPqVzBZ+zF9cK9FR6o8JEcIWsuX8oW6jNYyMbgZsMHBzNR/ADNCdAQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772329200; c=relaxed/simple; bh=1GtMc162MLWYRr7paZkLvfQH5WUk2KvjHh27w/2t7rE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=NFXtdS4Kq5ZJaQ/RehCMOLjkXDidKdk9DOpdBic4QCJOtc3rtxtriqGYduicFfeKxV8Hl960J14bAPfK2WCoQ6qGIXcTyU7TfhLtbslsx9hVXys//vUEa+9CariePh79ittEFeHOOtwmyciEg+DiKkyfiiGA8wBvfJ6bwUn1ii4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nMWkvLar; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nMWkvLar" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7FA2C19421; Sun, 1 Mar 2026 01:39:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772329200; bh=1GtMc162MLWYRr7paZkLvfQH5WUk2KvjHh27w/2t7rE=; h=From:To:Cc:Subject:Date:From; b=nMWkvLarTuZQWxo7QezAkx6XzM+ECeJXyhJ3rJ/T2AlHVaxlmlB7I4W8Rs3ffqUaP A8g0epV+WAJSr9RPnHrDTBXc3+x9pSSrYHZoROATgseaMZxEpWyMwAjYpY7oCklVIL Meb6gPhRTK/5ngqKxsqw8eaHeTYQ538Nn8xxLXgizUHpG3U7mLeeHz2WKqrj3ihYN0 sbWNnzh5muLMHE0KIyRMLo5tMj4wSfG6vGlsUARgNwst+2vh87L8P6aD8HvnL8N4JW 79RQi1jY4w7g7wch+pD7XN4beMP5/VP5yy+Bem9T4uWvvP3NUcnfzoRF8sLiqjpit5 97i+vK7H7FsEw== From: Sasha Levin To: stable@vger.kernel.org, ville.syrjala@linux.intel.com Cc: =?UTF-8?q?Jouni=20H=C3=B6gander?= , intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: FAILED: Patch "drm/i915/psr: Reject async flips when selective fetch is enabled" failed to apply to 6.1-stable tree Date: Sat, 28 Feb 2026 20:39:58 -0500 Message-ID: <20260301013958.1701109-1-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Hint: ignore X-stable: review Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The patch below does not apply to the 6.1-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . Thanks, Sasha ------------------ original commit in Linus's tree ------------------ >From a5f0cc8e0cd4007370af6985cb152001310cf20c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Wed, 5 Nov 2025 19:10:15 +0200 Subject: [PATCH] drm/i915/psr: Reject async flips when selective fetch is enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The selective fetch code doesn't handle asycn flips correctly. There is a nonsense check for async flips in intel_psr2_sel_fetch_config_valid() but that only gets called for modesets/fastsets and thus does nothing for async flips. Currently intel_async_flip_check_hw() is very unhappy as the selective fetch code pulls in planes that are not even async flips capable. Reject async flips when selective fetch is enabled, until someone fixes this properly (ie. disable selective fetch while async flips are being issued). Cc: stable@vger.kernel.org Signed-off-by: Ville Syrjälä Link: https://patch.msgid.link/20251105171015.22234-1-ville.syrjala@linux.intel.com Reviewed-by: Jouni Högander --- drivers/gpu/drm/i915/display/intel_display.c | 8 ++++++++ drivers/gpu/drm/i915/display/intel_psr.c | 6 ------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 6c8a7f63111ec..7aff2785521b7 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -6002,6 +6002,14 @@ static int intel_async_flip_check_uapi(struct intel_atomic_state *state, return -EINVAL; } + /* FIXME: selective fetch should be disabled for async flips */ + if (new_crtc_state->enable_psr2_sel_fetch) { + drm_dbg_kms(display->drm, + "[CRTC:%d:%s] async flip disallowed with PSR2 selective fetch\n", + crtc->base.base.id, crtc->base.name); + return -EINVAL; + } + for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i) { if (plane->pipe != crtc->pipe) diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 00ac652809cca..08bca45739749 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -1301,12 +1301,6 @@ static bool intel_psr2_sel_fetch_config_valid(struct intel_dp *intel_dp, return false; } - if (crtc_state->uapi.async_flip) { - drm_dbg_kms(display->drm, - "PSR2 sel fetch not enabled, async flip enabled\n"); - return false; - } - return crtc_state->enable_psr2_sel_fetch = true; } -- 2.51.0