Re: [PATCH 0/3] drm/i915: Fix scanline_offset for LNL+/BMG+

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 10, 2025 at 06:16:58PM +0200, Ville Syrjälä wrote:
On Fri, Feb 07, 2025 at 04:41:11PM -0600, Lucas De Marchi wrote:
On Fri, Feb 07, 2025 at 11:54:03PM +0200, Ville Syrjälä wrote:
>From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
>
>Something has changed in the hardware on LNL/BMG because
>HDMI outputs no longer have the extra scanline offset.
>
>I confirmed that MTL still has the old behaviour, which
>is a bit weird since both MTL and BMG have display ver 14
>vs. LNL is version 20. But can't argue with actual
>hardware behaviour.

<6>[  210.368608] xe 0000:03:00.0: [drm] Found battlemage (device ID e20b) discrete display version 14.01 stepping B0
vs
<6>[  412.999204] i915 0000:00:02.0: [drm] Found meteorlake (device ID 7d55) integrated display version 14.00 stepping C0

So 14.01 vs 14.00. In the driver:

static const struct {
         u16 ver;
         u16 rel;
         const struct intel_display_device_info *display;
} gmdid_display_map[] = {
         { 14,  0, &xe_lpdp_display },
         { 14,  1, &xe2_hpd_display },
	...
}

So maybe we need to check for the full version >= 1401 instead?

Just another pointless detail I don't want to have to remember.

we don't need the pointless update to the driver X months/years from now
when another platform uses the same IP.

Also it's already a huge pain in the backside trying to figure out
what new platform has what display ip. Someone really needs to at
least document this properly. Or perhaps we should just put the
expected display ip version back into the platform definition and
then just double check that the version we read from the GMD thing
matches our expectations.

there's this indirection with gmdid_display_map and name of the IP, but
other than that it's pretty much discoverable. From the bspec pov it's
all in the configuration page for the platform and you don't even need
the IP name. Example: 70821.


Until the hardware people get their act together and the display ip
version actually has some real meaning we shouldn't use it outside
the major version IMO.

it already does. ver.rel is what we need from the gmdid here. And it's
used on the graphics/media side as well:

	git grep VERx100 -- drivers/gpu/drm/xe

Lucas De Marchi



+Matt Roper, +Gustavo who may know the right bspec to confirm this
change in behavior

None of this stuff is in bspec.


Lucas De Marchi

>
>Ville Syrjälä (3):
>  drm/i915: Fix scanline_offset for LNL+ and BMG+
>  drm/i915: Reverse the scanline_offset if ladder
>  drm/i915: Replace the HAS_DDI() in intel_crtc_scanline_offset() with
>    specific platform checks
>
> drivers/gpu/drm/i915/display/intel_vblank.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
>--
>2.45.3
>

--
Ville Syrjälä
Intel



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux