Wire up get_clockgating_state, update_medium_grain_clock_gating,
update_medium_grain_light_sleep and get_rom_offset. The missing
get_clockgating_state caused a NULL pointer dereference when reading
the amdgpu_pm_info debugfs node.
Fixes: 0453ccd3237a ("drm/amdgpu: Add NBIO 7.11.5 support")
Signed-off-by: Shubhankar Milind Sardeshpande
<[email protected]>
---
drivers/gpu/drm/amd/amdgpu/nbio_v7_11_5.c | 32 +++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/nbio_v7_11_5.c
b/drivers/gpu/drm/amd/amdgpu/nbio_v7_11_5.c
index 9bb998a47ef6..558511dd25aa 100644
--- a/drivers/gpu/drm/amd/amdgpu/nbio_v7_11_5.c
+++ b/drivers/gpu/drm/amd/amdgpu/nbio_v7_11_5.c
@@ -249,6 +249,24 @@ static void nbio_v7_11_5_ih_control(struct amdgpu_device
*adev)
WREG32_SOC15(NBIO, 0, regBIF_BX1_INTERRUPT_CNTL,
interrupt_cntl);
}
+static void
+nbio_v7_11_5_update_medium_grain_clock_gating(struct amdgpu_device *adev,
+ bool enable)
+{
+}
+
+static void
+nbio_v7_11_5_update_medium_grain_light_sleep(struct amdgpu_device *adev,
+ bool enable)
+{
+}
+
+static void
+nbio_v7_11_5_get_clockgating_state(struct amdgpu_device *adev,
+ u64 *flags)
+{
+}
+
static u32 nbio_v7_11_5_get_hdp_flush_req_offset(struct amdgpu_device *adev)
{
u32 offset;
@@ -309,6 +327,16 @@ static void nbio_v7_11_5_init_registers(struct
amdgpu_device *adev)
WREG32_SOC15(NBIO, 0, regRCC_DEV0_EPF2_STRAP2, data);
}
+static u32 nbio_v7_11_5_get_rom_offset(struct amdgpu_device *adev)
+{
+ u32 data, rom_offset;
+
+ data = RREG32_SOC15(NBIO, 0, regREGS_ROM_OFFSET_CTRL);
+ rom_offset = REG_GET_FIELD(data, REGS_ROM_OFFSET_CTRL, ROM_OFFSET);
+
+ return rom_offset;
+}
+
#define MMIO_REG_HOLE_OFFSET (0x80000 - PAGE_SIZE)
static void nbio_v7_11_5_set_reg_remap(struct amdgpu_device *adev)
@@ -337,8 +365,12 @@ const struct amdgpu_nbio_funcs nbio_v7_11_5_funcs = {
.enable_doorbell_aperture = nbio_v7_11_5_enable_doorbell_aperture,
.enable_doorbell_selfring_aperture =
nbio_v7_11_5_enable_doorbell_selfring_aperture,
.ih_doorbell_range = nbio_v7_11_5_ih_doorbell_range,
+ .update_medium_grain_clock_gating =
nbio_v7_11_5_update_medium_grain_clock_gating,
+ .update_medium_grain_light_sleep =
nbio_v7_11_5_update_medium_grain_light_sleep,
+ .get_clockgating_state = nbio_v7_11_5_get_clockgating_state,
.ih_control = nbio_v7_11_5_ih_control,
.init_registers = nbio_v7_11_5_init_registers,
.remap_hdp_registers = nbio_v7_11_5_remap_hdp_registers,
+ .get_rom_offset = nbio_v7_11_5_get_rom_offset,
.set_reg_remap = nbio_v7_11_5_set_reg_remap,
};
--
2.43.0