#include <linux/ctype.h>
#include <linux/debugfs.h>
#include <linux/seq_file.h>
#include "i915_irq.h"
#include "i915_reg.h"
#include "intel_atomic.h"
#include "intel_de.h"
#include "intel_display_types.h"
#include "intel_pipe_crc.h"
#include "intel_pipe_crc_regs.h"
static const char * const pipe_crc_sources[] = …;
static int i8xx_pipe_crc_ctl_reg(enum intel_pipe_crc_source *source,
u32 *val)
{ … }
static void i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
enum pipe pipe,
enum intel_pipe_crc_source *source)
{ … }
static int vlv_pipe_crc_ctl_reg(struct drm_i915_private *dev_priv,
enum pipe pipe,
enum intel_pipe_crc_source *source,
u32 *val)
{ … }
static int i9xx_pipe_crc_ctl_reg(struct drm_i915_private *dev_priv,
enum pipe pipe,
enum intel_pipe_crc_source *source,
u32 *val)
{ … }
static void vlv_undo_pipe_scramble_reset(struct drm_i915_private *dev_priv,
enum pipe pipe)
{ … }
static int ilk_pipe_crc_ctl_reg(enum intel_pipe_crc_source *source,
u32 *val)
{ … }
static void
intel_crtc_crc_setup_workarounds(struct intel_crtc *crtc, bool enable)
{ … }
static int ivb_pipe_crc_ctl_reg(struct drm_i915_private *dev_priv,
enum pipe pipe,
enum intel_pipe_crc_source *source,
u32 *val)
{ … }
static int skl_pipe_crc_ctl_reg(struct drm_i915_private *dev_priv,
enum pipe pipe,
enum intel_pipe_crc_source *source,
u32 *val)
{ … }
static int get_new_crc_ctl_reg(struct drm_i915_private *dev_priv,
enum pipe pipe,
enum intel_pipe_crc_source *source, u32 *val)
{ … }
static int
display_crc_ctl_parse_source(const char *buf, enum intel_pipe_crc_source *s)
{ … }
void intel_crtc_crc_init(struct intel_crtc *crtc)
{ … }
static int i8xx_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
static int i9xx_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
static int vlv_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
static int ilk_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
static int ivb_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
static int skl_crc_source_valid(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
static int
intel_is_valid_crc_source(struct drm_i915_private *dev_priv,
const enum intel_pipe_crc_source source)
{ … }
const char *const *intel_crtc_get_crc_sources(struct drm_crtc *crtc,
size_t *count)
{ … }
int intel_crtc_verify_crc_source(struct drm_crtc *crtc, const char *source_name,
size_t *values_cnt)
{ … }
int intel_crtc_set_crc_source(struct drm_crtc *_crtc, const char *source_name)
{ … }
void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc)
{ … }
void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc)
{ … }