linux/arch/x86/events/intel/uncore_discovery.c

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Support Intel uncore PerfMon discovery mechanism.
 * Copyright(c) 2021 Intel Corporation.
 */
#define pr_fmt(fmt)

#include "uncore.h"
#include "uncore_discovery.h"

static struct rb_root discovery_tables =;
static int num_discovered_types[UNCORE_ACCESS_MAX];

static bool has_generic_discovery_table(void)
{}

static int logical_die_id;

static int get_device_die_id(struct pci_dev *dev)
{}

#define __node_2_type(cur)

static inline int __type_cmp(const void *key, const struct rb_node *b)
{}

static inline struct intel_uncore_discovery_type *
search_uncore_discovery_type(u16 type_id)
{}

static inline bool __type_less(struct rb_node *a, const struct rb_node *b)
{}

static struct intel_uncore_discovery_type *
add_uncore_discovery_type(struct uncore_unit_discovery *unit)
{}

static struct intel_uncore_discovery_type *
get_uncore_discovery_type(struct uncore_unit_discovery *unit)
{}

static inline int pmu_idx_cmp(const void *key, const struct rb_node *b)
{}

static struct intel_uncore_discovery_unit *
intel_uncore_find_discovery_unit(struct rb_root *units, int die,
				 unsigned int pmu_idx)
{}

int intel_uncore_find_discovery_unit_id(struct rb_root *units, int die,
					unsigned int pmu_idx)
{}

static inline bool unit_less(struct rb_node *a, const struct rb_node *b)
{}

static inline struct intel_uncore_discovery_unit *
uncore_find_unit(struct rb_root *root, unsigned int id)
{}

void uncore_find_add_unit(struct intel_uncore_discovery_unit *node,
			  struct rb_root *root, u16 *num_units)
{}

static void
uncore_insert_box_info(struct uncore_unit_discovery *unit,
		       int die)
{}

static bool
uncore_ignore_unit(struct uncore_unit_discovery *unit, int *ignore)
{}

static int parse_discovery_table(struct pci_dev *dev, int die,
				 u32 bar_offset, bool *parsed,
				 int *ignore)
{}

bool intel_uncore_has_discovery_tables(int *ignore)
{}

void intel_uncore_clear_discovery_tables(void)
{}

DEFINE_UNCORE_FORMAT_ATTR();
DEFINE_UNCORE_FORMAT_ATTR();
DEFINE_UNCORE_FORMAT_ATTR();
DEFINE_UNCORE_FORMAT_ATTR();
DEFINE_UNCORE_FORMAT_ATTR();

static struct attribute *generic_uncore_formats_attr[] =;

static const struct attribute_group generic_uncore_format_group =;

static u64 intel_generic_uncore_box_ctl(struct intel_uncore_box *box)
{}

void intel_generic_uncore_msr_init_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_msr_disable_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_msr_enable_box(struct intel_uncore_box *box)
{}

static void intel_generic_uncore_msr_enable_event(struct intel_uncore_box *box,
					    struct perf_event *event)
{}

static void intel_generic_uncore_msr_disable_event(struct intel_uncore_box *box,
					     struct perf_event *event)
{}

static struct intel_uncore_ops generic_uncore_msr_ops =;

bool intel_generic_uncore_assign_hw_event(struct perf_event *event,
					  struct intel_uncore_box *box)
{}

static inline int intel_pci_uncore_box_ctl(struct intel_uncore_box *box)
{}

void intel_generic_uncore_pci_init_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_pci_disable_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_pci_enable_box(struct intel_uncore_box *box)
{}

static void intel_generic_uncore_pci_enable_event(struct intel_uncore_box *box,
					    struct perf_event *event)
{}

void intel_generic_uncore_pci_disable_event(struct intel_uncore_box *box,
					    struct perf_event *event)
{}

u64 intel_generic_uncore_pci_read_counter(struct intel_uncore_box *box,
					  struct perf_event *event)
{}

static struct intel_uncore_ops generic_uncore_pci_ops =;

#define UNCORE_GENERIC_MMIO_SIZE

void intel_generic_uncore_mmio_init_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_mmio_disable_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_mmio_enable_box(struct intel_uncore_box *box)
{}

void intel_generic_uncore_mmio_enable_event(struct intel_uncore_box *box,
					    struct perf_event *event)
{}

void intel_generic_uncore_mmio_disable_event(struct intel_uncore_box *box,
					     struct perf_event *event)
{}

static struct intel_uncore_ops generic_uncore_mmio_ops =;

static bool uncore_update_uncore_type(enum uncore_access_type type_id,
				      struct intel_uncore_type *uncore,
				      struct intel_uncore_discovery_type *type)
{}

struct intel_uncore_type **
intel_uncore_generic_init_uncores(enum uncore_access_type type_id, int num_extra)
{}

void intel_uncore_generic_uncore_cpu_init(void)
{}

int intel_uncore_generic_uncore_pci_init(void)
{}

void intel_uncore_generic_uncore_mmio_init(void)
{}