]> Git Repo - linux.git/commitdiff
Backmerge v6.12-rc6 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
authorDave Airlie <[email protected]>
Mon, 4 Nov 2024 04:25:33 +0000 (14:25 +1000)
committerDave Airlie <[email protected]>
Mon, 4 Nov 2024 04:25:33 +0000 (14:25 +1000)
Backmerge Linus tree for some drm-fixes needed for msm and xe merges.

Signed-off-by: Dave Airlie <[email protected]>
36 files changed:
1  2 
MAINTAINERS
drivers/accel/ivpu/ivpu_debugfs.c
drivers/accel/ivpu/ivpu_hw.c
drivers/accel/ivpu/ivpu_hw.h
drivers/accel/ivpu/ivpu_hw_ip.c
drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
drivers/gpu/drm/ast/ast_sil164.c
drivers/gpu/drm/ast/ast_vga.c
drivers/gpu/drm/bridge/aux-bridge.c
drivers/gpu/drm/bridge/tc358767.c
drivers/gpu/drm/drm_fbdev_dma.c
drivers/gpu/drm/i915/Kconfig
drivers/gpu/drm/i915/display/intel_dp_mst.c
drivers/gpu/drm/mediatek/mtk_dp.c
drivers/gpu/drm/mgag200/mgag200_drv.c
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/panthor/panthor_fw.c
drivers/gpu/drm/panthor/panthor_gem.c
drivers/gpu/drm/panthor/panthor_mmu.c
drivers/gpu/drm/panthor/panthor_sched.c
drivers/gpu/drm/scheduler/sched_main.c
drivers/gpu/drm/tegra/drm.c
drivers/gpu/drm/v3d/v3d_perfmon.c
drivers/gpu/drm/vc4/vc4_perfmon.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
drivers/gpu/drm/xe/regs/xe_gt_regs.h
drivers/gpu/drm/xe/xe_force_wake.c
drivers/gpu/drm/xe/xe_ggtt.c
drivers/gpu/drm/xe/xe_guc_ct.c
drivers/gpu/drm/xe/xe_guc_submit.c
drivers/gpu/drm/xe/xe_guc_types.h
drivers/video/fbdev/atmel_lcdfb.c
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c
drivers/video/fbdev/sh_mobile_lcdcfb.c

diff --cc MAINTAINERS
Simple merge
index 8958145c49adb628bd52a8f81fc971ef0319c6d7,8d50981594d1533fef602f51d9378db1c7e85dfc..8180b95ed69dc79c1af4971e4f13b249bcb8fa30
@@@ -125,25 -124,35 +133,26 @@@ static const struct drm_debugfs_info vd
        {"last_bootmode", last_bootmode_show, 0},
        {"reset_counter", reset_counter_show, 0},
        {"reset_pending", reset_pending_show, 0},
+       {"firewall_irq_counter", firewall_irq_counter_show, 0},
  };
  
 -static ssize_t
 -dvfs_mode_fops_write(struct file *file, const char __user *user_buf, size_t size, loff_t *pos)
 +static int dvfs_mode_get(void *data, u64 *dvfs_mode)
  {
 -      struct ivpu_device *vdev = file->private_data;
 -      struct ivpu_fw_info *fw = vdev->fw;
 -      u32 dvfs_mode;
 -      int ret;
 -
 -      ret = kstrtou32_from_user(user_buf, size, 0, &dvfs_mode);
 -      if (ret < 0)
 -              return ret;
 +      struct ivpu_device *vdev = (struct ivpu_device *)data;
  
 -      fw->dvfs_mode = dvfs_mode;
 +      *dvfs_mode = vdev->fw->dvfs_mode;
 +      return 0;
 +}
  
 -      ret = pci_try_reset_function(to_pci_dev(vdev->drm.dev));
 -      if (ret)
 -              return ret;
 +static int dvfs_mode_set(void *data, u64 dvfs_mode)
 +{
 +      struct ivpu_device *vdev = (struct ivpu_device *)data;
  
 -      return size;
 +      vdev->fw->dvfs_mode = (u32)dvfs_mode;
 +      return pci_try_reset_function(to_pci_dev(vdev->drm.dev));
  }
  
 -static const struct file_operations dvfs_mode_fops = {
 -      .owner = THIS_MODULE,
 -      .open = simple_open,
 -      .write = dvfs_mode_fops_write,
 -};
 +DEFINE_DEBUGFS_ATTRIBUTE(dvfs_mode_fops, dvfs_mode_get, dvfs_mode_set, "%llu\n");
  
  static ssize_t
  fw_dyndbg_fops_write(struct file *file, const char __user *user_buf, size_t size, loff_t *pos)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 1b31782269871cd929b4f98b1b4310a7a40acfe3,ff19eca5d358b325a4ed07e7ef812c4ff3d88a0c..65bc41d2c867a8b2f784530363a4ea9ec59b6b0b
@@@ -401,6 -397,16 +401,16 @@@ static void ggtt_invalidate_gt_tlb(stru
  
  static void xe_ggtt_invalidate(struct xe_ggtt *ggtt)
  {
 -      xe_mmio_read32(xe_root_mmio_gt(xe), VF_CAP_REG);
+       struct xe_device *xe = tile_to_xe(ggtt->tile);
+       /*
+        * XXX: Barrier for GGTT pages. Unsure exactly why this required but
+        * without this LNL is having issues with the GuC reading scratch page
+        * vs. correct GGTT page. Not particularly a hot code path so blindly
+        * do a mmio read here which results in GuC reading correct GGTT page.
+        */
++      xe_mmio_read32(&xe_root_mmio_gt(xe)->mmio, VF_CAP_REG);
        /* Each GT in a tile has its own TLB to cache GGTT lookups */
        ggtt_invalidate_gt_tlb(ggtt->tile->primary_gt);
        ggtt_invalidate_gt_tlb(ggtt->tile->media_gt);
Simple merge
index 0e5649b394b6d8aaac7fc008fa0b9623ae9be8df,f903b077272259e475226da053db75b4efec61c3..5f8c7a45b0286e99a6ae84dc6a6ac8cca7e79f44
@@@ -1124,25 -1059,6 +1061,21 @@@ guc_exec_queue_timedout_job(struct drm_
                exec_queue_killed_or_banned_or_wedged(q) ||
                exec_queue_destroyed(q);
  
-       /* Job hasn't started, can't be timed out */
-       if (!skip_timeout_check && !xe_sched_job_started(job))
-               goto rearm;
 +      /*
 +       * If devcoredump not captured and GuC capture for the job is not ready
 +       * do manual capture first and decide later if we need to use it
 +       */
 +      if (!exec_queue_killed(q) && !xe->devcoredump.captured &&
 +          !xe_guc_capture_get_matching_and_lock(job)) {
 +              /* take force wake before engine register manual capture */
 +              if (xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL))
 +                      xe_gt_info(q->gt, "failed to get forcewake for coredump capture\n");
 +
 +              xe_engine_snapshot_capture_for_job(job);
 +
 +              xe_force_wake_put(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
 +      }
 +
        /*
         * XXX: Sampling timeout doesn't work in wedged mode as we have to
         * modify scheduling state to read timestamp. We could read the
Simple merge
Simple merge
This page took 0.151902 seconds and 4 git commands to generate.