mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 15:41:52 +02:00
Driver Changes:
- Make sure to check all forcewakes when dumping mocs - Fix wrong use of read64 on 32b register - Synchronize Panther Lake PCI IDs -----BEGIN PGP SIGNATURE----- iQJNBAABCgA3FiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAmgwC5QZHGx1Y2FzLmRl bWFyY2hpQGludGVsLmNvbQAKCRCboqWmMMvqU6MhEACTEdipxv3o11hgJte0eF25 mhfxCUivKYJfXI3ZucvtIlIPA7FuygNKLlPqsf7GBmcmJA6FN4BSmpxSVGDJHb52 qDy/DOeUJ/mXeKuNLbjq4AEGRPZYq2duTxjCwwjPKsBGKNAhU4dP6XAyDcYphEkl AqbGuZ8fUQIeeLmaH9fbwKfCLh3YbBcE2LnKfmL2hrIGpdXltXcoD2V5L+ALSdim dyCvCriwC77b/22ZC0DeE4DNFohuuTg9k3RRzFC6gRQjpxkie6hWosDUB/Zr2CWX uh4JlTwgzPcURahOcnRtG/85lxc2eGp5FiLlO7znCyX8raYQqU+rNkZDiOLUpAeo CVE2x62TcdKwXi+muwzg1L9Z1qSjQoyVj+cub8nxBzIaMrNSNPbpdSBv9HthMTcq 3w8Ehf9XoYSEZe6FarL53I5dfQIixqTrZ4sLOSaJn3Nt5hWeLoQ1r7vIC8p/tfq5 9RrUIwBL8nzVdZ3ZyCjg8exK0nvukbDsBNTSVSPZqKo/gvyAvAfJOpF0FPEnpoGP a6CebvNoVvjHFKTg+K6Kur/4hCmfu7ekLoHwaw9li98NxbnFppWAMOe3Kwl8qAni KeNQqhPf4VqejVU61/fR+/zSiFPh3FjwF1NLj5FPrVd/4189+8BF+OaxMe5GSp78 JzGRXtp2E43DiK2fmxgYNw== =Ppm2 -----END PGP SIGNATURE----- Merge tag 'drm-xe-fixes-2025-05-23' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes Driver Changes: - Make sure to check all forcewakes when dumping mocs - Fix wrong use of read64 on 32b register - Synchronize Panther Lake PCI IDs Signed-off-by: Dave Airlie <airlied@redhat.com> From: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://lore.kernel.org/r/uixp5cq7emz32lmwwvq4vbujppugfozhyj3cm2aqzx4lcg7ivn@m2khvf4kvz5p
This commit is contained in:
commit
fe1e5a1f2d
|
|
@ -75,12 +75,12 @@ static void mmio_multi_tile_setup(struct xe_device *xe, size_t tile_mmio_size)
|
|||
* is fine as it's going to the root tile's mmio, that's
|
||||
* guaranteed to be initialized earlier in xe_mmio_probe_early()
|
||||
*/
|
||||
mtcfg = xe_mmio_read64_2x32(mmio, XEHP_MTCFG_ADDR);
|
||||
mtcfg = xe_mmio_read32(mmio, XEHP_MTCFG_ADDR);
|
||||
tile_count = REG_FIELD_GET(TILE_COUNT, mtcfg) + 1;
|
||||
|
||||
if (tile_count < xe->info.tile_count) {
|
||||
drm_info(&xe->drm, "tile_count: %d, reduced_tile_count %d\n",
|
||||
xe->info.tile_count, tile_count);
|
||||
xe->info.tile_count, tile_count);
|
||||
xe->info.tile_count = tile_count;
|
||||
|
||||
/*
|
||||
|
|
@ -128,7 +128,7 @@ int xe_mmio_probe_early(struct xe_device *xe)
|
|||
*/
|
||||
xe->mmio.size = pci_resource_len(pdev, GTTMMADR_BAR);
|
||||
xe->mmio.regs = pci_iomap(pdev, GTTMMADR_BAR, 0);
|
||||
if (xe->mmio.regs == NULL) {
|
||||
if (!xe->mmio.regs) {
|
||||
drm_err(&xe->drm, "failed to map registers\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
|
@ -309,8 +309,8 @@ u64 xe_mmio_read64_2x32(struct xe_mmio *mmio, struct xe_reg reg)
|
|||
return (u64)udw << 32 | ldw;
|
||||
}
|
||||
|
||||
static int __xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
|
||||
u32 *out_val, bool atomic, bool expect_match)
|
||||
static int __xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val,
|
||||
u32 timeout_us, u32 *out_val, bool atomic, bool expect_match)
|
||||
{
|
||||
ktime_t cur = ktime_get_raw();
|
||||
const ktime_t end = ktime_add_us(cur, timeout_us);
|
||||
|
|
|
|||
|
|
@ -775,22 +775,23 @@ void xe_mocs_init(struct xe_gt *gt)
|
|||
void xe_mocs_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
enum xe_force_wake_domains domain;
|
||||
struct xe_mocs_info table;
|
||||
unsigned int fw_ref, flags;
|
||||
|
||||
flags = get_mocs_settings(xe, &table);
|
||||
|
||||
domain = flags & HAS_LNCF_MOCS ? XE_FORCEWAKE_ALL : XE_FW_GT;
|
||||
xe_pm_runtime_get_noresume(xe);
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt),
|
||||
flags & HAS_LNCF_MOCS ?
|
||||
XE_FORCEWAKE_ALL : XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), domain);
|
||||
|
||||
if (!xe_force_wake_ref_has_domain(fw_ref, domain))
|
||||
goto err_fw;
|
||||
|
||||
table.ops->dump(&table, flags, gt, p);
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
err_fw:
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
xe_pm_runtime_put(xe);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -861,6 +861,10 @@
|
|||
MACRO__(0xB081, ## __VA_ARGS__), \
|
||||
MACRO__(0xB082, ## __VA_ARGS__), \
|
||||
MACRO__(0xB083, ## __VA_ARGS__), \
|
||||
MACRO__(0xB084, ## __VA_ARGS__), \
|
||||
MACRO__(0xB085, ## __VA_ARGS__), \
|
||||
MACRO__(0xB086, ## __VA_ARGS__), \
|
||||
MACRO__(0xB087, ## __VA_ARGS__), \
|
||||
MACRO__(0xB08F, ## __VA_ARGS__), \
|
||||
MACRO__(0xB090, ## __VA_ARGS__), \
|
||||
MACRO__(0xB0A0, ## __VA_ARGS__), \
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user