From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Andrew Zhou" <zhoulol888@gmail.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Matthew Brost" <matthew.brost@intel.com>,
"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org,
Andrew Zhou <zhoulol888@gmail.com>,
ville.syrjala@linux.intel.com,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Matthew Brost <matthew.brost@intel.com>
Subject: Re: [PATCH v2] drm/xe/display: Remove invalid initial plane PTE check for iGPU
Date: Tue, 15 Sep 2026 11:40:08 +0300 [thread overview]
Message-ID: <69d0f3f3566521e516e439e818a619766561567c@intel.com> (raw)
In-Reply-To: <20260915064200.23171-1-zhoulol888@gmail.com>
On Tue, 15 Sep 2026, Andrew Zhou <zhoulol888@gmail.com> wrote:
> Pantherlake integrated graphics can have the XE_GGTT_PTEDM bit set in
> the BIOS-initialised framebuffer PTE. The validation rejects this and
> fails to create the initial framebuffer, resulting in static.
>
> Remove the too-strict validation. Since this was the only caller of
> need_pte_local() outside the DGFX path, the helper is now
> unconditionally true there; fold the check and drop the dead
> need_pte_local() and has_lmembar() helpers.
>
> Signed-off-by: Andrew Zhou <zhoulol888@gmail.com>
> Tested-by: Andrew Zhou <zhoulol888@gmail.com>
> Tested-on: Intel Core Ultra X7 358H, integrated graphics, B0 stepping
This is basically a revert of 0d5d5d0c2c72 ("drm/xe: Check the PTE local
memory bit for initial FB in stolen"). You'd do well to dig a bit of git
blame and see what changed, why, and by whom.
Cc: Ville, Maarten, Matthew
BR,
Jani.
> ---
> v1 -> v2:
> - Drop need_pte_local() and has_lmembar(), now dead after removing the
> iGPU validation (sashiko)
> ---
> drivers/gpu/drm/xe/display/xe_initial_plane.c | 20 +------------------
> 1 file changed, 1 insertion(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
> index 0f86b7303..3484b3033 100644
> --- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
> +++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
> @@ -27,16 +27,6 @@ static bool is_pte_local(u64 pte)
> return pte & XE_GGTT_PTE_DM;
> }
>
> -static bool has_lmembar(struct xe_device *xe)
> -{
> - return GRAPHICS_VERx100(xe) >= 1270;
> -}
> -
> -static bool need_pte_local(struct xe_device *xe)
> -{
> - return IS_DGFX(xe) || has_lmembar(xe);
> -}
> -
> static struct xe_bo *
> initial_plane_bo(struct xe_device *xe,
> struct intel_initial_plane_config *plane_config)
> @@ -60,7 +50,7 @@ initial_plane_bo(struct xe_device *xe,
> if (IS_DGFX(xe)) {
> u64 pte = xe_ggtt_read_pte(tile0->mem.ggtt, base);
>
> - if (is_pte_local(pte) != need_pte_local(xe)) {
> + if (!is_pte_local(pte)) {
> drm_err(&xe->drm, "Initial plane PTE has bad local memory bit\n");
> return NULL;
> }
> @@ -85,7 +75,6 @@ initial_plane_bo(struct xe_device *xe,
> &phys_base);
> } else {
> struct ttm_resource_manager *stolen;
> - u64 pte;
>
> stolen = ttm_manager_type(&xe->ttm, XE_PL_STOLEN);
> if (!stolen) {
> @@ -93,13 +82,6 @@ initial_plane_bo(struct xe_device *xe,
> return NULL;
> }
>
> - pte = xe_ggtt_read_pte(tile0->mem.ggtt, base);
> -
> - if (is_pte_local(pte) != need_pte_local(xe)) {
> - drm_err(&xe->drm, "Initial plane PTE has bad local memory bit\n");
> - return NULL;
> - }
> -
> phys_base = base;
> flags |= XE_BO_FLAG_STOLEN;
--
Jani Nikula, Intel
next prev parent reply other threads:[~2026-09-15 8:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-05 14:25 [PATCH] drm/xe/display: Remove invalid initial plane PTE check for iGPU Andrew Zhou
2026-09-05 14:36 ` sashiko-bot
2026-09-08 18:38 ` ✗ LGCI.VerificationFailed: failure for " Patchwork
2026-09-08 19:42 ` Patchwork
2026-09-15 6:42 ` [PATCH v2] " Andrew Zhou
2026-09-15 8:40 ` Jani Nikula [this message]
2026-09-15 13:59 ` Activate Windows
2026-09-18 13:54 ` Activate Windows
2026-09-15 14:14 ` ✗ LGCI.VerificationFailed: failure for drm/xe/display: Remove invalid initial plane PTE check for iGPU (rev2) Patchwork
2026-09-15 18:08 ` Patchwork
2026-09-23 6:59 ` ✓ i915.CI.BAT: success for drm/xe/display: Remove invalid initial plane PTE check for iGPU (rev3) Patchwork
2026-09-23 23:01 ` ✗ i915.CI.Full: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=69d0f3f3566521e516e439e818a619766561567c@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthew.brost@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=thomas.hellstrom@linux.intel.com \
--cc=ville.syrjala@linux.intel.com \
--cc=zhoulol888@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.