Commit 1c709ae1 authored by Xi Pardee's avatar Xi Pardee Committed by Hans de Goede
Browse files

platform/x86:intel/pmc: Add support to handle multiple PMCs



To support platforms with multiple PMCs, add a PMC device structure to
support each PMC instance.

Signed-off-by: default avatarXi Pardee <xi.pardee@intel.com>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230613225347.2720665-4-rajvi.jingar@linux.intel.com


Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 80495120
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -311,10 +311,11 @@ const struct pmc_reg_map adl_reg_map = {

int adl_core_init(struct pmc_dev *pmcdev)
{
	struct pmc *pmc = pmcdev->pmcs[PMC_IDX_MAIN];
	int ret;

	pmcdev->map = &adl_reg_map;
	ret = get_primary_reg_base(pmcdev);
	pmc->map = &adl_reg_map;
	ret = get_primary_reg_base(pmc);
	if (ret)
		return ret;

+3 −2
Original line number Diff line number Diff line
@@ -206,10 +206,11 @@ const struct pmc_reg_map cnp_reg_map = {

int cnp_core_init(struct pmc_dev *pmcdev)
{
	struct pmc *pmc = pmcdev->pmcs[PMC_IDX_MAIN];
	int ret;

	pmcdev->map = &cnp_reg_map;
	ret = get_primary_reg_base(pmcdev);
	pmc->map = &cnp_reg_map;
	ret = get_primary_reg_base(pmc);
	if (ret)
		return ret;

+152 −120

File changed.

Preview size limit exceeded, changes collapsed.

+30 −7

File changed.

Preview size limit exceeded, changes collapsed.

+4 −2
Original line number Diff line number Diff line
@@ -52,6 +52,8 @@ const struct pmc_reg_map icl_reg_map = {

int icl_core_init(struct pmc_dev *pmcdev)
{
	pmcdev->map = &icl_reg_map;
	return get_primary_reg_base(pmcdev);
	struct pmc *pmc = pmcdev->pmcs[PMC_IDX_MAIN];

	pmc->map = &icl_reg_map;
	return get_primary_reg_base(pmc);
}
Loading