Skip to content

Commit 8e54e49

Browse files
xpardee-createij-intel
authored andcommitted
platform/x86:intel/pmc: Enable SSRAM support for Panther Lake
Enable Panther Lake platforms to achieve PMC information from Intel PMC SSRAM Telemetry driver and substate requirements data from telemetry region. Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com> Link: https://patch.msgid.link/20250910210629.11198-6-xi.pardee@linux.intel.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
1 parent a22bc86 commit 8e54e49

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

drivers/platform/x86/intel/pmc/core.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,8 @@ enum ppfear_regs {
297297
#define PTL_PMC_LTR_CUR_ASLT 0x1C28
298298
#define PTL_PMC_LTR_CUR_PLT 0x1C2C
299299
#define PTL_PCD_PMC_MMIO_REG_LEN 0x31A8
300+
#define PTL_NUM_S0IX_BLOCKER 106
301+
#define PTL_BLK_REQ_OFFSET 55
300302

301303
/* Wildcat Lake */
302304
#define WCL_PMC_LTR_RESERVED 0x1B64

drivers/platform/x86/intel/pmc/ptl.c

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,17 @@
1010

1111
#include "core.h"
1212

13+
/* PMC SSRAM PMT Telemetry GUIDS */
14+
#define PCDP_LPM_REQ_GUID 0x47179370
15+
16+
/*
17+
* Die Mapping to Product.
18+
* Product PCDDie
19+
* PTL-H PCD-H
20+
* PTL-P PCD-P
21+
* PTL-U PCD-P
22+
*/
23+
1324
static const struct pmc_bit_map ptl_pcdp_pfear_map[] = {
1425
{"PMC_0", BIT(0)},
1526
{"FUSE_OSSE", BIT(1)},
@@ -515,6 +526,22 @@ static const struct pmc_reg_map ptl_pcdp_reg_map = {
515526
.lpm_live_status_offset = MTL_LPM_LIVE_STATUS_OFFSET,
516527
.s0ix_blocker_maps = ptl_pcdp_blk_maps,
517528
.s0ix_blocker_offset = LNL_S0IX_BLOCKER_OFFSET,
529+
.num_s0ix_blocker = PTL_NUM_S0IX_BLOCKER,
530+
.blocker_req_offset = PTL_BLK_REQ_OFFSET,
531+
};
532+
533+
static struct pmc_info ptl_pmc_info_list[] = {
534+
{
535+
.guid = PCDP_LPM_REQ_GUID,
536+
.devid = PMC_DEVID_PTL_PCDH,
537+
.map = &ptl_pcdp_reg_map,
538+
},
539+
{
540+
.guid = PCDP_LPM_REQ_GUID,
541+
.devid = PMC_DEVID_PTL_PCDP,
542+
.map = &ptl_pcdp_reg_map,
543+
},
544+
{}
518545
};
519546

520547
#define PTL_NPU_PCI_DEV 0xb03e
@@ -543,8 +570,12 @@ static int ptl_core_init(struct pmc_dev *pmcdev, struct pmc_dev_info *pmc_dev_in
543570
}
544571

545572
struct pmc_dev_info ptl_pmc_dev = {
573+
.pci_func = 2,
574+
.regmap_list = ptl_pmc_info_list,
546575
.map = &ptl_pcdp_reg_map,
576+
.sub_req_show = &pmc_core_substate_blk_req_fops,
547577
.suspend = cnl_suspend,
548578
.resume = ptl_resume,
549579
.init = ptl_core_init,
580+
.sub_req = pmc_core_pmt_get_blk_sub_req,
550581
};

0 commit comments

Comments
 (0)