From: Matt Roper <matthew.d.roper@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH v2 00/23] Separate display version numbering and add XE_LPD (version 13)
Date: Thu, 11 Mar 2021 07:33:52 -0800 [thread overview]
Message-ID: <20210311153415.3024607-1-matthew.d.roper@intel.com> (raw)
Upcoming platforms will be using an updated display architecture called
"XE_LPD." Despite the new name, XE_LPD is a pretty natural evolution
from the current design we've been using on TGL, RKL, DG1, and ADL-S.
This series provides the basic XE_LPD support that isn't tied to a
specific platform; any platforms incorporating the XE_LPD display IP
will have additional platform-specific display patches as well.
The arrival of this new display architecture coincides with a general
disaggregation of Intel GPUs' architecture version numbering for the
different component IP blocks. Going forward it isn't accurate to talk
about a platform using INTEL_GEN() anymore since the various IP blocks
(graphics, media, display) are moving to independent internal numbering
schemes that may have different granularity and move at different
cadences; the hardware teams have asked us to start tracking these
values separately for "graphics," "media," and "display" such that
anywhere that we need to do a numerical comparison on the architecture
version, we should need to use an IP-specific version number instead of
INTEL_GEN(). This series takes the first step along that path by
introducing a DISPLAY_VER(i915) macro that should be used in place of
INTEL_GEN() throughout the display code.
Although the next couple platforms we release won't support it yet, the
current expectation is that in the future the IP version will be
provided to software via MMIO registers inside each IP block so that we
won't need to do manual translation of PCI device ID -> platform -> IP
versions. Since those registers don't exist yet on current platforms
(or the next few we'll be revealing), for now we need to just hardcode
the IP versions into our device info structures.
Notes about display version numbering:
- We take advantage of the separate DISPLAY_VER() numbering to
eliminate the GLK special case in the display code --- GLK is
classified as "gen9" in i915, but technically has version 10 display
IP; we can now capture that directly in the platform definition and
eliminate some of the special case conditions elsewhere in the code.
- Similar simplification may be possible with VLV and CHV which are
based on display IP that's older than their INTEL_GEN value would
imply, but we'll leave those platforms be for now since the situation
there is a bit more complicated.
Note that there are a few general XE_LPD changes that aren't included
in this series and will be sent separately:
* Tiled surfaces need to be mapped into the GGTT in a special way
(using "Display Page Tables").
* Color management is programmed differently on Display13 (using a
logarithmic scheme). Since this relates to some new DRM property
uapi, we'll just leave color management mostly disabled in this
series and enable the new logarithmic color management later.
* Dither support -- Based on the feedback in v1 of the series, we're
probably going to need some uapi changes to handle dither properly in
general; that can happen in other threads.
v2:
- Incorporate the new "XE_LPD" preferred name from marketing
- Introduce DISPLAY_VER() and apply it to the entire i915 display/
subtree, as well as display-related code in i915_irq.c and
intel_pm.c.
- Rebase on latest drm-tip; some of the recent refactoring has moved
things to different files (e.g., the SKL+ universal plane code).
- Drop the dither patches since there's going to need to be some extra
discussion on proper uapi.
- Incorporate minor v1 review feedback from Lucas, Ville, Chris, and
Jani.
The previous version of this series is available here:
https://patchwork.freedesktop.org/series/86409/
Juha-Pekka Heikkilä (1):
drm/i915/xelpd: Support 128k plane stride
Manasi Navare (1):
drm/i915/xelpd: Add VRR guardband for VRR CTL
Matt Roper (15):
drm/i915/display: Convert gen5/gen6 tests to
IS_IRONLAKE/IS_SANDYBRIDGE
drm/i915: Add DISPLAY_VER()
drm/i915/display: Eliminate most usage of INTEL_GEN()
drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in
intel_pm.c
drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in
i915_irq.c
drm/i915/display: Simplify GLK display version tests
drm/i915/xelpd: add XE_LPD display characteristics
drm/i915/xelpd: Handle proper AUX interrupt bits
drm/i915/xelpd: Enhanced pipe underrun reporting
drm/i915/xelpd: Define plane capabilities
drm/i915/xelpd: Handle new location of outputs D and E
drm/i915/xelpd: Add XE_LPD power wells
drm/i915/xelpd: Increase maximum watermark lines to 255
drm/i915/xelpd: Required bandwidth increases when VT-d is active
drm/i915/xelpd: Add Wa_14011503030
Uma Shankar (1):
drm/i915/xelpd: Handle LPSP for XE_LPD
Vandita Kulkarni (5):
drm/i915/display/dsc: Refactor intel_dp_dsc_compute_bpp
drm/i915/xelpd: Support DP1.4 compression BPPs
drm/i915: Get slice height before computing rc params
drm/i915/xelpd: Calculate VDSC RC parameters
drm/i915/xelpd: Add rc_qp_table for rcparams calculation
drivers/gpu/drm/i915/display/i9xx_plane.c | 56 +-
drivers/gpu/drm/i915/display/icl_dsi.c | 14 +-
drivers/gpu/drm/i915/display/intel_atomic.c | 7 +-
drivers/gpu/drm/i915/display/intel_audio.c | 18 +-
drivers/gpu/drm/i915/display/intel_bios.c | 22 +-
drivers/gpu/drm/i915/display/intel_bw.c | 13 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 66 +--
drivers/gpu/drm/i915/display/intel_color.c | 32 +-
.../gpu/drm/i915/display/intel_combo_phy.c | 8 +-
drivers/gpu/drm/i915/display/intel_crt.c | 12 +-
drivers/gpu/drm/i915/display/intel_crtc.c | 20 +-
drivers/gpu/drm/i915/display/intel_csr.c | 4 +-
drivers/gpu/drm/i915/display/intel_cursor.c | 14 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 129 ++---
.../drm/i915/display/intel_ddi_buf_trans.c | 4 +-
drivers/gpu/drm/i915/display/intel_display.c | 265 +++++-----
drivers/gpu/drm/i915/display/intel_display.h | 8 +
.../drm/i915/display/intel_display_debugfs.c | 50 +-
.../drm/i915/display/intel_display_power.c | 480 +++++++++++++++++-
.../drm/i915/display/intel_display_power.h | 9 +
.../drm/i915/display/intel_display_types.h | 2 +-
drivers/gpu/drm/i915/display/intel_dp.c | 110 ++--
drivers/gpu/drm/i915/display/intel_dp_aux.c | 24 +-
drivers/gpu/drm/i915/display/intel_dp_mst.c | 20 +-
drivers/gpu/drm/i915/display/intel_dpll.c | 12 +-
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 20 +-
drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 4 +-
drivers/gpu/drm/i915/display/intel_fbc.c | 62 +--
drivers/gpu/drm/i915/display/intel_fdi.c | 6 +-
.../drm/i915/display/intel_fifo_underrun.c | 73 ++-
drivers/gpu/drm/i915/display/intel_gmbus.c | 4 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 11 +-
drivers/gpu/drm/i915/display/intel_hdmi.c | 29 +-
drivers/gpu/drm/i915/display/intel_lvds.c | 12 +-
drivers/gpu/drm/i915/display/intel_overlay.c | 12 +-
drivers/gpu/drm/i915/display/intel_panel.c | 18 +-
drivers/gpu/drm/i915/display/intel_pipe_crc.c | 16 +-
drivers/gpu/drm/i915/display/intel_pps.c | 6 +-
drivers/gpu/drm/i915/display/intel_psr.c | 47 +-
.../gpu/drm/i915/display/intel_qp_tables.c | 272 ++++++++++
.../gpu/drm/i915/display/intel_qp_tables.h | 34 ++
drivers/gpu/drm/i915/display/intel_sdvo.c | 8 +-
drivers/gpu/drm/i915/display/intel_sprite.c | 16 +-
drivers/gpu/drm/i915/display/intel_tc.c | 8 +-
drivers/gpu/drm/i915/display/intel_tv.c | 8 +-
drivers/gpu/drm/i915/display/intel_vdsc.c | 128 ++++-
drivers/gpu/drm/i915/display/intel_vga.c | 4 +-
drivers/gpu/drm/i915/display/intel_vrr.c | 56 +-
drivers/gpu/drm/i915/display/skl_scaler.c | 8 +-
.../drm/i915/display/skl_universal_plane.c | 125 +++--
drivers/gpu/drm/i915/i915_drv.h | 6 +
drivers/gpu/drm/i915/i915_irq.c | 92 ++--
drivers/gpu/drm/i915/i915_pci.c | 13 +-
drivers/gpu/drm/i915/i915_reg.h | 47 +-
drivers/gpu/drm/i915/intel_device_info.c | 2 +-
drivers/gpu/drm/i915/intel_device_info.h | 3 +
drivers/gpu/drm/i915/intel_pm.c | 147 +++---
57 files changed, 1888 insertions(+), 808 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_qp_tables.c
create mode 100644 drivers/gpu/drm/i915/display/intel_qp_tables.h
--
2.25.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2021-03-11 15:34 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 15:33 Matt Roper [this message]
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 01/23] drm/i915/display: Convert gen5/gen6 tests to IS_IRONLAKE/IS_SANDYBRIDGE Matt Roper
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 02/23] drm/i915: Add DISPLAY_VER() Matt Roper
2021-03-17 17:45 ` Jani Nikula
2021-03-19 20:49 ` Matt Roper
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 03/23] drm/i915/display: Eliminate most usage of INTEL_GEN() Matt Roper
2021-03-15 20:14 ` Lucas De Marchi
2021-03-17 17:57 ` Jani Nikula
2021-03-17 18:37 ` Lucas De Marchi
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 04/23] drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in intel_pm.c Matt Roper
2021-03-15 20:17 ` Lucas De Marchi
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 05/23] drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in i915_irq.c Matt Roper
2021-03-15 20:19 ` Lucas De Marchi
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 06/23] drm/i915/display: Simplify GLK display version tests Matt Roper
2021-03-15 20:21 ` Lucas De Marchi
2021-03-11 15:33 ` [Intel-gfx] [PATCH v2 07/23] drm/i915/xelpd: add XE_LPD display characteristics Matt Roper
2021-03-17 17:15 ` Jani Nikula
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 08/23] drm/i915/xelpd: Handle proper AUX interrupt bits Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 09/23] drm/i915/xelpd: Enhanced pipe underrun reporting Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 10/23] drm/i915/xelpd: Define plane capabilities Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 11/23] drm/i915/xelpd: Support 128k plane stride Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 12/23] drm/i915/xelpd: Handle new location of outputs D and E Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 13/23] drm/i915/xelpd: Add XE_LPD power wells Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 14/23] drm/i915/xelpd: Handle LPSP for XE_LPD Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 15/23] drm/i915/xelpd: Increase maximum watermark lines to 255 Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 16/23] drm/i915/xelpd: Required bandwidth increases when VT-d is active Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 17/23] drm/i915/xelpd: Add Wa_14011503030 Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 18/23] drm/i915/display/dsc: Refactor intel_dp_dsc_compute_bpp Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 19/23] drm/i915/xelpd: Support DP1.4 compression BPPs Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 20/23] drm/i915: Get slice height before computing rc params Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 21/23] drm/i915/xelpd: Calculate VDSC RC parameters Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 22/23] drm/i915/xelpd: Add rc_qp_table for rcparams calculation Matt Roper
2021-03-11 15:34 ` [Intel-gfx] [PATCH v2 23/23] drm/i915/xelpd: Add VRR guardband for VRR CTL Matt Roper
2021-03-11 16:02 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Separate display version numbering and add XE_LPD (version 13) Patchwork
2021-03-11 16:04 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-03-11 16:29 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-03-11 18:36 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=20210311153415.3024607-1-matthew.d.roper@intel.com \
--to=matthew.d.roper@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/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.