mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 06:49:29 -04:00
drm/xe: Drop xe_mmio_write64()
The only possible 64-bit register writes in the driver come from the highly questionable MMIO ioctl. That ioctl's register write support only operates for userspace running as root and cannot be used by any real userspace; it exists solely to support the "xe_reg" debug tool in IGT. Since the spec indicates that hardware does not officially support 64-bit register accesses, there's no reason to allow such 64-bit writes, even for debugging. Bspec: 60027 Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Link: https://lore.kernel.org/r/20230823003312.1356779-4-matthew.d.roper@intel.com Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
@@ -490,9 +490,6 @@ int xe_mmio_ioctl(struct drm_device *dev, void *data,
|
||||
}
|
||||
xe_mmio_write32(gt, reg, args->value);
|
||||
break;
|
||||
case DRM_XE_MMIO_64BIT:
|
||||
xe_mmio_write64(gt, reg, args->value);
|
||||
break;
|
||||
default:
|
||||
drm_dbg(&xe->drm, "Invalid MMIO bit size");
|
||||
fallthrough;
|
||||
|
||||
@@ -75,17 +75,6 @@ static inline u32 xe_mmio_rmw32(struct xe_gt *gt, struct xe_reg reg, u32 clr,
|
||||
return old;
|
||||
}
|
||||
|
||||
static inline void xe_mmio_write64(struct xe_gt *gt,
|
||||
struct xe_reg reg, u64 val)
|
||||
{
|
||||
struct xe_tile *tile = gt_to_tile(gt);
|
||||
|
||||
if (reg.addr < gt->mmio.adj_limit)
|
||||
reg.addr += gt->mmio.adj_offset;
|
||||
|
||||
writeq(val, tile->mmio.regs + reg.addr);
|
||||
}
|
||||
|
||||
static inline int xe_mmio_write32_and_verify(struct xe_gt *gt,
|
||||
struct xe_reg reg, u32 val,
|
||||
u32 mask, u32 eval)
|
||||
|
||||
Reference in New Issue
Block a user