[PATCH 00/28] Enable Pipe writeback

Suraj Kandpal suraj.kandpal at intel.com
Fri Jul 25 05:03:41 UTC 2025


This series aims to enable pipe writeback functionality on
ADLP where it has been tested. The plan is to slowly accomodate
all supported hardware after this functionality is tested on them.
This series also brings change to drm core but not in a drastic way.
We introduce a helper which lets drivers have their own preallocated
conenctor keeping the connector in drm_writeback_conenctor blank.
This lets driver have more control over their connector but still use
the drm core queues for job creation and signalling. Some new helpers
have been added to aid drivers so that derivation of drm_connector
from drm_writeback_connector and vice versa becomes easy for drivers
that will use this helper since it won't be as straight forward as
wb_conn->connector anymore. Driver not using these API will not be
affected in anyways.
This series enables the triggered captured mode where we need to
trigger a capture.

Cc: Harry Wetland <harry.wentland at amd.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>

Suraj Kandpal (28):
  drm/writeback: Add function that takes preallocated connector
  drm/writeback: Add a helper function to get writeback connector
  drm/writeback: Define function to get drm_connector from writeback
  drm/i915/writeback: Add writeback registers
  drm/i915/writeback: Add some preliminary writeback definitions
  drm/i915/writeback: Init writeback connector
  drm/i915/writeback: Add function for get_writeback_connector
  drm/i915/writeback: Define the get_connector_from_writeback hook
  drm/i915/writeback: Add function to get modes
  drm/i915/writeback: Add hook to check modes
  drm/i915/writeback: Define encoder->get_hw_state
  drm/i915/writeback: Fill encoder->get_config
  drm/i915/writeback: Add private structure for writeback job
  drm/i915/writeback: Define function for prepare and cleanup hooks
  drm/i915/writeback: Define compute_config for writeback
  drm/i915/writeback: Define function for connector function detect
  drm/i915/writeback: Define function to destroy writeback connector
  drm/i915/writeback: Add connector atomic check
  drm/i915/writeback: Add the enable sequence from writeback
  drm/i915/writeback: Add writeback to xe Makefile
  drm/i915/writeback: Define writeback frame capture function
  drm/i915/writeback: Configure WD_STRIDE reg
  drm/i915/writeback: Configure WD_SURF register
  drm/i915/writeback: Enable writeback interrupts
  drm/i915/writeback: Initialize writeback encoder.
  drm/i915/writeback: Define the disable sequence for writeback
  drm/i915/writeback: Make exception for writeback connector
  drm/i915/writeback: Modify state verify function

 drivers/gpu/drm/drm_writeback.c               | 123 +++-
 drivers/gpu/drm/i915/Makefile                 |   1 +
 drivers/gpu/drm/i915/display/intel_acpi.c     |   1 +
 .../drm/i915/display/intel_crtc_state_dump.c  |   2 +-
 drivers/gpu/drm/i915/display/intel_display.c  | 178 +++--
 drivers/gpu/drm/i915/display/intel_display.h  |   4 +
 .../drm/i915/display/intel_display_debugfs.c  |   3 +
 .../drm/i915/display/intel_display_device.c   |  29 +-
 .../drm/i915/display/intel_display_device.h   |   2 +-
 .../gpu/drm/i915/display/intel_display_irq.c  |  10 +
 .../drm/i915/display/intel_display_limits.h   |   2 +
 .../drm/i915/display/intel_display_power.c    |   4 +
 .../drm/i915/display/intel_display_power.h    |   2 +
 .../gpu/drm/i915/display/intel_display_regs.h |   1 +
 .../drm/i915/display/intel_display_types.h    |   1 +
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c |   3 +
 drivers/gpu/drm/i915/display/intel_opregion.c |   2 +-
 drivers/gpu/drm/i915/display/intel_pmdemand.c |   3 +
 drivers/gpu/drm/i915/display/intel_vdsc.c     |   4 +
 .../gpu/drm/i915/display/intel_writeback.c    | 686 ++++++++++++++++++
 .../gpu/drm/i915/display/intel_writeback.h    |  23 +
 .../drm/i915/display/intel_writeback_reg.h    | 142 ++++
 drivers/gpu/drm/xe/Makefile                   |   1 +
 include/drm/drm_modeset_helper_vtables.h      |  59 ++
 include/drm/drm_writeback.h                   |  21 +-
 25 files changed, 1238 insertions(+), 69 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_writeback.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_writeback.h
 create mode 100644 drivers/gpu/drm/i915/display/intel_writeback_reg.h

-- 
2.34.1



More information about the Intel-xe mailing list