mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
accel/ivpu: Set 500 ns delay between power island TRICKLE and ENABLE
Follow HW documentation recommendation of 500 ns delay between setting AON_PWR_ISLAND_TRICKLE_EN and AON_PWR_ISLAND_EN registers during power island enabling. Previously this was only done correctly for VPU 4+. VPU 3.7 had the delay added after power island disable where it is not needed. Signed-off-by: Karol Wachowski <karol.wachowski@intel.com> Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240930195322.461209-10-jacek.lawrynowicz@linux.intel.com Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
This commit is contained in:
parent
5e162f872d
commit
525a3858aa
|
|
@ -311,9 +311,6 @@ static void pwr_island_trickle_drive_40xx(struct ivpu_device *vdev, bool enable)
|
|||
val = REG_CLR_FLD(VPU_40XX_HOST_SS_AON_PWR_ISLAND_TRICKLE_EN0, CSS_CPU, val);
|
||||
|
||||
REGV_WR32(VPU_40XX_HOST_SS_AON_PWR_ISLAND_TRICKLE_EN0, val);
|
||||
|
||||
if (enable)
|
||||
ndelay(500);
|
||||
}
|
||||
|
||||
static void pwr_island_drive_37xx(struct ivpu_device *vdev, bool enable)
|
||||
|
|
@ -326,9 +323,6 @@ static void pwr_island_drive_37xx(struct ivpu_device *vdev, bool enable)
|
|||
val = REG_CLR_FLD(VPU_40XX_HOST_SS_AON_PWR_ISLAND_EN0, CSS_CPU, val);
|
||||
|
||||
REGV_WR32(VPU_40XX_HOST_SS_AON_PWR_ISLAND_EN0, val);
|
||||
|
||||
if (!enable)
|
||||
ndelay(500);
|
||||
}
|
||||
|
||||
static void pwr_island_drive_40xx(struct ivpu_device *vdev, bool enable)
|
||||
|
|
@ -347,9 +341,11 @@ static void pwr_island_enable(struct ivpu_device *vdev)
|
|||
{
|
||||
if (ivpu_hw_ip_gen(vdev) == IVPU_HW_IP_37XX) {
|
||||
pwr_island_trickle_drive_37xx(vdev, true);
|
||||
ndelay(500);
|
||||
pwr_island_drive_37xx(vdev, true);
|
||||
} else {
|
||||
pwr_island_trickle_drive_40xx(vdev, true);
|
||||
ndelay(500);
|
||||
pwr_island_drive_40xx(vdev, true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user