mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-15 00:47:02 +02:00
Existing code blocks each IPI send request in ipi_mb_notify() function till pmu clears respective bit in ipi observation register. After sending PM_SYSTEM_SHUTDOWN request to PMU, PMU will restart APU. While PMU is restarting APU, ATF is running out of OCM, which can cause read/write hang from/to OCM. There is no need to wait for notification from PMU in case of SystemShutdown request in ATF, as APU is going to restart. This patch fixes APU only restart issue. Signed-off-by: Tejas Patel <tejasp@xilinx.com> Acked-by: Wendy Liang <wendy.liang@xilinx.com>
26 lines
805 B
C
26 lines
805 B
C
/*
|
|
* Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef _PM_IPI_H_
|
|
#define _PM_IPI_H_
|
|
|
|
#include "pm_common.h"
|
|
|
|
int pm_ipi_init(const struct pm_proc *proc);
|
|
|
|
enum pm_ret_status pm_ipi_send(const struct pm_proc *proc,
|
|
uint32_t payload[PAYLOAD_ARG_CNT]);
|
|
enum pm_ret_status pm_ipi_send_non_blocking(const struct pm_proc *proc,
|
|
uint32_t payload[PAYLOAD_ARG_CNT]);
|
|
enum pm_ret_status pm_ipi_send_sync(const struct pm_proc *proc,
|
|
uint32_t payload[PAYLOAD_ARG_CNT],
|
|
unsigned int *value, size_t count);
|
|
void pm_ipi_buff_read_callb(unsigned int *value, size_t count);
|
|
void pm_ipi_irq_enable(const struct pm_proc *proc);
|
|
void pm_ipi_irq_clear(const struct pm_proc *proc);
|
|
|
|
#endif /* _PM_IPI_H_ */
|