Merge tag 'drm-intel-next-2022-09-16-1' of git://anongit.freedesktop.org/drm/drm...
authorDave Airlie <airlied@redhat.com>
Tue, 20 Sep 2022 21:46:54 +0000 (07:46 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 20 Sep 2022 21:51:00 +0000 (07:51 +1000)
drm/i915 feature pull #2 for v6.1:

Features and functionality:
- More Meteorlake platform enabling (Radhakrishna, Imre, Madhumitha)
- Allow seamless M/N changes on eDP panels that support it (Ville)
- Switch DSC debugfs from output bpp to input bpc (Swati)

Refactoring and cleanups:
- Clocking and DPLL refactoring and cleanups to support seamless M/N (Ville)
- Plenty of VBT definition and parsing updates and cleanups (Ville)
- Extract SKL watermark code to a separate file, and clean up (Ville)
- Clean up IPC interfaces and debugfs (Jani)
- Continue moving display data under drm_i915_private display sub-struct (Jani)
- Display quirk handling refactoring and abstractions (Jani)
- Stop using implicit dev_priv in gmbus registers (Jani)
- BUG_ON() removals and conversions to drm_WARN_ON() and BUILD_BUG_ON() (Jani)
- Use drm_dp_phy_name() for logging (Jani)
- Use REG_BIT() macros for CDCLK registers (Stan)
- Move display and media IP versions to runtime info (Radhakrishna)

Fixes:
- Fix DP MST suspend to avoid use-after-free (Andrzej)
- Fix HPD suspend to avoid use-after-free for fbdev (Andrzej)
- Fix various PSR issues regarding selective update and damage clips (Jouni)
- Fix runtime pm wakerefs for driver remove and release (Mitul Golani)
- Fix conditions for filtering fixed modes for panels (Ville)
- Fix TV encoder clock computation (Ville)
- Fix dvo mode_valid hook return type (Nathan Huckleberry)

Merges:
- Backmerge drm-next to sync the DP MST atomic changes (Jani)

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/87o7vfr064.fsf@intel.com
16 files changed:
1  2 
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display.h
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_fbdev.c
drivers/gpu/drm/i915/i915_debugfs.c
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_gem.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_pci.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_device_info.h
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/selftests/mock_gem_device.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 68d8d52bd541db8e8f488abdca558a8cd0f8dd8c,2fccb19ed9f790fe111c3ee7046a866dcfc92dc5..a5cdf6662d01d1c6b34e4a5736a0b121803ac067
  
  #include "i915_utils.h"
  
+ struct drm_file;
+ struct drm_i915_gem_object;
  struct drm_i915_private;
 -struct i915_ggtt_view;
+ struct i915_gem_ww_ctx;
 -                          const struct i915_ggtt_view *view,
++struct i915_gtt_view;
+ struct i915_vma;
+ void i915_gem_init_early(struct drm_i915_private *i915);
+ void i915_gem_cleanup_early(struct drm_i915_private *i915);
+ void i915_gem_drain_freed_objects(struct drm_i915_private *i915);
+ void i915_gem_drain_workqueue(struct drm_i915_private *i915);
+ struct i915_vma * __must_check
+ i915_gem_object_ggtt_pin_ww(struct drm_i915_gem_object *obj,
+                           struct i915_gem_ww_ctx *ww,
 -                       const struct i915_ggtt_view *view,
++                          const struct i915_gtt_view *view,
+                           u64 size, u64 alignment, u64 flags);
+ struct i915_vma * __must_check
+ i915_gem_object_ggtt_pin(struct drm_i915_gem_object *obj,
++                       const struct i915_gtt_view *view,
+                        u64 size, u64 alignment, u64 flags);
+ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
+                          unsigned long flags);
+ #define I915_GEM_OBJECT_UNBIND_ACTIVE BIT(0)
+ #define I915_GEM_OBJECT_UNBIND_BARRIER BIT(1)
+ #define I915_GEM_OBJECT_UNBIND_TEST BIT(2)
+ #define I915_GEM_OBJECT_UNBIND_VM_TRYLOCK BIT(3)
+ #define I915_GEM_OBJECT_UNBIND_ASYNC BIT(4)
+ void i915_gem_runtime_suspend(struct drm_i915_private *i915);
+ int __must_check i915_gem_init(struct drm_i915_private *i915);
+ void i915_gem_driver_register(struct drm_i915_private *i915);
+ void i915_gem_driver_unregister(struct drm_i915_private *i915);
+ void i915_gem_driver_remove(struct drm_i915_private *i915);
+ void i915_gem_driver_release(struct drm_i915_private *i915);
+ int i915_gem_open(struct drm_i915_private *i915, struct drm_file *file);
+ /* FIXME: All of the below belong somewhere else. */
  
  #ifdef CONFIG_DRM_I915_DEBUG_GEM
  
Simple merge
index 19fc00bcd7b9ba9067c1e064bd4c9dfc9215b674,1576cbcf2254350d255f99d816593ace54a2c384..77e7df21f539bd94e9cd6613ca63e5946e13f3ef
@@@ -1136,12 -1122,11 +1136,12 @@@ static const struct intel_device_info m
         * Real graphics IP version will be obtained from hardware GMD_ID
         * register.  Value provided here is just for sanity checking.
         */
-       .__runtime.graphics.ver = 12,
-       .__runtime.graphics.rel = 70,
-       .media.ver = 13,
+       .__runtime.graphics.ip.ver = 12,
+       .__runtime.graphics.ip.rel = 70,
+       .__runtime.media.ip.ver = 13,
        PLATFORM(INTEL_METEORLAKE),
        .display.has_modular_fia = 1,
 +      .extra_gt_list = xelpmp_extra_gt,
        .has_flat_ccs = 0,
        .has_snoop = 1,
        .__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_LMEM,
Simple merge
Simple merge