[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