Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 987fed3b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (28 commits)
  drm: remove unused #include <linux/version.h>'s
  drm/radeon: fix driver initialization order so radeon kms can be builtin
  drm: Fix shifts which were miscalculated when converting from bitfields.
  drm/radeon: Clear surface registers at initialization time.
  drm/radeon: Don't initialize acceleration related fields of struct fb_info.
  drm/radeon: fix radeon kms framebuffer device
  drm/i915: initialize fence registers to zero when loading GEM
  drm/i915: Fix HDMI regression introduced in new chipset support
  drm/i915: fix LFP data fetch
  drm/i915: set TV detection mode when tv is already connected
  drm/i915: Catch up to obj_priv->page_list rename in disabled debug code.
  drm/i915: Fix size_t handling in off-by-default debug printfs
  drm/i915: Don't change the blank/sync width when calculating scaled modes
  drm/i915: Add support for changing LVDS panel fitting using an output property.
  drm/i915: correct suspend/resume ordering
  drm/i915: Add missing dependency on Intel AGP support.
  drm/i915: Generate 2MHz clock for display port aux channel I/O. Retry I/O.
  drm/i915: Clarify error returns from display port aux channel I/O
  drm/i915: Add CLKCFG register definition
  drm/i915: Split array of DAC limits into separate structures.
  ...
parents ed4fc720 8b169b5f
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -81,6 +81,7 @@ config DRM_I830


config DRM_I915
config DRM_I915
	tristate "i915 driver"
	tristate "i915 driver"
	depends on AGP_INTEL
	select FB_CFB_FILLRECT
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	select FB_CFB_IMAGEBLIT
+1 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@ drm-y := drm_auth.o drm_bufs.o drm_cache.o \
drm-$(CONFIG_COMPAT) += drm_ioc32.o
drm-$(CONFIG_COMPAT) += drm_ioc32.o


obj-$(CONFIG_DRM)	+= drm.o
obj-$(CONFIG_DRM)	+= drm.o
obj-$(CONFIG_DRM_TTM)	+= ttm/
obj-$(CONFIG_DRM_TDFX)	+= tdfx/
obj-$(CONFIG_DRM_TDFX)	+= tdfx/
obj-$(CONFIG_DRM_R128)	+= r128/
obj-$(CONFIG_DRM_R128)	+= r128/
obj-$(CONFIG_DRM_RADEON)+= radeon/
obj-$(CONFIG_DRM_RADEON)+= radeon/
@@ -26,4 +27,3 @@ obj-$(CONFIG_DRM_I915) += i915/
obj-$(CONFIG_DRM_SIS)   += sis/
obj-$(CONFIG_DRM_SIS)   += sis/
obj-$(CONFIG_DRM_SAVAGE)+= savage/
obj-$(CONFIG_DRM_SAVAGE)+= savage/
obj-$(CONFIG_DRM_VIA)	+=via/
obj-$(CONFIG_DRM_VIA)	+=via/
obj-$(CONFIG_DRM_TTM)	+= ttm/
+6 −6
Original line number Original line Diff line number Diff line
@@ -294,10 +294,10 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
	unsigned vactive = (pt->vactive_vblank_hi & 0xf0) << 4 | pt->vactive_lo;
	unsigned vactive = (pt->vactive_vblank_hi & 0xf0) << 4 | pt->vactive_lo;
	unsigned hblank = (pt->hactive_hblank_hi & 0xf) << 8 | pt->hblank_lo;
	unsigned hblank = (pt->hactive_hblank_hi & 0xf) << 8 | pt->hblank_lo;
	unsigned vblank = (pt->vactive_vblank_hi & 0xf) << 8 | pt->vblank_lo;
	unsigned vblank = (pt->vactive_vblank_hi & 0xf) << 8 | pt->vblank_lo;
	unsigned hsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0x3) << 8 | pt->hsync_offset_lo;
	unsigned hsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc0) << 2 | pt->hsync_offset_lo;
	unsigned hsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) << 6 | pt->hsync_pulse_width_lo;
	unsigned hsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x30) << 4 | pt->hsync_pulse_width_lo;
	unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0x30) | (pt->vsync_offset_pulse_width_lo & 0xf);
	unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) >> 2 | pt->vsync_offset_pulse_width_lo >> 4;
	unsigned vsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0xc0) >> 2 | pt->vsync_offset_pulse_width_lo >> 4;
	unsigned vsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x3) << 4 | (pt->vsync_offset_pulse_width_lo & 0xf);


	/* ignore tiny modes */
	/* ignore tiny modes */
	if (hactive < 64 || vactive < 64)
	if (hactive < 64 || vactive < 64)
@@ -347,8 +347,8 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
	mode->flags |= (pt->misc & DRM_EDID_PT_VSYNC_POSITIVE) ?
	mode->flags |= (pt->misc & DRM_EDID_PT_VSYNC_POSITIVE) ?
		DRM_MODE_FLAG_PVSYNC : DRM_MODE_FLAG_NVSYNC;
		DRM_MODE_FLAG_PVSYNC : DRM_MODE_FLAG_NVSYNC;


	mode->width_mm = pt->width_mm_lo | (pt->width_height_mm_hi & 0xf) << 8;
	mode->width_mm = pt->width_mm_lo | (pt->width_height_mm_hi & 0xf0) << 4;
	mode->height_mm = pt->height_mm_lo | (pt->width_height_mm_hi & 0xf0) << 4;
	mode->height_mm = pt->height_mm_lo | (pt->width_height_mm_hi & 0xf) << 8;


	if (quirks & EDID_QUIRK_DETAILED_IN_CM) {
	if (quirks & EDID_QUIRK_DETAILED_IN_CM) {
		mode->width_mm *= 10;
		mode->width_mm *= 10;
+2 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,8 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o \
	  intel_crt.o \
	  intel_crt.o \
	  intel_lvds.o \
	  intel_lvds.o \
	  intel_bios.o \
	  intel_bios.o \
	  intel_dp.o \
	  intel_dp_i2c.o \
	  intel_hdmi.o \
	  intel_hdmi.o \
	  intel_sdvo.o \
	  intel_sdvo.o \
	  intel_modes.o \
	  intel_modes.o \
+2 −2
Original line number Original line Diff line number Diff line
@@ -37,7 +37,7 @@ struct intel_dvo_device {
	/* GPIO register used for i2c bus to control this device */
	/* GPIO register used for i2c bus to control this device */
	u32 gpio;
	u32 gpio;
	int slave_addr;
	int slave_addr;
	struct intel_i2c_chan *i2c_bus;
	struct i2c_adapter *i2c_bus;


	const struct intel_dvo_dev_ops *dev_ops;
	const struct intel_dvo_dev_ops *dev_ops;
	void *dev_priv;
	void *dev_priv;
@@ -52,7 +52,7 @@ struct intel_dvo_dev_ops {
	 * Returns NULL if the device does not exist.
	 * Returns NULL if the device does not exist.
	 */
	 */
	bool (*init)(struct intel_dvo_device *dvo,
	bool (*init)(struct intel_dvo_device *dvo,
		     struct intel_i2c_chan *i2cbus);
		     struct i2c_adapter *i2cbus);


	/*
	/*
	 * Called to allow the output a chance to create properties after the
	 * Called to allow the output a chance to create properties after the
Loading