accel/ivpu: Print information about used workarounds
[platform/kernel/linux-starfive.git] / drivers / accel / ivpu / ivpu_hw_40xx.c
index 8bdb59a..03600a7 100644 (file)
@@ -125,6 +125,10 @@ static void ivpu_hw_wa_init(struct ivpu_device *vdev)
 
        if (ivpu_hw_gen(vdev) == IVPU_HW_40XX)
                vdev->wa.disable_clock_relinquish = true;
+
+       IVPU_PRINT_WA(punit_disabled);
+       IVPU_PRINT_WA(clear_runtime_mem);
+       IVPU_PRINT_WA(disable_clock_relinquish);
 }
 
 static void ivpu_hw_timeouts_init(struct ivpu_device *vdev)
@@ -728,6 +732,10 @@ static int ivpu_hw_40xx_info_init(struct ivpu_device *vdev)
        ivpu_hw_init_range(&vdev->hw->ranges.shave,  0x80000000 + SZ_256M, SZ_2G - SZ_256M);
        ivpu_hw_init_range(&vdev->hw->ranges.dma,   0x200000000, SZ_8G);
 
+       ivpu_hw_read_platform(vdev);
+       ivpu_hw_wa_init(vdev);
+       ivpu_hw_timeouts_init(vdev);
+
        return 0;
 }
 
@@ -819,10 +827,6 @@ static int ivpu_hw_40xx_power_up(struct ivpu_device *vdev)
                return ret;
        }
 
-       ivpu_hw_read_platform(vdev);
-       ivpu_hw_wa_init(vdev);
-       ivpu_hw_timeouts_init(vdev);
-
        ret = ivpu_hw_40xx_d0i3_disable(vdev);
        if (ret)
                ivpu_warn(vdev, "Failed to disable D0I3: %d\n", ret);
@@ -1179,6 +1183,7 @@ const struct ivpu_hw_ops ivpu_hw_40xx_ops = {
        .power_up = ivpu_hw_40xx_power_up,
        .is_idle = ivpu_hw_40xx_is_idle,
        .power_down = ivpu_hw_40xx_power_down,
+       .reset = ivpu_hw_40xx_reset,
        .boot_fw = ivpu_hw_40xx_boot_fw,
        .wdt_disable = ivpu_hw_40xx_wdt_disable,
        .diagnose_failure = ivpu_hw_40xx_diagnose_failure,