accel/ivpu: Do not initialize parameters on power up
[ Upstream commitf956bf2080] Initialize HW specific parameters only once. We do not have to do this on every power_up (performed during initialization and on resume). Move corresponding code to ->info_init() Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com> Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20231020104501.697763-6-stanislaw.gruszka@linux.intel.com Stable-dep-of:3f7c063492("accel/ivpu/37xx: Fix hangs related to MMIO reset") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
959f301635
commit
e9fd34ab6e
@@ -625,6 +625,10 @@ static int ivpu_hw_37xx_info_init(struct ivpu_device *vdev)
|
||||
ivpu_hw_init_range(&hw->ranges.shave, 0x180000000, SZ_2G);
|
||||
ivpu_hw_init_range(&hw->ranges.dma, 0x200000000, SZ_8G);
|
||||
|
||||
ivpu_hw_read_platform(vdev);
|
||||
ivpu_hw_wa_init(vdev);
|
||||
ivpu_hw_timeouts_init(vdev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -681,10 +685,6 @@ static int ivpu_hw_37xx_power_up(struct ivpu_device *vdev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ivpu_hw_read_platform(vdev);
|
||||
ivpu_hw_wa_init(vdev);
|
||||
ivpu_hw_timeouts_init(vdev);
|
||||
|
||||
ret = ivpu_hw_37xx_reset(vdev);
|
||||
if (ret)
|
||||
ivpu_warn(vdev, "Failed to reset HW: %d\n", ret);
|
||||
|
||||
@@ -728,6 +728,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 +823,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);
|
||||
|
||||
Reference in New Issue
Block a user