Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
intel_drv.h File Reference
#include <linux/i2c.h>
#include <drm/i915_drm.h>
#include "i915_drv.h"
#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_dp_helper.h>

Go to the source code of this file.

Data Structures

struct  intel_framebuffer
 
struct  intel_fbdev
 
struct  intel_encoder
 
struct  intel_connector
 
struct  intel_crtc
 
struct  intel_plane
 
struct  intel_watermark_params
 
struct  cxsr_latency
 
struct  dip_infoframe
 
struct  intel_hdmi
 
struct  intel_dp
 
struct  intel_unpin_work
 
struct  intel_fbc_work
 
struct  intel_set_config
 
struct  intel_load_detect_pipe
 

Macros

#define _wait_for(COND, MS, W)
 
#define wait_for_atomic_us(COND, US)
 
#define wait_for(COND, MS)   _wait_for(COND, MS, 1)
 
#define wait_for_atomic(COND, MS)   _wait_for(COND, MS, 0)
 
#define KHz(x)   (1000*x)
 
#define MHz(x)   KHz(1000*x)
 
#define MAX_OUTPUTS   6
 
#define INTELFB_CONN_LIMIT   4
 
#define INTEL_I2C_BUS_DVO   1
 
#define INTEL_I2C_BUS_SDVO   2
 
#define INTEL_OUTPUT_UNUSED   0
 
#define INTEL_OUTPUT_ANALOG   1
 
#define INTEL_OUTPUT_DVO   2
 
#define INTEL_OUTPUT_SDVO   3
 
#define INTEL_OUTPUT_LVDS   4
 
#define INTEL_OUTPUT_TVOUT   5
 
#define INTEL_OUTPUT_HDMI   6
 
#define INTEL_OUTPUT_DISPLAYPORT   7
 
#define INTEL_OUTPUT_EDP   8
 
#define INTEL_DVO_CHIP_NONE   0
 
#define INTEL_DVO_CHIP_LVDS   1
 
#define INTEL_DVO_CHIP_TMDS   2
 
#define INTEL_DVO_CHIP_TVOUT   4
 
#define INTEL_MODE_PIXEL_MULTIPLIER_SHIFT   (0x0)
 
#define INTEL_MODE_PIXEL_MULTIPLIER_MASK   (0xf << INTEL_MODE_PIXEL_MULTIPLIER_SHIFT)
 
#define INTEL_MODE_DP_FORCE_6BPC   (0x10)
 
#define INTEL_MODE_CRTC_TIMINGS_SET   (0x20)
 
#define to_intel_crtc(x)   container_of(x, struct intel_crtc, base)
 
#define to_intel_connector(x)   container_of(x, struct intel_connector, base)
 
#define to_intel_encoder(x)   container_of(x, struct intel_encoder, base)
 
#define to_intel_framebuffer(x)   container_of(x, struct intel_framebuffer, base)
 
#define to_intel_plane(x)   container_of(x, struct intel_plane, base)
 
#define DIP_HEADER_SIZE   5
 
#define DIP_TYPE_AVI   0x82
 
#define DIP_VERSION_AVI   0x2
 
#define DIP_LEN_AVI   13
 
#define DIP_AVI_PR_1   0
 
#define DIP_AVI_PR_2   1
 
#define DIP_TYPE_SPD   0x83
 
#define DIP_VERSION_SPD   0x1
 
#define DIP_LEN_SPD   25
 
#define DIP_SPD_UNKNOWN   0
 
#define DIP_SPD_DSTB   0x1
 
#define DIP_SPD_DVDP   0x2
 
#define DIP_SPD_DVHS   0x3
 
#define DIP_SPD_HDDVR   0x4
 
#define DIP_SPD_DVC   0x5
 
#define DIP_SPD_DSC   0x6
 
#define DIP_SPD_VCD   0x7
 
#define DIP_SPD_GAME   0x8
 
#define DIP_SPD_PC   0x9
 
#define DIP_SPD_BD   0xa
 
#define DIP_SPD_SCD   0xb
 
#define DP_RECEIVER_CAP_SIZE   0xf
 
#define DP_MAX_DOWNSTREAM_PORTS   0x10
 
#define DP_LINK_CONFIGURATION_SIZE   9
 
#define assert_pipe_enabled(d, p)   assert_pipe(d, p, true)
 
#define assert_pipe_disabled(d, p)   assert_pipe(d, p, false)
 

Functions

struct {
   uint8_t   Y_A_B_S
 
   uint8_t   C_M_R
 
   uint8_t   ITC_EC_Q_SC
 
   uint8_t   VIC
 
   uint8_t   YQ_CN_PR
 
   uint16_t   top_bar_end
 
   uint16_t   bottom_bar_start
 
   uint16_t   left_bar_end
 
   uint16_t   right_bar_start
 
__attribute__ ((packed)) avi
 
int intel_connector_update_modes (struct drm_connector *connector, struct edid *edid)
 
int intel_ddc_get_modes (struct drm_connector *c, struct i2c_adapter *adapter)
 
void intel_attach_force_audio_property (struct drm_connector *connector)
 
void intel_attach_broadcast_rgb_property (struct drm_connector *connector)
 
void intel_crt_init (struct drm_device *dev)
 
void intel_hdmi_init (struct drm_device *dev, int sdvox_reg, enum port port)
 
struct intel_hdmienc_to_intel_hdmi (struct drm_encoder *encoder)
 
void intel_dip_infoframe_csum (struct dip_infoframe *avi_if)
 
bool intel_sdvo_init (struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob)
 
void intel_dvo_init (struct drm_device *dev)
 
void intel_tv_init (struct drm_device *dev)
 
void intel_mark_busy (struct drm_device *dev)
 
void intel_mark_idle (struct drm_device *dev)
 
void intel_mark_fb_busy (struct drm_i915_gem_object *obj)
 
void intel_mark_fb_idle (struct drm_i915_gem_object *obj)
 
bool intel_lvds_init (struct drm_device *dev)
 
void intel_dp_init (struct drm_device *dev, int output_reg, enum port port)
 
void intel_dp_set_m_n (struct drm_crtc *crtc, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode)
 
bool intel_dpd_is_edp (struct drm_device *dev)
 
void intel_edp_link_config (struct intel_encoder *, int *, int *)
 
int intel_edp_target_clock (struct intel_encoder *, struct drm_display_mode *mode)
 
bool intel_encoder_is_pch_edp (struct drm_encoder *encoder)
 
int intel_plane_init (struct drm_device *dev, enum pipe pipe)
 
void intel_flush_display_plane (struct drm_i915_private *dev_priv, enum plane plane)
 
void intel_fixed_panel_mode (struct drm_display_mode *fixed_mode, struct drm_display_mode *adjusted_mode)
 
void intel_pch_panel_fitting (struct drm_device *dev, int fitting_mode, const struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode)
 
u32 intel_panel_get_max_backlight (struct drm_device *dev)
 
void intel_panel_set_backlight (struct drm_device *dev, u32 level)
 
int intel_panel_setup_backlight (struct drm_device *dev)
 
void intel_panel_enable_backlight (struct drm_device *dev, enum pipe pipe)
 
void intel_panel_disable_backlight (struct drm_device *dev)
 
void intel_panel_destroy_backlight (struct drm_device *dev)
 
enum drm_connector_status intel_panel_detect (struct drm_device *dev)
 
bool intel_set_mode (struct drm_crtc *crtc, struct drm_display_mode *mode, int x, int y, struct drm_framebuffer *old_fb)
 
void intel_modeset_disable (struct drm_device *dev)
 
void intel_crtc_load_lut (struct drm_crtc *crtc)
 
void intel_crtc_update_dpms (struct drm_crtc *crtc)
 
void intel_encoder_noop (struct drm_encoder *encoder)
 
void intel_encoder_destroy (struct drm_encoder *encoder)
 
void intel_encoder_dpms (struct intel_encoder *encoder, int mode)
 
bool intel_encoder_check_is_cloned (struct intel_encoder *encoder)
 
void intel_connector_dpms (struct drm_connector *, int mode)
 
bool intel_connector_get_hw_state (struct intel_connector *connector)
 
void intel_modeset_check_state (struct drm_device *dev)
 
void intel_connector_attach_encoder (struct intel_connector *connector, struct intel_encoder *encoder)
 
struct drm_encoderintel_best_encoder (struct drm_connector *connector)
 
struct drm_display_modeintel_crtc_mode_get (struct drm_device *dev, struct drm_crtc *crtc)
 
int intel_get_pipe_from_crtc_id (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
void intel_wait_for_vblank (struct drm_device *dev, int pipe)
 
void intel_wait_for_pipe_off (struct drm_device *dev, int pipe)
 
bool intel_get_load_detect_pipe (struct drm_connector *connector, struct drm_display_mode *mode, struct intel_load_detect_pipe *old)
 
void intel_release_load_detect_pipe (struct drm_connector *connector, struct intel_load_detect_pipe *old)
 
void intelfb_restore (void)
 
void intel_crtc_fb_gamma_set (struct drm_crtc *crtc, u16 red, u16 green, u16 blue, int regno)
 
void intel_crtc_fb_gamma_get (struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, int regno)
 
void intel_enable_clock_gating (struct drm_device *dev)
 
int intel_pin_and_fence_fb_obj (struct drm_device *dev, struct drm_i915_gem_object *obj, struct intel_ring_buffer *pipelined)
 
void intel_unpin_fb_obj (struct drm_i915_gem_object *obj)
 
int intel_framebuffer_init (struct drm_device *dev, struct intel_framebuffer *ifb, struct drm_mode_fb_cmd2 *mode_cmd, struct drm_i915_gem_object *obj)
 
int intel_fbdev_init (struct drm_device *dev)
 
void intel_fbdev_fini (struct drm_device *dev)
 
void intel_fbdev_set_suspend (struct drm_device *dev, int state)
 
void intel_prepare_page_flip (struct drm_device *dev, int plane)
 
void intel_finish_page_flip (struct drm_device *dev, int pipe)
 
void intel_finish_page_flip_plane (struct drm_device *dev, int plane)
 
void intel_setup_overlay (struct drm_device *dev)
 
void intel_cleanup_overlay (struct drm_device *dev)
 
int intel_overlay_switch_off (struct intel_overlay *overlay)
 
int intel_overlay_put_image (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
int intel_overlay_attrs (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
void intel_fb_output_poll_changed (struct drm_device *dev)
 
void intel_fb_restore_mode (struct drm_device *dev)
 
void assert_pipe (struct drm_i915_private *dev_priv, enum pipe pipe, bool state)
 
void intel_init_clock_gating (struct drm_device *dev)
 
void intel_write_eld (struct drm_encoder *encoder, struct drm_display_mode *mode)
 
void intel_cpt_verify_modeset (struct drm_device *dev, int pipe)
 
void intel_prepare_ddi (struct drm_device *dev)
 
void hsw_fdi_link_train (struct drm_crtc *crtc)
 
void intel_ddi_init (struct drm_device *dev, enum port port)
 
void intel_update_watermarks (struct drm_device *dev)
 
void intel_update_sprite_watermarks (struct drm_device *dev, int pipe, uint32_t sprite_width, int pixel_size)
 
void intel_update_linetime_watermarks (struct drm_device *dev, int pipe, struct drm_display_mode *mode)
 
int intel_sprite_set_colorkey (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
int intel_sprite_get_colorkey (struct drm_device *dev, void *data, struct drm_file *file_priv)
 
u32 intel_dpio_read (struct drm_i915_private *dev_priv, int reg)
 
void intel_init_pm (struct drm_device *dev)
 
bool intel_fbc_enabled (struct drm_device *dev)
 
void intel_enable_fbc (struct drm_crtc *crtc, unsigned long interval)
 
void intel_update_fbc (struct drm_device *dev)
 
void intel_gpu_ips_init (struct drm_i915_private *dev_priv)
 
void intel_gpu_ips_teardown (void)
 
void intel_init_power_wells (struct drm_device *dev)
 
void intel_enable_gt_powersave (struct drm_device *dev)
 
void intel_disable_gt_powersave (struct drm_device *dev)
 
void gen6_gt_check_fifodbg (struct drm_i915_private *dev_priv)
 
void ironlake_teardown_rc6 (struct drm_device *dev)
 
void intel_enable_ddi (struct intel_encoder *encoder)
 
void intel_disable_ddi (struct intel_encoder *encoder)
 
bool intel_ddi_get_hw_state (struct intel_encoder *encoder, enum pipe *pipe)
 
void intel_ddi_mode_set (struct drm_encoder *encoder, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode)
 

Variables

uint8_t Y_A_B_S
 
uint8_t C_M_R
 
uint8_t ITC_EC_Q_SC
 
uint8_t VIC
 
uint8_t YQ_CN_PR
 
uint16_t top_bar_end
 
uint16_t bottom_bar_start
 
uint16_t left_bar_end
 
uint16_t right_bar_start
 
uint8_t vn [8]
 
uint8_t pd [16]
 
uint8_t sdi
 
uint8_t payload [27]
 
uint8_t type
 
uint8_t ver = {0, 0}
 
uint8_t len
 
uint8_t ecc
 
uint8_t checksum
 
struct intel_hdmi __attribute__
 

Macro Definition Documentation

#define _wait_for (   COND,
  MS,
  W 
)
Value:
({ \
unsigned long timeout__ = jiffies + msecs_to_jiffies(MS); \
int ret__ = 0; \
while (!(COND)) { \
if (time_after(jiffies, timeout__)) { \
ret__ = -ETIMEDOUT; \
break; \
} \
if (W && drm_can_sleep()) { \
msleep(W); \
} else { \
cpu_relax(); \
} \
} \
ret__; \
})

Definition at line 36 of file intel_drv.h.

#define assert_pipe_disabled (   d,
  p 
)    assert_pipe(d, p, false)

Definition at line 535 of file intel_drv.h.

#define assert_pipe_enabled (   d,
  p 
)    assert_pipe(d, p, true)

Definition at line 534 of file intel_drv.h.

#define DIP_AVI_PR_1   0

Definition at line 267 of file intel_drv.h.

#define DIP_AVI_PR_2   1

Definition at line 268 of file intel_drv.h.

#define DIP_HEADER_SIZE   5

Definition at line 262 of file intel_drv.h.

#define DIP_LEN_AVI   13

Definition at line 266 of file intel_drv.h.

#define DIP_LEN_SPD   25

Definition at line 272 of file intel_drv.h.

#define DIP_SPD_BD   0xa

Definition at line 283 of file intel_drv.h.

#define DIP_SPD_DSC   0x6

Definition at line 279 of file intel_drv.h.

#define DIP_SPD_DSTB   0x1

Definition at line 274 of file intel_drv.h.

#define DIP_SPD_DVC   0x5

Definition at line 278 of file intel_drv.h.

#define DIP_SPD_DVDP   0x2

Definition at line 275 of file intel_drv.h.

#define DIP_SPD_DVHS   0x3

Definition at line 276 of file intel_drv.h.

#define DIP_SPD_GAME   0x8

Definition at line 281 of file intel_drv.h.

#define DIP_SPD_HDDVR   0x4

Definition at line 277 of file intel_drv.h.

#define DIP_SPD_PC   0x9

Definition at line 282 of file intel_drv.h.

#define DIP_SPD_SCD   0xb

Definition at line 284 of file intel_drv.h.

#define DIP_SPD_UNKNOWN   0

Definition at line 273 of file intel_drv.h.

#define DIP_SPD_VCD   0x7

Definition at line 280 of file intel_drv.h.

#define DIP_TYPE_AVI   0x82

Definition at line 264 of file intel_drv.h.

#define DIP_TYPE_SPD   0x83

Definition at line 270 of file intel_drv.h.

#define DIP_VERSION_AVI   0x2

Definition at line 265 of file intel_drv.h.

#define DIP_VERSION_SPD   0x1

Definition at line 271 of file intel_drv.h.

#define DP_LINK_CONFIGURATION_SIZE   9

Definition at line 336 of file intel_drv.h.

#define DP_MAX_DOWNSTREAM_PORTS   0x10

Definition at line 335 of file intel_drv.h.

#define DP_RECEIVER_CAP_SIZE   0xf

Definition at line 334 of file intel_drv.h.

#define INTEL_DVO_CHIP_LVDS   1

Definition at line 99 of file intel_drv.h.

#define INTEL_DVO_CHIP_NONE   0

Definition at line 98 of file intel_drv.h.

#define INTEL_DVO_CHIP_TMDS   2

Definition at line 100 of file intel_drv.h.

#define INTEL_DVO_CHIP_TVOUT   4

Definition at line 101 of file intel_drv.h.

#define INTEL_I2C_BUS_DVO   1

Definition at line 83 of file intel_drv.h.

#define INTEL_I2C_BUS_SDVO   2

Definition at line 84 of file intel_drv.h.

#define INTEL_MODE_CRTC_TIMINGS_SET   (0x20)

Definition at line 110 of file intel_drv.h.

#define INTEL_MODE_DP_FORCE_6BPC   (0x10)

Definition at line 106 of file intel_drv.h.

#define INTEL_MODE_PIXEL_MULTIPLIER_MASK   (0xf << INTEL_MODE_PIXEL_MULTIPLIER_SHIFT)

Definition at line 105 of file intel_drv.h.

#define INTEL_MODE_PIXEL_MULTIPLIER_SHIFT   (0x0)

Definition at line 104 of file intel_drv.h.

#define INTEL_OUTPUT_ANALOG   1

Definition at line 89 of file intel_drv.h.

#define INTEL_OUTPUT_DISPLAYPORT   7

Definition at line 95 of file intel_drv.h.

#define INTEL_OUTPUT_DVO   2

Definition at line 90 of file intel_drv.h.

#define INTEL_OUTPUT_EDP   8

Definition at line 96 of file intel_drv.h.

#define INTEL_OUTPUT_HDMI   6

Definition at line 94 of file intel_drv.h.

#define INTEL_OUTPUT_LVDS   4

Definition at line 92 of file intel_drv.h.

#define INTEL_OUTPUT_SDVO   3

Definition at line 91 of file intel_drv.h.

#define INTEL_OUTPUT_TVOUT   5

Definition at line 93 of file intel_drv.h.

#define INTEL_OUTPUT_UNUSED   0

Definition at line 88 of file intel_drv.h.

#define INTELFB_CONN_LIMIT   4

Definition at line 81 of file intel_drv.h.

#define KHz (   x)    (1000*x)

Definition at line 69 of file intel_drv.h.

#define MAX_OUTPUTS   6

Definition at line 79 of file intel_drv.h.

#define MHz (   x)    KHz(1000*x)

Definition at line 70 of file intel_drv.h.

#define to_intel_connector (   x)    container_of(x, struct intel_connector, base)

Definition at line 257 of file intel_drv.h.

#define to_intel_crtc (   x)    container_of(x, struct intel_crtc, base)

Definition at line 256 of file intel_drv.h.

#define to_intel_encoder (   x)    container_of(x, struct intel_encoder, base)

Definition at line 258 of file intel_drv.h.

#define to_intel_framebuffer (   x)    container_of(x, struct intel_framebuffer, base)

Definition at line 259 of file intel_drv.h.

#define to_intel_plane (   x)    container_of(x, struct intel_plane, base)

Definition at line 260 of file intel_drv.h.

#define wait_for (   COND,
  MS 
)    _wait_for(COND, MS, 1)

Definition at line 66 of file intel_drv.h.

#define wait_for_atomic (   COND,
  MS 
)    _wait_for(COND, MS, 0)

Definition at line 67 of file intel_drv.h.

#define wait_for_atomic_us (   COND,
  US 
)
Value:
({ \
unsigned long timeout__ = jiffies + usecs_to_jiffies(US); \
int ret__ = 0; \
while (!(COND)) { \
if (time_after(jiffies, timeout__)) { \
ret__ = -ETIMEDOUT; \
break; \
} \
cpu_relax(); \
} \
ret__; \
})

Definition at line 53 of file intel_drv.h.

Function Documentation

struct @2184 __attribute__::__attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

void assert_pipe ( struct drm_i915_private dev_priv,
enum pipe  pipe,
bool  state 
)

Definition at line 1209 of file intel_display.c.

struct intel_hdmi* enc_to_intel_hdmi ( struct drm_encoder encoder)
read

Definition at line 52 of file intel_hdmi.c.

void gen6_gt_check_fifodbg ( struct drm_i915_private dev_priv)

Definition at line 4058 of file intel_pm.c.

void hsw_fdi_link_train ( struct drm_crtc crtc)

Definition at line 131 of file intel_ddi.c.

void intel_attach_broadcast_rgb_property ( struct drm_connector connector)

Definition at line 106 of file intel_modes.c.

void intel_attach_force_audio_property ( struct drm_connector connector)

Definition at line 80 of file intel_modes.c.

struct drm_encoder* intel_best_encoder ( struct drm_connector connector)
read

Definition at line 8381 of file intel_display.c.

void intel_cleanup_overlay ( struct drm_device dev)

Definition at line 1397 of file intel_overlay.c.

void intel_connector_attach_encoder ( struct intel_connector connector,
struct intel_encoder encoder 
)

Definition at line 8386 of file intel_display.c.

void intel_connector_dpms ( struct drm_connector ,
int  mode 
)

Definition at line 3608 of file intel_display.c.

bool intel_connector_get_hw_state ( struct intel_connector connector)

Definition at line 3633 of file intel_display.c.

int intel_connector_update_modes ( struct drm_connector connector,
struct edid edid 
)

intel_connector_update_modes - update connector from edid : DRM connector device to use : previously read EDID information

Definition at line 40 of file intel_modes.c.

void intel_cpt_verify_modeset ( struct drm_device dev,
int  pipe 
)

Definition at line 3165 of file intel_display.c.

void intel_crt_init ( struct drm_device dev)

Definition at line 700 of file intel_crt.c.

void intel_crtc_fb_gamma_get ( struct drm_crtc crtc,
u16 red,
u16 green,
u16 blue,
int  regno 
)

Definition at line 5663 of file intel_display.c.

void intel_crtc_fb_gamma_set ( struct drm_crtc crtc,
u16  red,
u16  green,
u16  blue,
int  regno 
)

Sets the color ramps on behalf of RandR

Definition at line 5653 of file intel_display.c.

void intel_crtc_load_lut ( struct drm_crtc crtc)

Loads the palette/gamma unit for the CRTC with the prepared values

Definition at line 5373 of file intel_display.c.

struct drm_display_mode* intel_crtc_mode_get ( struct drm_device dev,
struct drm_crtc crtc 
)
read

Returns the currently programmed mode of the given pipe.

Definition at line 6019 of file intel_display.c.

void intel_crtc_update_dpms ( struct drm_crtc crtc)

Sets the power management mode of the pipe and plane.

Definition at line 3475 of file intel_display.c.

int intel_ddc_get_modes ( struct drm_connector connector,
struct i2c_adapter adapter 
)

intel_ddc_get_modes - get modelist from monitor : DRM connector device to use : i2c adapter

Fetch the EDID information from using the DDC bus.

Definition at line 60 of file intel_modes.c.

bool intel_ddi_get_hw_state ( struct intel_encoder encoder,
enum pipe pipe 
)

Definition at line 760 of file intel_ddi.c.

void intel_ddi_init ( struct drm_device dev,
enum port  port 
)

Definition at line 239 of file intel_ddi.c.

void intel_ddi_mode_set ( struct drm_encoder encoder,
struct drm_display_mode mode,
struct drm_display_mode adjusted_mode 
)

Definition at line 648 of file intel_ddi.c.

void intel_dip_infoframe_csum ( struct dip_infoframe avi_if)

Definition at line 63 of file intel_hdmi.c.

void intel_disable_ddi ( struct intel_encoder encoder)

Definition at line 807 of file intel_ddi.c.

void intel_disable_gt_powersave ( struct drm_device dev)

Definition at line 3305 of file intel_pm.c.

void intel_dp_init ( struct drm_device dev,
int  output_reg,
enum port  port 
)

Definition at line 2479 of file intel_dp.c.

void intel_dp_set_m_n ( struct drm_crtc crtc,
struct drm_display_mode mode,
struct drm_display_mode adjusted_mode 
)

Definition at line 761 of file intel_dp.c.

bool intel_dpd_is_edp ( struct drm_device dev)

Definition at line 2452 of file intel_dp.c.

u32 intel_dpio_read ( struct drm_i915_private dev_priv,
int  reg 
)

Definition at line 409 of file intel_display.c.

void intel_dvo_init ( struct drm_device dev)

Definition at line 418 of file intel_dvo.c.

void intel_edp_link_config ( struct intel_encoder ,
int ,
int  
)

Definition at line 114 of file intel_dp.c.

int intel_edp_target_clock ( struct intel_encoder ,
struct drm_display_mode mode 
)

Definition at line 127 of file intel_dp.c.

void intel_enable_clock_gating ( struct drm_device dev)
void intel_enable_ddi ( struct intel_encoder encoder)

Definition at line 789 of file intel_ddi.c.

void intel_enable_fbc ( struct drm_crtc crtc,
unsigned long  interval 
)

Definition at line 310 of file intel_pm.c.

void intel_enable_gt_powersave ( struct drm_device dev)

Definition at line 3315 of file intel_pm.c.

bool intel_encoder_check_is_cloned ( struct intel_encoder encoder)

Definition at line 6624 of file intel_display.c.

void intel_encoder_destroy ( struct drm_encoder encoder)

Definition at line 3547 of file intel_display.c.

void intel_encoder_dpms ( struct intel_encoder encoder,
int  mode 
)

Definition at line 3558 of file intel_display.c.

bool intel_encoder_is_pch_edp ( struct drm_encoder encoder)

intel_encoder_is_pch_edp - is the given encoder a PCH attached eDP? : DRM encoder

Return true if corresponds to a PCH attached eDP panel. Needed by intel_display.c.

Definition at line 97 of file intel_dp.c.

void intel_encoder_noop ( struct drm_encoder encoder)

Definition at line 3543 of file intel_display.c.

void intel_fb_output_poll_changed ( struct drm_device dev)

Definition at line 270 of file intel_fb.c.

void intel_fb_restore_mode ( struct drm_device dev)

Definition at line 276 of file intel_fb.c.

bool intel_fbc_enabled ( struct drm_device dev)

Definition at line 248 of file intel_pm.c.

void intel_fbdev_fini ( struct drm_device dev)

Definition at line 248 of file intel_fb.c.

int intel_fbdev_init ( struct drm_device dev)

Definition at line 222 of file intel_fb.c.

void intel_fbdev_set_suspend ( struct drm_device dev,
int  state 
)

Definition at line 259 of file intel_fb.c.

void intel_finish_page_flip ( struct drm_device dev,
int  pipe 
)

Definition at line 6248 of file intel_display.c.

void intel_finish_page_flip_plane ( struct drm_device dev,
int  plane 
)

Definition at line 6256 of file intel_display.c.

void intel_fixed_panel_mode ( struct drm_display_mode fixed_mode,
struct drm_display_mode adjusted_mode 
)

Definition at line 39 of file intel_panel.c.

void intel_flush_display_plane ( struct drm_i915_private dev_priv,
enum plane  plane 
)

Definition at line 1807 of file intel_display.c.

int intel_framebuffer_init ( struct drm_device dev,
struct intel_framebuffer ifb,
struct drm_mode_fb_cmd2 mode_cmd,
struct drm_i915_gem_object obj 
)

Definition at line 7708 of file intel_display.c.

bool intel_get_load_detect_pipe ( struct drm_connector connector,
struct drm_display_mode mode,
struct intel_load_detect_pipe old 
)

Definition at line 5794 of file intel_display.c.

int intel_get_pipe_from_crtc_id ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 7477 of file intel_display.c.

void intel_gpu_ips_init ( struct drm_i915_private dev_priv)

Definition at line 3217 of file intel_pm.c.

void intel_gpu_ips_teardown ( void  )

Definition at line 3228 of file intel_pm.c.

void intel_hdmi_init ( struct drm_device dev,
int  sdvox_reg,
enum port  port 
)

Definition at line 954 of file intel_hdmi.c.

void intel_init_clock_gating ( struct drm_device dev)

Definition at line 3810 of file intel_pm.c.

void intel_init_pm ( struct drm_device dev)

Definition at line 3852 of file intel_pm.c.

void intel_init_power_wells ( struct drm_device dev)

Definition at line 3823 of file intel_pm.c.

bool intel_lvds_init ( struct drm_device dev)

intel_lvds_init - setup LVDS connectors on this device : drm device

Create the connector, register the LVDS DDC bus, and try to figure out what modes we can display on the LVDS panel (if present).

Definition at line 912 of file intel_lvds.c.

void intel_mark_busy ( struct drm_device dev)

Definition at line 6117 of file intel_display.c.

void intel_mark_fb_busy ( struct drm_i915_gem_object obj)

Definition at line 6126 of file intel_display.c.

void intel_mark_fb_idle ( struct drm_i915_gem_object obj)

Definition at line 6143 of file intel_display.c.

void intel_mark_idle ( struct drm_device dev)

Definition at line 6122 of file intel_display.c.

void intel_modeset_check_state ( struct drm_device dev)

Definition at line 6914 of file intel_display.c.

void intel_modeset_disable ( struct drm_device dev)

Definition at line 3533 of file intel_display.c.

int intel_overlay_attrs ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 1228 of file intel_overlay.c.

int intel_overlay_put_image ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 1028 of file intel_overlay.c.

int intel_overlay_switch_off ( struct intel_overlay overlay)

Definition at line 789 of file intel_overlay.c.

void intel_panel_destroy_backlight ( struct drm_device dev)

Definition at line 469 of file intel_panel.c.

enum drm_connector_status intel_panel_detect ( struct drm_device dev)

Definition at line 375 of file intel_panel.c.

void intel_panel_disable_backlight ( struct drm_device dev)

Definition at line 293 of file intel_panel.c.

void intel_panel_enable_backlight ( struct drm_device dev,
enum pipe  pipe 
)

Definition at line 315 of file intel_panel.c.

u32 intel_panel_get_max_backlight ( struct drm_device dev)

Definition at line 187 of file intel_panel.c.

void intel_panel_set_backlight ( struct drm_device dev,
u32  level 
)

Definition at line 284 of file intel_panel.c.

int intel_panel_setup_backlight ( struct drm_device dev)

Definition at line 463 of file intel_panel.c.

void intel_pch_panel_fitting ( struct drm_device dev,
int  fitting_mode,
const struct drm_display_mode mode,
struct drm_display_mode adjusted_mode 
)

Definition at line 57 of file intel_panel.c.

int intel_pin_and_fence_fb_obj ( struct drm_device dev,
struct drm_i915_gem_object obj,
struct intel_ring_buffer pipelined 
)

Definition at line 1866 of file intel_display.c.

int intel_plane_init ( struct drm_device dev,
enum pipe  pipe 
)

Definition at line 650 of file intel_sprite.c.

void intel_prepare_ddi ( struct drm_device dev)

Definition at line 93 of file intel_ddi.c.

void intel_prepare_page_flip ( struct drm_device dev,
int  plane 
)

Definition at line 6264 of file intel_display.c.

void intel_release_load_detect_pipe ( struct drm_connector connector,
struct intel_load_detect_pipe old 
)

Definition at line 5902 of file intel_display.c.

bool intel_sdvo_init ( struct drm_device dev,
uint32_t  sdvo_reg,
bool  is_sdvob 
)

Definition at line 2650 of file intel_sdvo.c.

bool intel_set_mode ( struct drm_crtc crtc,
struct drm_display_mode mode,
int  x,
int  y,
struct drm_framebuffer old_fb 
)

Definition at line 7011 of file intel_display.c.

void intel_setup_overlay ( struct drm_device dev)

Definition at line 1315 of file intel_overlay.c.

int intel_sprite_get_colorkey ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 597 of file intel_sprite.c.

int intel_sprite_set_colorkey ( struct drm_device dev,
void data,
struct drm_file *  file_priv 
)

Definition at line 564 of file intel_sprite.c.

void intel_tv_init ( struct drm_device dev)

Definition at line 1552 of file intel_tv.c.

void intel_unpin_fb_obj ( struct drm_i915_gem_object obj)

Definition at line 1921 of file intel_display.c.

void intel_update_fbc ( struct drm_device dev)

intel_update_fbc - enable/disable FBC as needed : the drm_device

Set up the framebuffer compression hardware at mode set time. We enable it if possible:

  • plane A only (on pre-965)
  • no pixel mulitply/line duplication
  • no alpha buffer discard
  • no dual wide
  • framebuffer <= 2048 in width, 1536 in height

We can't assume that any compression will take place (worst case), so the compressed buffer has to be the same size as the uncompressed one. It also must reside (along with the line length buffer) in stolen memory.

We need to enable/disable FBC on a global basis.

Definition at line 382 of file intel_pm.c.

void intel_update_linetime_watermarks ( struct drm_device dev,
int  pipe,
struct drm_display_mode mode 
)

Definition at line 2110 of file intel_pm.c.

void intel_update_sprite_watermarks ( struct drm_device dev,
int  pipe,
uint32_t  sprite_width,
int  pixel_size 
)

Definition at line 2119 of file intel_pm.c.

void intel_update_watermarks ( struct drm_device dev)

intel_update_watermarks - update FIFO watermark values based on current modes

Calculate watermark values for the various WM regs based on current mode and plane configuration.

There are several cases to deal with here:

  • normal (i.e. non-self-refresh)
  • self-refresh (SR) mode
  • lines are large relative to FIFO size (buffer can hold up to 2)
  • lines are small relative to FIFO size (buffer can hold more than 2 lines), so need to account for TLB latency

The normal calculation is: watermark = dotclock * bytes per pixel * latency where latency is platform & configuration dependent (we assume pessimal values here).

The SR calculation is: watermark = (trunc(latency/line time)+1) * surface width * bytes per pixel where line time = htotal / dotclock surface width = hdisplay for normal plane and 64 for cursor and latency is assumed to be high, as above.

The final value programmed to the register should always be rounded up, and include an extra 2 entries to account for clock crossings.

We don't use the sprite, so we can ignore that. And on Crestline we have to set the non-SR watermarks to 8.

Definition at line 2102 of file intel_pm.c.

void intel_wait_for_pipe_off ( struct drm_device dev,
int  pipe 
)

Definition at line 999 of file intel_display.c.

void intel_wait_for_vblank ( struct drm_device dev,
int  pipe 
)

intel_wait_for_vblank - wait for vblank on a given pipe : drm device : pipe to wait for

Wait for vblank to occur on a given pipe. Needed for various bits of mode setting code.

Definition at line 949 of file intel_display.c.

void intel_write_eld ( struct drm_encoder encoder,
struct drm_display_mode mode 
)

Definition at line 5348 of file intel_display.c.

void intelfb_restore ( void  )
void ironlake_teardown_rc6 ( struct drm_device dev)

Definition at line 2592 of file intel_pm.c.

Variable Documentation

uint16_t bottom_bar_start

Definition at line 322 of file intel_drv.h.

uint8_t C_M_R

Definition at line 313 of file intel_drv.h.

uint8_t checksum

Definition at line 322 of file intel_drv.h.

uint8_t ecc

Definition at line 321 of file intel_drv.h.

uint8_t ITC_EC_Q_SC

Definition at line 315 of file intel_drv.h.

uint16_t left_bar_end

Definition at line 323 of file intel_drv.h.

uint8_t len

Definition at line 320 of file intel_drv.h.

u8 payload

Definition at line 339 of file intel_drv.h.

uint8_t pd[16]

Definition at line 316 of file intel_drv.h.

uint16_t right_bar_start

Definition at line 324 of file intel_drv.h.

uint8_t sdi

Definition at line 317 of file intel_drv.h.

uint16_t top_bar_end

Definition at line 321 of file intel_drv.h.

Definition at line 318 of file intel_drv.h.

static int ver = {0, 0}

Definition at line 319 of file intel_drv.h.

uint8_t VIC

Definition at line 317 of file intel_drv.h.

uint8_t vn

Definition at line 315 of file intel_drv.h.

uint8_t Y_A_B_S

Definition at line 311 of file intel_drv.h.

uint8_t YQ_CN_PR

Definition at line 319 of file intel_drv.h.