The branch main has been updated by mhorne:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=75780146d627ff4be978191a142da4d67be5aaa6

commit 75780146d627ff4be978191a142da4d67be5aaa6
Author:     Mitchell Horne <[email protected]>
AuthorDate: 2023-10-18 17:54:04 +0000
Commit:     Mitchell Horne <[email protected]>
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 {

Reply via email to