accel/ivpu/37xx: Fix hangs related to MMIO reset
authorJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Wed, 15 Nov 2023 11:10:04 +0000 (12:10 +0100)
committerJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Tue, 21 Nov 2023 08:20:25 +0000 (09:20 +0100)
commit3f7c0634926daf48cd2f6db6c1197a1047074088
tree11512fc2892e4ffbff458f6e3d3a8f072a96f17f
parentbb0a05acd6121ff0e810b44fdc24dbdfaa46b642
accel/ivpu/37xx: Fix hangs related to MMIO reset

There is no need to call MMIO reset using VPU_37XX_BUTTRESS_VPU_IP_RESET
register. IP will be reset by FLR or by entering d0i3. Also IP reset
during power_up is not needed as the VPU is already in reset.

Removing MMIO reset improves stability as it a partial device reset
that is not safe in some corner cases.

This change also brings back ivpu_boot_pwr_domain_disable() that
helps to properly power down VPU when it is hung by a buggy workload.

Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Fixes: 828d63042aec ("accel/ivpu: Don't enter d0i3 during FLR")
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231115111004.1304092-1-jacek.lawrynowicz@linux.intel.com
drivers/accel/ivpu/ivpu_hw_37xx.c