On Wed, Sep 11, 2024 at 06:43:30PM +0530, Ankit Nautiyal wrote: > This patch series attempts to implement basic support > for Ultrajoiner functionality. > > Rev6: > -Upgrade the debugfs functionality to enable the joining of a > specified number of pipes. > -Modify the display helpers reliant on the pipe joiner mechanism > to use number of pipes joined, instead of joiner flag. > -Checkpatch fixes. > > Rev7: > -Use struct intel_display, minor refactoring, and rebase. > > Rev8: > -Address comments from Ville. > -Simplified debugfs for forcing joiner, and added option to disable > joiner. > -Modified the ultra/bigjoiner helpers as suggested by Ville. > -Split few of the bigger patches as suggested. > > Test-with: 20240911072204.22825-1-karthik.b.s@xxxxxxxxx > > Ankit Nautiyal (11): > drm/i915/display: Simplify intel_joiner_num_pipes and its usage > drm/i915/display: Use joined pipes in intel_dp_joiner_needs_dsc > drm/i915/display: Use joined pipes in intel_mode_valid_max_plane_size > drm/i915/display: Use joined pipes in dsc helpers for slices, bpp I have a feeling those four at least could be merged ahead of time, and thus shrink what's left quite decently already. Granted, you probably won't have the num_pipes value passed in all the way from the top yet, so might have to do some 'joiner ? 2 : 1' here and there as a temporary measure. I think getting this stuff out of the way would help avoid confusion with the debugfs/compute_config changes to some degree at least, and might help with bisectability, Presumably it builds, but I'm not really convinced all the intermediate steps would actually work 100% correctly. > drm/i915/display: Check whether platform supports joiner For this stuff I'd like to see a HAS_BIGJOINER() and HAS_UNCOMPRESSED_JOINER() like we have for most platform features. This also seems like good material for stuff to merge on its own, ahead of the rest of the more complicated stuff below. > drm/i915/display: Modify debugfs for joiner to force n pipes > drm/i915/display_debugfs: Allow force joiner only if supported > drm/i915/dp: Add helper to compute num pipes joined > drm/i915/display: Add debugfs support to avoid joiner > drm/i915/display: Consider ultrajoiner for computing maxdotclock > drm/i915/intel_dp: Add support for forcing ultrajoiner > > Stanislav Lisovskiy (8): > drm/i915: Add some essential functionality for joiners > drm/i915: Split current joiner hw state readout > drm/i915: Add bigjoiner and uncompressed joiner hw readout sanity > checks > drm/i915: Implement hw state readout and checks for ultrajoiner > drm/i915/display: Percolate ultrajoiner info to get_joiner_config > drm/i915/display/vdsc: Add ultrajoiner support with DSC > drm/i915: Add new abstraction layer to handle pipe order for different > joiners > drm/i915: Compute config and mode valid changes for ultrajoiner > > drivers/gpu/drm/i915/display/intel_ddi.c | 19 +- > drivers/gpu/drm/i915/display/intel_display.c | 423 +++++++++++++++--- > drivers/gpu/drm/i915/display/intel_display.h | 17 +- > .../drm/i915/display/intel_display_debugfs.c | 84 +++- > .../drm/i915/display/intel_display_types.h | 2 +- > drivers/gpu/drm/i915/display/intel_dp.c | 138 ++++-- > drivers/gpu/drm/i915/display/intel_dp.h | 14 +- > drivers/gpu/drm/i915/display/intel_dp_mst.c | 54 ++- > drivers/gpu/drm/i915/display/intel_dsi.c | 2 +- > drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +- > drivers/gpu/drm/i915/display/intel_vdsc.c | 30 +- > .../gpu/drm/i915/display/intel_vdsc_regs.h | 3 + > 12 files changed, 646 insertions(+), 142 deletions(-) > > -- > 2.45.2 -- Ville Syrjälä Intel