diff options
| author | Dave Airlie <airlied@redhat.com> | 2013-06-05 00:34:22 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2013-06-05 00:34:22 -0400 |
| commit | 943079e111bde93ed972d21618d1d73e75ba0d09 (patch) | |
| tree | 32626f38001c6fd69340fe44a296ae34760872fa /drivers/gpu | |
| parent | ec7fdeee19474afb2169bb0939cbc972f9aa20eb (diff) | |
| parent | 53d3b4d7778daf15900867336c85d3f8dd70600c (diff) | |
Merge tag 'drm-intel-fixes-2013-06-04' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
Daniel writes:
Three regression fixes and one no-lvds quirk update. The regression Egbert
Eich tracked down goes back to 2.6.37 ... ugh. The other two are pretty
minor: One bogus modeset state checker WARN and a patch to prevent X
dying in a SIGBUS after a gpu hang with failed (or not implement as on
gen2/3) gpu reset.
* tag 'drm-intel-fixes-2013-06-04' of git://people.freedesktop.org/~danvet/drm-intel: (368 commits)
drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC.
drm/i915: no lvds quirk for hp t5740
drm/i915: Quirk the pipe A quirk in the modeset state checker
drm/i915: Fix spurious -EIO/SIGBUS on wedged gpus
Linux 3.10-rc4
parisc: parport0: fix this legacy no-device port driver!
parport_pc: disable PARPORT_PC_SUPERIO on parisc architecture
parisc/PCI: lba: fix: convert to pci_create_root_bus() for correct root bus resources (v2)
parisc/PCI: Set type for LBA bus_num resource
MAINTAINERS: update parisc architecture file list
parisc: kernel: using strlcpy() instead of strcpy()
parisc: rename "CONFIG_PA7100" to "CONFIG_PA7000"
parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50
parisc: memory overflow, 'name' length is too short for using
powerpc/cputable: Fix typo on P7+ cputable entry
powerpc/perf: Add missing SIER support
powerpc/perf: Revert to original NO_SIPR logic
powerpc/pci: Remove the unused variables in pci_process_bridge_OF_ranges
powerpc/pci: Remove the stale comments of pci_process_bridge_OF_ranges
powerpc/pseries: Always enable CONFIG_HOTPLUG_CPU on PSERIES SMP
...
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_drv.c | 3 |
5 files changed, 13 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index a6cf8e843973..970ad17c99ab 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
| @@ -91,14 +91,11 @@ i915_gem_wait_for_error(struct i915_gpu_error *error) | |||
| 91 | { | 91 | { |
| 92 | int ret; | 92 | int ret; |
| 93 | 93 | ||
| 94 | #define EXIT_COND (!i915_reset_in_progress(error)) | 94 | #define EXIT_COND (!i915_reset_in_progress(error) || \ |
| 95 | i915_terminally_wedged(error)) | ||
| 95 | if (EXIT_COND) | 96 | if (EXIT_COND) |
| 96 | return 0; | 97 | return 0; |
| 97 | 98 | ||
| 98 | /* GPU is already declared terminally dead, give up. */ | ||
| 99 | if (i915_terminally_wedged(error)) | ||
| 100 | return -EIO; | ||
| 101 | |||
| 102 | /* | 99 | /* |
| 103 | * Only wait 10 seconds for the gpu reset to complete to avoid hanging | 100 | * Only wait 10 seconds for the gpu reset to complete to avoid hanging |
| 104 | * userspace. If it takes that long something really bad is going on and | 101 | * userspace. If it takes that long something really bad is going on and |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index ad1117bebd7e..56746dcac40f 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -7937,6 +7937,11 @@ intel_modeset_check_state(struct drm_device *dev) | |||
| 7937 | memset(&pipe_config, 0, sizeof(pipe_config)); | 7937 | memset(&pipe_config, 0, sizeof(pipe_config)); |
| 7938 | active = dev_priv->display.get_pipe_config(crtc, | 7938 | active = dev_priv->display.get_pipe_config(crtc, |
| 7939 | &pipe_config); | 7939 | &pipe_config); |
| 7940 | |||
| 7941 | /* hw state is inconsistent with the pipe A quirk */ | ||
| 7942 | if (crtc->pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE) | ||
| 7943 | active = crtc->active; | ||
| 7944 | |||
| 7940 | WARN(crtc->active != active, | 7945 | WARN(crtc->active != active, |
| 7941 | "crtc active state doesn't match with hw state " | 7946 | "crtc active state doesn't match with hw state " |
| 7942 | "(expected %i, found %i)\n", crtc->active, active); | 7947 | "(expected %i, found %i)\n", crtc->active, active); |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index f36f1baabd5a..29412cc89c7a 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
| @@ -815,10 +815,10 @@ static const struct dmi_system_id intel_no_lvds[] = { | |||
| 815 | }, | 815 | }, |
| 816 | { | 816 | { |
| 817 | .callback = intel_no_lvds_dmi_callback, | 817 | .callback = intel_no_lvds_dmi_callback, |
| 818 | .ident = "Hewlett-Packard HP t5740e Thin Client", | 818 | .ident = "Hewlett-Packard HP t5740", |
| 819 | .matches = { | 819 | .matches = { |
| 820 | DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), | 820 | DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), |
| 821 | DMI_MATCH(DMI_PRODUCT_NAME, "HP t5740e Thin Client"), | 821 | DMI_MATCH(DMI_PRODUCT_NAME, " t5740"), |
| 822 | }, | 822 | }, |
| 823 | }, | 823 | }, |
| 824 | { | 824 | { |
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index d15428404b9a..4c47b449b775 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
| @@ -1776,7 +1776,7 @@ static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) | |||
| 1776 | * Assume that the preferred modes are | 1776 | * Assume that the preferred modes are |
| 1777 | * arranged in priority order. | 1777 | * arranged in priority order. |
| 1778 | */ | 1778 | */ |
| 1779 | intel_ddc_get_modes(connector, intel_sdvo->i2c); | 1779 | intel_ddc_get_modes(connector, &intel_sdvo->ddc); |
| 1780 | if (list_empty(&connector->probed_modes) == false) | 1780 | if (list_empty(&connector->probed_modes) == false) |
| 1781 | goto end; | 1781 | goto end; |
| 1782 | 1782 | ||
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c index 9c53c25e5201..826586ffbe83 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c | |||
| @@ -649,6 +649,9 @@ static void pdev_shutdown(struct platform_device *device) | |||
| 649 | 649 | ||
| 650 | static int pdev_probe(struct platform_device *device) | 650 | static int pdev_probe(struct platform_device *device) |
| 651 | { | 651 | { |
| 652 | if (omapdss_is_initialized() == false) | ||
| 653 | return -EPROBE_DEFER; | ||
| 654 | |||
| 652 | DBG("%s", device->name); | 655 | DBG("%s", device->name); |
| 653 | return drm_platform_init(&omap_drm_driver, device); | 656 | return drm_platform_init(&omap_drm_driver, device); |
| 654 | } | 657 | } |
