#include <linux/string_helpers.h>
#include "i915_drv.h"
#include "i915_perf_types.h"
#include "intel_engine_regs.h"
#include "intel_gt_regs.h"
#include "intel_sseu.h"
void intel_sseu_set_info(struct sseu_dev_info *sseu, u8 max_slices,
u8 max_subslices, u8 max_eus_per_subslice)
{ … }
unsigned int
intel_sseu_subslice_total(const struct sseu_dev_info *sseu)
{ … }
unsigned int
intel_sseu_get_hsw_subslices(const struct sseu_dev_info *sseu, u8 slice)
{ … }
static u16 sseu_get_eus(const struct sseu_dev_info *sseu, int slice,
int subslice)
{ … }
static void sseu_set_eus(struct sseu_dev_info *sseu, int slice, int subslice,
u16 eu_mask)
{ … }
static u16 compute_eu_total(const struct sseu_dev_info *sseu)
{ … }
int intel_sseu_copy_eumask_to_user(void __user *to,
const struct sseu_dev_info *sseu)
{ … }
int intel_sseu_copy_ssmask_to_user(void __user *to,
const struct sseu_dev_info *sseu)
{ … }
static void gen11_compute_sseu_info(struct sseu_dev_info *sseu,
u32 ss_en, u16 eu_en)
{ … }
static void xehp_compute_sseu_info(struct sseu_dev_info *sseu,
u16 eu_en)
{ … }
static void
xehp_load_dss_mask(struct intel_uncore *uncore,
intel_sseu_ss_mask_t *ssmask,
int numregs,
...)
{ … }
static void xehp_sseu_info_init(struct intel_gt *gt)
{ … }
static void gen12_sseu_info_init(struct intel_gt *gt)
{ … }
static void gen11_sseu_info_init(struct intel_gt *gt)
{ … }
static void cherryview_sseu_info_init(struct intel_gt *gt)
{ … }
static void gen9_sseu_info_init(struct intel_gt *gt)
{ … }
static void bdw_sseu_info_init(struct intel_gt *gt)
{ … }
static void hsw_sseu_info_init(struct intel_gt *gt)
{ … }
void intel_sseu_info_init(struct intel_gt *gt)
{ … }
u32 intel_sseu_make_rpcs(struct intel_gt *gt,
const struct intel_sseu *req_sseu)
{ … }
void intel_sseu_dump(const struct sseu_dev_info *sseu, struct drm_printer *p)
{ … }
static void sseu_print_hsw_topology(const struct sseu_dev_info *sseu,
struct drm_printer *p)
{ … }
static void sseu_print_xehp_topology(const struct sseu_dev_info *sseu,
struct drm_printer *p)
{ … }
void intel_sseu_print_topology(struct drm_i915_private *i915,
const struct sseu_dev_info *sseu,
struct drm_printer *p)
{ … }
void intel_sseu_print_ss_info(const char *type,
const struct sseu_dev_info *sseu,
struct seq_file *m)
{ … }
u16 intel_slicemask_from_xehp_dssmask(intel_sseu_ss_mask_t dss_mask,
int dss_per_slice)
{ … }