diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-04-21 17:33:19 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-04-21 17:33:19 +0100 |
commit | f114fd24924540dd5dfbd7483824d6b30c246bc6 (patch) | |
tree | 42936b142dd203c63f5133c95163400641a7ffdf /meta-moblin/packages/linux/linux-moblin-2.6.28+2.6.29-rc2/i915_split.patch | |
parent | e23c356916550cafbe3a93b28b76e762cb5043b7 (diff) | |
download | openembedded-core-f114fd24924540dd5dfbd7483824d6b30c246bc6.tar.gz openembedded-core-f114fd24924540dd5dfbd7483824d6b30c246bc6.tar.bz2 openembedded-core-f114fd24924540dd5dfbd7483824d6b30c246bc6.tar.xz openembedded-core-f114fd24924540dd5dfbd7483824d6b30c246bc6.zip |
linux-moblin: Switch to 2.6.29.1
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.28+2.6.29-rc2/i915_split.patch')
-rw-r--r-- | meta-moblin/packages/linux/linux-moblin-2.6.28+2.6.29-rc2/i915_split.patch | 1627 |
1 files changed, 0 insertions, 1627 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.28+2.6.29-rc2/i915_split.patch b/meta-moblin/packages/linux/linux-moblin-2.6.28+2.6.29-rc2/i915_split.patch deleted file mode 100644 index 1841a681d..000000000 --- a/meta-moblin/packages/linux/linux-moblin-2.6.28+2.6.29-rc2/i915_split.patch +++ /dev/null @@ -1,1627 +0,0 @@ -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_tv.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_tv.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_tv.c 2009-02-19 12:59:28.000000000 +0000 -@@ -902,7 +902,7 @@ - intel_tv_dpms(struct drm_encoder *encoder, int mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - switch(mode) { - case DRM_MODE_DPMS_ON: -@@ -920,7 +920,7 @@ - intel_tv_save(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_tv_priv *tv_priv = intel_output->dev_priv; - int i; -@@ -970,7 +970,7 @@ - intel_tv_restore(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_tv_priv *tv_priv = intel_output->dev_priv; - struct drm_crtc *crtc = connector->encoder->crtc; -@@ -1117,7 +1117,7 @@ - struct drm_display_mode *adjusted_mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_crtc *crtc = encoder->crtc; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - struct intel_output *intel_output = enc_to_intel_output(encoder); -@@ -1362,6 +1362,7 @@ - struct drm_encoder *encoder = &intel_output->enc; - struct drm_device *dev = encoder->dev; - struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - unsigned long irqflags; - u32 tv_ctl, save_tv_ctl; - u32 tv_dac, save_tv_dac; -@@ -1626,6 +1627,7 @@ - intel_tv_init(struct drm_device *dev) - { - struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_connector *connector; - struct intel_output *intel_output; - struct intel_tv_priv *tv_priv; -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_modes.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_modes.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_modes.c 2009-02-19 12:59:28.000000000 +0000 -@@ -81,3 +81,6 @@ - - return ret; - } -+EXPORT_SYMBOL(intel_ddc_get_modes); -+ -+MODULE_LICENSE("GPL and additional rights"); -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_i2c.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_i2c.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_i2c.c 2009-02-20 14:50:20.000000000 +0000 -@@ -43,7 +43,7 @@ - static int get_clock(void *data) - { - struct intel_i2c_chan *chan = data; -- struct drm_i915_private *dev_priv = chan->drm_dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = chan->drm_dev->dev_private; - u32 val; - - val = I915_READ(chan->reg); -@@ -53,7 +53,7 @@ - static int get_data(void *data) - { - struct intel_i2c_chan *chan = data; -- struct drm_i915_private *dev_priv = chan->drm_dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = chan->drm_dev->dev_private; - u32 val; - - val = I915_READ(chan->reg); -@@ -64,7 +64,7 @@ - { - struct intel_i2c_chan *chan = data; - struct drm_device *dev = chan->drm_dev; -- struct drm_i915_private *dev_priv = chan->drm_dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = chan->drm_dev->dev_private; - u32 reserved = 0, clock_bits; - - /* On most chips, these bits must be preserved in software. */ -@@ -85,7 +85,7 @@ - { - struct intel_i2c_chan *chan = data; - struct drm_device *dev = chan->drm_dev; -- struct drm_i915_private *dev_priv = chan->drm_dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = chan->drm_dev->dev_private; - u32 reserved = 0, data_bits; - - /* On most chips, these bits must be preserved in software. */ -@@ -167,6 +167,7 @@ - kfree(chan); - return NULL; - } -+EXPORT_SYMBOL(intel_i2c_create); - - /** - * intel_i2c_destroy - unregister and free i2c bus resources -@@ -182,3 +183,4 @@ - i2c_del_adapter(&chan->adapter); - kfree(chan); - } -+EXPORT_SYMBOL(intel_i2c_destroy); -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_dvo.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_dvo.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_dvo.c 2009-02-19 15:14:20.000000000 +0000 -@@ -78,7 +78,7 @@ - - static void intel_dvo_dpms(struct drm_encoder *encoder, int mode) - { -- struct drm_i915_private *dev_priv = encoder->dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = encoder->dev->dev_private; - struct intel_output *intel_output = enc_to_intel_output(encoder); - struct intel_dvo_device *dvo = intel_output->dev_priv; - u32 dvo_reg = dvo->dvo_reg; -@@ -98,15 +98,16 @@ - static void intel_dvo_save(struct drm_connector *connector) - { - struct drm_i915_private *dev_priv = connector->dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = connector->dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_dvo_device *dvo = intel_output->dev_priv; - - /* Each output should probably just save the registers it touches, - * but for now, use more overkill. - */ -- dev_priv->saveDVOA = I915_READ(DVOA); -- dev_priv->saveDVOB = I915_READ(DVOB); -- dev_priv->saveDVOC = I915_READ(DVOC); -+ dev_priv->common.saveDVOA = I915_READ(DVOA); -+ dev_priv->common.saveDVOB = I915_READ(DVOB); -+ dev_priv->common.saveDVOC = I915_READ(DVOC); - - dvo->dev_ops->save(dvo); - } -@@ -114,14 +115,15 @@ - static void intel_dvo_restore(struct drm_connector *connector) - { - struct drm_i915_private *dev_priv = connector->dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = connector->dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_dvo_device *dvo = intel_output->dev_priv; - - dvo->dev_ops->restore(dvo); - -- I915_WRITE(DVOA, dev_priv->saveDVOA); -- I915_WRITE(DVOB, dev_priv->saveDVOB); -- I915_WRITE(DVOC, dev_priv->saveDVOC); -+ I915_WRITE(DVOA, dev_priv->common.saveDVOA); -+ I915_WRITE(DVOB, dev_priv->common.saveDVOB); -+ I915_WRITE(DVOC, dev_priv->common.saveDVOC); - } - - static int intel_dvo_mode_valid(struct drm_connector *connector, -@@ -183,7 +185,7 @@ - struct drm_display_mode *adjusted_mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); - struct intel_output *intel_output = enc_to_intel_output(encoder); - struct intel_dvo_device *dvo = intel_output->dev_priv; -@@ -349,7 +351,7 @@ - intel_dvo_get_current_mode (struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_dvo_device *dvo = intel_output->dev_priv; - uint32_t dvo_reg = dvo->dvo_reg; -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_hdmi.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_hdmi.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_hdmi.c 2009-02-19 12:59:28.000000000 +0000 -@@ -46,7 +46,7 @@ - struct drm_display_mode *adjusted_mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_crtc *crtc = encoder->crtc; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - struct intel_output *intel_output = enc_to_intel_output(encoder); -@@ -71,7 +71,7 @@ - static void intel_hdmi_dpms(struct drm_encoder *encoder, int mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = enc_to_intel_output(encoder); - struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; - u32 temp; -@@ -89,7 +89,7 @@ - static void intel_hdmi_save(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; - -@@ -99,7 +99,7 @@ - static void intel_hdmi_restore(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; - -@@ -132,7 +132,7 @@ - intel_hdmi_detect(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_hdmi_priv *hdmi_priv = intel_output->dev_priv; - u32 temp, bit; -@@ -220,7 +220,7 @@ - - void intel_hdmi_init(struct drm_device *dev, int sdvox_reg) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_connector *connector; - struct intel_output *intel_output; - struct intel_hdmi_priv *hdmi_priv; -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_suspend.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_suspend.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_suspend.c 2009-02-19 12:59:28.000000000 +0000 -@@ -31,7 +31,7 @@ - - static bool i915_pipe_enabled(struct drm_device *dev, enum pipe pipe) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - if (pipe == PIPE_A) - return (I915_READ(DPLL_A) & DPLL_VCO_ENABLE); -@@ -41,7 +41,7 @@ - - static void i915_save_palette(struct drm_device *dev, enum pipe pipe) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - unsigned long reg = (pipe == PIPE_A ? PALETTE_A : PALETTE_B); - u32 *array; - int i; -@@ -50,9 +50,9 @@ - return; - - if (pipe == PIPE_A) -- array = dev_priv->save_palette_a; -+ array = dev_priv_common->save_palette_a; - else -- array = dev_priv->save_palette_b; -+ array = dev_priv_common->save_palette_b; - - for(i = 0; i < 256; i++) - array[i] = I915_READ(reg + (i << 2)); -@@ -60,7 +60,7 @@ - - static void i915_restore_palette(struct drm_device *dev, enum pipe pipe) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - unsigned long reg = (pipe == PIPE_A ? PALETTE_A : PALETTE_B); - u32 *array; - int i; -@@ -69,9 +69,9 @@ - return; - - if (pipe == PIPE_A) -- array = dev_priv->save_palette_a; -+ array = dev_priv_common->save_palette_a; - else -- array = dev_priv->save_palette_b; -+ array = dev_priv_common->save_palette_b; - - for(i = 0; i < 256; i++) - I915_WRITE(reg + (i << 2), array[i]); -@@ -79,7 +79,7 @@ - - static u8 i915_read_indexed(struct drm_device *dev, u16 index_port, u16 data_port, u8 reg) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - I915_WRITE8(index_port, reg); - return I915_READ8(data_port); -@@ -87,7 +87,7 @@ - - static u8 i915_read_ar(struct drm_device *dev, u16 st01, u8 reg, u16 palette_enable) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - I915_READ8(st01); - I915_WRITE8(VGA_AR_INDEX, palette_enable | reg); -@@ -96,7 +96,7 @@ - - static void i915_write_ar(struct drm_device *dev, u16 st01, u8 reg, u8 val, u16 palette_enable) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - I915_READ8(st01); - I915_WRITE8(VGA_AR_INDEX, palette_enable | reg); -@@ -105,7 +105,7 @@ - - static void i915_write_indexed(struct drm_device *dev, u16 index_port, u16 data_port, u8 reg, u8 val) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - I915_WRITE8(index_port, reg); - I915_WRITE8(data_port, val); -@@ -113,7 +113,8 @@ - - static void i915_save_vga(struct drm_device *dev) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ struct drm_i915_common_private *dev_priv = dev->dev_private; - int i; - u16 cr_index, cr_data, st01; - -@@ -176,7 +177,8 @@ - - static void i915_restore_vga(struct drm_device *dev) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ struct drm_i915_common_private *dev_priv = dev->dev_private; - int i; - u16 cr_index, cr_data, st01; - -@@ -235,7 +237,8 @@ - - int i915_save_state(struct drm_device *dev) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ struct drm_i915_common_private *dev_priv = dev->dev_private; - int i; - - pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); -@@ -367,7 +370,8 @@ - - int i915_restore_state(struct drm_device *dev) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ struct drm_i915_common_private *dev_priv = dev->dev_private; - int i; - - pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_opregion.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_opregion.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_opregion.c 2009-02-19 12:59:28.000000000 +0000 -@@ -139,6 +139,7 @@ - static u32 asle_set_backlight(struct drm_device *dev, u32 bclp) - { - struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct opregion_asle *asle = dev_priv->opregion.asle; - u32 blc_pwm_ctl, blc_pwm_ctl2; - -@@ -172,7 +173,8 @@ - - static u32 asle_set_pwm_freq(struct drm_device *dev, u32 pfmb) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ - if (pfmb & ASLE_PFMB_PWM_VALID) { - u32 blc_pwm_ctl = I915_READ(BLC_PWM_CTL); - u32 pwm = pfmb & ASLE_PFMB_PWM_MASK; -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_gem.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_gem.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_gem.c 2009-02-19 12:59:28.000000000 +0000 -@@ -877,6 +877,7 @@ - i915_add_request(struct drm_device *dev, uint32_t flush_domains) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_gem_request *request; - uint32_t seqno; - int was_empty; -@@ -942,6 +943,7 @@ - static uint32_t - i915_retire_commands(struct drm_device *dev) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = dev->dev_private; - uint32_t cmd = MI_FLUSH | MI_NO_WRITE_FLUSH; - uint32_t flush_domains = 0; -@@ -1049,12 +1051,14 @@ - void - i915_gem_retire_work_handler(struct work_struct *work) - { -+ struct drm_i915_common_private *dev_priv_common; - drm_i915_private_t *dev_priv; - struct drm_device *dev; - - dev_priv = container_of(work, drm_i915_private_t, - mm.retire_work.work); - dev = dev_priv->dev; -+ dev_priv_common = dev->dev_private; - - mutex_lock(&dev->struct_mutex); - i915_gem_retire_requests(dev); -@@ -1109,6 +1113,7 @@ - uint32_t invalidate_domains, - uint32_t flush_domains) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = dev->dev_private; - uint32_t cmd; - RING_LOCALS; -@@ -1422,7 +1427,7 @@ - { - struct drm_gem_object *obj = reg->obj; - struct drm_device *dev = obj->dev; -- drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_gem_object *obj_priv = obj->driver_private; - int regnum = obj_priv->fence_reg; - uint64_t val; -@@ -1442,8 +1447,8 @@ - { - struct drm_gem_object *obj = reg->obj; - struct drm_device *dev = obj->dev; -- drm_i915_private_t *dev_priv = dev->dev_private; - struct drm_i915_gem_object *obj_priv = obj->driver_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - int regnum = obj_priv->fence_reg; - uint32_t val; - uint32_t pitch_val; -@@ -1475,7 +1480,7 @@ - { - struct drm_gem_object *obj = reg->obj; - struct drm_device *dev = obj->dev; -- drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_gem_object *obj_priv = obj->driver_private; - int regnum = obj_priv->fence_reg; - uint32_t val; -@@ -1605,6 +1610,7 @@ - { - struct drm_device *dev = obj->dev; - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_gem_object *obj_priv = obj->driver_private; - - if (IS_I965G(dev)) -@@ -2327,6 +2333,7 @@ - uint64_t exec_offset) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_clip_rect __user *boxes = (struct drm_clip_rect __user *) - (uintptr_t) exec->cliprects_ptr; - int nbox = exec->num_cliprects; -@@ -3035,6 +3042,7 @@ - i915_gem_init_hws(struct drm_device *dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_gem_object *obj; - struct drm_i915_gem_object *obj_priv; - int ret; -@@ -3081,6 +3089,7 @@ - i915_gem_init_ringbuffer(struct drm_device *dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_gem_object *obj; - struct drm_i915_gem_object *obj_priv; - drm_i915_ring_buffer_t *ring = &dev_priv->ring; -@@ -3186,6 +3195,7 @@ - void - i915_gem_cleanup_ringbuffer(struct drm_device *dev) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = dev->dev_private; - - if (dev_priv->ring.ring_obj == NULL) -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_gem_proc.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_gem_proc.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_gem_proc.c 2009-02-19 12:59:28.000000000 +0000 -@@ -213,6 +213,7 @@ - struct drm_minor *minor = (struct drm_minor *) data; - struct drm_device *dev = minor->dev; - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - int len = 0; - - if (offset > DRM_PROC_LIMIT) { -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_gem_tiling.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_gem_tiling.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_gem_tiling.c 2009-02-19 12:59:28.000000000 +0000 -@@ -87,6 +87,7 @@ - i915_gem_detect_bit_6_swizzle(struct drm_device *dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; - uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; - -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_irq.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_irq.c 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_irq.c 2009-02-20 14:53:08.000000000 +0000 -@@ -64,6 +64,8 @@ - void - i915_enable_irq(drm_i915_private_t *dev_priv, u32 mask) - { -+ struct drm_i915_common_private *dev_priv_common = (struct drm_i915_common_private *) dev_priv; -+ - if ((dev_priv->irq_mask_reg & mask) != 0) { - dev_priv->irq_mask_reg &= ~mask; - I915_WRITE(IMR, dev_priv->irq_mask_reg); -@@ -74,6 +76,8 @@ - static inline void - i915_disable_irq(drm_i915_private_t *dev_priv, u32 mask) - { -+ struct drm_i915_common_private *dev_priv_common = (struct drm_i915_common_private *) dev_priv; -+ - if ((dev_priv->irq_mask_reg & mask) != mask) { - dev_priv->irq_mask_reg |= mask; - I915_WRITE(IMR, dev_priv->irq_mask_reg); -@@ -94,6 +98,8 @@ - void - i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) - { -+ struct drm_i915_common_private *dev_priv_common = (struct drm_i915_common_private *) dev_priv; -+ - if ((dev_priv->pipestat[pipe] & mask) != mask) { - u32 reg = i915_pipestat(pipe); - -@@ -107,6 +113,8 @@ - void - i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) - { -+ struct drm_i915_common_private *dev_priv_common = (struct drm_i915_common_private *) dev_priv; -+ - if ((dev_priv->pipestat[pipe] & mask) != 0) { - u32 reg = i915_pipestat(pipe); - -@@ -128,7 +136,7 @@ - static int - i915_pipe_enabled(struct drm_device *dev, int pipe) - { -- drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - unsigned long pipeconf = pipe ? PIPEBCONF : PIPEACONF; - - if (I915_READ(pipeconf) & PIPEACONF_ENABLE) -@@ -142,7 +150,7 @@ - */ - u32 i915_get_vblank_counter(struct drm_device *dev, int pipe) - { -- drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - unsigned long high_frame; - unsigned long low_frame; - u32 high1, high2, low, count; -@@ -178,6 +186,7 @@ - { - struct drm_device *dev = (struct drm_device *) arg; - drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_master_private *master_priv; - u32 iir, new_iir; - u32 pipea_stats, pipeb_stats; -@@ -284,6 +293,7 @@ - static int i915_emit_irq(struct drm_device * dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; - RING_LOCALS; - -@@ -409,6 +419,7 @@ - */ - int i915_enable_vblank(struct drm_device *dev, int pipe) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; - unsigned long irqflags; - int pipeconf_reg = (pipe == 0) ? PIPEACONF : PIPEBCONF; -@@ -510,6 +521,7 @@ - */ - void i915_driver_irq_preinstall(struct drm_device * dev) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; - - atomic_set(&dev_priv->irq_received, 0); -@@ -554,6 +566,7 @@ - - void i915_driver_irq_uninstall(struct drm_device * dev) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; - - if (!dev_priv) -Index: linux-2.6.28/drivers/gpu/drm/i915/Makefile -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/Makefile 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/Makefile 2009-02-19 12:59:28.000000000 +0000 -@@ -9,24 +9,29 @@ - i915_gem_debug.o \ - i915_gem_proc.o \ - i915_gem_tiling.o \ -- intel_display.o \ -- intel_crt.o \ -- intel_lvds.o \ - intel_bios.o \ -- intel_hdmi.o \ -- intel_sdvo.o \ -- intel_modes.o \ -- intel_i2c.o \ - intel_fb.o \ - intel_tv.o \ -+ -+intel_gfx_common-y := \ -+ intel_display.o \ -+ intel_modes.o \ -+ intel_i2c.o \ -+ intel_crt.o \ - intel_dvo.o \ -+ intel_hdmi.o \ -+ intel_lvds.o \ -+ intel_sdvo.o \ - dvo_ch7xxx.o \ - dvo_ch7017.o \ - dvo_ivch.o \ - dvo_tfp410.o \ - dvo_sil164.o - -+ - i915-$(CONFIG_ACPI) += i915_opregion.o - i915-$(CONFIG_COMPAT) += i915_ioc32.o - - obj-$(CONFIG_DRM_I915) += i915.o -+ -+obj-$(CONFIG_DRM_INTEL_COMMON) += intel_gfx_common.o -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_common.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_common.h 2009-02-20 14:49:42.000000000 +0000 -@@ -0,0 +1,184 @@ -+/* -+ * -+ * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. -+ * All Rights Reserved. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the -+ * "Software"), to deal in the Software without restriction, including -+ * without limitation the rights to use, copy, modify, merge, publish, -+ * distribute, sub license, and/or sell copies of the Software, and to -+ * permit persons to whom the Software is furnished to do so, subject to -+ * the following conditions: -+ * -+ * The above copyright notice and this permission notice (including the -+ * next paragraph) shall be included in all copies or substantial portions -+ * of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -+ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR -+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -+ * -+ */ -+ -+#ifndef _I915_COMMON_H_ -+#define _I915_COMMON_H_ -+ -+typedef struct drm_i915_common_private { -+ //struct drm_device *dev; -+ -+ void __iomem *regs; -+ -+ //drm_dma_handle_t *status_page_dmah; -+ //void *hw_status_page; -+ //dma_addr_t dma_status_page; -+ //uint32_t counter; -+ //unsigned int status_gfx_addr; -+ //drm_local_map_t hws_map; -+ //struct drm_gem_object *hws_obj; -+ -+ //unsigned int cpp; -+ //int back_offset; -+ //int front_offset; -+ //int current_page; -+ //int page_flipping; -+ -+ //wait_queue_head_t irq_queue; -+ //atomic_t irq_received; -+ /** Protects user_irq_refcount and irq_mask_reg */ -+ //spinlock_t user_irq_lock; -+ /** Refcount for i915_user_irq_get() versus i915_user_irq_put(). */ -+ //int user_irq_refcount; -+ /** Cached value of IMR to avoid reads in updating the bitfield */ -+ //u32 irq_mask_reg; -+ //u32 pipestat[2]; -+ -+ //int tex_lru_log_granularity; -+ //int allow_batchbuffer; -+ //struct mem_block *agp_heap; -+ //unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds; -+ //int vblank_pipe; -+ -+ //bool cursor_needs_physical; -+ -+ //struct drm_mm vram; -+ -+ //int irq_enabled; -+ -+ /* LVDS info */ -+ int backlight_duty_cycle; /* restore backlight to this value */ -+ bool panel_wants_dither; -+ struct drm_display_mode *panel_fixed_mode; -+ //struct drm_display_mode *vbt_mode; /* if any */ -+ -+ /* Feature bits from the VBIOS */ -+ //unsigned int int_tv_support:1; -+ //unsigned int lvds_dither:1; -+ //unsigned int lvds_vbt:1; -+ //unsigned int int_crt_support:1; -+ -+ //int fence_reg_start; /* 4 if userland hasn't ioctl'd us yet */ -+ //int num_fence_regs; /* 8 on pre-965, 16 otherwise */ -+ -+ /* Register state */ -+ u8 saveLBB; -+ u32 saveDSPACNTR; -+ u32 saveDSPBCNTR; -+ u32 saveDSPARB; -+ u32 saveRENDERSTANDBY; -+ u32 saveHWS; -+ u32 savePIPEACONF; -+ u32 savePIPEBCONF; -+ u32 savePIPEASRC; -+ u32 savePIPEBSRC; -+ u32 saveFPA0; -+ u32 saveFPA1; -+ u32 saveDPLL_A; -+ u32 saveDPLL_A_MD; -+ u32 saveHTOTAL_A; -+ u32 saveHBLANK_A; -+ u32 saveHSYNC_A; -+ u32 saveVTOTAL_A; -+ u32 saveVBLANK_A; -+ u32 saveVSYNC_A; -+ u32 saveBCLRPAT_A; -+ u32 savePIPEASTAT; -+ u32 saveDSPASTRIDE; -+ u32 saveDSPASIZE; -+ u32 saveDSPAPOS; -+ u32 saveDSPAADDR; -+ u32 saveDSPASURF; -+ u32 saveDSPATILEOFF; -+ u32 savePFIT_PGM_RATIOS; -+ u32 saveBLC_PWM_CTL; -+ u32 saveBLC_PWM_CTL2; -+ u32 saveFPB0; -+ u32 saveFPB1; -+ u32 saveDPLL_B; -+ u32 saveDPLL_B_MD; -+ u32 saveHTOTAL_B; -+ u32 saveHBLANK_B; -+ u32 saveHSYNC_B; -+ u32 saveVTOTAL_B; -+ u32 saveVBLANK_B; -+ u32 saveVSYNC_B; -+ u32 saveBCLRPAT_B; -+ u32 savePIPEBSTAT; -+ u32 saveDSPBSTRIDE; -+ u32 saveDSPBSIZE; -+ u32 saveDSPBPOS; -+ u32 saveDSPBADDR; -+ u32 saveDSPBSURF; -+ u32 saveDSPBTILEOFF; -+ u32 saveVGA0; -+ u32 saveVGA1; -+ u32 saveVGA_PD; -+ u32 saveVGACNTRL; -+ u32 saveADPA; -+ u32 saveLVDS; -+ u32 savePP_ON_DELAYS; -+ u32 savePP_OFF_DELAYS; -+ u32 saveDVOA; -+ u32 saveDVOB; -+ u32 saveDVOC; -+ u32 savePP_ON; -+ u32 savePP_OFF; -+ u32 savePP_CONTROL; -+ u32 savePP_DIVISOR; -+ u32 savePFIT_CONTROL; -+ u32 save_palette_a[256]; -+ u32 save_palette_b[256]; -+ u32 saveFBC_CFB_BASE; -+ u32 saveFBC_LL_BASE; -+ u32 saveFBC_CONTROL; -+ u32 saveFBC_CONTROL2; -+ u32 saveIER; -+ u32 saveIIR; -+ u32 saveIMR; -+ u32 saveCACHE_MODE_0; -+ u32 saveD_STATE; -+ u32 saveCG_2D_DIS; -+ u32 saveMI_ARB_STATE; -+ u32 saveSWF0[16]; -+ u32 saveSWF1[16]; -+ u32 saveSWF2[3]; -+ u8 saveMSR; -+ u8 saveSR[8]; -+ u8 saveGR[25]; -+ u8 saveAR_INDEX; -+ u8 saveAR[21]; -+ u8 saveDACMASK; -+ u8 saveDACDATA[256*3]; /* 256 3-byte colors */ -+ u8 saveCR[37]; -+} drm_i915_common_private_t; -+ -+struct drm_i915_master_private { -+ drm_local_map_t *sarea; -+ struct _drm_i915_sarea *sarea_priv; -+}; -+ -+#endif -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_drv.h -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_drv.h 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_drv.h 2009-02-19 16:30:19.000000000 +0000 -@@ -32,6 +32,7 @@ - - #include "i915_reg.h" - #include "intel_bios.h" -+#include "i915_common.h" - #include <linux/io-mapping.h> - - /* General customization: -@@ -116,10 +117,6 @@ - int enabled; - }; - --struct drm_i915_master_private { -- drm_local_map_t *sarea; -- struct _drm_i915_sarea *sarea_priv; --}; - #define I915_FENCE_REG_NONE -1 - - struct drm_i915_fence_reg { -@@ -127,12 +124,15 @@ - }; - - typedef struct drm_i915_private { -- struct drm_device *dev; -+ /* common is assumed to be the first item in this structure */ -+ struct drm_i915_common_private common; - -- void __iomem *regs; -- -- drm_i915_ring_buffer_t ring; -+ struct drm_device *dev; - -+ //void __iomem *regs; -+ -+ drm_i915_ring_buffer_t ring; -+ - drm_dma_handle_t *status_page_dmah; - void *hw_status_page; - dma_addr_t dma_status_page; -@@ -169,12 +169,12 @@ - - int irq_enabled; - -- struct intel_opregion opregion; -- -+ struct intel_opregion opregion; -+ - /* LVDS info */ -- int backlight_duty_cycle; /* restore backlight to this value */ -- bool panel_wants_dither; -- struct drm_display_mode *panel_fixed_mode; -+ //int backlight_duty_cycle; /* restore backlight to this value */ -+ //bool panel_wants_dither; -+ //struct drm_display_mode *panel_fixed_mode; - struct drm_display_mode *vbt_mode; /* if any */ - - /* Feature bits from the VBIOS */ -@@ -183,101 +183,10 @@ - unsigned int lvds_vbt:1; - unsigned int int_crt_support:1; - -- struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */ -+ struct drm_i915_fence_reg fence_regs[16]; /* assume 965 */ - int fence_reg_start; /* 4 if userland hasn't ioctl'd us yet */ - int num_fence_regs; /* 8 on pre-965, 16 otherwise */ - -- /* Register state */ -- u8 saveLBB; -- u32 saveDSPACNTR; -- u32 saveDSPBCNTR; -- u32 saveDSPARB; -- u32 saveRENDERSTANDBY; -- u32 saveHWS; -- u32 savePIPEACONF; -- u32 savePIPEBCONF; -- u32 savePIPEASRC; -- u32 savePIPEBSRC; -- u32 saveFPA0; -- u32 saveFPA1; -- u32 saveDPLL_A; -- u32 saveDPLL_A_MD; -- u32 saveHTOTAL_A; -- u32 saveHBLANK_A; -- u32 saveHSYNC_A; -- u32 saveVTOTAL_A; -- u32 saveVBLANK_A; -- u32 saveVSYNC_A; -- u32 saveBCLRPAT_A; -- u32 savePIPEASTAT; -- u32 saveDSPASTRIDE; -- u32 saveDSPASIZE; -- u32 saveDSPAPOS; -- u32 saveDSPAADDR; -- u32 saveDSPASURF; -- u32 saveDSPATILEOFF; -- u32 savePFIT_PGM_RATIOS; -- u32 saveBLC_PWM_CTL; -- u32 saveBLC_PWM_CTL2; -- u32 saveFPB0; -- u32 saveFPB1; -- u32 saveDPLL_B; -- u32 saveDPLL_B_MD; -- u32 saveHTOTAL_B; -- u32 saveHBLANK_B; -- u32 saveHSYNC_B; -- u32 saveVTOTAL_B; -- u32 saveVBLANK_B; -- u32 saveVSYNC_B; -- u32 saveBCLRPAT_B; -- u32 savePIPEBSTAT; -- u32 saveDSPBSTRIDE; -- u32 saveDSPBSIZE; -- u32 saveDSPBPOS; -- u32 saveDSPBADDR; -- u32 saveDSPBSURF; -- u32 saveDSPBTILEOFF; -- u32 saveVGA0; -- u32 saveVGA1; -- u32 saveVGA_PD; -- u32 saveVGACNTRL; -- u32 saveADPA; -- u32 saveLVDS; -- u32 savePP_ON_DELAYS; -- u32 savePP_OFF_DELAYS; -- u32 saveDVOA; -- u32 saveDVOB; -- u32 saveDVOC; -- u32 savePP_ON; -- u32 savePP_OFF; -- u32 savePP_CONTROL; -- u32 savePP_DIVISOR; -- u32 savePFIT_CONTROL; -- u32 save_palette_a[256]; -- u32 save_palette_b[256]; -- u32 saveFBC_CFB_BASE; -- u32 saveFBC_LL_BASE; -- u32 saveFBC_CONTROL; -- u32 saveFBC_CONTROL2; -- u32 saveIER; -- u32 saveIIR; -- u32 saveIMR; -- u32 saveCACHE_MODE_0; -- u32 saveD_STATE; -- u32 saveCG_2D_DIS; -- u32 saveMI_ARB_STATE; -- u32 saveSWF0[16]; -- u32 saveSWF1[16]; -- u32 saveSWF2[3]; -- u8 saveMSR; -- u8 saveSR[8]; -- u8 saveGR[25]; -- u8 saveAR_INDEX; -- u8 saveAR[21]; -- u8 saveDACMASK; -- u8 saveDACDATA[256*3]; /* 256 3-byte colors */ -- u8 saveCR[37]; -- - struct { - struct drm_mm gtt_space; - -@@ -672,17 +581,18 @@ - LOCK_TEST_WITH_RETURN(dev, file_priv); \ - } while (0) - --#define I915_READ(reg) readl(dev_priv->regs + (reg)) --#define I915_WRITE(reg, val) writel(val, dev_priv->regs + (reg)) --#define I915_READ16(reg) readw(dev_priv->regs + (reg)) --#define I915_WRITE16(reg, val) writel(val, dev_priv->regs + (reg)) --#define I915_READ8(reg) readb(dev_priv->regs + (reg)) --#define I915_WRITE8(reg, val) writeb(val, dev_priv->regs + (reg)) -+ -+#define I915_READ(reg) readl(dev_priv_common->regs + (reg)) -+#define I915_WRITE(reg, val) writel(val, dev_priv_common->regs + (reg)) -+#define I915_READ16(reg) readw(dev_priv_common->regs + (reg)) -+#define I915_WRITE16(reg, val) writel(val, dev_priv_common->regs + (reg)) -+#define I915_READ8(reg) readb(dev_priv_common->regs + (reg)) -+#define I915_WRITE8(reg, val) writeb(val, dev_priv_common->regs + (reg)) - #ifdef writeq --#define I915_WRITE64(reg, val) writeq(val, dev_priv->regs + (reg)) -+#define I915_WRITE64(reg, val) writeq(val, dev_priv_common->regs + (reg)) - #else --#define I915_WRITE64(reg, val) (writel(val, dev_priv->regs + (reg)), \ -- writel(upper_32_bits(val), dev_priv->regs + \ -+#define I915_WRITE64(reg, val) (writel(val, dev_priv_common->regs + (reg)), \ -+ writel(upper_32_bits(val), dev_priv_common->regs + \ - (reg) + 4)) - #endif - #define POSTING_READ(reg) (void)I915_READ(reg) -@@ -776,10 +686,15 @@ - (dev)->pci_device == 0x29D2) - - #define IS_I9XX(dev) (IS_I915G(dev) || IS_I915GM(dev) || IS_I945G(dev) || \ -- IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev)) -+ IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev) || \ -+ IS_POULSBO(dev)) -+ -+#define IS_POULSBO(dev) (((dev)->pci_device == 0x8108) || \ -+ ((dev)->pci_device == 0x8109)) - - #define IS_MOBILE(dev) (IS_I830(dev) || IS_I85X(dev) || IS_I915GM(dev) || \ -- IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev)) -+ IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev) || \ -+ IS_POULSBO(dev)) - - #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev)) - #define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev)) -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_display.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_display.c 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_display.c 2009-02-20 14:53:08.000000000 +0000 -@@ -282,7 +282,7 @@ - int refclk, intel_clock_t *best_clock) - { - struct drm_device *dev = crtc->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - intel_clock_t clock; - const intel_limit_t *limit = intel_limit(crtc); - int err = target; -@@ -475,7 +475,7 @@ - { - struct drm_device *dev = crtc->dev; - struct drm_i915_master_private *master_priv; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - int pipe = intel_crtc->pipe; - int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; -@@ -613,6 +613,7 @@ - /* lvds has its own version of prepare see intel_lvds_prepare */ - encoder_funcs->dpms(encoder, DRM_MODE_DPMS_OFF); - } -+EXPORT_SYMBOL(intel_encoder_prepare); - - void intel_encoder_commit (struct drm_encoder *encoder) - { -@@ -620,6 +621,7 @@ - /* lvds has its own version of commit see intel_lvds_commit */ - encoder_funcs->dpms(encoder, DRM_MODE_DPMS_ON); - } -+EXPORT_SYMBOL(intel_encoder_commit); - - static bool intel_crtc_mode_fixup(struct drm_crtc *crtc, - struct drm_display_mode *mode, -@@ -687,7 +689,7 @@ - */ - static int intel_panel_fitter_pipe (struct drm_device *dev) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - u32 pfit_control; - - /* i830 doesn't have a panel fitter */ -@@ -715,7 +717,7 @@ - struct drm_framebuffer *old_fb) - { - struct drm_device *dev = crtc->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - int pipe = intel_crtc->pipe; - int fp_reg = (pipe == 0) ? FPA0 : FPB0; -@@ -980,7 +982,7 @@ - uint32_t width, uint32_t height) - { - struct drm_device *dev = crtc->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - struct drm_gem_object *bo; - struct drm_i915_gem_object *obj_priv; -@@ -1071,7 +1073,7 @@ - static int intel_crtc_cursor_move(struct drm_crtc *crtc, int x, int y) - { - struct drm_device *dev = crtc->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - int pipe = intel_crtc->pipe; - uint32_t temp = 0; -@@ -1106,6 +1108,7 @@ - intel_crtc->lut_g[regno] = green >> 8; - intel_crtc->lut_b[regno] = blue >> 8; - } -+EXPORT_SYMBOL(intel_crtc_fb_gamma_set); - - static void intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, uint32_t size) -@@ -1228,6 +1231,7 @@ - - return crtc; - } -+EXPORT_SYMBOL(intel_get_load_detect_pipe); - - void intel_release_load_detect_pipe(struct intel_output *intel_output, int dpms_mode) - { -@@ -1251,11 +1255,12 @@ - crtc_funcs->dpms(crtc, dpms_mode); - } - } -+EXPORT_SYMBOL(intel_release_load_detect_pipe); - - /* Returns the clock of the currently programmed mode of the given pipe. */ - static int intel_crtc_clock_get(struct drm_device *dev, struct drm_crtc *crtc) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - int pipe = intel_crtc->pipe; - u32 dpll = I915_READ((pipe == 0) ? DPLL_A : DPLL_B); -@@ -1333,7 +1338,7 @@ - struct drm_display_mode *intel_crtc_mode_get(struct drm_device *dev, - struct drm_crtc *crtc) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - int pipe = intel_crtc->pipe; - struct drm_display_mode *mode; -@@ -1361,6 +1366,7 @@ - - return mode; - } -+EXPORT_SYMBOL(intel_crtc_mode_get); - - static void intel_crtc_destroy(struct drm_crtc *crtc) - { -@@ -1415,11 +1421,6 @@ - intel_crtc->mode_set.connectors = (struct drm_connector **)(intel_crtc + 1); - intel_crtc->mode_set.num_connectors = 0; - -- if (i915_fbpercrtc) { -- -- -- -- } - } - - struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe) -@@ -1433,6 +1434,7 @@ - } - return crtc; - } -+EXPORT_SYMBOL(intel_get_crtc_from_pipe); - - static int intel_connector_clones(struct drm_device *dev, int type_mask) - { -@@ -1575,7 +1577,7 @@ - - return 0; - } -- -+EXPORT_SYMBOL(intel_framebuffer_create); - - static struct drm_framebuffer * - intel_user_framebuffer_create(struct drm_device *dev, -@@ -1643,12 +1645,13 @@ - - intel_setup_outputs(dev); - } -+EXPORT_SYMBOL(intel_modeset_init); - - void intel_modeset_cleanup(struct drm_device *dev) - { - drm_mode_config_cleanup(dev); - } -- -+EXPORT_SYMBOL(intel_modeset_cleanup); - - /* current intel driver doesn't take advantage of encoders - always give back the encoder for the connector -@@ -1659,3 +1662,5 @@ - - return &intel_output->enc; - } -+EXPORT_SYMBOL(intel_best_encoder); -+ -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_crt.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_crt.c 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_crt.c 2009-02-20 14:53:08.000000000 +0000 -@@ -36,7 +36,7 @@ - static void intel_crt_dpms(struct drm_encoder *encoder, int mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - u32 temp; - - temp = I915_READ(ADPA); -@@ -88,7 +88,7 @@ - struct drm_device *dev = encoder->dev; - struct drm_crtc *crtc = encoder->crtc; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - int dpll_md_reg; - u32 adpa, dpll_md; - -@@ -132,7 +132,7 @@ - static bool intel_crt_detect_hotplug(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - u32 temp; - - unsigned long timeout = jiffies + msecs_to_jiffies(1000); -Index: linux-2.6.28/drivers/gpu/drm/i915/i915_dma.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/i915_dma.c 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/i915_dma.c 2009-02-20 12:12:41.000000000 +0000 -@@ -41,6 +41,7 @@ - int i915_wait_ring(struct drm_device * dev, int n, const char *caller) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; - drm_i915_ring_buffer_t *ring = &(dev_priv->ring); - u32 acthd_reg = IS_I965G(dev) ? ACTHD_I965 : ACTHD; -@@ -82,6 +83,7 @@ - static int i915_init_phys_hws(struct drm_device *dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - /* Program Hardware Status Page */ - dev_priv->status_page_dmah = - drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE, 0xffffffff); -@@ -107,6 +109,8 @@ - static void i915_free_hws(struct drm_device *dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ - if (dev_priv->status_page_dmah) { - drm_pci_free(dev, dev_priv->status_page_dmah); - dev_priv->status_page_dmah = NULL; -@@ -124,6 +128,7 @@ - void i915_kernel_lost_context(struct drm_device * dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_master_private *master_priv; - drm_i915_ring_buffer_t *ring = &(dev_priv->ring); - -@@ -231,6 +236,7 @@ - static int i915_dma_resume(struct drm_device * dev) - { - drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - - DRM_DEBUG("%s\n", __func__); - -@@ -358,6 +364,7 @@ - - static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwords) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = dev->dev_private; - int i; - RING_LOCALS; -@@ -401,6 +408,7 @@ - int i, int DR1, int DR4) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_clip_rect box; - RING_LOCALS; - -@@ -442,6 +450,7 @@ - static void i915_emit_breadcrumb(struct drm_device *dev) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv; - RING_LOCALS; - -@@ -495,6 +504,7 @@ - drm_i915_batchbuffer_t * batch) - { - drm_i915_private_t *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_clip_rect __user *boxes = batch->cliprects; - int nbox = batch->num_cliprects; - int i = 0, count; -@@ -544,6 +554,7 @@ - - static int i915_dispatch_flip(struct drm_device * dev) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = dev->dev_private; - struct drm_i915_master_private *master_priv = - dev->primary->master->driver_priv; -@@ -775,6 +786,7 @@ - static int i915_set_status_page(struct drm_device *dev, void *data, - struct drm_file *file_priv) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - drm_i915_private_t *dev_priv = dev->dev_private; - drm_i915_hws_addr_t *hws = data; - -@@ -930,6 +942,7 @@ - - static int i915_load_modeset_init(struct drm_device *dev) - { -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_i915_private *dev_priv = dev->dev_private; - unsigned long agp_size, prealloc_size; - int fb_bar = IS_I9XX(dev) ? 2 : 0; -@@ -1073,8 +1086,8 @@ - base = drm_get_resource_start(dev, mmio_bar); - size = drm_get_resource_len(dev, mmio_bar); - -- dev_priv->regs = ioremap(base, size); -- if (!dev_priv->regs) { -+ dev_priv->common.regs = ioremap(base, size); -+ if (!dev_priv->common.regs) { - DRM_ERROR("failed to map registers\n"); - ret = -EIO; - goto free_priv; -@@ -1126,7 +1139,7 @@ - return 0; - - out_rmmap: -- iounmap(dev_priv->regs); -+ iounmap(dev_priv->common.regs); - free_priv: - drm_free(dev_priv, sizeof(struct drm_i915_private), DRM_MEM_DRIVER); - return ret; -@@ -1144,8 +1157,8 @@ - if (dev->pdev->msi_enabled) - pci_disable_msi(dev->pdev); - -- if (dev_priv->regs != NULL) -- iounmap(dev_priv->regs); -+ if (dev_priv->common.regs != NULL) -+ iounmap(dev_priv->common.regs); - - intel_opregion_free(dev); - -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_sdvo.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_sdvo.c 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_sdvo.c 2009-02-20 14:53:08.000000000 +0000 -@@ -62,7 +62,7 @@ - static void intel_sdvo_write_sdvox(struct intel_output *intel_output, u32 val) - { - struct drm_device *dev = intel_output->base.dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; - u32 bval = val, cval = val; - int i; -@@ -552,7 +552,7 @@ - struct drm_display_mode *adjusted_mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct drm_crtc *crtc = encoder->crtc; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - struct intel_output *intel_output = enc_to_intel_output(encoder); -@@ -659,7 +659,7 @@ - if (IS_I965G(dev)) { - /* done in crtc_mode_set as the dpll_md reg must be written - early */ -- } else if (IS_I945G(dev) || IS_I945GM(dev)) { -+ } else if (IS_POULSBO(dev) || IS_I945G(dev) || IS_I945GM(dev)) { - /* done in crtc_mode_set as it lives inside the - dpll register */ - } else { -@@ -672,7 +672,7 @@ - static void intel_sdvo_dpms(struct drm_encoder *encoder, int mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = enc_to_intel_output(encoder); - struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; - u32 temp; -@@ -722,7 +722,7 @@ - static void intel_sdvo_save(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; - int o; -@@ -759,7 +759,7 @@ - static void intel_sdvo_restore(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_output *intel_output = to_intel_output(connector); - struct intel_sdvo_priv *sdvo_priv = intel_output->dev_priv; - int o; -Index: linux-2.6.28/drivers/gpu/drm/i915/intel_lvds.c -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/i915/intel_lvds.c 2009-02-19 12:59:23.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/i915/intel_lvds.c 2009-02-20 14:53:08.000000000 +0000 -@@ -67,7 +67,7 @@ - */ - static void intel_lvds_set_power(struct drm_device *dev, bool on) - { -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - u32 pp_status; - - if (on) { -@@ -104,35 +104,35 @@ - static void intel_lvds_save(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - -- dev_priv->savePP_ON = I915_READ(PP_ON_DELAYS); -- dev_priv->savePP_OFF = I915_READ(PP_OFF_DELAYS); -- dev_priv->savePP_CONTROL = I915_READ(PP_CONTROL); -- dev_priv->savePP_DIVISOR = I915_READ(PP_DIVISOR); -- dev_priv->saveBLC_PWM_CTL = I915_READ(BLC_PWM_CTL); -- dev_priv->backlight_duty_cycle = (dev_priv->saveBLC_PWM_CTL & -+ dev_priv_common->savePP_ON = I915_READ(PP_ON_DELAYS); -+ dev_priv_common->savePP_OFF = I915_READ(PP_OFF_DELAYS); -+ dev_priv_common->savePP_CONTROL = I915_READ(PP_CONTROL); -+ dev_priv_common->savePP_DIVISOR = I915_READ(PP_DIVISOR); -+ dev_priv_common->saveBLC_PWM_CTL = I915_READ(BLC_PWM_CTL); -+ dev_priv_common->backlight_duty_cycle = (dev_priv_common->saveBLC_PWM_CTL & - BACKLIGHT_DUTY_CYCLE_MASK); - - /* - * If the light is off at server startup, just make it full brightness - */ -- if (dev_priv->backlight_duty_cycle == 0) -- dev_priv->backlight_duty_cycle = -+ if (dev_priv_common->backlight_duty_cycle == 0) -+ lvds_backlight= - intel_lvds_get_max_backlight(dev); - } - - static void intel_lvds_restore(struct drm_connector *connector) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - -- I915_WRITE(BLC_PWM_CTL, dev_priv->saveBLC_PWM_CTL); -- I915_WRITE(PP_ON_DELAYS, dev_priv->savePP_ON); -- I915_WRITE(PP_OFF_DELAYS, dev_priv->savePP_OFF); -- I915_WRITE(PP_DIVISOR, dev_priv->savePP_DIVISOR); -- I915_WRITE(PP_CONTROL, dev_priv->savePP_CONTROL); -- if (dev_priv->savePP_CONTROL & POWER_TARGET_ON) -+ I915_WRITE(BLC_PWM_CTL, dev_priv_common->saveBLC_PWM_CTL); -+ I915_WRITE(PP_ON_DELAYS, dev_priv_common->savePP_ON); -+ I915_WRITE(PP_OFF_DELAYS, dev_priv_common->savePP_OFF); -+ I915_WRITE(PP_DIVISOR, dev_priv_common->savePP_DIVISOR); -+ I915_WRITE(PP_CONTROL, dev_priv_common->savePP_CONTROL); -+ if (dev_priv_common->savePP_CONTROL & POWER_TARGET_ON) - intel_lvds_set_power(dev, true); - else - intel_lvds_set_power(dev, false); -@@ -142,8 +142,8 @@ - struct drm_display_mode *mode) - { - struct drm_device *dev = connector->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -- struct drm_display_mode *fixed_mode = dev_priv->panel_fixed_mode; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; -+ struct drm_display_mode *fixed_mode = dev_priv_common->panel_fixed_mode; - - if (fixed_mode) { - if (mode->hdisplay > fixed_mode->hdisplay) -@@ -160,7 +160,7 @@ - struct drm_display_mode *adjusted_mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); - struct drm_encoder *tmp_encoder; - -@@ -240,7 +240,7 @@ - struct drm_display_mode *adjusted_mode) - { - struct drm_device *dev = encoder->dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -+ struct drm_i915_common_private *dev_priv_common = dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc); - u32 pfit_control; - -@@ -264,7 +264,7 @@ - pfit_control = 0; - - if (!IS_I965G(dev)) { -- if (dev_priv->panel_wants_dither) -+ if (dev_priv_common->panel_wants_dither) - pfit_control |= PANEL_8TO6_DITHER_ENABLE; - } - else -@@ -475,16 +475,16 @@ - crtc = intel_get_crtc_from_pipe(dev, pipe); - - if (crtc && (lvds & LVDS_PORT_EN)) { -- dev_priv->panel_fixed_mode = intel_crtc_mode_get(dev, crtc); -- if (dev_priv->panel_fixed_mode) { -- dev_priv->panel_fixed_mode->type |= -+ dev_priv_common->panel_fixed_mode = intel_crtc_mode_get(dev, crtc); -+ if (dev_priv_common->panel_fixed_mode) { -+ dev_priv_common->panel_fixed_mode->type |= - DRM_MODE_TYPE_PREFERRED; - goto out; /* FIXME: check for quirks */ - } - } - - /* If we still don't have a mode after all that, give up. */ -- if (!dev_priv->panel_fixed_mode) -+ if (!dev_priv_common->panel_fixed_mode) - goto failed; - - /* FIXME: detect aopen & mac mini type stuff automatically? */ -@@ -509,9 +509,9 @@ - * 800x600 display. - */ - -- if (dev_priv->panel_fixed_mode != NULL && -- dev_priv->panel_fixed_mode->hdisplay == 800 && -- dev_priv->panel_fixed_mode->vdisplay == 600) { -+ if (dev_priv_common->panel_fixed_mode != NULL && -+ dev_priv_common->panel_fixed_mode->hdisplay == 800 && -+ dev_priv_common->panel_fixed_mode->vdisplay == 600) { - DRM_DEBUG("Suspected Mac Mini, ignoring the LVDS\n"); - goto failed; - } -Index: linux-2.6.28/drivers/gpu/drm/Kconfig -=================================================================== ---- linux-2.6.28.orig/drivers/gpu/drm/Kconfig 2009-02-19 12:59:22.000000000 +0000 -+++ linux-2.6.28/drivers/gpu/drm/Kconfig 2009-02-20 14:53:08.000000000 +0000 -@@ -43,6 +43,11 @@ - - If M is selected, the module will be called radeon. - -+config DRM_INTEL_COMMON -+ tristate -+ help -+ Code common to several Intel drivers (autoselected) -+ - config DRM_I810 - tristate "Intel I810" - depends on DRM && AGP && AGP_INTEL -@@ -70,6 +75,7 @@ - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT -+ select DRM_INTEL_COMMON - depends on FB - tristate "i915 driver" - help |