mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
drm/xe/compat-i915: Convert register access to use xe_mmio
Stop using GT pointers for register access. v2: - Don't remove _Generic wrappers for 8/16-bit yet; save that for the last patch of the series. (Rodrigo) Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240910234719.3335472-59-matthew.d.roper@intel.com
This commit is contained in:
parent
02f017cc13
commit
ab069ad85f
|
|
@ -10,11 +10,11 @@
|
|||
#include "xe_device_types.h"
|
||||
#include "xe_mmio.h"
|
||||
|
||||
static inline struct xe_gt *__compat_uncore_to_gt(struct intel_uncore *uncore)
|
||||
static inline struct xe_mmio *__compat_uncore_to_mmio(struct intel_uncore *uncore)
|
||||
{
|
||||
struct xe_device *xe = container_of(uncore, struct xe_device, uncore);
|
||||
|
||||
return xe_root_mmio_gt(xe);
|
||||
return xe_root_tile_mmio(xe);
|
||||
}
|
||||
|
||||
static inline struct xe_tile *__compat_uncore_to_tile(struct intel_uncore *uncore)
|
||||
|
|
@ -29,7 +29,7 @@ static inline u32 intel_uncore_read(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_read32(__compat_uncore_to_gt(uncore), reg);
|
||||
return xe_mmio_read32(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline u8 intel_uncore_read8(struct intel_uncore *uncore,
|
||||
|
|
@ -37,7 +37,7 @@ static inline u8 intel_uncore_read8(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_read8(__compat_uncore_to_gt(uncore), reg);
|
||||
return xe_mmio_read8(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline u16 intel_uncore_read16(struct intel_uncore *uncore,
|
||||
|
|
@ -45,7 +45,7 @@ static inline u16 intel_uncore_read16(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_read16(__compat_uncore_to_gt(uncore), reg);
|
||||
return xe_mmio_read16(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline u64
|
||||
|
|
@ -57,11 +57,11 @@ intel_uncore_read64_2x32(struct intel_uncore *uncore,
|
|||
u32 upper, lower, old_upper;
|
||||
int loop = 0;
|
||||
|
||||
upper = xe_mmio_read32(__compat_uncore_to_gt(uncore), upper_reg);
|
||||
upper = xe_mmio_read32(__compat_uncore_to_mmio(uncore), upper_reg);
|
||||
do {
|
||||
old_upper = upper;
|
||||
lower = xe_mmio_read32(__compat_uncore_to_gt(uncore), lower_reg);
|
||||
upper = xe_mmio_read32(__compat_uncore_to_gt(uncore), upper_reg);
|
||||
lower = xe_mmio_read32(__compat_uncore_to_mmio(uncore), lower_reg);
|
||||
upper = xe_mmio_read32(__compat_uncore_to_mmio(uncore), upper_reg);
|
||||
} while (upper != old_upper && loop++ < 2);
|
||||
|
||||
return (u64)upper << 32 | lower;
|
||||
|
|
@ -72,7 +72,7 @@ static inline void intel_uncore_posting_read(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
xe_mmio_read32(__compat_uncore_to_gt(uncore), reg);
|
||||
xe_mmio_read32(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline void intel_uncore_write(struct intel_uncore *uncore,
|
||||
|
|
@ -80,7 +80,7 @@ static inline void intel_uncore_write(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
xe_mmio_write32(__compat_uncore_to_gt(uncore), reg, val);
|
||||
xe_mmio_write32(__compat_uncore_to_mmio(uncore), reg, val);
|
||||
}
|
||||
|
||||
static inline u32 intel_uncore_rmw(struct intel_uncore *uncore,
|
||||
|
|
@ -88,7 +88,7 @@ static inline u32 intel_uncore_rmw(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_rmw32(__compat_uncore_to_gt(uncore), reg, clear, set);
|
||||
return xe_mmio_rmw32(__compat_uncore_to_mmio(uncore), reg, clear, set);
|
||||
}
|
||||
|
||||
static inline int intel_wait_for_register(struct intel_uncore *uncore,
|
||||
|
|
@ -97,7 +97,7 @@ static inline int intel_wait_for_register(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_wait32(__compat_uncore_to_gt(uncore), reg, mask, value,
|
||||
return xe_mmio_wait32(__compat_uncore_to_mmio(uncore), reg, mask, value,
|
||||
timeout * USEC_PER_MSEC, NULL, false);
|
||||
}
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ static inline int intel_wait_for_register_fw(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_wait32(__compat_uncore_to_gt(uncore), reg, mask, value,
|
||||
return xe_mmio_wait32(__compat_uncore_to_mmio(uncore), reg, mask, value,
|
||||
timeout * USEC_PER_MSEC, NULL, false);
|
||||
}
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ __intel_wait_for_register(struct intel_uncore *uncore, i915_reg_t i915_reg,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_wait32(__compat_uncore_to_gt(uncore), reg, mask, value,
|
||||
return xe_mmio_wait32(__compat_uncore_to_mmio(uncore), reg, mask, value,
|
||||
fast_timeout_us + 1000 * slow_timeout_ms,
|
||||
out_value, false);
|
||||
}
|
||||
|
|
@ -128,7 +128,7 @@ static inline u32 intel_uncore_read_fw(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_read32(__compat_uncore_to_gt(uncore), reg);
|
||||
return xe_mmio_read32(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline void intel_uncore_write_fw(struct intel_uncore *uncore,
|
||||
|
|
@ -136,7 +136,7 @@ static inline void intel_uncore_write_fw(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
xe_mmio_write32(__compat_uncore_to_gt(uncore), reg, val);
|
||||
xe_mmio_write32(__compat_uncore_to_mmio(uncore), reg, val);
|
||||
}
|
||||
|
||||
static inline u32 intel_uncore_read_notrace(struct intel_uncore *uncore,
|
||||
|
|
@ -144,7 +144,7 @@ static inline u32 intel_uncore_read_notrace(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
return xe_mmio_read32(__compat_uncore_to_gt(uncore), reg);
|
||||
return xe_mmio_read32(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline void intel_uncore_write_notrace(struct intel_uncore *uncore,
|
||||
|
|
@ -152,7 +152,7 @@ static inline void intel_uncore_write_notrace(struct intel_uncore *uncore,
|
|||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
xe_mmio_write32(__compat_uncore_to_gt(uncore), reg, val);
|
||||
xe_mmio_write32(__compat_uncore_to_mmio(uncore), reg, val);
|
||||
}
|
||||
|
||||
static inline void __iomem *intel_uncore_regs(struct intel_uncore *uncore)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user