| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Cell Broadband Engine Performance Monitor |
| * |
| * (C) Copyright IBM Corporation 2006 |
| * |
| * Author: |
| * David Erb (djerb@us.ibm.com) |
| * Kevin Corry (kevcorry@us.ibm.com) |
| */ |
| |
| #ifndef __ASM_CELL_PMU_H__ |
| #define __ASM_CELL_PMU_H__ |
| |
| /* The Cell PMU has four hardware performance counters, which can be |
| * configured as four 32-bit counters or eight 16-bit counters. |
| */ |
| #define NR_PHYS_CTRS 4 |
| #define NR_CTRS (NR_PHYS_CTRS * 2) |
| |
| /* Macros for the pm_control register. */ |
| #define CBE_PM_16BIT_CTR(ctr) (1 << (24 - ((ctr) & (NR_PHYS_CTRS - 1)))) |
| |
| /* Macros for the trace_address register. */ |
| #define CBE_PM_TRACE_BUF_EMPTY 0x00000400 |
| |
| enum pm_reg_name { |
| group_control, |
| debug_bus_control, |
| trace_address, |
| ext_tr_timer, |
| pm_status, |
| pm_control, |
| pm_interval, |
| pm_start_stop, |
| }; |
| |
| #endif /* __ASM_CELL_PMU_H__ */ |