blob: 9566223f2a2c43451decb08447422c5730f854d9 [file] [log] [blame]
Dimitris Papastamos89736dd2018-02-13 11:28:02 +00001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <cortex_ares.h>
8#include <cpuamu.h>
9#include <pubsub_events.h>
10
11static void *cortex_ares_context_save(const void *arg)
12{
13 if (midr_match(CORTEX_ARES_MIDR) != 0)
14 cpuamu_context_save(CORTEX_ARES_AMU_NR_COUNTERS);
Antonio Nino Diaz9fe40fd2018-10-25 17:11:02 +010015
16 return (void *)0;
Dimitris Papastamos89736dd2018-02-13 11:28:02 +000017}
18
19static void *cortex_ares_context_restore(const void *arg)
20{
21 if (midr_match(CORTEX_ARES_MIDR) != 0)
22 cpuamu_context_restore(CORTEX_ARES_AMU_NR_COUNTERS);
Antonio Nino Diaz9fe40fd2018-10-25 17:11:02 +010023
24 return (void *)0;
Dimitris Papastamos89736dd2018-02-13 11:28:02 +000025}
26
27SUBSCRIBE_TO_EVENT(psci_suspend_pwrdown_start, cortex_ares_context_save);
28SUBSCRIBE_TO_EVENT(psci_suspend_pwrdown_finish, cortex_ares_context_restore);