Merge tag 'drm-intel-next-2023-11-23' of git://anongit.freedesktop.org/drm/drm-intel...
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 23 Nov 2023 19:24:34 +0000 (20:24 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 23 Nov 2023 19:25:24 +0000 (20:25 +0100)
drm/i915 feature pull for v6.8:

Features and functionality:
- Major DP MST improvements on bandwidth management, DSC (Imre, Stan, Ville)
- DP panel replay enabling (Animesh, Jouni)
- MTL C20 phy state verification (Mika)
- MTL DP DSC fractional bpp support (Ankit, Vandita, Swati, Imre)
- Audio fastset support (Ville)

Refactoring and cleanups:
- Use dma fence interfaces instead of i915_sw_fence (Jouni)
- Separate gem and display code (Jouni, Juha-Pekka)
- AUX register macro refactoring (Jani)
- Separate display module/device parameters from the rest (Jouni)
- Move display capabilities debugfs under display (Vinod)
- Makefile cleanup (Jani)
- Register cleanups (Ville)
- Enginer iterator cleanups (Tvrtko)
- Move display lock inits under display/ (Jani)
- VLV/CHV DPIO PHY register and interface refactoring (Jani)
- DSI VBT sequence refactoring (Jani, Andy Shevchenko)
- C10/C20 PHY PLL hardware readout and calculation abstractions (Lucas)
- DPLL code cleanups (Ville)
- Cleanup PXP plane protection checks (Jani)

Fixes:
- Replace VLV/CHV DSI GPIO direct access with proper GPIO API usage (Andy Shevchenko)
- Fix VLV/CHV DSI GPIO wrong initial value (Hans de Goede)
- Fix UHBR data, link M/N/TU and PBN values (Imre)
- Fix HDCP state on an enable/disable cycle (Suraj)
- Fix DP MST modeset sequence to be according to spec (Ville)
- Improved atomicity for multi-pipe commits (Ville)
- Update URLs in i915 MAINTAINERS entry and code (Jani)
- Check for VGA converter presence in eDP probe (Ville)
- Fix surface size checks (Ville)
- Fix LNL port/phy assignment (Lucas)
- Reset C10/C20 message bus harder to avoid sporadic failures (Mika)
- Fix bogus VBT HDMI level shift on BDW (Ville)
- Add workaround for LNL underruns when enabling FBC (Vinod)
- DSB refactoring (Animesh)
- DPT refactoring (Juha-Pekka)
- Disable DSC on DP MST on ICL (Imre)
- Fix PSR VSC packet setup timing (Mika)
- Fix LUT rounding and conversions (Ville)

DRM core display changes:
- DP MST fixes, helpers, refactoring to support bandwidth management (Imre)
- DP MST PBN divider value refactoring and fixes (Imre)
- DPCD register definitions (Ankit, Imre)
- Add helper to get DSC bpp precision (Ankit)
- Fix color LUT rounding (Ville)

From: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/87v89sl2ao.fsf@intel.com
[sima: Some conflicts in the amdgpu dp mst code]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
19 files changed:
1  2 
MAINTAINERS
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
drivers/gpu/drm/display/drm_dp_helper.c
drivers/gpu/drm/display/drm_dp_mst_topology.c
drivers/gpu/drm/i915/display/intel_audio.c
drivers/gpu/drm/i915/display/intel_display_core.h
drivers/gpu/drm/i915/display/intel_display_debugfs.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_sdvo.c
drivers/gpu/drm/i915/gt/intel_gt.h
drivers/gpu/drm/i915/i915_driver.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gpu_error.c
drivers/gpu/drm/nouveau/dispnv50/disp.c
include/drm/display/drm_dp_helper.h

diff --cc MAINTAINERS
Simple merge
index 1513a9c602ee16565be811185fc514cd9f811155,2253e8fd2d1840129615f61e8047b704a81b1925..aa43f1761acd3fcfa06def985edcbdc655f3499b
  #include <drm/drm_atomic_uapi.h>
  #include <drm/drm_atomic_helper.h>
  #include <drm/drm_blend.h>
+ #include <drm/drm_fixed.h>
  #include <drm/drm_fourcc.h>
  #include <drm/drm_edid.h>
 +#include <drm/drm_eld.h>
  #include <drm/drm_vblank.h>
  #include <drm/drm_audio_component.h>
  #include <drm/drm_gem_atomic_helper.h>
index c7a29bb737e24d0394e770529f1d3f43d0333aae,53e323b71d26301980942bc53801a058a1e7745b..eb6121ad92fd2bf6ee31706569e930ce8c319531
@@@ -209,11 -210,11 +210,11 @@@ static void dm_helpers_construct_old_pa
                        struct drm_dp_mst_atomic_payload *new_payload,
                        struct drm_dp_mst_atomic_payload *old_payload)
  {
 -      struct link_mst_stream_allocation_table current_link_table =
 -                                                                      link->mst_stream_alloc_table;
 -      struct link_mst_stream_allocation *dc_alloc;
 -      int pbn_per_slot = dfixed_trunc(pbn_per_slot_fp);
 -      int i;
 +      struct drm_dp_mst_atomic_payload *pos;
-       int pbn_per_slot = mst_state->pbn_div;
++      int pbn_per_slot = dfixed_trunc(mst_state->pbn_div);
 +      u8 next_payload_vc_start = mgr->next_start_slot;
 +      u8 payload_vc_start = new_payload->vc_start_slot;
 +      u8 allocated_time_slots;
  
        *old_payload = *new_payload;
  
index 11da0eebee6c4b0afd34ee5b7a499e046c4be413,d80f19e442bfb098269461a212dbd1037162f1af..3608d520b22774e6fcecbfc14510bbc90fa5efb9
@@@ -1642,8 -1637,9 +1643,8 @@@ enum dc_status dm_dp_mst_is_port_suppor
        } else {
                /* check if mode could be supported within full_pbn */
                bpp = convert_dc_color_depth_into_bpc(stream->timing.display_color_depth) * 3;
-               pbn = drm_dp_calc_pbn_mode(stream->timing.pix_clk_100hz / 10, bpp, false);
+               pbn = drm_dp_calc_pbn_mode(stream->timing.pix_clk_100hz / 10, bpp << 4);
 -
 -              if (pbn > aconnector->mst_output_port->full_pbn)
 +              if (pbn > full_pbn)
                        return DC_FAIL_BANDWIDTH_VALIDATE;
        }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index df8da9cab5150fc5d2549528b853847fb3848d18,95fb097e5453bd200bc1231301392ff85e438f29..11fe75b68e95c6dd1750529073037221be338252
@@@ -38,8 -38,8 +38,9 @@@
  #include <drm/drm_atomic.h>
  #include <drm/drm_atomic_helper.h>
  #include <drm/drm_edid.h>
 +#include <drm/drm_eld.h>
  #include <drm/drm_fb_helper.h>
+ #include <drm/drm_fixed.h>
  #include <drm/drm_probe_helper.h>
  #include <drm/drm_vblank.h>
  
Simple merge