Skip to content

Commit cb8455c

Browse files
committed
Merge tag 'drm-xe-fixes-2026-02-05' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes
Driver Changes: - Fix topology query pointer advance (Shuicheng) - A couple of kerneldoc fixes (Shuicheng) - Disable D3Cold for BMG only on specific platforms (Karthik) - Fix CFI violation in debugfs access (Daniele) Signed-off-by: Dave Airlie <[email protected]> From: Thomas Hellstrom <[email protected]> Link: https://patch.msgid.link/aYS2v12R8ELQoTiZ@fedora
2 parents 4e3b2f0 + 4cb1b32 commit cb8455c

7 files changed

Lines changed: 19 additions & 10 deletions

File tree

drivers/gpu/drm/xe/xe_guc.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1618,7 +1618,7 @@ int xe_guc_start(struct xe_guc *guc)
16181618
return xe_guc_submit_start(guc);
16191619
}
16201620

1621-
void xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p)
1621+
int xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p)
16221622
{
16231623
struct xe_gt *gt = guc_to_gt(guc);
16241624
unsigned int fw_ref;
@@ -1630,7 +1630,7 @@ void xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p)
16301630
if (!IS_SRIOV_VF(gt_to_xe(gt))) {
16311631
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
16321632
if (!fw_ref)
1633-
return;
1633+
return -EIO;
16341634

16351635
status = xe_mmio_read32(&gt->mmio, GUC_STATUS);
16361636

@@ -1658,6 +1658,8 @@ void xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p)
16581658

16591659
drm_puts(p, "\n");
16601660
xe_guc_submit_print(guc, p);
1661+
1662+
return 0;
16611663
}
16621664

16631665
/**

drivers/gpu/drm/xe/xe_guc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ int xe_guc_self_cfg32(struct xe_guc *guc, u16 key, u32 val);
4545
int xe_guc_self_cfg64(struct xe_guc *guc, u16 key, u64 val);
4646
void xe_guc_irq_handler(struct xe_guc *guc, const u16 iir);
4747
void xe_guc_sanitize(struct xe_guc *guc);
48-
void xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p);
48+
int xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p);
4949
int xe_guc_reset_prepare(struct xe_guc *guc);
5050
void xe_guc_reset_wait(struct xe_guc *guc);
5151
void xe_guc_stop_prepare(struct xe_guc *guc);

drivers/gpu/drm/xe/xe_migrate.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1201,7 +1201,7 @@ int xe_migrate_ccs_rw_copy(struct xe_tile *tile, struct xe_exec_queue *q,
12011201
}
12021202

12031203
/**
1204-
* xe_get_migrate_exec_queue() - Get the execution queue from migrate context.
1204+
* xe_migrate_exec_queue() - Get the execution queue from migrate context.
12051205
* @migrate: Migrate context.
12061206
*
12071207
* Return: Pointer to execution queue on success, error on failure

drivers/gpu/drm/xe/xe_pm.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <linux/fault-inject.h>
99
#include <linux/pm_runtime.h>
1010
#include <linux/suspend.h>
11+
#include <linux/dmi.h>
1112

1213
#include <drm/drm_managed.h>
1314
#include <drm/ttm/ttm_placement.h>
@@ -357,9 +358,15 @@ ALLOW_ERROR_INJECTION(xe_pm_init_early, ERRNO); /* See xe_pci_probe() */
357358

358359
static u32 vram_threshold_value(struct xe_device *xe)
359360
{
360-
/* FIXME: D3Cold temporarily disabled by default on BMG */
361-
if (xe->info.platform == XE_BATTLEMAGE)
362-
return 0;
361+
if (xe->info.platform == XE_BATTLEMAGE) {
362+
const char *product_name;
363+
364+
product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
365+
if (product_name && strstr(product_name, "NUC13RNG")) {
366+
drm_warn(&xe->drm, "BMG + D3Cold not supported on this platform\n");
367+
return 0;
368+
}
369+
}
363370

364371
return DEFAULT_VRAM_THRESHOLD;
365372
}

drivers/gpu/drm/xe/xe_query.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ static int copy_mask(void __user **ptr,
491491

492492
if (copy_to_user(*ptr, topo, sizeof(*topo)))
493493
return -EFAULT;
494-
*ptr += sizeof(topo);
494+
*ptr += sizeof(*topo);
495495

496496
if (copy_to_user(*ptr, mask, mask_size))
497497
return -EFAULT;

drivers/gpu/drm/xe/xe_tlb_inval.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ static void tlb_inval_fini(struct drm_device *drm, void *arg)
115115
}
116116

117117
/**
118-
* xe_gt_tlb_inval_init - Initialize TLB invalidation state
118+
* xe_gt_tlb_inval_init_early() - Initialize TLB invalidation state
119119
* @gt: GT structure
120120
*
121121
* Initialize TLB invalidation state, purely software initialization, should

drivers/gpu/drm/xe/xe_tlb_inval_job.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ static void xe_tlb_inval_job_destroy(struct kref *ref)
164164
}
165165

166166
/**
167-
* xe_tlb_inval_alloc_dep() - TLB invalidation job alloc dependency
167+
* xe_tlb_inval_job_alloc_dep() - TLB invalidation job alloc dependency
168168
* @job: TLB invalidation job to alloc dependency for
169169
*
170170
* Allocate storage for a dependency in the TLB invalidation fence. This

0 commit comments

Comments
 (0)