linux/drivers/platform/x86/intel/pmc/core_ssram.c

// SPDX-License-Identifier: GPL-2.0
/*
 * This file contains functions to handle discovery of PMC metrics located
 * in the PMC SSRAM PCI device.
 *
 * Copyright (c) 2023, Intel Corporation.
 * All Rights Reserved.
 *
 */

#include <linux/cleanup.h>
#include <linux/pci.h>
#include <linux/io-64-nonatomic-lo-hi.h>

#include "core.h"
#include "../vsec.h"
#include "../pmt/telemetry.h"

#define SSRAM_HDR_SIZE
#define SSRAM_PWRM_OFFSET
#define SSRAM_DVSEC_OFFSET
#define SSRAM_DVSEC_SIZE
#define SSRAM_PCH_OFFSET
#define SSRAM_IOE_OFFSET
#define SSRAM_DEVID_OFFSET

/* PCH query */
#define LPM_HEADER_OFFSET
#define LPM_REG_COUNT
#define LPM_MODE_OFFSET

DEFINE_FREE(pmc_core_iounmap, void __iomem *, iounmap(_T));

static u32 pmc_core_find_guid(struct pmc_info *list, const struct pmc_reg_map *map)
{}

static int pmc_core_get_lpm_req(struct pmc_dev *pmcdev, struct pmc *pmc)
{}

int pmc_core_ssram_get_lpm_reqs(struct pmc_dev *pmcdev)
{}

static void
pmc_add_pmt(struct pmc_dev *pmcdev, u64 ssram_base, void __iomem *ssram)
{}

static const struct pmc_reg_map *pmc_core_find_regmap(struct pmc_info *list, u16 devid)
{}

static inline u64 get_base(void __iomem *addr, u32 offset)
{}

static int
pmc_core_pmc_add(struct pmc_dev *pmcdev, u64 pwrm_base,
		 const struct pmc_reg_map *reg_map, int pmc_index)
{}

static int
pmc_core_ssram_get_pmc(struct pmc_dev *pmcdev, int pmc_idx, u32 offset)
{}

int pmc_core_ssram_init(struct pmc_dev *pmcdev, int func)
{}
MODULE_IMPORT_NS();
MODULE_IMPORT_NS();