i915_drv.h revision 1450
919N/A/* i915_drv.h -- Private header for the I915 driver -*- linux-c -*-
830N/A#ifndef _I915_DRV_H_
830N/A#define _I915_DRV_H_
830N/A#include "i915_drm.h"
830N/A#include "i915_reg.h"
830N/A#include "intel_bios.h"
830N/A#include "intel_ringbuffer.h"
enum transcoder {
TRANSCODER_A = 0,
enum plane {
PLANE_A = 0,
enum port {
PORT_A = 0,
enum intel_display_power_domain {
enum hpd_pin {
HPD_NONE = 0,
#define I915_GEM_GPU_DOMAINS \
list_for_each_entry((_intel_encoder), struct intel_encoder, &(dev)->mode_config.encoder_list, base.head) \
struct drm_i915_private;
enum intel_dpll_id {
struct intel_dpll_hw_state {
struct intel_shared_dpll {
const char *name;
struct intel_link_m_n {
extern int gpu_dump;
struct intel_ddi_plls {
int spll_refcount;
int wrpll1_refcount;
int wrpll2_refcount;
#define WATCH_COHERENCY 0
#define WATCH_LISTS 0
#define WATCH_GTT 0
struct drm_i915_gem_phys_object {
int id;
struct mem_block {
int start;
int size;
struct opregion_header;
struct opregion_acpi;
struct opregion_swsci;
struct opregion_asle;
struct intel_opregion {
void *vbt;
struct intel_overlay;
struct intel_overlay_error_state;
struct drm_i915_master_private {
struct drm_i915_fence_reg {
int pin_count;
struct sdvo_device_mapping {
struct intel_display_error_state;
struct drm_i915_error_state {
struct drm_i915_error_ring {
struct drm_i915_error_object {
int page_count;
struct drm_i915_error_request {
long err_jiffies;
} *requests;
int num_requests;
struct drm_i915_error_buffer {
struct intel_crtc_config;
struct intel_crtc;
struct intel_limit;
struct dpll;
struct drm_i915_display_funcs {
bool enable);
struct intel_crtc_config *);
struct drm_i915_gt_funcs {
#define SEP_SEMICOLON ;
struct intel_device_info {
enum i915_cache_level {
I915_CACHE_NONE = 0,
struct i915_gtt {
struct i915_hw_ppgtt {
unsigned num_pd_entries;
unsigned int first_entry,
unsigned int num_entries);
struct i915_ctx_hang_stats {
unsigned batch_pending;
unsigned batch_active;
#define DEFAULT_CONTEXT_ID 0
struct i915_hw_context {
int id;
bool is_initialized;
enum no_fbc_reason {
enum intel_pch {
enum intel_sbi_destination {
struct intel_fbdev;
struct intel_fbc_work;
struct intel_gmbus {
bool force_bit;
typedef struct drm_i915_bridge_dev {
struct i915_suspend_saved_registers {
struct batch_info_list {
struct intel_gen6_power_mgmt {
/* defined intel_pm.c */
struct intel_ilk_power_mgmt {
unsigned long last_time1;
unsigned long chipset_power;
unsigned long gfx_power;
int c_m;
int r_t;
struct i915_power_well {
int count;
int i915_request;
struct i915_dri1_state {
unsigned int cpp;
int back_offset;
int front_offset;
int current_page;
int page_flipping;
struct intel_l3_parity {
struct i915_gem_mm {
int gtt_mtrr;
bool interruptible;
int suspended;
struct drm_i915_error_state_buf {
unsigned bytes;
unsigned size;
int err;
struct i915_gpu_error {
unsigned long last_reset;
unsigned int stop_rings;
enum modeset_restore {
struct intel_vbt_data {
int lvds_ssc_freq;
int edp_rate;
int edp_lanes;
int edp_preemphasis;
int edp_vswing;
bool edp_initialized;
bool edp_support;
int edp_bpp;
int crt_ddc_pin;
int child_dev_num;
typedef struct drm_i915_private {
unsigned gt_fifo_count;
unsigned forcewake_count;
unsigned long hpd_last_jiffies;
int hpd_cnt;
HPD_ENABLED = 0,
} hpd_mark;
int num_plane;
unsigned long cfb_size;
unsigned int cfb_fb;
int cfb_y;
unsigned int sprite_scaling_enabled;
int level;
bool enabled;
} backlight;
bool no_aux_handshake;
unsigned short pch_id;
unsigned long quirks;
bool vt_holding;
bool isX;
bool gfx_state_saved;
int num_shared_dpll;
bool render_reclock_avail;
bool lvds_downclock_avail;
int lvds_downclock;
bool mchbar_need_disable;
* mchdev_lock in intel_pm.c */
int gpu_hang;
bool hw_contexts_disabled;
enum hdmi_force_audio {
struct drm_i915_gem_object_ops {
struct drm_i915_gem_object {
unsigned int active;
unsigned int dirty;
signed int fence_reg;
unsigned int madv;
* switching/pageflipping, the framebuffer code has at most two buffers
unsigned int pin_count;
unsigned int map_and_fenceable;
int agp_mem;
unsigned int fault_mappable;
unsigned int pin_mappable;
unsigned int pending_fenced_gpu_access;
unsigned int fenced_gpu_access;
unsigned int cache_level;
unsigned int has_aliasing_ppgtt_mapping;
unsigned int has_global_gtt_mapping;
unsigned int has_dma_mapping;
int pages_pin_count;
int num_sg;
unsigned long exec_handle;
unsigned long *bit_17;
struct drm_i915_gem_request {
unsigned long emitted_jiffies;
struct drm_i915_file_private {
} mm;
int status;
extern int i915_max_ioctl;
extern unsigned int i915_fbpercrtc;
extern int i915_panel_ignore_lid;
extern unsigned int i915_powersave;
extern int i915_semaphores;
extern unsigned int i915_lvds_downclock;
extern int i915_lvds_channel_mode;
extern int i915_panel_use_ssc;
extern int i915_vbt_sdvo_panel_type;
extern int i915_enable_rc6;
extern int i915_enable_fbc;
extern bool i915_enable_hangcheck;
extern bool i915_try_reset;
extern int i915_enable_ppgtt;
extern int i915_disable_power_well;
extern int i915_enable_ips;
/* i915_dma.c */
#ifdef CONFIG_COMPAT
unsigned long arg);
extern int i915_bridge_dev_read_config_word(struct drm_i915_bridge_dev *bridge_dev, int where, u16 *val);
extern int i915_bridge_dev_write_config_word(struct drm_i915_bridge_dev *bridge_dev, int where, u16 val);
/* i915_irq.c */
#ifdef CONFIG_DEBUG_FS
#define i915_destroy_error_state(x)
/* i915_gem.c */
bool map_and_fenceable,
bool nonblocking);
bool interruptible);
bool write);
int id,
int align);
/* i915_gem_context.c */
struct i915_ctx_hang_stats *
/* i915_gem_gtt.c */
/* i915_gem_evict.c */
unsigned alignment,
unsigned cache_level,
bool mappable,
bool nonblock);
/* i915_gem_stolen.c */
struct drm_i915_gem_object *
struct drm_i915_gem_object *
/* i915_gem_tiling.c */
/* i915_gem_debug.c */
#if WATCH_LISTS
int handle);
/* i915_suspend.c */
/* i915_ums.c */
/* intel_i2c.c */
bool force_restore);
#ifdef CONFIG_DEBUG_FS
extern void intel_overlay_print_error_state(struct seq_file *m, struct intel_overlay_error_state *error);
/* intel_sideband.c */
#define __i915_read(x) \
#define __i915_write(x) \
u ## x val);
#define INTEL_BROADCAST_RGB_AUTO 0
return CPU_VGACNTRL;
return VLV_VGACNTRL;
return VGACNTRL;