]> Git Repo - J-linux.git/commitdiff
Merge tag 'drm-xe-next-2024-10-17' of https://gitlab.freedesktop.org/drm/xe/kernel...
authorDave Airlie <[email protected]>
Fri, 18 Oct 2024 05:17:50 +0000 (15:17 +1000)
committerDave Airlie <[email protected]>
Fri, 18 Oct 2024 05:18:08 +0000 (15:18 +1000)
UAPI Changes:
- (Implicit) Fix the exec unnecessary implicit fencing (Matt Brost)

Driver Changes:
- Fix an inverted if statement (Colin)
- Fixes around display d3cold vs non-d3cold runtime pm (Imre)
- A couple of scheduling fixes (Matt Brost)
- Increase a query timestamp witdh (Lucas)
- Move a timestamp read (Lucas)
- Tidy some code using multiple put_user() (Lucas)
- Fix an ufence signaling error (Nirmoy)
- Initialize the ufence.signalled field (Matt Auld)
- Display fb alignement work (Juha-Pekka)
- Disallow horisontal flip with tile4 + display20 (Juha-Pekka)
- Extend a workaround (Shekhar)
- Enlarge the global invalidation timeout (Shuicheng)

Signed-off-by: Dave Airlie <[email protected]>
From: Thomas Hellstrom <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/ZxDZaRRQAzrG1uir@fedora
1  2 
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb.h
drivers/gpu/drm/i915/display/skl_universal_plane.c
drivers/gpu/drm/xe/display/xe_display.c
drivers/gpu/drm/xe/display/xe_fb_pin.c
drivers/gpu/drm/xe/xe_bo.c
drivers/gpu/drm/xe/xe_bo.h
drivers/gpu/drm/xe/xe_bo_types.h
drivers/gpu/drm/xe/xe_device.c

index ca00a365080fb239661541e8439373ab8aa4df62,5c6b74c36b608c1a44cd2dd47d81f20362eaca8a..695c27ac6b0f89db2dc7bd1aa1c60fc5f543ccdf
@@@ -344,7 -340,10 +344,10 @@@ static void __xe_display_pm_suspend(str
  
        intel_opregion_suspend(display, s2idle ? PCI_D1 : PCI_D3cold);
  
 -      intel_dmc_suspend(xe);
 +      intel_dmc_suspend(display);
+       if (runtime && has_display(xe))
+               intel_hpd_poll_enable(xe);
  }
  
  void xe_display_pm_suspend(struct xe_device *xe)
@@@ -453,13 -452,14 +458,15 @@@ static void __xe_display_pm_resume(stru
                intel_display_driver_resume(xe);
                drm_kms_helper_poll_enable(&xe->drm);
                intel_display_driver_enable_user_access(xe);
-               intel_hpd_poll_disable(xe);
        }
  
+       if (has_display(xe))
+               intel_hpd_poll_disable(xe);
        intel_opregion_resume(display);
  
 -      intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_RUNNING, false);
 +      if (!runtime)
 +              intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_RUNNING, false);
  
        intel_power_domains_enable(xe);
  }
index 79dbbbe03c7f60361284a79074159b83609a1e70,9194993910e39d9b2250693012d3b89089ffc873..761510ae06904a983fc3c57ef17c86490daf10df
@@@ -184,10 -190,10 +191,11 @@@ write_ggtt_rotated(struct xe_bo *bo, st
  
  static int __xe_pin_fb_vma_ggtt(const struct intel_framebuffer *fb,
                                const struct i915_gtt_view *view,
-                               struct i915_vma *vma)
+                               struct i915_vma *vma,
+                               u64 physical_alignment)
  {
 -      struct xe_bo *bo = intel_fb_obj(&fb->base);
 +      struct drm_gem_object *obj = intel_fb_bo(&fb->base);
 +      struct xe_bo *bo = gem_to_xe_bo(obj);
        struct xe_device *xe = to_xe_device(fb->base.dev);
        struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt;
        u32 align;
@@@ -369,9 -375,11 +378,12 @@@ void intel_fb_unpin_vma(struct i915_vm
  int intel_plane_pin_fb(struct intel_plane_state *plane_state)
  {
        struct drm_framebuffer *fb = plane_state->hw.fb;
 -      struct xe_bo *bo = intel_fb_obj(fb);
 +      struct drm_gem_object *obj = intel_fb_bo(fb);
 +      struct xe_bo *bo = gem_to_xe_bo(obj);
        struct i915_vma *vma;
+       struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
+       struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
+       u64 phys_alignment = plane->min_alignment(plane, fb, 0);
  
        /* We reject creating !SCANOUT fb's, so this is weird.. */
        drm_WARN_ON(bo->ttm.base.dev, !(bo->flags & XE_BO_FLAG_SCANOUT));
Simple merge
Simple merge
index 8b92017750816bd35d86a11f8f543b122788fbdb,35372c46edfa5be1324d332b0cb8b64238191cdf..13c6d8a69e916fa3cad8db84e0ae41f89248fc30
@@@ -76,6 -76,14 +76,11 @@@ struct xe_bo 
  
        /** @vram_userfault_link: Link into @mem_access.vram_userfault.list */
                struct list_head vram_userfault_link;
+       /** @min_align: minimum alignment needed for this BO if different
+        * from default
+        */
+       u64 min_align;
  };
  
 -#define intel_bo_to_drm_bo(bo) (&(bo)->ttm.base)
 -#define intel_bo_to_i915(bo) to_i915(intel_bo_to_drm_bo(bo)->dev)
 -
  #endif
Simple merge
This page took 0.156959 seconds and 4 git commands to generate.