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

Commit 4238a417 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (58 commits)
  drm/i915,intel_agp: Add support for Sandybridge D0
  drm/i915: fix render pipe control notify on sandybridge
  agp/intel: set 40-bit dma mask on Sandybridge
  drm/i915: Remove the conflicting BUG_ON()
  drm/i915/suspend: s/IS_IRONLAKE/HAS_PCH_SPLIT/
  drm/i915/suspend: Flush register writes before busy-waiting.
  i915: disable DAC on Ironlake also when doing CRT load detection.
  drm/i915: wait for actual vblank, not just 20ms
  drm/i915: make sure eDP PLL is enabled at the right time
  drm/i915: fix VGA plane disable for Ironlake+
  drm/i915: eDP mode set sequence corrections
  drm/i915: add panel reset workaround
  drm/i915: Enable RC6 on Ironlake.
  drm/i915/sdvo: Only set is_lvds if we have a valid fixed mode.
  drm/i915: Set up a render context on Ironlake
  drm/i915 invalidate indirect state pointers at end of ring exec
  drm/i915: Wake-up wait_request() from elapsed hang-check (v2)
  drm/i915: Apply i830 errata for cursor alignment
  drm/i915: Only update i845/i865 CURBASE when disabled (v2)
  drm/i915: FBC is updated within set_base() so remove second call in mode_set()
  ...
parents bc584c51 4fefe435
Loading
Loading
Loading
Loading
+17 −9
Original line number Diff line number Diff line
@@ -819,13 +819,16 @@ static const struct intel_driver_description {
	    "Sandybridge", NULL, &intel_gen6_driver },
	{ PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB, PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_IG,
	    "Sandybridge", NULL, &intel_gen6_driver },
	{ PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB, PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_D0_IG,
	    "Sandybridge", NULL, &intel_gen6_driver },
	{ 0, 0, NULL, NULL, NULL }
};

static int __devinit intel_gmch_probe(struct pci_dev *pdev,
				      struct agp_bridge_data *bridge)
{
	int i;
	int i, mask;

	bridge->driver = NULL;

	for (i = 0; intel_agp_chipsets[i].name != NULL; i++) {
@@ -845,14 +848,19 @@ static int __devinit intel_gmch_probe(struct pci_dev *pdev,

	dev_info(&pdev->dev, "Intel %s Chipset\n", intel_agp_chipsets[i].name);

	if (bridge->driver->mask_memory == intel_i965_mask_memory) {
		if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(36)))
	if (bridge->driver->mask_memory == intel_gen6_mask_memory)
		mask = 40;
	else if (bridge->driver->mask_memory == intel_i965_mask_memory)
		mask = 36;
	else
		mask = 32;

	if (pci_set_dma_mask(intel_private.pcidev, DMA_BIT_MASK(mask)))
		dev_err(&intel_private.pcidev->dev,
				"set gfx device dma mask 36bit failed!\n");
			"set gfx device dma mask %d-bit failed!\n", mask);
	else
		pci_set_consistent_dma_mask(intel_private.pcidev,
						    DMA_BIT_MASK(36));
	}
					    DMA_BIT_MASK(mask));

	return 1;
}
+1 −0
Original line number Diff line number Diff line
@@ -204,6 +204,7 @@
#define PCI_DEVICE_ID_INTEL_SANDYBRIDGE_IG  0x0102
#define PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_HB  0x0104
#define PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_IG  0x0106
#define PCI_DEVICE_ID_INTEL_SANDYBRIDGE_M_D0_IG  0x0126

/* cover 915 and 945 variants */
#define IS_I915 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB || \
+2 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o \
          i915_suspend.o \
	  i915_gem.o \
	  i915_gem_debug.o \
	  i915_gem_evict.o \
	  i915_gem_tiling.o \
	  i915_trace_points.o \
	  intel_display.o \
@@ -18,6 +19,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o \
	  intel_hdmi.o \
	  intel_sdvo.o \
	  intel_modes.o \
	  intel_panel.o \
	  intel_i2c.o \
	  intel_fb.o \
	  intel_tv.o \
+2 −5
Original line number Diff line number Diff line
@@ -30,20 +30,17 @@
#include "intel_drv.h"

struct intel_dvo_device {
	char *name;
	const char *name;
	int type;
	/* DVOA/B/C output register */
	u32 dvo_reg;
	/* GPIO register used for i2c bus to control this device */
	u32 gpio;
	int slave_addr;
	struct i2c_adapter *i2c_bus;

	const struct intel_dvo_dev_ops *dev_ops;
	void *dev_priv;

	struct drm_display_mode *panel_fixed_mode;
	bool panel_wants_dither;
	struct i2c_adapter *i2c_bus;
};

struct intel_dvo_dev_ops {
+3 −0
Original line number Diff line number Diff line
@@ -467,6 +467,9 @@ static int i915_error_state(struct seq_file *m, void *unused)
		}
	}

	if (error->overlay)
		intel_overlay_print_error_state(m, error->overlay);

out:
	spin_unlock_irqrestore(&dev_priv->error_lock, flags);

Loading