|
256 | 256 | /* PTL cNCU register */ |
257 | 257 | #define PTL_UNC_CNCU_MSR_OFFSET 0x140 |
258 | 258 |
|
| 259 | +/* NVL cNCU register */ |
| 260 | +#define NVL_UNC_CNCU_BOX_CTL 0x202e |
| 261 | +#define NVL_UNC_CNCU_FIXED_CTR 0x2028 |
| 262 | +#define NVL_UNC_CNCU_FIXED_CTRL 0x2022 |
| 263 | + |
| 264 | +/* NVL SANTA register */ |
| 265 | +#define NVL_UNC_SANTA_CTR0 0x2048 |
| 266 | +#define NVL_UNC_SANTA_CTRL0 0x2042 |
| 267 | + |
| 268 | +/* NVL CBOX register */ |
| 269 | +#define NVL_UNC_CBOX_PER_CTR0 0x2108 |
| 270 | +#define NVL_UNC_CBOX_PERFEVTSEL0 0x2102 |
| 271 | + |
259 | 272 | DEFINE_UNCORE_FORMAT_ATTR(event, event, "config:0-7"); |
260 | 273 | DEFINE_UNCORE_FORMAT_ATTR(umask, umask, "config:8-15"); |
261 | 274 | DEFINE_UNCORE_FORMAT_ATTR(chmask, chmask, "config:8-11"); |
@@ -1979,3 +1992,30 @@ void ptl_uncore_cpu_init(void) |
1979 | 1992 | } |
1980 | 1993 |
|
1981 | 1994 | /* end of Panther Lake uncore support */ |
| 1995 | + |
| 1996 | +/* Nova Lake uncore support */ |
| 1997 | + |
| 1998 | +static struct intel_uncore_type *nvl_msr_uncores[] = { |
| 1999 | + &mtl_uncore_cbox, |
| 2000 | + &ptl_uncore_santa, |
| 2001 | + &mtl_uncore_cncu, |
| 2002 | + NULL |
| 2003 | +}; |
| 2004 | + |
| 2005 | +void nvl_uncore_cpu_init(void) |
| 2006 | +{ |
| 2007 | + mtl_uncore_cbox.num_boxes = 12; |
| 2008 | + mtl_uncore_cbox.perf_ctr = NVL_UNC_CBOX_PER_CTR0, |
| 2009 | + mtl_uncore_cbox.event_ctl = NVL_UNC_CBOX_PERFEVTSEL0, |
| 2010 | + |
| 2011 | + ptl_uncore_santa.perf_ctr = NVL_UNC_SANTA_CTR0, |
| 2012 | + ptl_uncore_santa.event_ctl = NVL_UNC_SANTA_CTRL0, |
| 2013 | + |
| 2014 | + mtl_uncore_cncu.box_ctl = NVL_UNC_CNCU_BOX_CTL; |
| 2015 | + mtl_uncore_cncu.fixed_ctr = NVL_UNC_CNCU_FIXED_CTR; |
| 2016 | + mtl_uncore_cncu.fixed_ctl = NVL_UNC_CNCU_FIXED_CTRL; |
| 2017 | + |
| 2018 | + uncore_msr_uncores = nvl_msr_uncores; |
| 2019 | +} |
| 2020 | + |
| 2021 | +/* end of Nova Lake uncore support */ |
0 commit comments