[PATCH 00/28] Enable Pipe writeback

Kandpal, Suraj suraj.kandpal at intel.com
Sat Jul 26 16:33:56 UTC 2025



> -----Original Message-----
> From: Dmitry Baryshkov <dmitry.baryshkov at oss.qualcomm.com>
> Sent: Saturday, July 26, 2025 6:10 PM
> To: Kandpal, Suraj <suraj.kandpal at intel.com>
> Cc: dri-devel at lists.freedesktop.org; intel-xe at lists.freedesktop.org; intel-
> gfx at lists.freedesktop.org; Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>;
> Murthy, Arun R <arun.r.murthy at intel.com>; Shankar, Uma
> <uma.shankar at intel.com>; Harry Wetland <harry.wentland at amd.com>
> Subject: Re: [PATCH 00/28] Enable Pipe writeback
> 
> On Fri, Jul 25, 2025 at 10:33:41AM +0530, Suraj Kandpal wrote:
> > 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
> 
> You are adding hooks one by one. Are you sure that the series is bisectable?
> In other words, the driver must work (aka must not crash) after each commit.
> 

Reply wont be a issue since the init call to connector is way later which will not cause bisection issue

Regards,
Suraj Kandpal

> >   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
> >
> 
> --
> With best wishes
> Dmitry


More information about the Intel-xe mailing list