mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
drm/i915/de: Add intel_de_write8()
Add a write counterpart to intel_de_read8(). Will be used for MMIO access to VGA registers on pre-g4x. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/20251208182637.334-12-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
d2bfe35f84
commit
005a496d0f
|
|
@ -42,6 +42,14 @@ intel_de_read8(struct intel_display *display, i915_reg_t reg)
|
|||
return intel_uncore_read8(__to_uncore(display), reg);
|
||||
}
|
||||
|
||||
static inline void
|
||||
intel_de_write8(struct intel_display *display, i915_reg_t reg, u8 val)
|
||||
{
|
||||
drm_WARN_ON(display->drm, DISPLAY_VER(display) >= 5 || display->platform.g4x);
|
||||
|
||||
intel_uncore_write8(__to_uncore(display), reg, val);
|
||||
}
|
||||
|
||||
static inline u64
|
||||
intel_de_read64_2x32(struct intel_display *display,
|
||||
i915_reg_t lower_reg, i915_reg_t upper_reg)
|
||||
|
|
|
|||
|
|
@ -38,6 +38,14 @@ static inline u8 intel_uncore_read8(struct intel_uncore *uncore,
|
|||
return xe_mmio_read8(__compat_uncore_to_mmio(uncore), reg);
|
||||
}
|
||||
|
||||
static inline void intel_uncore_write8(struct intel_uncore *uncore,
|
||||
i915_reg_t i915_reg, u8 val)
|
||||
{
|
||||
struct xe_reg reg = XE_REG(i915_mmio_reg_offset(i915_reg));
|
||||
|
||||
xe_mmio_write8(__compat_uncore_to_mmio(uncore), reg, val);
|
||||
}
|
||||
|
||||
static inline u16 intel_uncore_read16(struct intel_uncore *uncore,
|
||||
i915_reg_t i915_reg)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -158,6 +158,15 @@ u8 xe_mmio_read8(struct xe_mmio *mmio, struct xe_reg reg)
|
|||
return val;
|
||||
}
|
||||
|
||||
void xe_mmio_write8(struct xe_mmio *mmio, struct xe_reg reg, u8 val)
|
||||
{
|
||||
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
|
||||
|
||||
trace_xe_reg_rw(mmio, true, addr, val, sizeof(val));
|
||||
|
||||
writeb(val, mmio->regs + addr);
|
||||
}
|
||||
|
||||
u16 xe_mmio_read16(struct xe_mmio *mmio, struct xe_reg reg)
|
||||
{
|
||||
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ int xe_mmio_probe_tiles(struct xe_device *xe);
|
|||
void xe_mmio_init(struct xe_mmio *mmio, struct xe_tile *tile, void __iomem *ptr, u32 size);
|
||||
|
||||
u8 xe_mmio_read8(struct xe_mmio *mmio, struct xe_reg reg);
|
||||
void xe_mmio_write8(struct xe_mmio *mmio, struct xe_reg reg, u8 val);
|
||||
u16 xe_mmio_read16(struct xe_mmio *mmio, struct xe_reg reg);
|
||||
void xe_mmio_write32(struct xe_mmio *mmio, struct xe_reg reg, u32 val);
|
||||
u32 xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user