#include <linux/sched/mm.h>
#include <linux/sort.h>
#include <linux/string_helpers.h>
#include <linux/debugfs.h>
#include <drm/drm_debugfs.h>
#include "display/intel_display_params.h"
#include "gem/i915_gem_context.h"
#include "gt/intel_gt.h"
#include "gt/intel_gt_buffer_pool.h"
#include "gt/intel_gt_clock_utils.h"
#include "gt/intel_gt_debugfs.h"
#include "gt/intel_gt_pm.h"
#include "gt/intel_gt_pm_debugfs.h"
#include "gt/intel_gt_regs.h"
#include "gt/intel_gt_requests.h"
#include "gt/intel_rc6.h"
#include "gt/intel_reset.h"
#include "gt/intel_rps.h"
#include "gt/intel_sseu_debugfs.h"
#include "i915_debugfs.h"
#include "i915_debugfs_params.h"
#include "i915_driver.h"
#include "i915_gpu_error.h"
#include "i915_irq.h"
#include "i915_reg.h"
#include "i915_scheduler.h"
#include "intel_mchbar_regs.h"
static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node)
{ … }
static int i915_capabilities(struct seq_file *m, void *data)
{ … }
static char get_tiling_flag(struct drm_i915_gem_object *obj)
{ … }
static char get_global_flag(struct drm_i915_gem_object *obj)
{ … }
static char get_pin_mapped_flag(struct drm_i915_gem_object *obj)
{ … }
static const char *
stringify_page_sizes(unsigned int page_sizes, char *buf, size_t len)
{ … }
static const char *stringify_vma_type(const struct i915_vma *vma)
{ … }
static const char *i915_cache_level_str(struct drm_i915_gem_object *obj)
{ … }
void
i915_debugfs_describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
{ … }
static int i915_gem_object_info(struct seq_file *m, void *data)
{ … }
static int i915_frequency_info(struct seq_file *m, void *unused)
{ … }
static const char *swizzle_string(unsigned swizzle)
{ … }
static int i915_swizzle_info(struct seq_file *m, void *data)
{ … }
static int i915_rps_boost_info(struct seq_file *m, void *data)
{ … }
static int i915_runtime_pm_status(struct seq_file *m, void *unused)
{ … }
static int i915_engine_info(struct seq_file *m, void *unused)
{ … }
static int i915_wa_registers(struct seq_file *m, void *unused)
{ … }
static int i915_wedged_get(void *data, u64 *val)
{ … }
static int i915_wedged_set(void *data, u64 val)
{ … }
DEFINE_SIMPLE_ATTRIBUTE(…);
static int
i915_perf_noa_delay_set(void *data, u64 val)
{ … }
static int
i915_perf_noa_delay_get(void *data, u64 *val)
{ … }
DEFINE_SIMPLE_ATTRIBUTE(…);
#define DROP_UNBOUND …
#define DROP_BOUND …
#define DROP_RETIRE …
#define DROP_ACTIVE …
#define DROP_FREED …
#define DROP_SHRINK_ALL …
#define DROP_IDLE …
#define DROP_RESET_ACTIVE …
#define DROP_RESET_SEQNO …
#define DROP_RCU …
#define DROP_ALL …
static int
i915_drop_caches_get(void *data, u64 *val)
{ … }
static int
gt_drop_caches(struct intel_gt *gt, u64 val)
{ … }
static int
i915_drop_caches_set(void *data, u64 val)
{ … }
DEFINE_SIMPLE_ATTRIBUTE(…);
static int i915_sseu_status(struct seq_file *m, void *unused)
{ … }
static int i915_forcewake_open(struct inode *inode, struct file *file)
{ … }
static int i915_forcewake_release(struct inode *inode, struct file *file)
{ … }
static const struct file_operations i915_forcewake_fops = …;
static const struct drm_info_list i915_debugfs_list[] = …;
static const struct i915_debugfs_files { … } i915_debugfs_files[] = …;
void i915_debugfs_register(struct drm_i915_private *dev_priv)
{ … }