git: 75780146d627 - main - hwpmc_amd: simplify counter descriptor definitions
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 18 Oct 2023 18:06:01 UTC
The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=75780146d627ff4be978191a142da4d67be5aaa6 commit 75780146d627ff4be978191a142da4d67be5aaa6 Author: Mitchell Horne <mhorne@FreeBSD.org> AuthorDate: 2023-10-18 17:54:04 +0000 Commit: Mitchell Horne <mhorne@FreeBSD.org> CommitDate: 2023-10-18 18:05:44 +0000 hwpmc_amd: simplify counter descriptor definitions No functional change intended. Reviewed by: jkoshy MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41273 --- sys/dev/hwpmc/hwpmc_amd.c | 207 +++++++--------------------------------------- 1 file changed, 30 insertions(+), 177 deletions(-) diff --git a/sys/dev/hwpmc/hwpmc_amd.c b/sys/dev/hwpmc/hwpmc_amd.c index d8ca2e094d02..367f9d0ceebf 100644 --- a/sys/dev/hwpmc/hwpmc_amd.c +++ b/sys/dev/hwpmc/hwpmc_amd.c @@ -63,184 +63,37 @@ struct amd_descr { uint32_t pm_perfctr; /* address of PERFCTR register */ }; -static struct amd_descr amd_pmcdesc[AMD_NPMCS] = +/* Counter hardware. */ +#define PMCDESC(evsel, perfctr) \ + { \ + .pm_descr = { \ + .pd_name = "", \ + .pd_class = -1, \ + .pd_caps = AMD_PMC_CAPS, \ + .pd_width = 48 \ + }, \ + .pm_evsel = (evsel), \ + .pm_perfctr = (perfctr) \ + } + +static struct amd_descr amd_pmcdesc[AMD_NPMCS] = { - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_0, - .pm_perfctr = AMD_PMC_PERFCTR_0 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_1, - .pm_perfctr = AMD_PMC_PERFCTR_1 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_2, - .pm_perfctr = AMD_PMC_PERFCTR_2 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_3, - .pm_perfctr = AMD_PMC_PERFCTR_3 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_4, - .pm_perfctr = AMD_PMC_PERFCTR_4 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_5, - .pm_perfctr = AMD_PMC_PERFCTR_5 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_L3_0, - .pm_perfctr = AMD_PMC_PERFCTR_EP_L3_0 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_L3_1, - .pm_perfctr = AMD_PMC_PERFCTR_EP_L3_1 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_L3_2, - .pm_perfctr = AMD_PMC_PERFCTR_EP_L3_2 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_L3_3, - .pm_perfctr = AMD_PMC_PERFCTR_EP_L3_3 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_L3_4, - .pm_perfctr = AMD_PMC_PERFCTR_EP_L3_4 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_L3_5, - .pm_perfctr = AMD_PMC_PERFCTR_EP_L3_5 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_DF_0, - .pm_perfctr = AMD_PMC_PERFCTR_EP_DF_0 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_DF_1, - .pm_perfctr = AMD_PMC_PERFCTR_EP_DF_1 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_DF_2, - .pm_perfctr = AMD_PMC_PERFCTR_EP_DF_2 - }, - { - .pm_descr = - { - .pd_name = "", - .pd_class = -1, - .pd_caps = AMD_PMC_CAPS, - .pd_width = 48 - }, - .pm_evsel = AMD_PMC_EVSEL_EP_DF_3, - .pm_perfctr = AMD_PMC_PERFCTR_EP_DF_3 - } + PMCDESC(AMD_PMC_EVSEL_0, AMD_PMC_PERFCTR_0), + PMCDESC(AMD_PMC_EVSEL_1, AMD_PMC_PERFCTR_1), + PMCDESC(AMD_PMC_EVSEL_2, AMD_PMC_PERFCTR_2), + PMCDESC(AMD_PMC_EVSEL_3, AMD_PMC_PERFCTR_3), + PMCDESC(AMD_PMC_EVSEL_4, AMD_PMC_PERFCTR_4), + PMCDESC(AMD_PMC_EVSEL_5, AMD_PMC_PERFCTR_5), + PMCDESC(AMD_PMC_EVSEL_EP_L3_0, AMD_PMC_PERFCTR_EP_L3_0), + PMCDESC(AMD_PMC_EVSEL_EP_L3_1, AMD_PMC_PERFCTR_EP_L3_1), + PMCDESC(AMD_PMC_EVSEL_EP_L3_2, AMD_PMC_PERFCTR_EP_L3_2), + PMCDESC(AMD_PMC_EVSEL_EP_L3_3, AMD_PMC_PERFCTR_EP_L3_3), + PMCDESC(AMD_PMC_EVSEL_EP_L3_4, AMD_PMC_PERFCTR_EP_L3_4), + PMCDESC(AMD_PMC_EVSEL_EP_L3_5, AMD_PMC_PERFCTR_EP_L3_5), + PMCDESC(AMD_PMC_EVSEL_EP_DF_0, AMD_PMC_PERFCTR_EP_DF_0), + PMCDESC(AMD_PMC_EVSEL_EP_DF_1, AMD_PMC_PERFCTR_EP_DF_1), + PMCDESC(AMD_PMC_EVSEL_EP_DF_2, AMD_PMC_PERFCTR_EP_DF_2), + PMCDESC(AMD_PMC_EVSEL_EP_DF_3, AMD_PMC_PERFCTR_EP_DF_3) }; struct amd_event_code_map {