Update to 3.10.26
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2014 01:25:31 +0000 (17:25 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2014 01:25:31 +0000 (17:25 -0800)
Removed one patch already upstream, and lots of fuzz cleanups

93 files changed:
KERNEL_VERSION
patches.baytrail/0025-drm-i915-drop-init_dpio-shouldn-t-be-needed.patch
patches.baytrail/0041-drm-i915-Turn-DEV_INFO_FLAGS-into-a-foreach-style-ma.patch
patches.baytrail/0042-drm-i915-Replace-the-line-of-s-by-a-DEV_INFO_FOR_EAC.patch
patches.baytrail/0045-drm-i915-Introduce-HAS_FPGA_DBG_UNCLAIMED.patch
patches.baytrail/0050-drm-i915-disable-interrupts-earlier-in-the-driver-un.patch
patches.baytrail/0054-drm-i915-protect-backlight-registers-and-data-with-a.patch
patches.baytrail/0104-drm-i915-reference-count-for-i915_hw_contexts.patch
patches.baytrail/0109-drm-i915-put-context-upon-switching.patch
patches.baytrail/0117-drm-i915-Assert-mutex_is_locked-on-context-lookup.patch
patches.baytrail/0126-drm-i915-add-power-well-and-cpu-transcoder-info-to-t.patch
patches.baytrail/0127-drm-i915-clear-FPGA_DBG_RM_NOCLAIM-when-capturing-er.patch
patches.baytrail/0131-drm-i915-Add-references-to-some-workaround-we-implem.patch
patches.baytrail/0150-drm-i915-Organize-VBT-stuff-inside-drm_i915_private.patch
patches.baytrail/0166-i915-Use-arch_phys_wc_-add-del.patch
patches.baytrail/0182-drm-i915-avoid-big-kmallocs-on-reading-error-state.patch
patches.baytrail/0195-drm-i915-use-mappable-size-for-fb-kickout.patch
patches.baytrail/0196-drm-i915-use-drm_mm_takedown.patch
patches.baytrail/0198-drm-i915-Call-context-fini-at-cleanup.patch
patches.baytrail/0199-drm-i915-release-scratch-page-at-module-unload.patch
patches.baytrail/0233-drm-i915-add-I915_PARAM_HAS_VEBOX-to-i915_getparam.patch
patches.baytrail/0239-drm-i915-Demote-unknown-param-to-DRM_DEBUG.patch
patches.baytrail/0278-i915-drm-Add-private-api-for-power-well-usage.patch
patches.baytrail/0319-drm-i915-add-struct-i915_ctx_hang_stats.patch
patches.baytrail/0321-drm-i915-change-i915_add_request-to-macro.patch
patches.baytrail/0385-drm-i915-Don-t-deref-pipe-cpu_transcoder-in-the-hang.patch
patches.baytrail/0411-drm-i915-Move-gtt_mtrr-to-i915_gtt.patch
patches.baytrail/0431-drm-i915-Getter-setter-for-object-attributes.patch
patches.baytrail/0441-drm-i915-don-t-frob-mm.suspended-when-not-using-ums.patch
patches.baytrail/0450-drm-i915-kill-dev_priv-rps.lock.patch
patches.baytrail/0455-drm-i915-move-error-state-to-own-compilation-unit.patch
patches.baytrail/0461-drm-i915-store-eLLC-size.patch
patches.baytrail/0476-drm-i915-Move-gtt-and-ppgtt-under-address-space-umbr.patch
patches.baytrail/0477-drm-i915-Put-the-mm-in-the-parent-address-space.patch
patches.baytrail/0478-drm-i915-Create-a-global-list-of-vms.patch
patches.baytrail/0524-Re-create-dirty-merge-cb54b53.patch
patches.baytrail/0525-drm-i915-Colocate-all-GT-access-routines-in-the-same.patch
patches.baytrail/0530-drm-i915-fix-the-racy-object-accounting.patch
patches.baytrail/0572-drm-i915-Create-an-init-vm.patch
patches.baytrail/0576-drm-i915-Add-VM-to-pin.patch
patches.baytrail/0598-drm-const-ify-ioctls-table-v2.patch
patches.baytrail/0610-drm-edid-Move-HDMI_IDENTIFIER-to-hdmi.h.patch
patches.baytrail/0613-drm-edid-Fix-add_cea_modes-style-issues.patch
patches.baytrail/0614-drm-edid-Parse-the-HDMI-CEA-block-and-look-for-4k-mo.patch
patches.baytrail/0615-video-hdmi-Rename-HDMI_IDENTIFIER-to-HDMI_IEEE_OUI.patch
patches.baytrail/0620-drm-Handle-the-DBLCLK-flag-in-the-common-infoframe-h.patch
patches.baytrail/0628-drm-i915-mm_list-is-per-VMA.patch
patches.baytrail/0678-drm-i915-Use-Write-Through-cacheing-for-the-display-.patch
patches.baytrail/0680-drm-i915-remove-set-but-unused-variables.patch
patches.baytrail/0682-drm-i915-print-a-message-when-we-detect-an-early-Has.patch
patches.baytrail/0695-drm-i915-enable-the-power-well-before-module-unload.patch
patches.baytrail/0720-drm-i915-allow-package-C8-states-on-Haswell-disabled.patch
patches.baytrail/0727-gpu-vga_switcheroo-add-driver-control-power-feature..patch
patches.baytrail/0728-drm-edid-Add-both-60Hz-and-59.94Hz-CEA-modes-to-conn.patch
patches.baytrail/0729-drm-Add-support-for-alternate-clocks-of-4k-modes.patch
patches.baytrail/0730-drm-Make-drm_match_cea_mode-return-the-underlying-2D.patch
patches.baytrail/0731-drm-Add-a-helper-to-forge-HDMI-vendor-infoframes.patch
patches.baytrail/0733-drm-edid-Expose-mandatory-stereo-modes-for-HDMI-sink.patch
patches.baytrail/0734-drm-Extract-add_hdmi_mode-out-of-do_hdmi_vsdb_modes.patch
patches.baytrail/0735-drm-Code-stereo-layouts-as-an-enum-rather-than-a-bit.patch
patches.baytrail/0736-drm-Set-the-relevant-infoframe-field-when-scanning-o.patch
patches.baytrail/0740-drm-i915-Support-render-nodes.patch
patches.baytrail/0755-i915-Update-VGA-arbiter-support-for-newer-devices.patch
patches.baytrail/0787-drm-i915-Do-not-add-an-interrupt-for-a-context-switc.patch
patches.baytrail/0812-drm-i915-Delay-disabling-of-VGA-memory-until-vgacon-.patch
patches.baytrail/0883-drm-i915-Do-remaps-for-all-contexts.patch
patches.baytrail/0893-drm-i915-Pull-intel_init_power_well-out-of-intel_mod.patch
patches.baytrail/0900-drm-i915-use-pointer-k-cmz.-alloc-sizeof-pointer-.-p.patch
patches.baytrail/0911-drm-i915-Fix-unclaimed-register-access-due-to-delaye.patch
patches.baytrail/0913-drm-i915-Move-power-well-init-earlier-during-driver-.patch
patches.baytrail/0921-drm-i915-Delay-the-release-of-the-forcewake-by-a-jif.patch
patches.baytrail/0934-drm-i915-Convert-active-API-to-VMA.patch
patches.baytrail/0960-drm-i915-destroy-connector-sysfs-files-earlier.patch
patches.baytrail/0968-drm-i915-Add-some-missing-steps-to-i915_driver_load-.patch
patches.baytrail/0970-drm-i915-Boost-RPS-frequency-for-CPU-stalls.patch
patches.baytrail/0992-drm-edid-add-drm_edid_duplicate.patch
patches.baytrail/0994-drm-Make-vblank_disable_allowed-bool.patch
patches.baytrail/1001-drm-Remove-pci_vendor-and-pci_device-from-struct-drm.patch
patches.baytrail/1008-drm-Kill-drm-perf-counter-leftovers.patch
patches.baytrail/1045-drm-i915-Prevent-using-uninitialized-MMIO-funcs.patch
patches.baytrail/1046-drm-i915-Move-edram-detection-early_sanitize.patch
patches.baytrail/1054-drm-i915-Do-PCH-and-uncore-init-earlier.patch
patches.baytrail/1062-drm-i915-tell-the-user-KMS-is-required-for-gen6.patch
patches.baytrail/1071-drm-i915-Kconfig-option-to-disable-the-legacy-fbdev-.patch
patches.baytrail/1072-drm-i915-rename-intel_fb.c-to-intel_fbdev.c.patch
patches.baytrail/1111-ALSA-hda-add-PCI-IDs-for-Intel-BayTrail.patch
patches.ltsi/ltsi-makefile-addition.patch
patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch [deleted file]
patches.workqueues/0001-workqueues-Introduce-new-flag-WQ_POWER_EFFICIENT-for.patch
patches.zynq/0014-arm-zynq-Migrate-platform-to-clock-controller.patch
patches.zynq/0039-clk-add-CLK_SET_RATE_NO_REPARENT-flag.patch
patches.zynq/0070-arm-dt-zynq-Add-support-for-the-zc706-platform.patch
series

index 8e8781c..dce139b 100644 (file)
@@ -1 +1 @@
-3.10.25
+3.10.26
index 487f18d..a58c404 100644 (file)
@@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 78c9b7e71d90f32ce19d4a575a1a206cfe7c6a00)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 14 --------------
+ drivers/gpu/drm/i915/intel_display.c |   14 --------------
  1 file changed, 14 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 7b52c0f729d5..9a284ac81c34 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -467,17 +467,6 @@ void intel_dpio_write(struct drm_i915_private *dev_priv, int reg, u32 val)
+@@ -467,17 +467,6 @@ void intel_dpio_write(struct drm_i915_pr
                DRM_ERROR("DPIO write wait timed out\n");
  }
  
@@ -37,7 +35,7 @@ index 7b52c0f729d5..9a284ac81c34 100644
  static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc,
                                                int refclk)
  {
-@@ -9484,9 +9473,6 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -9486,9 +9475,6 @@ void intel_modeset_cleanup(struct drm_de
  
        ironlake_teardown_rc6(dev);
  
@@ -47,6 +45,3 @@ index 7b52c0f729d5..9a284ac81c34 100644
        mutex_unlock(&dev->struct_mutex);
  
        /* Disable the irq before mode object teardown, for the irq might
--- 
-1.8.5.rc3
-
index 5b8f97b..18261af 100644 (file)
@@ -22,16 +22,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 79fc46dfd0c7cc68442554a428e03a3b7e0d44aa)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c | 10 ++++----
- drivers/gpu/drm/i915/i915_dma.c     | 10 ++++----
- drivers/gpu/drm/i915/i915_drv.h     | 50 ++++++++++++++++++-------------------
+ drivers/gpu/drm/i915/i915_debugfs.c |   10 +++----
+ drivers/gpu/drm/i915/i915_dma.c     |   10 +++----
+ drivers/gpu/drm/i915/i915_drv.h     |   50 ++++++++++++++++++------------------
  3 files changed, 35 insertions(+), 35 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index d195d097cbb7..a55630a80f83 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -61,11 +61,11 @@ static int i915_capabilities(struct seq_file *m, void *data)
+@@ -61,11 +61,11 @@ static int i915_capabilities(struct seq_
  
        seq_printf(m, "gen: %d\n", info->gen);
        seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(dev));
@@ -48,11 +46,9 @@ index d195d097cbb7..a55630a80f83 100644
  
        return 0;
  }
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 17d9b0b6afc5..120e1fc4890f 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1445,15 +1445,15 @@ static void i915_dump_device_info(struct drm_i915_private *dev_priv)
+@@ -1453,15 +1453,15 @@ static void i915_dump_device_info(struct
  {
        const struct intel_device_info *info = dev_priv->info;
  
@@ -73,8 +69,6 @@ index 17d9b0b6afc5..120e1fc4890f 100644
  }
  
  /**
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 698da6dbdb32..c6179c8bea21 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -333,31 +333,31 @@ struct drm_i915_gt_funcs {
@@ -134,6 +128,3 @@ index 698da6dbdb32..c6179c8bea21 100644
  
  struct intel_device_info {
        u32 display_mmio_offset;
--- 
-1.8.5.rc3
-
index 3d436f6..ff416fa 100644 (file)
@@ -15,14 +15,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e2a5800a14abcf861b9d6565de2a22bd6e9ae0ef)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 6 +++++-
+ drivers/gpu/drm/i915/i915_dma.c |    6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 120e1fc4890f..579654d89ac3 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1445,13 +1445,17 @@ static void i915_dump_device_info(struct drm_i915_private *dev_priv)
+@@ -1453,13 +1453,17 @@ static void i915_dump_device_info(struct
  {
        const struct intel_device_info *info = dev_priv->info;
  
@@ -41,6 +39,3 @@ index 120e1fc4890f..579654d89ac3 100644
  #undef PRINT_FLAG
  #undef SEP_COMMA
  }
--- 
-1.8.5.rc3
-
index 514a963..792a778 100644 (file)
@@ -16,16 +16,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e76ebff887e9cc4a8448a0fc6abbb1925291f38b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 2 +-
- drivers/gpu/drm/i915/i915_drv.c | 4 ++--
- drivers/gpu/drm/i915/i915_drv.h | 1 +
+ drivers/gpu/drm/i915/i915_dma.c |    2 +-
+ drivers/gpu/drm/i915/i915_drv.c |    4 ++--
+ drivers/gpu/drm/i915/i915_drv.h |    1 +
  3 files changed, 4 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 579654d89ac3..f7b85e1a1ba7 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1472,7 +1472,7 @@ static void intel_early_sanitize_regs(struct drm_device *dev)
+@@ -1480,7 +1480,7 @@ static void intel_early_sanitize_regs(st
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
  
@@ -34,11 +32,9 @@ index 579654d89ac3..f7b85e1a1ba7 100644
                I915_WRITE_NOTRACE(FPGA_DBG, FPGA_DBG_RM_NOCLAIM);
  }
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 7d4a284487ee..97858c71b3f7 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -1229,7 +1229,7 @@ ilk_dummy_write(struct drm_i915_private *dev_priv)
+@@ -1229,7 +1229,7 @@ ilk_dummy_write(struct drm_i915_private
  static void
  hsw_unclaimed_reg_clear(struct drm_i915_private *dev_priv, u32 reg)
  {
@@ -47,7 +43,7 @@ index 7d4a284487ee..97858c71b3f7 100644
            (I915_READ_NOTRACE(FPGA_DBG) & FPGA_DBG_RM_NOCLAIM)) {
                DRM_ERROR("Unknown unclaimed register before writing to %x\n",
                          reg);
-@@ -1240,7 +1240,7 @@ hsw_unclaimed_reg_clear(struct drm_i915_private *dev_priv, u32 reg)
+@@ -1240,7 +1240,7 @@ hsw_unclaimed_reg_clear(struct drm_i915_
  static void
  hsw_unclaimed_reg_check(struct drm_i915_private *dev_priv, u32 reg)
  {
@@ -56,8 +52,6 @@ index 7d4a284487ee..97858c71b3f7 100644
            (I915_READ_NOTRACE(FPGA_DBG) & FPGA_DBG_RM_NOCLAIM)) {
                DRM_ERROR("Unclaimed write to %x\n", reg);
                I915_WRITE_NOTRACE(FPGA_DBG, FPGA_DBG_RM_NOCLAIM);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 15951914a65b..99d744441ad6 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1371,6 +1371,7 @@ struct drm_i915_file_private {
@@ -68,6 +62,3 @@ index 15951914a65b..99d744441ad6 100644
  
  #define INTEL_PCH_DEVICE_ID_MASK              0xff00
  #define INTEL_PCH_IBX_DEVICE_ID_TYPE          0x3b00
--- 
-1.8.5.rc3
-
index 196d569..9978ccf 100644 (file)
@@ -25,15 +25,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit fd0c06420d39958032655a04cfd194d5a7b38f83)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 19 ++++++++++++-------
- drivers/gpu/drm/i915/intel_pm.c      |  3 +++
+ drivers/gpu/drm/i915/intel_display.c |   19 ++++++++++++-------
+ drivers/gpu/drm/i915/intel_pm.c      |    3 +++
  2 files changed, 15 insertions(+), 7 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 0db840241690..df0d00df3532 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -9585,12 +9585,23 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -9587,12 +9587,23 @@ void intel_modeset_cleanup(struct drm_de
        struct drm_crtc *crtc;
        struct intel_crtc *intel_crtc;
  
@@ -58,7 +56,7 @@ index 0db840241690..df0d00df3532 100644
        list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
                /* Skip inactive CRTCs */
                if (!crtc->fb)
-@@ -9608,12 +9619,6 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -9610,12 +9621,6 @@ void intel_modeset_cleanup(struct drm_de
  
        mutex_unlock(&dev->struct_mutex);
  
@@ -71,11 +69,9 @@ index 0db840241690..df0d00df3532 100644
        /* flush any delayed tasks or pending work */
        flush_scheduled_work();
  
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 789710624d75..ad9d622c55af 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3671,6 +3671,9 @@ void intel_disable_gt_powersave(struct drm_device *dev)
+@@ -3671,6 +3671,9 @@ void intel_disable_gt_powersave(struct d
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
  
@@ -85,6 +81,3 @@ index 789710624d75..ad9d622c55af 100644
        if (IS_IRONLAKE_M(dev)) {
                ironlake_disable_drps(dev);
                ironlake_disable_rc6(dev);
--- 
-1.8.5.rc3
-
index c8a1bd3..13fd1dd 100644 (file)
@@ -24,17 +24,15 @@ Conflicts:
        drivers/gpu/drm/i915/i915_dma.c
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c     |  1 +
- drivers/gpu/drm/i915/i915_drv.h     |  1 +
- drivers/gpu/drm/i915/i915_suspend.c | 10 ++++++++++
- drivers/gpu/drm/i915/intel_panel.c  | 30 +++++++++++++++++++++++++++++-
+ drivers/gpu/drm/i915/i915_dma.c     |    1 +
+ drivers/gpu/drm/i915/i915_drv.h     |    1 +
+ drivers/gpu/drm/i915/i915_suspend.c |   10 ++++++++++
+ drivers/gpu/drm/i915/intel_panel.c  |   30 +++++++++++++++++++++++++++++-
  4 files changed, 41 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index f7b85e1a1ba7..68a57031db2c 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1519,6 +1519,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1527,6 +1527,7 @@ int i915_driver_load(struct drm_device *
        spin_lock_init(&dev_priv->gpu_error.lock);
        spin_lock_init(&dev_priv->rps.lock);
        spin_lock_init(&dev_priv->gt_lock);
@@ -42,8 +40,6 @@ index f7b85e1a1ba7..68a57031db2c 100644
        mutex_init(&dev_priv->dpio_lock);
        mutex_init(&dev_priv->rps.hw_lock);
        mutex_init(&dev_priv->modeset_restore_lock);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index c123e9e0cd12..8a8e8dc5c2e1 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -961,6 +961,7 @@ typedef struct drm_i915_private {
@@ -54,11 +50,9 @@ index c123e9e0cd12..8a8e8dc5c2e1 100644
                struct backlight_device *device;
        } backlight;
  
-diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
-index 369b3d8776ab..70db618989c4 100644
 --- a/drivers/gpu/drm/i915/i915_suspend.c
 +++ b/drivers/gpu/drm/i915/i915_suspend.c
-@@ -192,6 +192,7 @@ static void i915_restore_vga(struct drm_device *dev)
+@@ -192,6 +192,7 @@ static void i915_restore_vga(struct drm_
  static void i915_save_display(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -66,7 +60,7 @@ index 369b3d8776ab..70db618989c4 100644
  
        /* Display arbitration control */
        if (INTEL_INFO(dev)->gen <= 4)
-@@ -202,6 +203,8 @@ static void i915_save_display(struct drm_device *dev)
+@@ -202,6 +203,8 @@ static void i915_save_display(struct drm
        if (!drm_core_check_feature(dev, DRIVER_MODESET))
                i915_save_display_reg(dev);
  
@@ -75,7 +69,7 @@ index 369b3d8776ab..70db618989c4 100644
        /* LVDS state */
        if (HAS_PCH_SPLIT(dev)) {
                dev_priv->regfile.savePP_CONTROL = I915_READ(PCH_PP_CONTROL);
-@@ -222,6 +225,8 @@ static void i915_save_display(struct drm_device *dev)
+@@ -222,6 +225,8 @@ static void i915_save_display(struct drm
                        dev_priv->regfile.saveLVDS = I915_READ(LVDS);
        }
  
@@ -84,7 +78,7 @@ index 369b3d8776ab..70db618989c4 100644
        if (!IS_I830(dev) && !IS_845G(dev) && !HAS_PCH_SPLIT(dev))
                dev_priv->regfile.savePFIT_CONTROL = I915_READ(PFIT_CONTROL);
  
-@@ -257,6 +262,7 @@ static void i915_restore_display(struct drm_device *dev)
+@@ -257,6 +262,7 @@ static void i915_restore_display(struct
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 mask = 0xffffffff;
@@ -92,7 +86,7 @@ index 369b3d8776ab..70db618989c4 100644
  
        /* Display arbitration */
        if (INTEL_INFO(dev)->gen <= 4)
-@@ -265,6 +271,8 @@ static void i915_restore_display(struct drm_device *dev)
+@@ -265,6 +271,8 @@ static void i915_restore_display(struct
        if (!drm_core_check_feature(dev, DRIVER_MODESET))
                i915_restore_display_reg(dev);
  
@@ -101,7 +95,7 @@ index 369b3d8776ab..70db618989c4 100644
        /* LVDS state */
        if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev))
                I915_WRITE(BLC_PWM_CTL2, dev_priv->regfile.saveBLC_PWM_CTL2);
-@@ -304,6 +312,8 @@ static void i915_restore_display(struct drm_device *dev)
+@@ -304,6 +312,8 @@ static void i915_restore_display(struct
                I915_WRITE(PP_CONTROL, dev_priv->regfile.savePP_CONTROL);
        }
  
@@ -110,11 +104,9 @@ index 369b3d8776ab..70db618989c4 100644
        /* only restore FBC info on the platform that supports FBC*/
        intel_disable_fbc(dev);
        if (I915_HAS_FBC(dev)) {
-diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
-index 3df5931e638f..4c49b3f77455 100644
 --- a/drivers/gpu/drm/i915/intel_panel.c
 +++ b/drivers/gpu/drm/i915/intel_panel.c
-@@ -138,6 +138,8 @@ static u32 i915_read_blc_pwm_ctl(struct drm_device *dev)
+@@ -138,6 +138,8 @@ static u32 i915_read_blc_pwm_ctl(struct
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 val;
  
@@ -123,7 +115,7 @@ index 3df5931e638f..4c49b3f77455 100644
        /* Restore the CTL value if it lost, e.g. GPU reset */
  
        if (HAS_PCH_SPLIT(dev_priv->dev)) {
-@@ -218,6 +220,9 @@ static u32 intel_panel_get_backlight(struct drm_device *dev)
+@@ -218,6 +220,9 @@ static u32 intel_panel_get_backlight(str
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 val;
@@ -133,7 +125,7 @@ index 3df5931e638f..4c49b3f77455 100644
  
        if (HAS_PCH_SPLIT(dev)) {
                val = I915_READ(BLC_PWM_CPU_CTL) & BACKLIGHT_DUTY_CYCLE_MASK;
-@@ -235,6 +240,9 @@ static u32 intel_panel_get_backlight(struct drm_device *dev)
+@@ -235,6 +240,9 @@ static u32 intel_panel_get_backlight(str
        }
  
        val = intel_panel_compute_brightness(dev, val);
@@ -143,7 +135,7 @@ index 3df5931e638f..4c49b3f77455 100644
        DRM_DEBUG_DRIVER("get backlight PWM = %d\n", val);
        return val;
  }
-@@ -282,11 +290,14 @@ void intel_panel_set_backlight(struct drm_device *dev, u32 level, u32 max)
+@@ -282,11 +290,14 @@ void intel_panel_set_backlight(struct dr
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 freq;
@@ -159,7 +151,7 @@ index 3df5931e638f..4c49b3f77455 100644
        }
  
        /* scale to hardware */
-@@ -298,11 +309,16 @@ void intel_panel_set_backlight(struct drm_device *dev, u32 level, u32 max)
+@@ -298,11 +309,16 @@ void intel_panel_set_backlight(struct dr
  
        if (dev_priv->backlight.enabled)
                intel_panel_actually_set_backlight(dev, level);
@@ -176,7 +168,7 @@ index 3df5931e638f..4c49b3f77455 100644
  
        dev_priv->backlight.enabled = false;
        intel_panel_actually_set_backlight(dev, 0);
-@@ -320,12 +336,17 @@ void intel_panel_disable_backlight(struct drm_device *dev)
+@@ -320,12 +336,17 @@ void intel_panel_disable_backlight(struc
                        I915_WRITE(BLC_PWM_PCH_CTL1, tmp);
                }
        }
@@ -203,7 +195,7 @@ index 3df5931e638f..4c49b3f77455 100644
  }
  
  static void intel_panel_init_backlight(struct drm_device *dev)
-@@ -433,6 +456,7 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
+@@ -433,6 +456,7 @@ int intel_panel_setup_backlight(struct d
        struct drm_device *dev = connector->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct backlight_properties props;
@@ -211,7 +203,7 @@ index 3df5931e638f..4c49b3f77455 100644
  
        intel_panel_init_backlight(dev);
  
-@@ -442,7 +466,11 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
+@@ -442,7 +466,11 @@ int intel_panel_setup_backlight(struct d
        memset(&props, 0, sizeof(props));
        props.type = BACKLIGHT_RAW;
        props.brightness = dev_priv->backlight.level;
@@ -223,6 +215,3 @@ index 3df5931e638f..4c49b3f77455 100644
        if (props.max_brightness == 0) {
                DRM_DEBUG_DRIVER("Failed to get maximum backlight value\n");
                return -ENODEV;
--- 
-1.8.5.rc3
-
index fd715fd..8858591 100644 (file)
@@ -41,12 +41,10 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit dce3271b1ee05ca01ebdde50d613d7b33ef178a9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h         | 12 ++++++++++++
- drivers/gpu/drm/i915/i915_gem_context.c | 28 ++++++++++++++--------------
+ drivers/gpu/drm/i915/i915_drv.h         |   12 ++++++++++++
+ drivers/gpu/drm/i915/i915_gem_context.c |   28 ++++++++++++++--------------
  2 files changed, 26 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index c5a31c628ab3..aac5740f1ee9 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -452,6 +452,7 @@ struct i915_hw_ppgtt {
@@ -57,7 +55,7 @@ index c5a31c628ab3..aac5740f1ee9 100644
        int id;
        bool is_initialized;
        struct drm_i915_file_private *file_priv;
-@@ -1701,6 +1702,17 @@ void i915_gem_context_fini(struct drm_device *dev);
+@@ -1701,6 +1702,17 @@ void i915_gem_context_fini(struct drm_de
  void i915_gem_context_close(struct drm_device *dev, struct drm_file *file);
  int i915_switch_context(struct intel_ring_buffer *ring,
                        struct drm_file *file, int to_id);
@@ -75,11 +73,9 @@ index c5a31c628ab3..aac5740f1ee9 100644
  int i915_gem_context_create_ioctl(struct drm_device *dev, void *data,
                                  struct drm_file *file);
  int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data,
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 3bc8a58a8d5f..47ffea61c9fa 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -124,10 +124,10 @@ static int get_context_size(struct drm_device *dev)
+@@ -124,10 +124,10 @@ static int get_context_size(struct drm_d
        return ret;
  }
  
@@ -93,7 +89,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
  
        drm_gem_object_unreference(&ctx->obj->base);
        kfree(ctx);
-@@ -145,6 +145,7 @@ create_hw_context(struct drm_device *dev,
+@@ -145,6 +145,7 @@ create_hw_context(struct drm_device *dev
        if (ctx == NULL)
                return ERR_PTR(-ENOMEM);
  
@@ -101,7 +97,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
        ctx->obj = i915_gem_alloc_object(dev, dev_priv->hw_context_size);
        if (ctx->obj == NULL) {
                kfree(ctx);
-@@ -169,18 +170,18 @@ create_hw_context(struct drm_device *dev,
+@@ -169,18 +170,18 @@ create_hw_context(struct drm_device *dev
        if (file_priv == NULL)
                return ctx;
  
@@ -123,7 +119,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
        return ERR_PTR(ret);
  }
  
-@@ -226,7 +227,7 @@ static int create_default_context(struct drm_i915_private *dev_priv)
+@@ -226,7 +227,7 @@ static int create_default_context(struct
  err_unpin:
        i915_gem_object_unpin(ctx->obj);
  err_destroy:
@@ -132,7 +128,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
        return ret;
  }
  
-@@ -262,6 +263,7 @@ void i915_gem_context_init(struct drm_device *dev)
+@@ -262,6 +263,7 @@ void i915_gem_context_init(struct drm_de
  void i915_gem_context_fini(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -140,7 +136,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
  
        if (dev_priv->hw_contexts_disabled)
                return;
-@@ -271,9 +273,8 @@ void i915_gem_context_fini(struct drm_device *dev)
+@@ -271,9 +273,8 @@ void i915_gem_context_fini(struct drm_de
         * other code, leading to spurious errors. */
        intel_gpu_reset(dev);
  
@@ -152,7 +148,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
  }
  
  static int context_idr_cleanup(int id, void *p, void *data)
-@@ -282,8 +283,7 @@ static int context_idr_cleanup(int id, void *p, void *data)
+@@ -282,8 +283,7 @@ static int context_idr_cleanup(int id, v
  
        BUG_ON(id == DEFAULT_CONTEXT_ID);
  
@@ -162,7 +158,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
        return 0;
  }
  
-@@ -512,8 +512,8 @@ int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data,
+@@ -510,8 +510,8 @@ int i915_gem_context_destroy_ioctl(struc
                return -ENOENT;
        }
  
@@ -173,6 +169,3 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644
        mutex_unlock(&dev->struct_mutex);
  
        DRM_DEBUG_DRIVER("HW context %d destroyed\n", args->ctx_id);
--- 
-1.8.5.rc3
-
index ac7c0bc..d61ca23 100644 (file)
@@ -16,15 +16,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 112522f6789581824903f6f72082b5b841a7f0f9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem_context.c | 37 +++++++++++++++++++++------------
- drivers/gpu/drm/i915/intel_ringbuffer.h |  2 +-
+ drivers/gpu/drm/i915/i915_gem_context.c |   37 ++++++++++++++++++++------------
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    2 -
  2 files changed, 25 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index fa7d4a74af22..0407e0a39987 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -361,13 +361,13 @@ mi_set_context(struct intel_ring_buffer *ring,
+@@ -359,13 +359,13 @@ mi_set_context(struct intel_ring_buffer
  static int do_switch(struct i915_hw_context *to)
  {
        struct intel_ring_buffer *ring = to->ring;
@@ -41,7 +39,7 @@ index fa7d4a74af22..0407e0a39987 100644
                return 0;
  
        ret = i915_gem_object_pin(to->obj, CONTEXT_ALIGN, false, false);
-@@ -390,7 +390,7 @@ static int do_switch(struct i915_hw_context *to)
+@@ -388,7 +388,7 @@ static int do_switch(struct i915_hw_cont
  
        if (!to->is_initialized || is_default_context(to))
                hw_flags |= MI_RESTORE_INHIBIT;
@@ -50,7 +48,7 @@ index fa7d4a74af22..0407e0a39987 100644
                hw_flags |= MI_FORCE_RESTORE;
  
        ret = mi_set_context(ring, to, hw_flags);
-@@ -405,9 +405,9 @@ static int do_switch(struct i915_hw_context *to)
+@@ -403,9 +403,9 @@ static int do_switch(struct i915_hw_cont
         * is a bit suboptimal because the retiring can occur simply after the
         * MI_SET_CONTEXT instead of when the next seqno has completed.
         */
@@ -63,7 +61,7 @@ index fa7d4a74af22..0407e0a39987 100644
                /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the
                 * whole damn pipeline, we don't need to explicitly mark the
                 * object dirty. The only exception is that the context must be
-@@ -415,15 +415,26 @@ static int do_switch(struct i915_hw_context *to)
+@@ -413,15 +413,26 @@ static int do_switch(struct i915_hw_cont
                 * able to defer doing this until we know the object would be
                 * swapped, but there is no way to do that yet.
                 */
@@ -72,7 +70,8 @@ index fa7d4a74af22..0407e0a39987 100644
 -              i915_gem_object_unpin(from_obj);
 +              from->obj->dirty = 1;
 +              BUG_ON(from->obj->ring != ring);
-+
+-              drm_gem_object_unreference(&from_obj->base);
 +              ret = i915_add_request(ring, NULL, NULL);
 +              if (ret) {
 +                      /* Too late, we've already scheduled a context switch.
@@ -83,8 +82,7 @@ index fa7d4a74af22..0407e0a39987 100644
 +                      WARN_ON(mi_set_context(ring, from, MI_RESTORE_INHIBIT));
 +                      return ret;
 +              }
--              drm_gem_object_unreference(&from_obj->base);
++
 +              i915_gem_object_unpin(from->obj);
 +              i915_gem_context_unreference(from);
        }
@@ -96,8 +94,6 @@ index fa7d4a74af22..0407e0a39987 100644
        to->is_initialized = true;
  
        return 0;
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index d66208c2c48b..dac1614a1bca 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -135,7 +135,7 @@ struct  intel_ring_buffer {
@@ -109,6 +105,3 @@ index d66208c2c48b..dac1614a1bca 100644
  
        void *private;
  };
--- 
-1.8.5.rc3
-
index c5bde44..be69cbc 100644 (file)
@@ -19,14 +19,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 186507e9e8e89d5920305fdffd8cbba6366da795)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem_context.c | 2 ++
+ drivers/gpu/drm/i915/i915_gem_context.c |    2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 0407e0a39987..604ecd3e3a7f 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -463,6 +463,8 @@ int i915_switch_context(struct intel_ring_buffer *ring,
+@@ -461,6 +461,8 @@ int i915_switch_context(struct intel_rin
        if (dev_priv->hw_contexts_disabled)
                return 0;
  
@@ -35,6 +33,3 @@ index 0407e0a39987..604ecd3e3a7f 100644
        if (ring != &dev_priv->ring[RCS])
                return 0;
  
--- 
-1.8.5.rc3
-
index 449b3c0..4a090e6 100644 (file)
@@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ff57f1b095e7c3ad0720193cd341d8ac1c781156)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 13 +++++++++++++
+ drivers/gpu/drm/i915/intel_display.c |   13 +++++++++++++
  1 file changed, 13 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 4978de91fa5d..35fc69351889 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -9811,6 +9811,9 @@ int intel_modeset_vga_set_state(struct drm_device *dev, bool state)
+@@ -9814,6 +9814,9 @@ int intel_modeset_vga_set_state(struct d
  #include <linux/seq_file.h>
  
  struct intel_display_error_state {
@@ -29,7 +27,7 @@ index 4978de91fa5d..35fc69351889 100644
        struct intel_cursor_error_state {
                u32 control;
                u32 position;
-@@ -9819,6 +9822,7 @@ struct intel_display_error_state {
+@@ -9822,6 +9825,7 @@ struct intel_display_error_state {
        } cursor[I915_MAX_PIPES];
  
        struct intel_pipe_error_state {
@@ -37,7 +35,7 @@ index 4978de91fa5d..35fc69351889 100644
                u32 conf;
                u32 source;
  
-@@ -9853,8 +9857,12 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -9856,8 +9860,12 @@ intel_display_capture_error_state(struct
        if (error == NULL)
                return NULL;
  
@@ -50,7 +48,7 @@ index 4978de91fa5d..35fc69351889 100644
  
                if (INTEL_INFO(dev)->gen <= 6 || IS_VALLEYVIEW(dev)) {
                        error->cursor[i].control = I915_READ(CURCNTR(i));
-@@ -9900,8 +9908,13 @@ intel_display_print_error_state(struct seq_file *m,
+@@ -9903,8 +9911,13 @@ intel_display_print_error_state(struct s
        int i;
  
        seq_printf(m, "Num Pipes: %d\n", INTEL_INFO(dev)->num_pipes);
@@ -64,6 +62,3 @@ index 4978de91fa5d..35fc69351889 100644
                seq_printf(m, "  CONF: %08x\n", error->pipe[i].conf);
                seq_printf(m, "  SRC: %08x\n", error->pipe[i].source);
                seq_printf(m, "  HTOTAL: %08x\n", error->pipe[i].htotal);
--- 
-1.8.5.rc3
-
index bc37343..69dadfa 100644 (file)
@@ -19,14 +19,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 12d217c795071bfee483158e1397c57e8dc3cb76)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 7 +++++++
+ drivers/gpu/drm/i915/intel_display.c |    7 +++++++
  1 file changed, 7 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 35fc69351889..7e3b4663e51d 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -9897,6 +9897,13 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -9900,6 +9900,13 @@ intel_display_capture_error_state(struct
                error->pipe[i].vsync = I915_READ(VSYNC(cpu_transcoder));
        }
  
@@ -40,6 +38,3 @@ index 35fc69351889..7e3b4663e51d 100644
        return error;
  }
  
--- 
-1.8.5.rc3
-
index 0f3d10b..c5a7d63 100644 (file)
@@ -12,18 +12,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 8693a824873a0a97be77c1d5f1e98777f06f7305)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem_context.c | 1 +
- drivers/gpu/drm/i915/intel_ddi.c        | 2 ++
- drivers/gpu/drm/i915/intel_display.c    | 4 ++--
- drivers/gpu/drm/i915/intel_pm.c         | 3 +++
- drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++
+ drivers/gpu/drm/i915/i915_gem_context.c |    1 +
+ drivers/gpu/drm/i915/intel_ddi.c        |    2 ++
+ drivers/gpu/drm/i915/intel_display.c    |    4 ++--
+ drivers/gpu/drm/i915/intel_pm.c         |    3 +++
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    2 ++
  5 files changed, 10 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 604ecd3e3a7f..59b536a7f773 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -333,6 +333,7 @@ mi_set_context(struct intel_ring_buffer *ring,
+@@ -331,6 +331,7 @@ mi_set_context(struct intel_ring_buffer
        if (ret)
                return ret;
  
@@ -31,11 +29,9 @@ index 604ecd3e3a7f..59b536a7f773 100644
        if (IS_GEN7(ring->dev))
                intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE);
        else
-diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
-index 46181000f6bd..217308ec3b3d 100644
 --- a/drivers/gpu/drm/i915/intel_ddi.c
 +++ b/drivers/gpu/drm/i915/intel_ddi.c
-@@ -174,6 +174,8 @@ void hsw_fdi_link_train(struct drm_crtc *crtc)
+@@ -174,6 +174,8 @@ void hsw_fdi_link_train(struct drm_crtc
         * mode set "sequence for CRT port" document:
         * - TP1 to TP2 time with the default value
         * - FDI delay to 90h
@@ -44,11 +40,9 @@ index 46181000f6bd..217308ec3b3d 100644
         */
        I915_WRITE(_FDI_RXA_MISC, FDI_RX_PWRDN_LANE1_VAL(2) |
                                  FDI_RX_PWRDN_LANE0_VAL(2) |
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index f3d8e0915d7f..e43dad8d28bb 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -4121,8 +4121,8 @@ static int intel_crtc_compute_config(struct drm_crtc *crtc,
+@@ -4121,8 +4121,8 @@ static int intel_crtc_compute_config(str
        if (!pipe_config->timings_set)
                drm_mode_set_crtcinfo(adjusted_mode, 0);
  
@@ -59,11 +53,9 @@ index f3d8e0915d7f..e43dad8d28bb 100644
         */
        if ((INTEL_INFO(dev)->gen > 4 || IS_G4X(dev)) &&
                adjusted_mode->hsync_start == adjusted_mode->hdisplay)
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 89fe32002246..f88cfbedc90e 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -4586,6 +4586,7 @@ static void __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv)
+@@ -4586,6 +4586,7 @@ static void __gen6_gt_force_wake_get(str
                            FORCEWAKE_ACK_TIMEOUT_MS))
                DRM_ERROR("Timed out waiting for forcewake to ack request.\n");
  
@@ -71,7 +63,7 @@ index 89fe32002246..f88cfbedc90e 100644
        __gen6_gt_wait_for_thread_c0(dev_priv);
  }
  
-@@ -4617,6 +4618,7 @@ static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv)
+@@ -4617,6 +4618,7 @@ static void __gen6_gt_force_wake_mt_get(
                            FORCEWAKE_ACK_TIMEOUT_MS))
                DRM_ERROR("Timed out waiting for forcewake to ack request.\n");
  
@@ -79,7 +71,7 @@ index 89fe32002246..f88cfbedc90e 100644
        __gen6_gt_wait_for_thread_c0(dev_priv);
  }
  
-@@ -4720,6 +4722,7 @@ static void vlv_force_wake_get(struct drm_i915_private *dev_priv)
+@@ -4720,6 +4722,7 @@ static void vlv_force_wake_get(struct dr
                            FORCEWAKE_ACK_TIMEOUT_MS))
                DRM_ERROR("Timed out waiting for media to ack forcewake request.\n");
  
@@ -87,11 +79,9 @@ index 89fe32002246..f88cfbedc90e 100644
        __gen6_gt_wait_for_thread_c0(dev_priv);
  }
  
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 48fe23e8d180..d99ff99b07b2 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -511,6 +511,8 @@ static int init_render_ring(struct intel_ring_buffer *ring)
+@@ -511,6 +511,8 @@ static int init_render_ring(struct intel
        /* We need to disable the AsyncFlip performance optimisations in order
         * to use MI_WAIT_FOR_EVENT within the CS. It should already be
         * programmed to '1' on all products.
@@ -100,6 +90,3 @@ index 48fe23e8d180..d99ff99b07b2 100644
         */
        if (INTEL_INFO(dev)->gen >= 6)
                I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE));
--- 
-1.8.5.rc3
-
index bb98dfe..1dedd06 100644 (file)
@@ -18,23 +18,21 @@ Conflicts:
        drivers/gpu/drm/i915/intel_sdvo.c
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c      |   8 +--
- drivers/gpu/drm/i915/i915_drv.h      |  57 +++++++++++---------
- drivers/gpu/drm/i915/intel_bios.c    | 100 +++++++++++++++++------------------
- drivers/gpu/drm/i915/intel_crt.c     |   4 +-
- drivers/gpu/drm/i915/intel_display.c |  12 ++---
- drivers/gpu/drm/i915/intel_dp.c      |  18 +++----
- drivers/gpu/drm/i915/intel_lvds.c    |  16 +++---
- drivers/gpu/drm/i915/intel_pm.c      |   2 +-
- drivers/gpu/drm/i915/intel_sdvo.c    |  24 ++++-----
- drivers/gpu/drm/i915/intel_tv.c      |   8 +--
+ drivers/gpu/drm/i915/i915_dma.c      |    8 +-
+ drivers/gpu/drm/i915/i915_drv.h      |   57 +++++++++++--------
+ drivers/gpu/drm/i915/intel_bios.c    |  100 +++++++++++++++++------------------
+ drivers/gpu/drm/i915/intel_crt.c     |    4 -
+ drivers/gpu/drm/i915/intel_display.c |   12 ++--
+ drivers/gpu/drm/i915/intel_dp.c      |   18 +++---
+ drivers/gpu/drm/i915/intel_lvds.c    |   16 ++---
+ drivers/gpu/drm/i915/intel_pm.c      |    2 
+ drivers/gpu/drm/i915/intel_sdvo.c    |   24 +++-----
+ drivers/gpu/drm/i915/intel_tv.c      |    8 +-
  10 files changed, 127 insertions(+), 122 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 68a57031db2c..18caacf647d0 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1744,10 +1744,10 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1752,10 +1752,10 @@ int i915_driver_unload(struct drm_device
                 * free the memory space allocated for the child device
                 * config parsed from VBT
                 */
@@ -49,8 +47,6 @@ index 68a57031db2c..18caacf647d0 100644
                }
  
                vga_switcheroo_unregister_client(dev->pdev);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 05752eb2eb0c..dc2997828af1 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -892,6 +892,37 @@ enum modeset_restore {
@@ -140,11 +136,9 @@ index 05752eb2eb0c..dc2997828af1 100644
  
        bool mchbar_need_disable;
  
-diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
-index 95070b2124c6..53f2bed8bc5f 100644
 --- a/drivers/gpu/drm/i915/intel_bios.c
 +++ b/drivers/gpu/drm/i915/intel_bios.c
-@@ -212,7 +212,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
+@@ -212,7 +212,7 @@ parse_lfp_panel_data(struct drm_i915_pri
        if (!lvds_options)
                return;
  
@@ -153,7 +147,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
        if (lvds_options->panel_type == 0xff)
                return;
  
-@@ -226,7 +226,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
+@@ -226,7 +226,7 @@ parse_lfp_panel_data(struct drm_i915_pri
        if (!lvds_lfp_data_ptrs)
                return;
  
@@ -162,7 +156,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
  
        panel_dvo_timing = get_lvds_dvo_timing(lvds_lfp_data,
                                               lvds_lfp_data_ptrs,
-@@ -238,7 +238,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
+@@ -238,7 +238,7 @@ parse_lfp_panel_data(struct drm_i915_pri
  
        fill_detail_timing_data(panel_fixed_mode, panel_dvo_timing);
  
@@ -171,7 +165,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
  
        DRM_DEBUG_KMS("Found panel mode in BIOS VBT tables:\n");
        drm_mode_debug_printmodeline(panel_fixed_mode);
-@@ -274,9 +274,9 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
+@@ -274,9 +274,9 @@ parse_lfp_panel_data(struct drm_i915_pri
                /* check the resolution, just to be sure */
                if (fp_timing->x_res == panel_fixed_mode->hdisplay &&
                    fp_timing->y_res == panel_fixed_mode->vdisplay) {
@@ -183,7 +177,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
                }
        }
  }
-@@ -316,7 +316,7 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv,
+@@ -316,7 +316,7 @@ parse_sdvo_panel_data(struct drm_i915_pr
  
        fill_detail_timing_data(panel_fixed_mode, dvo_timing + index);
  
@@ -192,7 +186,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
  
        DRM_DEBUG_KMS("Found SDVO panel mode in BIOS VBT tables:\n");
        drm_mode_debug_printmodeline(panel_fixed_mode);
-@@ -345,20 +345,20 @@ parse_general_features(struct drm_i915_private *dev_priv,
+@@ -345,20 +345,20 @@ parse_general_features(struct drm_i915_p
  
        general = find_section(bdb, BDB_GENERAL_FEATURES);
        if (general) {
@@ -225,7 +219,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
        }
  }
  
-@@ -375,7 +375,7 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
+@@ -375,7 +375,7 @@ parse_general_definitions(struct drm_i91
                        int bus_pin = general->crt_ddc_gmbus_pin;
                        DRM_DEBUG_KMS("crt_ddc_bus_pin: %d\n", bus_pin);
                        if (intel_gmbus_is_port_valid(bus_pin))
@@ -234,7 +228,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
                } else {
                        DRM_DEBUG_KMS("BDB_GD too small (%d). Invalid.\n",
                                      block_size);
-@@ -486,7 +486,7 @@ parse_driver_features(struct drm_i915_private *dev_priv,
+@@ -486,7 +486,7 @@ parse_driver_features(struct drm_i915_pr
  
        if (SUPPORTS_EDP(dev) &&
            driver->lvds_config == BDB_DRIVER_FEATURE_EDP)
@@ -243,7 +237,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
  
        if (driver->dual_frequency)
                dev_priv->render_reclock_avail = true;
-@@ -501,20 +501,20 @@ parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
+@@ -501,20 +501,20 @@ parse_edp(struct drm_i915_private *dev_p
  
        edp = find_section(bdb, BDB_EDP);
        if (!edp) {
@@ -268,7 +262,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
                break;
        }
  
-@@ -522,48 +522,48 @@ parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
+@@ -522,48 +522,48 @@ parse_edp(struct drm_i915_private *dev_p
        edp_pps = &edp->power_seqs[panel_type];
        edp_link_params = &edp->link_params[panel_type];
  
@@ -330,7 +324,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
                break;
        }
  }
-@@ -611,13 +611,13 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
+@@ -611,13 +611,13 @@ parse_device_mapping(struct drm_i915_pri
                DRM_DEBUG_KMS("no child dev is parsed from VBT\n");
                return;
        }
@@ -347,7 +341,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
        count = 0;
        for (i = 0; i < child_device_num; i++) {
                p_child = &(p_defs->devices[i]);
-@@ -625,7 +625,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
+@@ -625,7 +625,7 @@ parse_device_mapping(struct drm_i915_pri
                        /* skip the device block if device type is invalid */
                        continue;
                }
@@ -356,7 +350,7 @@ index 95070b2124c6..53f2bed8bc5f 100644
                count++;
                memcpy((void *)child_dev_ptr, (void *)p_child,
                                        sizeof(*p_child));
-@@ -638,23 +638,23 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
+@@ -638,23 +638,23 @@ init_vbt_defaults(struct drm_i915_privat
  {
        struct drm_device *dev = dev_priv->dev;
  
@@ -389,11 +383,9 @@ index 95070b2124c6..53f2bed8bc5f 100644
  }
  
  static int __init intel_no_opregion_vbt_callback(const struct dmi_system_id *id)
-diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index 1b9ebf4b77fc..66a0c6f0bb81 100644
 --- a/drivers/gpu/drm/i915/intel_crt.c
 +++ b/drivers/gpu/drm/i915/intel_crt.c
-@@ -435,7 +435,7 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
+@@ -435,7 +435,7 @@ static bool intel_crt_detect_ddc(struct
  
        BUG_ON(crt->base.type != INTEL_OUTPUT_ANALOG);
  
@@ -402,7 +394,7 @@ index 1b9ebf4b77fc..66a0c6f0bb81 100644
        edid = intel_crt_get_edid(connector, i2c);
  
        if (edid) {
-@@ -641,7 +641,7 @@ static int intel_crt_get_modes(struct drm_connector *connector)
+@@ -641,7 +641,7 @@ static int intel_crt_get_modes(struct dr
        int ret;
        struct i2c_adapter *i2c;
  
@@ -411,11 +403,9 @@ index 1b9ebf4b77fc..66a0c6f0bb81 100644
        ret = intel_crt_ddc_get_modes(connector, i2c);
        if (ret || !IS_G4X(dev))
                return ret;
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 0cfe23a65439..cd9600956dd7 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -4248,7 +4248,7 @@ static inline bool intel_panel_use_ssc(struct drm_i915_private *dev_priv)
+@@ -4248,7 +4248,7 @@ static inline bool intel_panel_use_ssc(s
  {
        if (i915_panel_use_ssc >= 0)
                return i915_panel_use_ssc != 0;
@@ -424,7 +414,7 @@ index 0cfe23a65439..cd9600956dd7 100644
                && !(dev_priv->quirks & QUIRK_LVDS_SSC_DISABLE);
  }
  
-@@ -4284,7 +4284,7 @@ static int i9xx_get_refclk(struct drm_crtc *crtc, int num_connectors)
+@@ -4284,7 +4284,7 @@ static int i9xx_get_refclk(struct drm_cr
                refclk = vlv_get_refclk(crtc);
        } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) &&
            intel_panel_use_ssc(dev_priv) && num_connectors < 2) {
@@ -433,7 +423,7 @@ index 0cfe23a65439..cd9600956dd7 100644
                DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n",
                              refclk / 1000);
        } else if (!IS_GEN2(dev)) {
-@@ -5036,7 +5036,7 @@ static void ironlake_init_pch_refclk(struct drm_device *dev)
+@@ -5036,7 +5036,7 @@ static void ironlake_init_pch_refclk(str
        }
  
        if (HAS_PCH_IBX(dev)) {
@@ -442,7 +432,7 @@ index 0cfe23a65439..cd9600956dd7 100644
                can_ssc = has_ck505;
        } else {
                has_ck505 = false;
-@@ -5348,8 +5348,8 @@ static int ironlake_get_refclk(struct drm_crtc *crtc)
+@@ -5348,8 +5348,8 @@ static int ironlake_get_refclk(struct dr
  
        if (is_lvds && intel_panel_use_ssc(dev_priv) && num_connectors < 2) {
                DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n",
@@ -453,7 +443,7 @@ index 0cfe23a65439..cd9600956dd7 100644
        }
  
        return 120000;
-@@ -5628,7 +5628,7 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc,
+@@ -5628,7 +5628,7 @@ static uint32_t ironlake_compute_dpll(st
        factor = 21;
        if (is_lvds) {
                if ((intel_panel_use_ssc(dev_priv) &&
@@ -462,11 +452,9 @@ index 0cfe23a65439..cd9600956dd7 100644
                    (HAS_PCH_IBX(dev) && intel_is_dual_link_lvds(dev)))
                        factor = 25;
        } else if (intel_crtc->config.sdvo_tv_clock)
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 58186ba367d1..848d3d436f7e 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -738,10 +738,10 @@ intel_dp_compute_config(struct intel_encoder *encoder,
+@@ -738,10 +738,10 @@ intel_dp_compute_config(struct intel_enc
         * recomments. This means we'll up-dither 16bpp framebuffers on
         * high-depth panels.
         */
@@ -480,7 +468,7 @@ index 58186ba367d1..848d3d436f7e 100644
        }
  
        for (; bpp >= 6*3; bpp -= 2*3) {
-@@ -2795,11 +2795,11 @@ bool intel_dpd_is_edp(struct drm_device *dev)
+@@ -2795,11 +2795,11 @@ bool intel_dpd_is_edp(struct drm_device
        struct child_device_config *p_child;
        int i;
  
@@ -495,7 +483,7 @@ index 58186ba367d1..848d3d436f7e 100644
  
                if (p_child->dvo_port == PORT_IDPD &&
                    p_child->device_type == DEVICE_TYPE_eDP)
-@@ -2877,7 +2877,7 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
+@@ -2877,7 +2877,7 @@ intel_dp_init_panel_power_sequencer(stru
        DRM_DEBUG_KMS("cur t1_t3 %d t8 %d t9 %d t10 %d t11_t12 %d\n",
                      cur.t1_t3, cur.t8, cur.t9, cur.t10, cur.t11_t12);
  
@@ -504,7 +492,7 @@ index 58186ba367d1..848d3d436f7e 100644
  
        /* Upper limits from eDP 1.3 spec. Note that we use the clunky units of
         * our hw here, which are all in 100usec. */
-@@ -3147,8 +3147,8 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3147,8 +3147,8 @@ intel_dp_init_connector(struct intel_dig
                }
  
                /* fallback to VBT if available for eDP */
@@ -515,11 +503,9 @@ index 58186ba367d1..848d3d436f7e 100644
                        if (fixed_mode)
                                fixed_mode->type |= DRM_MODE_TYPE_PREFERRED;
                }
-diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index b314ef3ee644..04da66914757 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
-@@ -767,11 +767,11 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev,
+@@ -767,11 +767,11 @@ static bool lvds_is_present_in_vbt(struc
        struct drm_i915_private *dev_priv = dev->dev_private;
        int i;
  
@@ -534,7 +520,7 @@ index b314ef3ee644..04da66914757 100644
  
                /* If the device type is not LFP, continue.
                 * We have to check both the new identifiers as well as the
-@@ -859,7 +859,7 @@ static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder)
+@@ -859,7 +859,7 @@ static bool compute_is_dual_link_lvds(st
         */
        val = I915_READ(lvds_encoder->reg);
        if (!(val & ~(LVDS_PIPE_MASK | LVDS_DETECTED)))
@@ -543,7 +529,7 @@ index b314ef3ee644..04da66914757 100644
  
        return (val & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP;
  }
-@@ -919,7 +919,7 @@ bool intel_lvds_init(struct drm_device *dev)
+@@ -919,7 +919,7 @@ bool intel_lvds_init(struct drm_device *
        if (HAS_PCH_SPLIT(dev)) {
                if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0)
                        return false;
@@ -552,7 +538,7 @@ index b314ef3ee644..04da66914757 100644
                        DRM_DEBUG_KMS("disable LVDS for eDP support\n");
                        return false;
                }
-@@ -1037,11 +1037,11 @@ bool intel_lvds_init(struct drm_device *dev)
+@@ -1037,11 +1037,11 @@ bool intel_lvds_init(struct drm_device *
        }
  
        /* Failed to get EDID, what about VBT? */
@@ -567,11 +553,9 @@ index b314ef3ee644..04da66914757 100644
                if (fixed_mode) {
                        fixed_mode->type |= DRM_MODE_TYPE_PREFERRED;
                        goto out;
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 787813bb61c2..df200a67492f 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3889,7 +3889,7 @@ static void cpt_init_clock_gating(struct drm_device *dev)
+@@ -3889,7 +3889,7 @@ static void cpt_init_clock_gating(struct
                val = I915_READ(TRANS_CHICKEN2(pipe));
                val |= TRANS_CHICKEN2_TIMING_OVERRIDE;
                val &= ~TRANS_CHICKEN2_FDI_POLARITY_REVERSED;
@@ -580,11 +564,9 @@ index 787813bb61c2..df200a67492f 100644
                        val |= TRANS_CHICKEN2_FDI_POLARITY_REVERSED;
                val &= ~TRANS_CHICKEN2_FRAME_START_DELAY_MASK;
                val &= ~TRANS_CHICKEN2_DISABLE_DEEP_COLOR_COUNTER;
-diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
-index 03831c95b228..474fa8addab1 100644
 --- a/drivers/gpu/drm/i915/intel_sdvo.c
 +++ b/drivers/gpu/drm/i915/intel_sdvo.c
-@@ -1526,7 +1526,7 @@ intel_sdvo_get_analog_edid(struct drm_connector *connector)
+@@ -1526,7 +1526,7 @@ intel_sdvo_get_analog_edid(struct drm_co
  
        return drm_get_edid(connector,
                            intel_gmbus_get_adapter(dev_priv,
@@ -593,7 +575,7 @@ index 03831c95b228..474fa8addab1 100644
  }
  
  static enum drm_connector_status
-@@ -1800,21 +1800,12 @@ static void intel_sdvo_get_lvds_modes(struct drm_connector *connector)
+@@ -1800,21 +1800,12 @@ static void intel_sdvo_get_lvds_modes(st
        struct drm_display_mode *newmode;
  
        /*
@@ -618,7 +600,7 @@ index 03831c95b228..474fa8addab1 100644
                if (newmode != NULL) {
                        /* Guarantee the mode is preferred */
                        newmode->type = (DRM_MODE_TYPE_PREFERRED |
-@@ -1823,6 +1814,13 @@ static void intel_sdvo_get_lvds_modes(struct drm_connector *connector)
+@@ -1823,6 +1814,13 @@ static void intel_sdvo_get_lvds_modes(st
                }
        }
  
@@ -632,11 +614,9 @@ index 03831c95b228..474fa8addab1 100644
        list_for_each_entry(newmode, &connector->probed_modes, head) {
                if (newmode->type & DRM_MODE_TYPE_PREFERRED) {
                        intel_sdvo->sdvo_lvds_fixed_mode =
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index a202d8d08c56..a2fb39dede3c 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1529,12 +1529,12 @@ static int tv_is_present_in_vbt(struct drm_device *dev)
+@@ -1529,12 +1529,12 @@ static int tv_is_present_in_vbt(struct d
        struct child_device_config *p_child;
        int i, ret;
  
@@ -661,6 +641,3 @@ index a202d8d08c56..a2fb39dede3c 100644
                return;
  
        /*
--- 
-1.8.5.rc3
-
index 55bf6ae..8ed8881 100644 (file)
@@ -11,11 +11,9 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit 1c0f6749e86a990eca10499c8da2b04888ce4560)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 42 ++++-------------------------------------
+ drivers/gpu/drm/i915/i915_dma.c |   42 +++-------------------------------------
  1 file changed, 4 insertions(+), 38 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 18caacf647d0..29bb1303e662 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -42,7 +42,6 @@
@@ -26,7 +24,7 @@ index 18caacf647d0..29bb1303e662 100644
  
  #define LP_RING(d) (&((struct drm_i915_private *)(d))->ring[RCS])
  
-@@ -1397,29 +1396,6 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master)
+@@ -1405,29 +1404,6 @@ void i915_master_destroy(struct drm_devi
        master->driver_priv = NULL;
  }
  
@@ -56,7 +54,7 @@ index 18caacf647d0..29bb1303e662 100644
  static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
  {
        struct apertures_struct *ap;
-@@ -1587,8 +1563,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1595,8 +1571,8 @@ int i915_driver_load(struct drm_device *
                goto out_rmmap;
        }
  
@@ -67,7 +65,7 @@ index 18caacf647d0..29bb1303e662 100644
  
        /* The i915 workqueue is primarily used for batched retirement of
         * requests (and thus managing bo) once the task has been completed
-@@ -1686,12 +1662,7 @@ out_gem_unload:
+@@ -1694,12 +1670,7 @@ out_gem_unload:
        intel_teardown_mchbar(dev);
        destroy_workqueue(dev_priv->wq);
  out_mtrrfree:
@@ -81,7 +79,7 @@ index 18caacf647d0..29bb1303e662 100644
        io_mapping_free(dev_priv->gtt.mappable);
        dev_priv->gtt.gtt_remove(dev);
  out_rmmap:
-@@ -1726,12 +1697,7 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1734,12 +1705,7 @@ int i915_driver_unload(struct drm_device
        cancel_delayed_work_sync(&dev_priv->mm.retire_work);
  
        io_mapping_free(dev_priv->gtt.mappable);
@@ -95,6 +93,3 @@ index 18caacf647d0..29bb1303e662 100644
  
        acpi_video_unregister();
  
--- 
-1.8.5.rc3
-
index 7c60b13..16b52db 100644 (file)
@@ -21,17 +21,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit edc3d8848dc9fe2a470316363dab8ef211d77e01)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c  | 242 ++++++++++++++++++++++++++---------
- drivers/gpu/drm/i915/i915_drv.h      |  16 ++-
- drivers/gpu/drm/i915/intel_display.c |  54 ++++----
- drivers/gpu/drm/i915/intel_overlay.c |  13 +-
- 4 files changed, 232 insertions(+), 93 deletions(-)
+ drivers/gpu/drm/i915/i915_debugfs.c  |  242 ++++++++++++++++++++++++++---------
+ drivers/gpu/drm/i915/i915_drv.h      |   16 ++
+ drivers/gpu/drm/i915/intel_display.c |   52 +++----
+ drivers/gpu/drm/i915/intel_overlay.c |   13 +
+ 4 files changed, 231 insertions(+), 92 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index a55630a80f83..3a8409a31266 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -604,15 +604,80 @@ static const char *purgeable_flag(int purgeable)
+@@ -604,15 +604,80 @@ static const char *purgeable_flag(int pu
        return purgeable ? " purgeable" : "";
  }
  
@@ -115,7 +113,7 @@ index a55630a80f83..3a8409a31266 100644
                           err->gtt_offset,
                           err->size,
                           err->read_domains,
-@@ -627,50 +692,50 @@ static void print_error_buffers(struct seq_file *m,
+@@ -627,50 +692,50 @@ static void print_error_buffers(struct s
                           cache_level_str(err->cache_level));
  
                if (err->name)
@@ -204,7 +202,7 @@ index a55630a80f83..3a8409a31266 100644
        struct drm_device *dev = error_priv->dev;
        drm_i915_private_t *dev_priv = dev->dev_private;
        struct drm_i915_error_state *error = error_priv->error;
-@@ -688,34 +755,35 @@ static int i915_error_state(struct seq_file *m, void *unused)
+@@ -688,34 +755,35 @@ static int i915_error_state(struct seq_f
        int i, j, page, offset, elt;
  
        if (!error) {
@@ -255,7 +253,7 @@ index a55630a80f83..3a8409a31266 100644
  
        for_each_ring(ring, dev_priv, i)
                i915_ring_error_state(m, dev, error, i);
-@@ -734,24 +802,25 @@ static int i915_error_state(struct seq_file *m, void *unused)
+@@ -734,24 +802,25 @@ static int i915_error_state(struct seq_f
                struct drm_i915_error_object *obj;
  
                if ((obj = error->ring[i].batchbuffer)) {
@@ -285,7 +283,7 @@ index a55630a80f83..3a8409a31266 100644
                                           error->ring[i].requests[j].seqno,
                                           error->ring[i].requests[j].jiffies,
                                           error->ring[i].requests[j].tail);
-@@ -759,13 +828,13 @@ static int i915_error_state(struct seq_file *m, void *unused)
+@@ -759,13 +828,13 @@ static int i915_error_state(struct seq_f
                }
  
                if ((obj = error->ring[i].ringbuffer)) {
@@ -301,7 +299,7 @@ index a55630a80f83..3a8409a31266 100644
                                                   offset,
                                                   obj->pages[page][elt]);
                                        offset += 4;
-@@ -775,12 +844,12 @@ static int i915_error_state(struct seq_file *m, void *unused)
+@@ -775,12 +844,12 @@ static int i915_error_state(struct seq_f
  
                obj = error->ring[i].ctx;
                if (obj) {
@@ -316,7 +314,7 @@ index a55630a80f83..3a8409a31266 100644
                                           offset,
                                           obj->pages[0][elt],
                                           obj->pages[0][elt+1],
-@@ -806,8 +875,7 @@ i915_error_state_write(struct file *filp,
+@@ -806,8 +875,7 @@ i915_error_state_write(struct file *filp
                       size_t cnt,
                       loff_t *ppos)
  {
@@ -326,7 +324,7 @@ index a55630a80f83..3a8409a31266 100644
        struct drm_device *dev = error_priv->dev;
        int ret;
  
-@@ -842,25 +910,81 @@ static int i915_error_state_open(struct inode *inode, struct file *file)
+@@ -842,25 +910,81 @@ static int i915_error_state_open(struct
                kref_get(&error_priv->error->ref);
        spin_unlock_irqrestore(&dev_priv->gpu_error.lock, flags);
  
@@ -413,8 +411,6 @@ index a55630a80f83..3a8409a31266 100644
        .write = i915_error_state_write,
        .llseek = default_llseek,
        .release = i915_error_state_release,
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 4ab1e4266da0..e8c1ffbc9db3 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -827,6 +827,15 @@ struct i915_gem_mm {
@@ -433,7 +429,7 @@ index 4ab1e4266da0..e8c1ffbc9db3 100644
  struct i915_gpu_error {
        /* For hangcheck timer */
  #define DRM_I915_HANGCHECK_PERIOD 1500 /* in ms */
-@@ -1822,6 +1831,8 @@ void i915_gem_dump_object(struct drm_i915_gem_object *obj, int len,
+@@ -1822,6 +1831,8 @@ void i915_gem_dump_object(struct drm_i91
  /* i915_debugfs.c */
  int i915_debugfs_init(struct drm_minor *minor);
  void i915_debugfs_cleanup(struct drm_minor *minor);
@@ -442,7 +438,7 @@ index 4ab1e4266da0..e8c1ffbc9db3 100644
  
  /* i915_suspend.c */
  extern int i915_save_state(struct drm_device *dev);
-@@ -1903,10 +1914,11 @@ int i915_reg_read_ioctl(struct drm_device *dev, void *data,
+@@ -1903,10 +1914,11 @@ int i915_reg_read_ioctl(struct drm_devic
  /* overlay */
  #ifdef CONFIG_DEBUG_FS
  extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev);
@@ -456,11 +452,9 @@ index 4ab1e4266da0..e8c1ffbc9db3 100644
                                            struct drm_device *dev,
                                            struct intel_display_error_state *error);
  #endif
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index e62a9770cf71..121fc5d31c7d 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -9905,48 +9905,50 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -9908,48 +9908,50 @@ intel_display_capture_error_state(struct
        return error;
  }
  
@@ -494,10 +488,6 @@ index e62a9770cf71..121fc5d31c7d 100644
 -              seq_printf(m, "  VTOTAL: %08x\n", error->pipe[i].vtotal);
 -              seq_printf(m, "  VBLANK: %08x\n", error->pipe[i].vblank);
 -              seq_printf(m, "  VSYNC: %08x\n", error->pipe[i].vsync);
--
--              seq_printf(m, "Plane [%d]:\n", i);
--              seq_printf(m, "  CNTR: %08x\n", error->plane[i].control);
--              seq_printf(m, "  STRIDE: %08x\n", error->plane[i].stride);
 +              err_printf(m, "  CONF: %08x\n", error->pipe[i].conf);
 +              err_printf(m, "  SRC: %08x\n", error->pipe[i].source);
 +              err_printf(m, "  HTOTAL: %08x\n", error->pipe[i].htotal);
@@ -506,7 +496,10 @@ index e62a9770cf71..121fc5d31c7d 100644
 +              err_printf(m, "  VTOTAL: %08x\n", error->pipe[i].vtotal);
 +              err_printf(m, "  VBLANK: %08x\n", error->pipe[i].vblank);
 +              err_printf(m, "  VSYNC: %08x\n", error->pipe[i].vsync);
-+
+-              seq_printf(m, "Plane [%d]:\n", i);
+-              seq_printf(m, "  CNTR: %08x\n", error->plane[i].control);
+-              seq_printf(m, "  STRIDE: %08x\n", error->plane[i].stride);
 +              err_printf(m, "Plane [%d]:\n", i);
 +              err_printf(m, "  CNTR: %08x\n", error->plane[i].control);
 +              err_printf(m, "  STRIDE: %08x\n", error->plane[i].stride);
@@ -537,8 +530,6 @@ index e62a9770cf71..121fc5d31c7d 100644
        }
  }
  #endif
-diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index 67a2501d519d..836794b68fc6 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
 @@ -1485,14 +1485,15 @@ err:
@@ -563,6 +554,3 @@ index 67a2501d519d..836794b68fc6 100644
        P(OBUF_0Y);
        P(OBUF_1Y);
        P(OBUF_0U);
--- 
-1.8.5.rc3
-
index fdd1d5c..44cc4e9 100644 (file)
@@ -24,14 +24,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit f64e29227d80cc15c37c7dbf7030ffc8c415cbd4)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 2 +-
+ drivers/gpu/drm/i915/i915_dma.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 29bb1303e662..09233f9c5640 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1407,7 +1407,7 @@ static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
+@@ -1415,7 +1415,7 @@ static void i915_kick_out_firmware_fb(st
                return;
  
        ap->ranges[0].base = dev_priv->gtt.mappable_base;
@@ -40,6 +38,3 @@ index 29bb1303e662..09233f9c5640 100644
  
        primary =
                pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
--- 
-1.8.5.rc3
-
index 19b33c9..4a6531d 100644 (file)
@@ -11,14 +11,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit dd62eabd1d54336a2d5d3758ab4393cd13254102)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 2 ++
+ drivers/gpu/drm/i915/i915_dma.c |    2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 09233f9c5640..d9ee7e82a4a1 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1360,6 +1360,7 @@ cleanup_gem:
+@@ -1368,6 +1368,7 @@ cleanup_gem:
        i915_gem_cleanup_ringbuffer(dev);
        mutex_unlock(&dev->struct_mutex);
        i915_gem_cleanup_aliasing_ppgtt(dev);
@@ -26,7 +24,7 @@ index 09233f9c5640..d9ee7e82a4a1 100644
  cleanup_irq:
        drm_irq_uninstall(dev);
  cleanup_gem_stolen:
-@@ -1746,6 +1747,7 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1754,6 +1755,7 @@ int i915_driver_unload(struct drm_device
                        i915_free_hws(dev);
        }
  
@@ -34,6 +32,3 @@ index 09233f9c5640..d9ee7e82a4a1 100644
        if (dev_priv->regs != NULL)
                pci_iounmap(dev->pdev, dev_priv->regs);
  
--- 
-1.8.5.rc3
-
index 77cbcc2..1bf6bd5 100644 (file)
@@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 55d23285745b1be7bd25a2a4ba5ba79e05ab843a)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 1 +
+ drivers/gpu/drm/i915/i915_dma.c |    1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index d9ee7e82a4a1..57198f4bdf2c 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1358,6 +1358,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1366,6 +1366,7 @@ static int i915_load_modeset_init(struct
  cleanup_gem:
        mutex_lock(&dev->struct_mutex);
        i915_gem_cleanup_ringbuffer(dev);
@@ -31,6 +29,3 @@ index d9ee7e82a4a1..57198f4bdf2c 100644
        mutex_unlock(&dev->struct_mutex);
        i915_gem_cleanup_aliasing_ppgtt(dev);
        drm_mm_takedown(&dev_priv->mm.gtt_space);
--- 
-1.8.5.rc3
-
index 5a7777c..fe1d00b 100644 (file)
@@ -9,14 +9,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 6640aab6f2aed89470bc44c7450b7573659e651e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 2 ++
+ drivers/gpu/drm/i915/i915_dma.c |    2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 57198f4bdf2c..0a61f6f6948d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1758,6 +1758,8 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1766,6 +1766,8 @@ int i915_driver_unload(struct drm_device
        destroy_workqueue(dev_priv->wq);
        pm_qos_remove_request(&dev_priv->pm_qos);
  
@@ -25,6 +23,3 @@ index 57198f4bdf2c..0a61f6f6948d 100644
        if (dev_priv->slab)
                kmem_cache_destroy(dev_priv->slab);
  
--- 
-1.8.5.rc3
-
index a317067..893008d 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit a1f2cc73c762868435ae6ec9126bb2240337c61c)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 3 +++
- include/uapi/drm/i915_drm.h     | 2 +-
+ drivers/gpu/drm/i915/i915_dma.c |    3 +++
+ include/uapi/drm/i915_drm.h     |    2 +-
  2 files changed, 4 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 0a61f6f6948d..d392d8fb146e 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -955,6 +955,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
+@@ -963,6 +963,9 @@ static int i915_getparam(struct drm_devi
        case I915_PARAM_HAS_BLT:
                value = intel_ring_initialized(&dev_priv->ring[BCS]);
                break;
@@ -31,8 +29,6 @@ index 0a61f6f6948d..d392d8fb146e 100644
        case I915_PARAM_HAS_RELAXED_FENCING:
                value = 1;
                break;
-diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
-index 81b99817198e..923ed7fe5775 100644
 --- a/include/uapi/drm/i915_drm.h
 +++ b/include/uapi/drm/i915_drm.h
 @@ -305,7 +305,7 @@ typedef struct drm_i915_irq_wait {
@@ -44,6 +40,3 @@ index 81b99817198e..923ed7fe5775 100644
  #define I915_PARAM_HAS_SECURE_BATCHES  23
  #define I915_PARAM_HAS_PINNED_BATCHES  24
  #define I915_PARAM_HAS_EXEC_NO_RELOC   25
--- 
-1.8.5.rc3
-
index 6ce398e..fded118 100644 (file)
@@ -13,14 +13,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e29c32da531dfd94cffb150fd69760605739fb3a)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 3 +--
+ drivers/gpu/drm/i915/i915_dma.c |    3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index d392d8fb146e..cd2a5f3f7db6 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1001,8 +1001,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
+@@ -1009,8 +1009,7 @@ static int i915_getparam(struct drm_devi
                value = 1;
                break;
        default:
@@ -30,6 +28,3 @@ index d392d8fb146e..cd2a5f3f7db6 100644
                return -EINVAL;
        }
  
--- 
-1.8.5.rc3
-
index 1f88ead..0365257 100644 (file)
@@ -16,19 +16,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit a38911a3fede294e2adfd2deea8104dfbbd760c5)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c  |  6 +++
- drivers/gpu/drm/i915/i915_drv.h  | 12 ++++++
- drivers/gpu/drm/i915/intel_drv.h |  4 ++
- drivers/gpu/drm/i915/intel_pm.c  | 81 ++++++++++++++++++++++++++++++++++++----
- include/drm/i915_powerwell.h     | 36 ++++++++++++++++++
+ drivers/gpu/drm/i915/i915_dma.c  |    6 ++
+ drivers/gpu/drm/i915/i915_drv.h  |   12 +++++
+ drivers/gpu/drm/i915/intel_drv.h |    4 +
+ drivers/gpu/drm/i915/intel_pm.c  |   81 +++++++++++++++++++++++++++++++++++----
+ include/drm/i915_powerwell.h     |   36 +++++++++++++++++
  5 files changed, 132 insertions(+), 7 deletions(-)
  create mode 100644 include/drm/i915_powerwell.h
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index cd2a5f3f7db6..628f797358bb 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1634,6 +1634,9 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1642,6 +1642,9 @@ int i915_driver_load(struct drm_device *
        /* Start out suspended */
        dev_priv->mm.suspended = 1;
  
@@ -38,7 +36,7 @@ index cd2a5f3f7db6..628f797358bb 100644
        if (drm_core_check_feature(dev, DRIVER_MODESET)) {
                ret = i915_load_modeset_init(dev);
                if (ret < 0) {
-@@ -1685,6 +1688,9 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1693,6 +1696,9 @@ int i915_driver_unload(struct drm_device
  
        intel_gpu_ips_teardown();
  
@@ -48,8 +46,6 @@ index cd2a5f3f7db6..628f797358bb 100644
        i915_teardown_sysfs(dev);
  
        if (dev_priv->mm.inactive_shrinker.shrink)
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 5297b1fe3a2c..fec0c8f56e05 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -741,6 +741,15 @@ struct intel_ilk_power_mgmt {
@@ -78,11 +74,9 @@ index 5297b1fe3a2c..fec0c8f56e05 100644
        enum no_fbc_reason no_fbc_reason;
  
        struct drm_mm_node *compressed_fb;
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 915d2693e1a0..0e5897cb8d48 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -768,6 +768,10 @@ extern void intel_update_fbc(struct drm_device *dev);
+@@ -768,6 +768,10 @@ extern void intel_update_fbc(struct drm_
  extern void intel_gpu_ips_init(struct drm_i915_private *dev_priv);
  extern void intel_gpu_ips_teardown(void);
  
@@ -93,11 +87,9 @@ index 915d2693e1a0..0e5897cb8d48 100644
  extern bool intel_display_power_enabled(struct drm_device *dev,
                                        enum intel_display_power_domain domain);
  extern void intel_init_power_well(struct drm_device *dev);
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index da49e46062e1..e3aa054417d6 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -5024,18 +5024,12 @@ bool intel_display_power_enabled(struct drm_device *dev,
+@@ -5024,18 +5024,12 @@ bool intel_display_power_enabled(struct
        }
  }
  
@@ -117,7 +109,7 @@ index da49e46062e1..e3aa054417d6 100644
        tmp = I915_READ(HSW_PWR_WELL_DRIVER);
        is_enabled = tmp & HSW_PWR_WELL_STATE;
        enable_requested = tmp & HSW_PWR_WELL_ENABLE;
-@@ -5058,6 +5052,79 @@ void intel_set_power_well(struct drm_device *dev, bool enable)
+@@ -5058,6 +5052,79 @@ void intel_set_power_well(struct drm_dev
        }
  }
  
@@ -197,9 +189,6 @@ index da49e46062e1..e3aa054417d6 100644
  /*
   * Starting with Haswell, we have a "Power Down Well" that can be turned off
   * when not needed anymore. We have 4 registers that can request the power well
-diff --git a/include/drm/i915_powerwell.h b/include/drm/i915_powerwell.h
-new file mode 100644
-index 000000000000..cfdc884405b7
 --- /dev/null
 +++ b/include/drm/i915_powerwell.h
 @@ -0,0 +1,36 @@
@@ -239,6 +228,3 @@ index 000000000000..cfdc884405b7
 +extern void i915_release_power_well(void);
 +
 +#endif                                /* _I915_POWERWELL_H_ */
--- 
-1.8.5.rc3
-
index 4ac351c..9840617 100644 (file)
@@ -16,15 +16,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e59ec13de40ed1edd19940322ebd009423fd716d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c |  2 +-
- drivers/gpu/drm/i915/i915_drv.h | 10 ++++++++++
+ drivers/gpu/drm/i915/i915_dma.c |    2 +-
+ drivers/gpu/drm/i915/i915_drv.h |   10 ++++++++++
  2 files changed, 11 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 628f797358bb..f4669802a0fb 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1782,7 +1782,7 @@ int i915_driver_open(struct drm_device *dev, struct drm_file *file)
+@@ -1790,7 +1790,7 @@ int i915_driver_open(struct drm_device *
        struct drm_i915_file_private *file_priv;
  
        DRM_DEBUG_DRIVER("\n");
@@ -33,8 +31,6 @@ index 628f797358bb..f4669802a0fb 100644
        if (!file_priv)
                return -ENOMEM;
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 0b7d8fd1685b..95b19a53aa26 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -508,6 +508,13 @@ struct i915_hw_ppgtt {
@@ -68,6 +64,3 @@ index 0b7d8fd1685b..95b19a53aa26 100644
  };
  
  #define INTEL_INFO(dev)       (((struct drm_i915_private *) (dev)->dev_private)->info)
--- 
-1.8.5.rc3
-
index fbdf526..ec740ed 100644 (file)
@@ -20,19 +20,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 0025c0772de7451c2302fa628f038b213a0783bf)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h            |  8 +++++---
- drivers/gpu/drm/i915/i915_gem.c            | 11 +++++------
- drivers/gpu/drm/i915/i915_gem_context.c    |  2 +-
- drivers/gpu/drm/i915/i915_gem_execbuffer.c |  2 +-
- drivers/gpu/drm/i915/intel_overlay.c       |  4 ++--
- drivers/gpu/drm/i915/intel_ringbuffer.c    |  2 +-
+ drivers/gpu/drm/i915/i915_drv.h            |    8 +++++---
+ drivers/gpu/drm/i915/i915_gem.c            |   11 +++++------
+ drivers/gpu/drm/i915/i915_gem_context.c    |    2 +-
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    2 +-
+ drivers/gpu/drm/i915/intel_overlay.c       |    4 ++--
+ drivers/gpu/drm/i915/intel_ringbuffer.c    |    2 +-
  6 files changed, 15 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index dcf5db4c0d8f..3d8ae61ffe3b 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -1758,9 +1758,11 @@ void i915_gem_init_swizzling(struct drm_device *dev);
+@@ -1758,9 +1758,11 @@ void i915_gem_init_swizzling(struct drm_
  void i915_gem_cleanup_ringbuffer(struct drm_device *dev);
  int __must_check i915_gpu_idle(struct drm_device *dev);
  int __must_check i915_gem_idle(struct drm_device *dev);
@@ -47,11 +45,9 @@ index dcf5db4c0d8f..3d8ae61ffe3b 100644
  int __must_check i915_wait_seqno(struct intel_ring_buffer *ring,
                                 uint32_t seqno);
  int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 694af6db61a2..6671b8e11e55 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -956,7 +956,7 @@ i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno)
+@@ -956,7 +956,7 @@ i915_gem_check_olr(struct intel_ring_buf
  
        ret = 0;
        if (seqno == ring->outstanding_lazy_request)
@@ -60,7 +56,7 @@ index 694af6db61a2..6671b8e11e55 100644
  
        return ret;
  }
-@@ -2011,10 +2011,9 @@ i915_gem_get_seqno(struct drm_device *dev, u32 *seqno)
+@@ -2011,10 +2011,9 @@ i915_gem_get_seqno(struct drm_device *de
        return 0;
  }
  
@@ -74,7 +70,7 @@ index 694af6db61a2..6671b8e11e55 100644
  {
        drm_i915_private_t *dev_priv = ring->dev->dev_private;
        struct drm_i915_gem_request *request;
-@@ -2290,7 +2289,7 @@ i915_gem_retire_work_handler(struct work_struct *work)
+@@ -2290,7 +2289,7 @@ i915_gem_retire_work_handler(struct work
        idle = true;
        for_each_ring(ring, dev_priv, i) {
                if (ring->gpu_caches_dirty)
@@ -83,11 +79,9 @@ index 694af6db61a2..6671b8e11e55 100644
  
                idle &= list_empty(&ring->request_list);
        }
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index e3e62aac413c..51b7a2171cae 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -455,7 +455,7 @@ static int do_switch(struct i915_hw_context *to)
+@@ -453,7 +453,7 @@ static int do_switch(struct i915_hw_cont
                from->obj->dirty = 1;
                BUG_ON(from->obj->ring != ring);
  
@@ -96,11 +90,9 @@ index e3e62aac413c..51b7a2171cae 100644
                if (ret) {
                        /* Too late, we've already scheduled a context switch.
                         * Try to undo the change so that the hw state is
-diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index c98333d74111..d79ac7aa55d4 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -802,7 +802,7 @@ i915_gem_execbuffer_retire_commands(struct drm_device *dev,
+@@ -802,7 +802,7 @@ i915_gem_execbuffer_retire_commands(stru
        ring->gpu_caches_dirty = true;
  
        /* Add a breadcrumb for the completion of the batch buffer */
@@ -109,11 +101,9 @@ index c98333d74111..d79ac7aa55d4 100644
  }
  
  static int
-diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index 836794b68fc6..a3698812e9c7 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
-@@ -217,7 +217,7 @@ static int intel_overlay_do_wait_request(struct intel_overlay *overlay,
+@@ -217,7 +217,7 @@ static int intel_overlay_do_wait_request
        int ret;
  
        BUG_ON(overlay->last_flip_req);
@@ -122,7 +112,7 @@ index 836794b68fc6..a3698812e9c7 100644
        if (ret)
                return ret;
  
-@@ -286,7 +286,7 @@ static int intel_overlay_continue(struct intel_overlay *overlay,
+@@ -286,7 +286,7 @@ static int intel_overlay_continue(struct
        intel_ring_emit(ring, flip_addr);
        intel_ring_advance(ring);
  
@@ -131,11 +121,9 @@ index 836794b68fc6..a3698812e9c7 100644
  }
  
  static void intel_overlay_release_old_vid_tail(struct intel_overlay *overlay)
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 1d4a7ee41881..a81647023139 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1523,7 +1523,7 @@ int intel_ring_idle(struct intel_ring_buffer *ring)
+@@ -1523,7 +1523,7 @@ int intel_ring_idle(struct intel_ring_bu
  
        /* We need to add any requests required to flush the objects and ring */
        if (ring->outstanding_lazy_request) {
@@ -144,6 +132,3 @@ index 1d4a7ee41881..a81647023139 100644
                if (ret)
                        return ret;
        }
--- 
-1.8.5.rc3
-
index 1faf287..4466288 100644 (file)
@@ -51,14 +51,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 63b66e5ba54b15a6592be00555d762db6db739ce)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 86 ++++++++++++++++++++++++------------
+ drivers/gpu/drm/i915/intel_display.c |   86 +++++++++++++++++++++++------------
  1 file changed, 57 insertions(+), 29 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index f0701147a68a..bde6a5547568 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10046,6 +10046,8 @@ struct intel_display_error_state {
+@@ -10049,6 +10049,8 @@ struct intel_display_error_state {
  
        u32 power_well_driver;
  
@@ -67,7 +65,7 @@ index f0701147a68a..bde6a5547568 100644
        struct intel_cursor_error_state {
                u32 control;
                u32 position;
-@@ -10054,16 +10056,7 @@ struct intel_display_error_state {
+@@ -10057,16 +10059,7 @@ struct intel_display_error_state {
        } cursor[I915_MAX_PIPES];
  
        struct intel_pipe_error_state {
@@ -84,7 +82,7 @@ index f0701147a68a..bde6a5547568 100644
        } pipe[I915_MAX_PIPES];
  
        struct intel_plane_error_state {
-@@ -10075,6 +10068,19 @@ struct intel_display_error_state {
+@@ -10078,6 +10071,19 @@ struct intel_display_error_state {
                u32 surface;
                u32 tile_offset;
        } plane[I915_MAX_PIPES];
@@ -104,7 +102,7 @@ index f0701147a68a..bde6a5547568 100644
  };
  
  struct intel_display_error_state *
-@@ -10082,9 +10088,17 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -10085,9 +10091,17 @@ intel_display_capture_error_state(struct
  {
        drm_i915_private_t *dev_priv = dev->dev_private;
        struct intel_display_error_state *error;
@@ -123,7 +121,7 @@ index f0701147a68a..bde6a5547568 100644
        error = kmalloc(sizeof(*error), GFP_ATOMIC);
        if (error == NULL)
                return NULL;
-@@ -10093,9 +10107,6 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -10096,9 +10110,6 @@ intel_display_capture_error_state(struct
                error->power_well_driver = I915_READ(HSW_PWR_WELL_DRIVER);
  
        for_each_pipe(i) {
@@ -133,7 +131,7 @@ index f0701147a68a..bde6a5547568 100644
                if (INTEL_INFO(dev)->gen <= 6 || IS_VALLEYVIEW(dev)) {
                        error->cursor[i].control = I915_READ(CURCNTR(i));
                        error->cursor[i].position = I915_READ(CURPOS(i));
-@@ -10119,14 +10130,25 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -10122,14 +10133,25 @@ intel_display_capture_error_state(struct
                        error->plane[i].tile_offset = I915_READ(DSPTILEOFF(i));
                }
  
@@ -166,7 +164,7 @@ index f0701147a68a..bde6a5547568 100644
        }
  
        /* In the code above we read the registers without checking if the power
-@@ -10148,22 +10170,16 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m,
+@@ -10151,22 +10173,16 @@ intel_display_print_error_state(struct d
  {
        int i;
  
@@ -192,7 +190,7 @@ index f0701147a68a..bde6a5547568 100644
  
                err_printf(m, "Plane [%d]:\n", i);
                err_printf(m, "  CNTR: %08x\n", error->plane[i].control);
-@@ -10184,5 +10200,17 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m,
+@@ -10187,5 +10203,17 @@ intel_display_print_error_state(struct d
                err_printf(m, "  POS: %08x\n", error->cursor[i].position);
                err_printf(m, "  BASE: %08x\n", error->cursor[i].base);
        }
@@ -210,6 +208,3 @@ index f0701147a68a..bde6a5547568 100644
 +      }
  }
  #endif
--- 
-1.8.5.rc3
-
index c27f6e2..4c5edbc 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from drm-intel-next-queued)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 8 ++++----
- drivers/gpu/drm/i915/i915_drv.h | 4 ++--
+ drivers/gpu/drm/i915/i915_dma.c |    8 ++++----
+ drivers/gpu/drm/i915/i915_drv.h |    4 ++--
  2 files changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index f4669802a0fb..6995baca9b62 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1567,8 +1567,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1575,8 +1575,8 @@ int i915_driver_load(struct drm_device *
                goto out_rmmap;
        }
  
@@ -32,7 +30,7 @@ index f4669802a0fb..6995baca9b62 100644
  
        /* The i915 workqueue is primarily used for batched retirement of
         * requests (and thus managing bo) once the task has been completed
-@@ -1669,7 +1669,7 @@ out_gem_unload:
+@@ -1677,7 +1677,7 @@ out_gem_unload:
        intel_teardown_mchbar(dev);
        destroy_workqueue(dev_priv->wq);
  out_mtrrfree:
@@ -41,7 +39,7 @@ index f4669802a0fb..6995baca9b62 100644
        io_mapping_free(dev_priv->gtt.mappable);
        dev_priv->gtt.gtt_remove(dev);
  out_rmmap:
-@@ -1707,7 +1707,7 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1715,7 +1715,7 @@ int i915_driver_unload(struct drm_device
        cancel_delayed_work_sync(&dev_priv->mm.retire_work);
  
        io_mapping_free(dev_priv->gtt.mappable);
@@ -50,8 +48,6 @@ index f4669802a0fb..6995baca9b62 100644
  
        acpi_video_unregister();
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 4bd72bf26049..cd31abf92e1d 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -470,6 +470,8 @@ struct i915_gtt {
@@ -72,6 +68,3 @@ index 4bd72bf26049..cd31abf92e1d 100644
        /** PPGTT used for aliasing the PPGTT with the GTT */
        struct i915_hw_ppgtt *aliasing_ppgtt;
  
--- 
-1.8.5.rc3
-
index 1c59991..ec92148 100644 (file)
@@ -33,28 +33,26 @@ Conflicts:
        e13af9a8340685cfe25d0c9f708da7121e0f51dd)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c        | 26 +++++----
- drivers/gpu/drm/i915/i915_drv.h            | 31 +++++++++++
- drivers/gpu/drm/i915/i915_gem.c            | 89 +++++++++++++++---------------
- drivers/gpu/drm/i915/i915_gem_context.c    |  2 +-
- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 19 ++++---
- drivers/gpu/drm/i915/i915_gem_gtt.c        |  8 +--
- drivers/gpu/drm/i915/i915_gem_tiling.c     | 14 ++---
- drivers/gpu/drm/i915/i915_irq.c            | 15 +++--
- drivers/gpu/drm/i915/i915_trace.h          |  8 +--
- drivers/gpu/drm/i915/intel_display.c       | 28 +++++-----
- drivers/gpu/drm/i915/intel_fb.c            |  8 +--
- drivers/gpu/drm/i915/intel_overlay.c       | 14 ++---
- drivers/gpu/drm/i915/intel_pm.c            |  8 +--
- drivers/gpu/drm/i915/intel_ringbuffer.c    | 12 ++--
- drivers/gpu/drm/i915/intel_sprite.c        |  8 ++-
+ drivers/gpu/drm/i915/i915_debugfs.c        |   26 ++++----
+ drivers/gpu/drm/i915/i915_drv.h            |   31 ++++++++++
+ drivers/gpu/drm/i915/i915_gem.c            |   89 ++++++++++++++---------------
+ drivers/gpu/drm/i915/i915_gem_context.c    |    2 
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |   19 +++---
+ drivers/gpu/drm/i915/i915_gem_gtt.c        |    8 +-
+ drivers/gpu/drm/i915/i915_gem_tiling.c     |   14 ++--
+ drivers/gpu/drm/i915/i915_irq.c            |   15 ++--
+ drivers/gpu/drm/i915/i915_trace.h          |    8 +-
+ drivers/gpu/drm/i915/intel_display.c       |   28 ++++-----
+ drivers/gpu/drm/i915/intel_fb.c            |    8 +-
+ drivers/gpu/drm/i915/intel_overlay.c       |   14 ++--
+ drivers/gpu/drm/i915/intel_pm.c            |    8 +-
+ drivers/gpu/drm/i915/intel_ringbuffer.c    |   12 +--
+ drivers/gpu/drm/i915/intel_sprite.c        |    8 +-
  15 files changed, 164 insertions(+), 126 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 3e36756d0439..396387ed207a 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -122,9 +122,9 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+@@ -122,9 +122,9 @@ describe_obj(struct seq_file *m, struct
                seq_printf(m, " (pinned x %d)", obj->pin_count);
        if (obj->fence_reg != I915_FENCE_REG_NONE)
                seq_printf(m, " (fence: %d)", obj->fence_reg);
@@ -67,7 +65,7 @@ index 3e36756d0439..396387ed207a 100644
        if (obj->stolen)
                seq_printf(m, " (stolen: %08lx)", obj->stolen->start);
        if (obj->pin_mappable || obj->fault_mappable) {
-@@ -175,7 +175,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
+@@ -175,7 +175,7 @@ static int i915_gem_object_list_info(str
                describe_obj(m, obj);
                seq_putc(m, '\n');
                total_obj_size += obj->base.size;
@@ -76,7 +74,7 @@ index 3e36756d0439..396387ed207a 100644
                count++;
        }
        mutex_unlock(&dev->struct_mutex);
-@@ -187,10 +187,10 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
+@@ -187,10 +187,10 @@ static int i915_gem_object_list_info(str
  
  #define count_objects(list, member) do { \
        list_for_each_entry(obj, list, member) { \
@@ -89,7 +87,7 @@ index 3e36756d0439..396387ed207a 100644
                        ++mappable_count; \
                } \
        } \
-@@ -209,7 +209,7 @@ static int per_file_stats(int id, void *ptr, void *data)
+@@ -209,7 +209,7 @@ static int per_file_stats(int id, void *
        stats->count++;
        stats->total += obj->base.size;
  
@@ -98,7 +96,7 @@ index 3e36756d0439..396387ed207a 100644
                if (!list_empty(&obj->ring_list))
                        stats->active += obj->base.size;
                else
-@@ -267,11 +267,11 @@ static int i915_gem_object_info(struct seq_file *m, void *data)
+@@ -267,11 +267,11 @@ static int i915_gem_object_info(struct s
        size = count = mappable_size = mappable_count = 0;
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) {
                if (obj->fault_mappable) {
@@ -112,7 +110,7 @@ index 3e36756d0439..396387ed207a 100644
                        ++mappable_count;
                }
                if (obj->madv == I915_MADV_DONTNEED) {
-@@ -333,7 +333,7 @@ static int i915_gem_gtt_info(struct seq_file *m, void *data)
+@@ -333,7 +333,7 @@ static int i915_gem_gtt_info(struct seq_
                describe_obj(m, obj);
                seq_putc(m, '\n');
                total_obj_size += obj->base.size;
@@ -121,7 +119,7 @@ index 3e36756d0439..396387ed207a 100644
                count++;
        }
  
-@@ -379,12 +379,14 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
+@@ -379,12 +379,14 @@ static int i915_gem_pageflip_info(struct
                        if (work->old_fb_obj) {
                                struct drm_i915_gem_object *obj = work->old_fb_obj;
                                if (obj)
@@ -138,8 +136,6 @@ index 3e36756d0439..396387ed207a 100644
                        }
                }
                spin_unlock_irqrestore(&dev->event_lock, flags);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 8e40123f6a12..ccf9bfa54c08 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1362,6 +1362,37 @@ struct drm_i915_gem_object {
@@ -180,11 +176,9 @@ index 8e40123f6a12..ccf9bfa54c08 100644
  /**
   * Request queue structure.
   *
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index d9e2208cfe98..e43a35dcff63 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -135,7 +135,7 @@ int i915_mutex_lock_interruptible(struct drm_device *dev)
+@@ -135,7 +135,7 @@ int i915_mutex_lock_interruptible(struct
  static inline bool
  i915_gem_object_is_inactive(struct drm_i915_gem_object *obj)
  {
@@ -193,7 +187,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  }
  
  int
-@@ -178,7 +178,7 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
+@@ -178,7 +178,7 @@ i915_gem_get_aperture_ioctl(struct drm_d
        mutex_lock(&dev->struct_mutex);
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list)
                if (obj->pin_count)
@@ -202,7 +196,7 @@ index d9e2208cfe98..e43a35dcff63 100644
        mutex_unlock(&dev->struct_mutex);
  
        args->aper_size = dev_priv->gtt.total;
-@@ -422,7 +422,7 @@ i915_gem_shmem_pread(struct drm_device *dev,
+@@ -422,7 +422,7 @@ i915_gem_shmem_pread(struct drm_device *
                 * anyway again before the next pread happens. */
                if (obj->cache_level == I915_CACHE_NONE)
                        needs_clflush = 1;
@@ -211,7 +205,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                        ret = i915_gem_object_set_to_gtt_domain(obj, false);
                        if (ret)
                                return ret;
-@@ -609,7 +609,7 @@ i915_gem_gtt_pwrite_fast(struct drm_device *dev,
+@@ -609,7 +609,7 @@ i915_gem_gtt_pwrite_fast(struct drm_devi
        user_data = to_user_ptr(args->data_ptr);
        remain = args->size;
  
@@ -220,7 +214,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  
        while (remain > 0) {
                /* Operation in this page
-@@ -739,7 +739,7 @@ i915_gem_shmem_pwrite(struct drm_device *dev,
+@@ -739,7 +739,7 @@ i915_gem_shmem_pwrite(struct drm_device
                 * right away and we therefore have to clflush anyway. */
                if (obj->cache_level == I915_CACHE_NONE)
                        needs_clflush_after = 1;
@@ -229,7 +223,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                        ret = i915_gem_object_set_to_gtt_domain(obj, true);
                        if (ret)
                                return ret;
-@@ -1360,8 +1360,9 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+@@ -1360,8 +1360,9 @@ int i915_gem_fault(struct vm_area_struct
  
        obj->fault_mappable = true;
  
@@ -241,7 +235,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  
        /* Finally, remap it using the new GTT offset */
        ret = vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, pfn);
-@@ -1667,7 +1668,7 @@ i915_gem_object_put_pages(struct drm_i915_gem_object *obj)
+@@ -1667,7 +1668,7 @@ i915_gem_object_put_pages(struct drm_i91
        if (obj->pages == NULL)
                return 0;
  
@@ -250,7 +244,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  
        if (obj->pages_pin_count)
                return -EBUSY;
-@@ -2121,8 +2122,8 @@ i915_gem_request_remove_from_client(struct drm_i915_gem_request *request)
+@@ -2121,8 +2122,8 @@ i915_gem_request_remove_from_client(stru
  
  static bool i915_head_inside_object(u32 acthd, struct drm_i915_gem_object *obj)
  {
@@ -261,7 +255,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                return true;
  
        return false;
-@@ -2180,11 +2181,11 @@ static void i915_set_reset_status(struct intel_ring_buffer *ring,
+@@ -2180,11 +2181,11 @@ static void i915_set_reset_status(struct
  
        if (ring->hangcheck.action != wait &&
            i915_request_guilty(request, acthd, &inside)) {
@@ -275,7 +269,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                          request->ctx ? request->ctx->id : 0,
                          acthd);
  
-@@ -2595,7 +2596,7 @@ i915_gem_object_unbind(struct drm_i915_gem_object *obj)
+@@ -2595,7 +2596,7 @@ i915_gem_object_unbind(struct drm_i915_g
        drm_i915_private_t *dev_priv = obj->base.dev->dev_private;
        int ret;
  
@@ -284,7 +278,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                return 0;
  
        if (obj->pin_count)
-@@ -2691,12 +2692,12 @@ static void i965_write_fence_reg(struct drm_device *dev, int reg,
+@@ -2691,12 +2692,12 @@ static void i965_write_fence_reg(struct
        POSTING_READ(fence_reg);
  
        if (obj) {
@@ -300,7 +294,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                val |= (uint64_t)((obj->stride / 128) - 1) << fence_pitch_shift;
                if (obj->tiling_mode == I915_TILING_Y)
                        val |= 1 << I965_FENCE_TILING_Y_SHIFT;
-@@ -2720,15 +2721,15 @@ static void i915_write_fence_reg(struct drm_device *dev, int reg,
+@@ -2720,15 +2721,15 @@ static void i915_write_fence_reg(struct
        u32 val;
  
        if (obj) {
@@ -321,7 +315,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  
                if (obj->tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev))
                        tile_width = 128;
-@@ -2739,7 +2740,7 @@ static void i915_write_fence_reg(struct drm_device *dev, int reg,
+@@ -2739,7 +2740,7 @@ static void i915_write_fence_reg(struct
                pitch_val = obj->stride / tile_width;
                pitch_val = ffs(pitch_val) - 1;
  
@@ -330,7 +324,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                if (obj->tiling_mode == I915_TILING_Y)
                        val |= 1 << I830_FENCE_TILING_Y_SHIFT;
                val |= I915_FENCE_SIZE_BITS(size);
-@@ -2764,19 +2765,19 @@ static void i830_write_fence_reg(struct drm_device *dev, int reg,
+@@ -2764,19 +2765,19 @@ static void i830_write_fence_reg(struct
        uint32_t val;
  
        if (obj) {
@@ -356,7 +350,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                if (obj->tiling_mode == I915_TILING_Y)
                        val |= 1 << I830_FENCE_TILING_Y_SHIFT;
                val |= I830_FENCE_SIZE_BITS(size);
-@@ -3030,8 +3031,8 @@ static void i915_gem_verify_gtt(struct drm_device *dev)
+@@ -3030,8 +3031,8 @@ static void i915_gem_verify_gtt(struct d
  
                if (obj->cache_level != obj->gtt_space->color) {
                        printk(KERN_ERR "object reserved space [%08lx, %08lx] with wrong color, cache_level=%x, color=%lx\n",
@@ -367,7 +361,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                               obj->cache_level,
                               obj->gtt_space->color);
                        err++;
-@@ -3042,8 +3043,8 @@ static void i915_gem_verify_gtt(struct drm_device *dev)
+@@ -3042,8 +3043,8 @@ static void i915_gem_verify_gtt(struct d
                                              obj->gtt_space,
                                              obj->cache_level)) {
                        printk(KERN_ERR "invalid GTT space found at [%08lx, %08lx] - color=%x\n",
@@ -389,7 +383,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  
        obj->map_and_fenceable = mappable && fenceable;
  
-@@ -3258,7 +3259,7 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write)
+@@ -3258,7 +3259,7 @@ i915_gem_object_set_to_gtt_domain(struct
        int ret;
  
        /* Not valid to be called on unbound objects. */
@@ -398,7 +392,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                return -EINVAL;
  
        if (obj->base.write_domain == I915_GEM_DOMAIN_GTT)
-@@ -3323,7 +3324,7 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj,
+@@ -3323,7 +3324,7 @@ int i915_gem_object_set_cache_level(stru
                        return ret;
        }
  
@@ -407,7 +401,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                ret = i915_gem_object_finish_gpu(obj);
                if (ret)
                        return ret;
-@@ -3346,7 +3347,7 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj,
+@@ -3346,7 +3347,7 @@ int i915_gem_object_set_cache_level(stru
                        i915_ppgtt_bind_object(dev_priv->mm.aliasing_ppgtt,
                                               obj, cache_level);
  
@@ -416,7 +410,7 @@ index d9e2208cfe98..e43a35dcff63 100644
        }
  
        if (cache_level == I915_CACHE_NONE) {
-@@ -3627,14 +3628,14 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
+@@ -3627,14 +3628,14 @@ i915_gem_object_pin(struct drm_i915_gem_
        if (WARN_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT))
                return -EBUSY;
  
@@ -435,7 +429,7 @@ index d9e2208cfe98..e43a35dcff63 100644
                             map_and_fenceable,
                             obj->map_and_fenceable);
                        ret = i915_gem_object_unbind(obj);
-@@ -3643,7 +3644,7 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
+@@ -3643,7 +3644,7 @@ i915_gem_object_pin(struct drm_i915_gem_
                }
        }
  
@@ -453,7 +447,7 @@ index d9e2208cfe98..e43a35dcff63 100644
  
        if (--obj->pin_count == 0)
                obj->pin_mappable = false;
-@@ -3719,7 +3720,7 @@ i915_gem_pin_ioctl(struct drm_device *dev, void *data,
+@@ -3719,7 +3720,7 @@ i915_gem_pin_ioctl(struct drm_device *de
         * as the X server doesn't manage domains yet
         */
        i915_gem_object_flush_cpu_write_domain(obj);
@@ -462,11 +456,9 @@ index d9e2208cfe98..e43a35dcff63 100644
  out:
        drm_gem_object_unreference(&obj->base);
  unlock:
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 51b7a2171cae..2074544682cf 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -377,7 +377,7 @@ mi_set_context(struct intel_ring_buffer *ring,
+@@ -375,7 +375,7 @@ mi_set_context(struct intel_ring_buffer
  
        intel_ring_emit(ring, MI_NOOP);
        intel_ring_emit(ring, MI_SET_CONTEXT);
@@ -475,11 +467,9 @@ index 51b7a2171cae..2074544682cf 100644
                        MI_MM_SPACE_GTT |
                        MI_SAVE_EXT_STATE_EN |
                        MI_RESTORE_EXT_STATE_EN |
-diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 87a3227e5179..5aeb447ead6b 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -188,7 +188,7 @@ i915_gem_execbuffer_relocate_entry(struct drm_i915_gem_object *obj,
+@@ -188,7 +188,7 @@ i915_gem_execbuffer_relocate_entry(struc
                return -ENOENT;
  
        target_i915_obj = to_intel_bo(target_obj);
@@ -488,7 +478,7 @@ index 87a3227e5179..5aeb447ead6b 100644
  
        /* Sandybridge PPGTT errata: We need a global gtt mapping for MI and
         * pipe_control writes because the gpu doesn't properly redirect them
-@@ -280,7 +280,7 @@ i915_gem_execbuffer_relocate_entry(struct drm_i915_gem_object *obj,
+@@ -280,7 +280,7 @@ i915_gem_execbuffer_relocate_entry(struc
                        return ret;
  
                /* Map the page containing the relocation we're going to perform.  */
@@ -497,7 +487,7 @@ index 87a3227e5179..5aeb447ead6b 100644
                reloc_page = io_mapping_map_atomic_wc(dev_priv->gtt.mappable,
                                                      reloc->offset & PAGE_MASK);
                reloc_entry = (uint32_t __iomem *)
-@@ -436,8 +436,8 @@ i915_gem_execbuffer_reserve_object(struct drm_i915_gem_object *obj,
+@@ -436,8 +436,8 @@ i915_gem_execbuffer_reserve_object(struc
                obj->has_aliasing_ppgtt_mapping = 1;
        }
  
@@ -508,7 +498,7 @@ index 87a3227e5179..5aeb447ead6b 100644
                *need_reloc = true;
        }
  
-@@ -458,7 +458,7 @@ i915_gem_execbuffer_unreserve_object(struct drm_i915_gem_object *obj)
+@@ -458,7 +458,7 @@ i915_gem_execbuffer_unreserve_object(str
  {
        struct drm_i915_gem_exec_object2 *entry;
  
@@ -517,7 +507,7 @@ index 87a3227e5179..5aeb447ead6b 100644
                return;
  
        entry = obj->exec_entry;
-@@ -530,7 +530,7 @@ i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring,
+@@ -530,7 +530,7 @@ i915_gem_execbuffer_reserve(struct intel
                        struct drm_i915_gem_exec_object2 *entry = obj->exec_entry;
                        bool need_fence, need_mappable;
  
@@ -526,7 +516,7 @@ index 87a3227e5179..5aeb447ead6b 100644
                                continue;
  
                        need_fence =
-@@ -539,7 +539,8 @@ i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring,
+@@ -539,7 +539,8 @@ i915_gem_execbuffer_reserve(struct intel
                                obj->tiling_mode != I915_TILING_NONE;
                        need_mappable = need_fence || need_reloc_mappable(obj);
  
@@ -536,7 +526,7 @@ index 87a3227e5179..5aeb447ead6b 100644
                            (need_mappable && !obj->map_and_fenceable))
                                ret = i915_gem_object_unbind(obj);
                        else
-@@ -550,7 +551,7 @@ i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring,
+@@ -550,7 +551,7 @@ i915_gem_execbuffer_reserve(struct intel
  
                /* Bind fresh objects */
                list_for_each_entry(obj, objects, exec_list) {
@@ -545,7 +535,7 @@ index 87a3227e5179..5aeb447ead6b 100644
                                continue;
  
                        ret = i915_gem_execbuffer_reserve_object(obj, ring, need_relocs);
-@@ -1058,7 +1059,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1058,7 +1059,7 @@ i915_gem_do_execbuffer(struct drm_device
                        goto err;
        }
  
@@ -554,11 +544,9 @@ index 87a3227e5179..5aeb447ead6b 100644
        exec_len = args->batch_len;
        if (cliprects) {
                for (i = 0; i < args->num_cliprects; i++) {
-diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
-index afba7e5e7739..6f0a4c09e26a 100644
 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
 +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
-@@ -378,7 +378,7 @@ void i915_ppgtt_bind_object(struct i915_hw_ppgtt *ppgtt,
+@@ -378,7 +378,7 @@ void i915_ppgtt_bind_object(struct i915_
                            enum i915_cache_level cache_level)
  {
        ppgtt->insert_entries(ppgtt, obj->pages,
@@ -567,7 +555,7 @@ index afba7e5e7739..6f0a4c09e26a 100644
                              cache_level);
  }
  
-@@ -386,7 +386,7 @@ void i915_ppgtt_unbind_object(struct i915_hw_ppgtt *ppgtt,
+@@ -386,7 +386,7 @@ void i915_ppgtt_unbind_object(struct i91
                              struct drm_i915_gem_object *obj)
  {
        ppgtt->clear_range(ppgtt,
@@ -576,7 +564,7 @@ index afba7e5e7739..6f0a4c09e26a 100644
                           obj->base.size >> PAGE_SHIFT);
  }
  
-@@ -551,7 +551,7 @@ void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj,
+@@ -551,7 +551,7 @@ void i915_gem_gtt_bind_object(struct drm
        struct drm_i915_private *dev_priv = dev->dev_private;
  
        dev_priv->gtt.gtt_insert_entries(dev, obj->pages,
@@ -585,7 +573,7 @@ index afba7e5e7739..6f0a4c09e26a 100644
                                         cache_level);
  
        obj->has_global_gtt_mapping = 1;
-@@ -563,7 +563,7 @@ void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj)
+@@ -563,7 +563,7 @@ void i915_gem_gtt_unbind_object(struct d
        struct drm_i915_private *dev_priv = dev->dev_private;
  
        dev_priv->gtt.gtt_clear_range(obj->base.dev,
@@ -594,11 +582,9 @@ index afba7e5e7739..6f0a4c09e26a 100644
                                      obj->base.size >> PAGE_SHIFT);
  
        obj->has_global_gtt_mapping = 0;
-diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c
-index 537545be69db..92a8d279ca39 100644
 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c
 +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c
-@@ -268,18 +268,18 @@ i915_gem_object_fence_ok(struct drm_i915_gem_object *obj, int tiling_mode)
+@@ -268,18 +268,18 @@ i915_gem_object_fence_ok(struct drm_i915
                return true;
  
        if (INTEL_INFO(obj->base.dev)->gen == 3) {
@@ -621,7 +607,7 @@ index 537545be69db..92a8d279ca39 100644
                return false;
  
        return true;
-@@ -359,8 +359,8 @@ i915_gem_set_tiling(struct drm_device *dev, void *data,
+@@ -359,8 +359,8 @@ i915_gem_set_tiling(struct drm_device *d
                 */
  
                obj->map_and_fenceable =
@@ -632,7 +618,7 @@ index 537545be69db..92a8d279ca39 100644
                         i915_gem_object_fence_ok(obj, args->tiling_mode));
  
                /* Rebind if we need a change of alignment */
-@@ -369,7 +369,7 @@ i915_gem_set_tiling(struct drm_device *dev, void *data,
+@@ -369,7 +369,7 @@ i915_gem_set_tiling(struct drm_device *d
                                i915_gem_get_gtt_alignment(dev, obj->base.size,
                                                            args->tiling_mode,
                                                            false);
@@ -641,11 +627,9 @@ index 537545be69db..92a8d279ca39 100644
                                ret = i915_gem_object_unbind(obj);
                }
  
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 4a98600c6f41..eaa8c1eda17f 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -1554,7 +1554,7 @@ i915_error_object_create_sized(struct drm_i915_private *dev_priv,
+@@ -1554,7 +1554,7 @@ i915_error_object_create_sized(struct dr
        if (dst == NULL)
                return NULL;
  
@@ -654,7 +638,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644
        for (i = 0; i < num_pages; i++) {
                unsigned long flags;
                void *d;
-@@ -1606,7 +1606,6 @@ i915_error_object_create_sized(struct drm_i915_private *dev_priv,
+@@ -1606,7 +1606,6 @@ i915_error_object_create_sized(struct dr
                reloc_offset += PAGE_SIZE;
        }
        dst->page_count = num_pages;
@@ -662,7 +646,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644
  
        return dst;
  
-@@ -1660,7 +1659,7 @@ static void capture_bo(struct drm_i915_error_buffer *err,
+@@ -1660,7 +1659,7 @@ static void capture_bo(struct drm_i915_e
        err->name = obj->base.name;
        err->rseqno = obj->last_read_seqno;
        err->wseqno = obj->last_write_seqno;
@@ -671,7 +655,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644
        err->read_domains = obj->base.read_domains;
        err->write_domain = obj->base.write_domain;
        err->fence_reg = obj->fence_reg;
-@@ -1758,8 +1757,8 @@ i915_error_first_batchbuffer(struct drm_i915_private *dev_priv,
+@@ -1758,8 +1757,8 @@ i915_error_first_batchbuffer(struct drm_
                        return NULL;
  
                obj = ring->private;
@@ -682,7 +666,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644
                        return i915_error_object_create(dev_priv, obj);
        }
  
-@@ -1840,7 +1839,7 @@ static void i915_gem_record_active_context(struct intel_ring_buffer *ring,
+@@ -1840,7 +1839,7 @@ static void i915_gem_record_active_conte
                return;
  
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) {
@@ -691,7 +675,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644
                        ering->ctx = i915_error_object_create_sized(dev_priv,
                                                                    obj, 1);
                        break;
-@@ -2206,10 +2205,10 @@ static void __always_unused i915_pageflip_stall_check(struct drm_device *dev, in
+@@ -2206,10 +2205,10 @@ static void __always_unused i915_pagefli
        if (INTEL_INFO(dev)->gen >= 4) {
                int dspsurf = DSPSURF(intel_crtc->plane);
                stall_detected = I915_HI_DISPBASE(I915_READ(dspsurf)) ==
@@ -704,8 +688,6 @@ index 4a98600c6f41..eaa8c1eda17f 100644
                                                        crtc->y * crtc->fb->pitches[0] +
                                                        crtc->x * crtc->fb->bits_per_pixel/8);
        }
-diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
-index 3db4a6817713..7d283b5fcbf9 100644
 --- a/drivers/gpu/drm/i915/i915_trace.h
 +++ b/drivers/gpu/drm/i915/i915_trace.h
 @@ -46,8 +46,8 @@ TRACE_EVENT(i915_gem_object_bind,
@@ -730,11 +712,9 @@ index 3db4a6817713..7d283b5fcbf9 100644
                           ),
  
            TP_printk("obj=%p, offset=%08x size=%x",
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 9733f275454d..3886db95a688 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -1980,16 +1980,17 @@ static int i9xx_update_plane(struct drm_crtc *crtc, struct drm_framebuffer *fb,
+@@ -1980,16 +1980,17 @@ static int i9xx_update_plane(struct drm_
                intel_crtc->dspaddr_offset = linear_offset;
        }
  
@@ -756,7 +736,7 @@ index 9733f275454d..3886db95a688 100644
        POSTING_READ(reg);
  
        return 0;
-@@ -2069,11 +2070,12 @@ static int ironlake_update_plane(struct drm_crtc *crtc,
+@@ -2069,11 +2070,12 @@ static int ironlake_update_plane(struct
                                               fb->pitches[0]);
        linear_offset -= intel_crtc->dspaddr_offset;
  
@@ -772,7 +752,7 @@ index 9733f275454d..3886db95a688 100644
        if (IS_HASWELL(dev)) {
                I915_WRITE(DSPOFFSET(plane), (y << 16) | x);
        } else {
-@@ -6568,7 +6570,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
+@@ -6568,7 +6570,7 @@ static int intel_crtc_cursor_set(struct
                        goto fail_unpin;
                }
  
@@ -781,7 +761,7 @@ index 9733f275454d..3886db95a688 100644
        } else {
                int align = IS_I830(dev) ? 16 * 1024 : 256;
                ret = i915_gem_attach_phys_object(dev, obj,
-@@ -7340,7 +7342,7 @@ static int intel_gen2_queue_flip(struct drm_device *dev,
+@@ -7340,7 +7342,7 @@ static int intel_gen2_queue_flip(struct
        intel_ring_emit(ring, MI_DISPLAY_FLIP |
                        MI_DISPLAY_FLIP_PLANE(intel_crtc->plane));
        intel_ring_emit(ring, fb->pitches[0]);
@@ -790,7 +770,7 @@ index 9733f275454d..3886db95a688 100644
        intel_ring_emit(ring, 0); /* aux display base address, unused */
  
        intel_mark_page_flip_active(intel_crtc);
-@@ -7381,7 +7383,7 @@ static int intel_gen3_queue_flip(struct drm_device *dev,
+@@ -7381,7 +7383,7 @@ static int intel_gen3_queue_flip(struct
        intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 |
                        MI_DISPLAY_FLIP_PLANE(intel_crtc->plane));
        intel_ring_emit(ring, fb->pitches[0]);
@@ -799,7 +779,7 @@ index 9733f275454d..3886db95a688 100644
        intel_ring_emit(ring, MI_NOOP);
  
        intel_mark_page_flip_active(intel_crtc);
-@@ -7421,7 +7423,7 @@ static int intel_gen4_queue_flip(struct drm_device *dev,
+@@ -7421,7 +7423,7 @@ static int intel_gen4_queue_flip(struct
                        MI_DISPLAY_FLIP_PLANE(intel_crtc->plane));
        intel_ring_emit(ring, fb->pitches[0]);
        intel_ring_emit(ring,
@@ -808,7 +788,7 @@ index 9733f275454d..3886db95a688 100644
                        obj->tiling_mode);
  
        /* XXX Enabling the panel-fitter across page-flip is so far
-@@ -7464,7 +7466,7 @@ static int intel_gen6_queue_flip(struct drm_device *dev,
+@@ -7464,7 +7466,7 @@ static int intel_gen6_queue_flip(struct
        intel_ring_emit(ring, MI_DISPLAY_FLIP |
                        MI_DISPLAY_FLIP_PLANE(intel_crtc->plane));
        intel_ring_emit(ring, fb->pitches[0] | obj->tiling_mode);
@@ -817,7 +797,7 @@ index 9733f275454d..3886db95a688 100644
  
        /* Contrary to the suggestions in the documentation,
         * "Enable Panel Fitter" does not seem to be required when page
-@@ -7529,7 +7531,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
+@@ -7529,7 +7531,7 @@ static int intel_gen7_queue_flip(struct
  
        intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 | plane_bit);
        intel_ring_emit(ring, (fb->pitches[0] | obj->tiling_mode));
@@ -826,11 +806,9 @@ index 9733f275454d..3886db95a688 100644
        intel_ring_emit(ring, (MI_NOOP));
  
        intel_mark_page_flip_active(intel_crtc);
-diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c
-index dff669e2387f..f3c97e05b0d8 100644
 --- a/drivers/gpu/drm/i915/intel_fb.c
 +++ b/drivers/gpu/drm/i915/intel_fb.c
-@@ -139,11 +139,11 @@ static int intelfb_create(struct drm_fb_helper *helper,
+@@ -139,11 +139,11 @@ static int intelfb_create(struct drm_fb_
        info->apertures->ranges[0].base = dev->mode_config.fb_base;
        info->apertures->ranges[0].size = dev_priv->gtt.mappable_end;
  
@@ -844,7 +822,7 @@ index dff669e2387f..f3c97e05b0d8 100644
                           size);
        if (!info->screen_base) {
                ret = -ENOSPC;
-@@ -166,9 +166,9 @@ static int intelfb_create(struct drm_fb_helper *helper,
+@@ -166,9 +166,9 @@ static int intelfb_create(struct drm_fb_
  
        /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
  
@@ -856,11 +834,9 @@ index dff669e2387f..f3c97e05b0d8 100644
  
  
        mutex_unlock(&dev->struct_mutex);
-diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index a3698812e9c7..81c3ca14fa92 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
-@@ -196,7 +196,7 @@ intel_overlay_map_regs(struct intel_overlay *overlay)
+@@ -196,7 +196,7 @@ intel_overlay_map_regs(struct intel_over
                regs = (struct overlay_registers __iomem *)overlay->reg_bo->phys_obj->handle->vaddr;
        else
                regs = io_mapping_map_wc(dev_priv->gtt.mappable,
@@ -869,7 +845,7 @@ index a3698812e9c7..81c3ca14fa92 100644
  
        return regs;
  }
-@@ -740,7 +740,7 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
+@@ -740,7 +740,7 @@ static int intel_overlay_do_put_image(st
        swidth = params->src_w;
        swidthsw = calc_swidthsw(overlay->dev, params->offset_Y, tmp_width);
        sheight = params->src_h;
@@ -878,7 +854,7 @@ index a3698812e9c7..81c3ca14fa92 100644
        ostride = params->stride_Y;
  
        if (params->format & I915_OVERLAY_YUV_PLANAR) {
-@@ -754,8 +754,8 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
+@@ -754,8 +754,8 @@ static int intel_overlay_do_put_image(st
                                      params->src_w/uv_hscale);
                swidthsw |= max_t(u32, tmp_U, tmp_V) << 16;
                sheight |= (params->src_h/uv_vscale) << 16;
@@ -889,7 +865,7 @@ index a3698812e9c7..81c3ca14fa92 100644
                ostride |= params->stride_UV << 16;
        }
  
-@@ -1355,7 +1355,7 @@ void intel_setup_overlay(struct drm_device *dev)
+@@ -1355,7 +1355,7 @@ void intel_setup_overlay(struct drm_devi
                        DRM_ERROR("failed to pin overlay register bo\n");
                        goto out_free_bo;
                }
@@ -898,7 +874,7 @@ index a3698812e9c7..81c3ca14fa92 100644
  
                ret = i915_gem_object_set_to_gtt_domain(reg_bo, true);
                if (ret) {
-@@ -1435,7 +1435,7 @@ intel_overlay_map_regs_atomic(struct intel_overlay *overlay)
+@@ -1435,7 +1435,7 @@ intel_overlay_map_regs_atomic(struct int
                        overlay->reg_bo->phys_obj->handle->vaddr;
        else
                regs = io_mapping_map_atomic_wc(dev_priv->gtt.mappable,
@@ -907,7 +883,7 @@ index a3698812e9c7..81c3ca14fa92 100644
  
        return regs;
  }
-@@ -1468,7 +1468,7 @@ intel_overlay_capture_error_state(struct drm_device *dev)
+@@ -1468,7 +1468,7 @@ intel_overlay_capture_error_state(struct
        if (OVERLAY_NEEDS_PHYSICAL(overlay->dev))
                error->base = (__force long)overlay->reg_bo->phys_obj->handle->vaddr;
        else
@@ -916,11 +892,9 @@ index a3698812e9c7..81c3ca14fa92 100644
  
        regs = intel_overlay_map_regs_atomic(overlay);
        if (!regs)
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index f9d0afd4bd6c..613923a75abe 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -218,7 +218,7 @@ static void ironlake_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
+@@ -218,7 +218,7 @@ static void ironlake_enable_fbc(struct d
                   (stall_watermark << DPFC_RECOMP_STALL_WM_SHIFT) |
                   (interval << DPFC_RECOMP_TIMER_COUNT_SHIFT));
        I915_WRITE(ILK_DPFC_FENCE_YOFF, crtc->y);
@@ -929,7 +903,7 @@ index f9d0afd4bd6c..613923a75abe 100644
        /* enable it... */
        I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl | DPFC_CTL_EN);
  
-@@ -275,7 +275,7 @@ static void gen7_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
+@@ -275,7 +275,7 @@ static void gen7_enable_fbc(struct drm_c
        struct drm_i915_gem_object *obj = intel_fb->obj;
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
  
@@ -938,7 +912,7 @@ index f9d0afd4bd6c..613923a75abe 100644
  
        I915_WRITE(ILK_DPFC_CONTROL, DPFC_CTL_EN | DPFC_CTL_LIMIT_1X |
                   IVB_DPFC_CTL_FENCE_EN |
-@@ -3700,7 +3700,7 @@ static void ironlake_enable_rc6(struct drm_device *dev)
+@@ -3700,7 +3700,7 @@ static void ironlake_enable_rc6(struct d
  
        intel_ring_emit(ring, MI_SUSPEND_FLUSH | MI_SUSPEND_FLUSH_EN);
        intel_ring_emit(ring, MI_SET_CONTEXT);
@@ -947,7 +921,7 @@ index f9d0afd4bd6c..613923a75abe 100644
                        MI_MM_SPACE_GTT |
                        MI_SAVE_EXT_STATE_EN |
                        MI_RESTORE_EXT_STATE_EN |
-@@ -3723,7 +3723,7 @@ static void ironlake_enable_rc6(struct drm_device *dev)
+@@ -3723,7 +3723,7 @@ static void ironlake_enable_rc6(struct d
                return;
        }
  
@@ -956,11 +930,9 @@ index f9d0afd4bd6c..613923a75abe 100644
        I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) & ~RCX_SW_EXIT);
  }
  
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 079ef0129e74..ea6aef5e6fea 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -440,14 +440,14 @@ static int init_ring_common(struct intel_ring_buffer *ring)
+@@ -440,14 +440,14 @@ static int init_ring_common(struct intel
         * registers with the above sequence (the readback of the HEAD registers
         * also enforces ordering), otherwise the hw might lose the new ring
         * register values. */
@@ -977,7 +949,7 @@ index 079ef0129e74..ea6aef5e6fea 100644
                     (I915_READ_HEAD(ring) & HEAD_ADDR) == 0, 50)) {
                DRM_ERROR("%s initialization failed "
                                "ctl %08x head %08x tail %08x start %08x\n",
-@@ -505,7 +505,7 @@ init_pipe_control(struct intel_ring_buffer *ring)
+@@ -505,7 +505,7 @@ init_pipe_control(struct intel_ring_buff
        if (ret)
                goto err_unref;
  
@@ -986,7 +958,7 @@ index 079ef0129e74..ea6aef5e6fea 100644
        pc->cpu_page = kmap(sg_page(obj->pages->sgl));
        if (pc->cpu_page == NULL) {
                ret = -ENOMEM;
-@@ -1156,7 +1156,7 @@ i830_dispatch_execbuffer(struct intel_ring_buffer *ring,
+@@ -1156,7 +1156,7 @@ i830_dispatch_execbuffer(struct intel_ri
                intel_ring_advance(ring);
        } else {
                struct drm_i915_gem_object *obj = ring->private;
@@ -995,7 +967,7 @@ index 079ef0129e74..ea6aef5e6fea 100644
  
                if (len > I830_BATCH_LIMIT)
                        return -ENOSPC;
-@@ -1241,7 +1241,7 @@ static int init_status_page(struct intel_ring_buffer *ring)
+@@ -1241,7 +1241,7 @@ static int init_status_page(struct intel
                goto err_unref;
        }
  
@@ -1004,7 +976,7 @@ index 079ef0129e74..ea6aef5e6fea 100644
        ring->status_page.page_addr = kmap(sg_page(obj->pages->sgl));
        if (ring->status_page.page_addr == NULL) {
                ret = -ENOMEM;
-@@ -1328,7 +1328,7 @@ static int intel_init_ring_buffer(struct drm_device *dev,
+@@ -1328,7 +1328,7 @@ static int intel_init_ring_buffer(struct
                goto err_unpin;
  
        ring->virtual_start =
@@ -1013,11 +985,9 @@ index 079ef0129e74..ea6aef5e6fea 100644
                           ring->size);
        if (ring->virtual_start == NULL) {
                DRM_ERROR("Failed to map ringbuffer.\n");
-diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
-index 1fa5612a4572..55bdf70b548b 100644
 --- a/drivers/gpu/drm/i915/intel_sprite.c
 +++ b/drivers/gpu/drm/i915/intel_sprite.c
-@@ -133,7 +133,7 @@ vlv_update_plane(struct drm_plane *dplane, struct drm_framebuffer *fb,
+@@ -133,7 +133,7 @@ vlv_update_plane(struct drm_plane *dplan
  
        I915_WRITE(SPSIZE(pipe, plane), (crtc_h << 16) | crtc_w);
        I915_WRITE(SPCNTR(pipe, plane), sprctl);
@@ -1026,7 +996,7 @@ index 1fa5612a4572..55bdf70b548b 100644
                             sprsurf_offset);
        POSTING_READ(SPSURF(pipe, plane));
  }
-@@ -308,7 +308,8 @@ ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb,
+@@ -308,7 +308,8 @@ ivb_update_plane(struct drm_plane *plane
        if (intel_plane->can_scale)
                I915_WRITE(SPRSCALE(pipe), sprscale);
        I915_WRITE(SPRCTL(pipe), sprctl);
@@ -1036,7 +1006,7 @@ index 1fa5612a4572..55bdf70b548b 100644
        POSTING_READ(SPRSURF(pipe));
  
        /* potentially re-enable LP watermarks */
-@@ -478,7 +479,8 @@ ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb,
+@@ -478,7 +479,8 @@ ilk_update_plane(struct drm_plane *plane
        I915_WRITE(DVSSIZE(pipe), (crtc_h << 16) | crtc_w);
        I915_WRITE(DVSSCALE(pipe), dvsscale);
        I915_WRITE(DVSCNTR(pipe), dvscntr);
@@ -1046,6 +1016,3 @@ index 1fa5612a4572..55bdf70b548b 100644
        POSTING_READ(DVSSURF(pipe));
  }
  
--- 
-1.8.5.rc3
-
index 2c6c19f..c68f21d 100644 (file)
@@ -37,18 +37,16 @@ Conflicts:
        e13af9a8340685cfe25d0c9f708da7121e0f51dd)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c            | 13 +++-------
- drivers/gpu/drm/i915/i915_drv.c            | 11 +++++---
- drivers/gpu/drm/i915/i915_drv.h            | 24 ++++++++++--------
- drivers/gpu/drm/i915/i915_gem.c            | 40 ++++++++++++++++++------------
- drivers/gpu/drm/i915/i915_gem_execbuffer.c |  2 +-
+ drivers/gpu/drm/i915/i915_dma.c            |   13 ++-------
+ drivers/gpu/drm/i915/i915_drv.c            |   11 +++++--
+ drivers/gpu/drm/i915/i915_drv.h            |   24 ++++++++++-------
+ drivers/gpu/drm/i915/i915_gem.c            |   40 +++++++++++++++++------------
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    2 -
  5 files changed, 50 insertions(+), 40 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 6995baca9b62..240e1ef3c993 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1323,10 +1323,8 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1331,10 +1331,8 @@ static int i915_load_modeset_init(struct
        /* Always safe in the mode setting case. */
        /* FIXME: do pre/post-mode set stuff in core KMS code */
        dev->vblank_disable_allowed = 1;
@@ -60,7 +58,7 @@ index 6995baca9b62..240e1ef3c993 100644
  
        ret = intel_fbdev_init(dev);
        if (ret)
-@@ -1352,9 +1350,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1360,9 +1358,6 @@ static int i915_load_modeset_init(struct
  
        drm_kms_helper_poll_init(dev);
  
@@ -70,7 +68,7 @@ index 6995baca9b62..240e1ef3c993 100644
        return 0;
  
  cleanup_gem:
-@@ -1631,9 +1626,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1639,9 +1634,6 @@ int i915_driver_load(struct drm_device *
                        goto out_gem_unload;
        }
  
@@ -80,7 +78,7 @@ index 6995baca9b62..240e1ef3c993 100644
        if (HAS_POWER_WELL(dev))
                i915_init_power_well(dev);
  
-@@ -1643,6 +1635,9 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1651,6 +1643,9 @@ int i915_driver_load(struct drm_device *
                        DRM_ERROR("failed to init modeset\n");
                        goto out_gem_unload;
                }
@@ -90,11 +88,9 @@ index 6995baca9b62..240e1ef3c993 100644
        }
  
        i915_setup_sysfs(dev);
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 95fe9c2a1449..370f2da5d9c0 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -556,7 +556,11 @@ static int i915_drm_freeze(struct drm_device *dev)
+@@ -556,7 +556,11 @@ static int i915_drm_freeze(struct drm_de
  
        /* If KMS is active, we do the leavevt stuff here */
        if (drm_core_check_feature(dev, DRIVER_MODESET)) {
@@ -107,7 +103,7 @@ index 95fe9c2a1449..370f2da5d9c0 100644
                if (error) {
                        dev_err(&dev->pdev->dev,
                                "GEM idle failed, resume might fail\n");
-@@ -661,7 +665,6 @@ static int __i915_drm_thaw(struct drm_device *dev)
+@@ -661,7 +665,6 @@ static int __i915_drm_thaw(struct drm_de
                intel_init_pch_refclk(dev);
  
                mutex_lock(&dev->struct_mutex);
@@ -129,8 +125,6 @@ index 95fe9c2a1449..370f2da5d9c0 100644
  
                i915_gem_init_swizzling(dev);
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index db64bfefe8c5..eab408e66584 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -815,6 +815,18 @@ struct i915_dri1_state {
@@ -178,11 +172,9 @@ index db64bfefe8c5..eab408e66584 100644
  } drm_i915_private_t;
  
  /* Iterate over initialised rings */
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index ee1f4add3430..5846134574f1 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -2086,7 +2086,7 @@ int __i915_add_request(struct intel_ring_buffer *ring,
+@@ -2086,7 +2086,7 @@ int __i915_add_request(struct intel_ring
        trace_i915_gem_request_add(ring, request->seqno);
        ring->outstanding_lazy_request = 0;
  
@@ -191,7 +183,7 @@ index ee1f4add3430..5846134574f1 100644
                if (i915_enable_hangcheck) {
                        mod_timer(&dev_priv->gpu_error.hangcheck_timer,
                                  round_jiffies_up(jiffies + DRM_I915_HANGCHECK_JIFFIES));
-@@ -2401,7 +2401,7 @@ i915_gem_retire_work_handler(struct work_struct *work)
+@@ -2401,7 +2401,7 @@ i915_gem_retire_work_handler(struct work
                idle &= list_empty(&ring->request_list);
        }
  
@@ -239,7 +231,7 @@ index ee1f4add3430..5846134574f1 100644
        int ret;
  
        if (drm_core_check_feature(dev, DRIVER_MODESET))
-@@ -4229,7 +4220,7 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data,
+@@ -4229,7 +4220,7 @@ i915_gem_entervt_ioctl(struct drm_device
        }
  
        mutex_lock(&dev->struct_mutex);
@@ -248,7 +240,7 @@ index ee1f4add3430..5846134574f1 100644
  
        ret = i915_gem_init_hw(dev);
        if (ret != 0) {
-@@ -4249,7 +4240,7 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data,
+@@ -4249,7 +4240,7 @@ i915_gem_entervt_ioctl(struct drm_device
  cleanup_ringbuffer:
        mutex_lock(&dev->struct_mutex);
        i915_gem_cleanup_ringbuffer(dev);
@@ -285,7 +277,7 @@ index ee1f4add3430..5846134574f1 100644
  }
  
  void
-@@ -4274,9 +4280,11 @@ i915_gem_lastclose(struct drm_device *dev)
+@@ -4274,9 +4280,11 @@ i915_gem_lastclose(struct drm_device *de
        if (drm_core_check_feature(dev, DRIVER_MODESET))
                return;
  
@@ -297,11 +289,9 @@ index ee1f4add3430..5846134574f1 100644
  }
  
  static void
-diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 5aeb447ead6b..64eda4463b70 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -973,7 +973,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -973,7 +973,7 @@ i915_gem_do_execbuffer(struct drm_device
        if (ret)
                goto pre_mutex_err;
  
@@ -310,6 +300,3 @@ index 5aeb447ead6b..64eda4463b70 100644
                mutex_unlock(&dev->struct_mutex);
                ret = -EBUSY;
                goto pre_mutex_err;
--- 
-1.8.5.rc3
-
index b2fa01f..0fa422b 100644 (file)
@@ -26,19 +26,17 @@ Conflicts:
        (context changes)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c         |  1 -
- drivers/gpu/drm/i915/i915_drv.h         |  8 ++++----
- drivers/gpu/drm/i915/i915_irq.c         | 12 ++++++------
- drivers/gpu/drm/i915/intel_pm.c         | 16 ++++++++--------
- drivers/gpu/drm/i915/intel_ringbuffer.c |  8 ++++----
- drivers/gpu/drm/i915/intel_ringbuffer.h |  2 +-
+ drivers/gpu/drm/i915/i915_dma.c         |    1 -
+ drivers/gpu/drm/i915/i915_drv.h         |    8 ++++----
+ drivers/gpu/drm/i915/i915_irq.c         |   12 ++++++------
+ drivers/gpu/drm/i915/intel_pm.c         |   16 ++++++++--------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    8 ++++----
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    2 +-
  6 files changed, 23 insertions(+), 24 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 240e1ef3c993..b290daba28cf 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1492,7 +1492,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1500,7 +1500,6 @@ int i915_driver_load(struct drm_device *
  
        spin_lock_init(&dev_priv->irq_lock);
        spin_lock_init(&dev_priv->gpu_error.lock);
@@ -46,8 +44,6 @@ index 240e1ef3c993..b290daba28cf 100644
        spin_lock_init(&dev_priv->gt_lock);
        spin_lock_init(&dev_priv->backlight.lock);
        mutex_init(&dev_priv->dpio_lock);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 876ba7d7efd5..380d5799146c 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -744,12 +744,12 @@ struct i915_suspend_saved_registers {
@@ -67,11 +63,9 @@ index 876ba7d7efd5..380d5799146c 100644
  
        /* The below variables an all the rps hw state are protected by
         * dev->struct mutext. */
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index b08ce0b9f0bb..2da9e68db4f3 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -719,13 +719,13 @@ static void gen6_pm_rps_work(struct work_struct *work)
+@@ -719,13 +719,13 @@ static void gen6_pm_rps_work(struct work
        u32 pm_iir, pm_imr;
        u8 new_delay;
  
@@ -87,7 +81,7 @@ index b08ce0b9f0bb..2da9e68db4f3 100644
  
        if ((pm_iir & GEN6_PM_RPS_EVENTS) == 0)
                return;
-@@ -887,11 +887,11 @@ static void gen6_rps_irq_handler(struct drm_i915_private *dev_priv,
+@@ -887,11 +887,11 @@ static void gen6_rps_irq_handler(struct
         * The mask bit in IMR is cleared by dev_priv->rps.work.
         */
  
@@ -101,7 +95,7 @@ index b08ce0b9f0bb..2da9e68db4f3 100644
  
        queue_work(dev_priv->wq, &dev_priv->rps.work);
  }
-@@ -964,12 +964,12 @@ static void hsw_pm_irq_handler(struct drm_i915_private *dev_priv,
+@@ -964,12 +964,12 @@ static void hsw_pm_irq_handler(struct dr
                               u32 pm_iir)
  {
        if (pm_iir & GEN6_PM_RPS_EVENTS) {
@@ -116,11 +110,9 @@ index b08ce0b9f0bb..2da9e68db4f3 100644
  
                queue_work(dev_priv->wq, &dev_priv->rps.work);
        }
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 613923a75abe..886da760df06 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3135,9 +3135,9 @@ static void gen6_disable_rps(struct drm_device *dev)
+@@ -3135,9 +3135,9 @@ static void gen6_disable_rps(struct drm_
         * register (PMIMR) to mask PM interrupts. The only risk is in leaving
         * stale bits in PMIIR and PMIMR which gen6_enable_rps will clean up. */
  
@@ -132,7 +124,7 @@ index 613923a75abe..886da760df06 100644
  
        I915_WRITE(GEN6_PMIIR, GEN6_PM_RPS_EVENTS);
  }
-@@ -3154,9 +3154,9 @@ static void valleyview_disable_rps(struct drm_device *dev)
+@@ -3154,9 +3154,9 @@ static void valleyview_disable_rps(struc
         * register (PMIMR) to mask PM interrupts. The only risk is in leaving
         * stale bits in PMIIR and PMIMR which gen6_enable_rps will clean up. */
  
@@ -144,7 +136,7 @@ index 613923a75abe..886da760df06 100644
  
        I915_WRITE(GEN6_PMIIR, I915_READ(GEN6_PMIIR));
  
-@@ -3321,13 +3321,13 @@ static void gen6_enable_rps(struct drm_device *dev)
+@@ -3321,13 +3321,13 @@ static void gen6_enable_rps(struct drm_d
  
        /* requires MSI enabled */
        I915_WRITE(GEN6_PMIER, I915_READ(GEN6_PMIER) | GEN6_PM_RPS_EVENTS);
@@ -160,7 +152,7 @@ index 613923a75abe..886da760df06 100644
        /* unmask all PM interrupts */
        I915_WRITE(GEN6_PMINTRMSK, 0);
  
-@@ -3601,10 +3601,10 @@ static void valleyview_enable_rps(struct drm_device *dev)
+@@ -3601,10 +3601,10 @@ static void valleyview_enable_rps(struct
  
        /* requires MSI enabled */
        I915_WRITE(GEN6_PMIER, GEN6_PM_RPS_EVENTS);
@@ -173,11 +165,9 @@ index 613923a75abe..886da760df06 100644
        /* enable all PM interrupts */
        I915_WRITE(GEN6_PMINTRMSK, 0);
  
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index ea6aef5e6fea..ad439afdcc6d 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1082,14 +1082,14 @@ hsw_vebox_get_irq(struct intel_ring_buffer *ring)
+@@ -1082,14 +1082,14 @@ hsw_vebox_get_irq(struct intel_ring_buff
        if (!dev->irq_enabled)
                return false;
  
@@ -194,7 +184,7 @@ index ea6aef5e6fea..ad439afdcc6d 100644
  
        return true;
  }
-@@ -1104,14 +1104,14 @@ hsw_vebox_put_irq(struct intel_ring_buffer *ring)
+@@ -1104,14 +1104,14 @@ hsw_vebox_put_irq(struct intel_ring_buff
        if (!dev->irq_enabled)
                return;
  
@@ -211,8 +201,6 @@ index ea6aef5e6fea..ad439afdcc6d 100644
  }
  
  static int
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index 799f04c9da45..8a87b3f9974c 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -80,7 +80,7 @@ struct  intel_ring_buffer {
@@ -224,6 +212,3 @@ index 799f04c9da45..8a87b3f9974c 100644
        } irq_refcount;
        u32             irq_enable_mask;        /* bitmask to enable ring interrupt */
        u32             trace_irq_seqno;
--- 
-1.8.5.rc3
-
index 33838e7..39a0283 100644 (file)
@@ -22,18 +22,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 84734a049d0ef2f6f5fb0a1fe060cd51480dd855)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/Makefile         |   1 +
- drivers/gpu/drm/i915/i915_debugfs.c   | 415 +--------------
- drivers/gpu/drm/i915/i915_drv.h       |  24 +-
- drivers/gpu/drm/i915/i915_gpu_error.c | 971 ++++++++++++++++++++++++++++++++++
- drivers/gpu/drm/i915/i915_irq.c       | 529 ------------------
- drivers/gpu/drm/i915/intel_display.c  |   4 -
- drivers/gpu/drm/i915/intel_overlay.c  |   4 -
+ drivers/gpu/drm/i915/Makefile         |    1 
+ drivers/gpu/drm/i915/i915_debugfs.c   |  415 --------------
+ drivers/gpu/drm/i915/i915_drv.h       |   24 
+ drivers/gpu/drm/i915/i915_gpu_error.c |  971 ++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/i915_irq.c       |  529 ------------------
+ drivers/gpu/drm/i915/intel_display.c  |    4 
+ drivers/gpu/drm/i915/intel_overlay.c  |    4 
  7 files changed, 983 insertions(+), 965 deletions(-)
  create mode 100644 drivers/gpu/drm/i915/i915_gpu_error.c
 
-diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
-index 40034ecefd3b..9d1da7cceb21 100644
 --- a/drivers/gpu/drm/i915/Makefile
 +++ b/drivers/gpu/drm/i915/Makefile
 @@ -5,6 +5,7 @@
@@ -44,8 +42,6 @@ index 40034ecefd3b..9d1da7cceb21 100644
            i915_suspend.o \
          i915_gem.o \
          i915_gem_context.o \
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index d4138124d993..86379799dab8 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
 @@ -30,7 +30,6 @@
@@ -56,7 +52,7 @@ index d4138124d993..86379799dab8 100644
  #include <drm/drmP.h>
  #include "intel_drv.h"
  #include "intel_ringbuffer.h"
-@@ -90,16 +89,6 @@ static const char *get_tiling_flag(struct drm_i915_gem_object *obj)
+@@ -90,16 +89,6 @@ static const char *get_tiling_flag(struc
        }
  }
  
@@ -73,7 +69,7 @@ index d4138124d993..86379799dab8 100644
  static void
  describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
  {
-@@ -113,7 +102,7 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+@@ -113,7 +102,7 @@ describe_obj(struct seq_file *m, struct
                   obj->last_read_seqno,
                   obj->last_write_seqno,
                   obj->last_fenced_seqno,
@@ -82,7 +78,7 @@ index d4138124d993..86379799dab8 100644
                   obj->dirty ? " dirty" : "",
                   obj->madv == I915_MADV_DONTNEED ? " purgeable" : "");
        if (obj->base.name)
-@@ -608,358 +597,6 @@ static int i915_hws_info(struct seq_file *m, void *data)
+@@ -608,358 +597,6 @@ static int i915_hws_info(struct seq_file
        return 0;
  }
  
@@ -441,7 +437,7 @@ index d4138124d993..86379799dab8 100644
  static ssize_t
  i915_error_state_write(struct file *filp,
                       const char __user *ubuf,
-@@ -982,26 +619,6 @@ i915_error_state_write(struct file *filp,
+@@ -982,26 +619,6 @@ i915_error_state_write(struct file *filp
        return cnt;
  }
  
@@ -468,10 +464,11 @@ index d4138124d993..86379799dab8 100644
  static int i915_error_state_open(struct inode *inode, struct file *file)
  {
        struct drm_device *dev = inode->i_private;
-@@ -1030,36 +647,6 @@ static int i915_error_state_release(struct inode *inode, struct file *file)
+@@ -1029,36 +646,6 @@ static int i915_error_state_release(stru
        return 0;
  }
+-
 -int i915_error_state_buf_init(struct drm_i915_error_state_buf *ebuf,
 -                            size_t count, loff_t pos)
 -{
@@ -501,15 +498,12 @@ index d4138124d993..86379799dab8 100644
 -
 -      return 0;
 -}
--
  static ssize_t i915_error_state_read(struct file *file, char __user *userbuf,
                                     size_t count, loff_t *pos)
- {
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 380d5799146c..a7fbefaa1c4a 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -1629,21 +1629,12 @@ extern void intel_hpd_init(struct drm_device *dev);
+@@ -1629,21 +1629,12 @@ extern void intel_hpd_init(struct drm_de
  extern void intel_gt_init(struct drm_device *dev);
  extern void intel_gt_sanitize(struct drm_device *dev);
  
@@ -531,7 +525,7 @@ index 380d5799146c..a7fbefaa1c4a 100644
  /* i915_gem.c */
  int i915_gem_init_ioctl(struct drm_device *dev, void *data,
                        struct drm_file *file_priv);
-@@ -1954,13 +1945,12 @@ void i915_gem_dump_object(struct drm_i915_gem_object *obj, int len,
+@@ -1954,13 +1945,12 @@ void i915_gem_dump_object(struct drm_i91
  /* i915_debugfs.c */
  int i915_debugfs_init(struct drm_minor *minor);
  void i915_debugfs_cleanup(struct drm_minor *minor);
@@ -547,7 +541,7 @@ index 380d5799146c..a7fbefaa1c4a 100644
  int i915_error_state_buf_init(struct drm_i915_error_state_buf *eb,
                              size_t count, loff_t pos);
  static inline void i915_error_state_buf_release(
-@@ -1968,6 +1958,14 @@ static inline void i915_error_state_buf_release(
+@@ -1968,6 +1958,14 @@ static inline void i915_error_state_buf_
  {
        kfree(eb->buf);
  }
@@ -562,7 +556,7 @@ index 380d5799146c..a7fbefaa1c4a 100644
  
  /* i915_suspend.c */
  extern int i915_save_state(struct drm_device *dev);
-@@ -2047,7 +2045,6 @@ int i915_reg_read_ioctl(struct drm_device *dev, void *data,
+@@ -2047,7 +2045,6 @@ int i915_reg_read_ioctl(struct drm_devic
                        struct drm_file *file);
  
  /* overlay */
@@ -570,7 +564,7 @@ index 380d5799146c..a7fbefaa1c4a 100644
  extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev);
  extern void intel_overlay_print_error_state(struct drm_i915_error_state_buf *e,
                                            struct intel_overlay_error_state *error);
-@@ -2056,7 +2053,6 @@ extern struct intel_display_error_state *intel_display_capture_error_state(struc
+@@ -2056,7 +2053,6 @@ extern struct intel_display_error_state
  extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
                                            struct drm_device *dev,
                                            struct intel_display_error_state *error);
@@ -578,9 +572,6 @@ index 380d5799146c..a7fbefaa1c4a 100644
  
  /* On SNB platform, before reading ring registers forcewake bit
   * must be set to prevent GT core from power down and stale values being
-diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
-new file mode 100644
-index 000000000000..58386cebb865
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
 @@ -0,0 +1,971 @@
@@ -1555,11 +1546,9 @@ index 000000000000..58386cebb865
 +              break;
 +      }
 +}
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index f77e87365480..a710ec29781b 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -1527,535 +1527,6 @@ static void i915_error_work_func(struct work_struct *work)
+@@ -1527,535 +1527,6 @@ static void i915_error_work_func(struct
        }
  }
  
@@ -2095,11 +2084,9 @@ index f77e87365480..a710ec29781b 100644
  static void i915_report_and_clear_eir(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 861dcc5d4ebf..7b52eaab0dc4 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10213,9 +10213,6 @@ int intel_modeset_vga_set_state(struct drm_device *dev, bool state)
+@@ -10216,9 +10216,6 @@ int intel_modeset_vga_set_state(struct d
        return 0;
  }
  
@@ -2109,16 +2096,14 @@ index 861dcc5d4ebf..7b52eaab0dc4 100644
  struct intel_display_error_state {
  
        u32 power_well_driver;
-@@ -10387,4 +10384,3 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m,
+@@ -10390,4 +10387,3 @@ intel_display_print_error_state(struct d
                err_printf(m, "  VSYNC: %08x\n", error->transcoder[i].vsync);
        }
  }
 -#endif
-diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index 81c3ca14fa92..2abb53e6f1e0 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
-@@ -1412,9 +1412,6 @@ void intel_cleanup_overlay(struct drm_device *dev)
+@@ -1412,9 +1412,6 @@ void intel_cleanup_overlay(struct drm_de
        kfree(dev_priv->overlay);
  }
  
@@ -2128,11 +2113,8 @@ index 81c3ca14fa92..2abb53e6f1e0 100644
  struct intel_overlay_error_state {
        struct overlay_registers regs;
        unsigned long base;
-@@ -1537,4 +1534,3 @@ intel_overlay_print_error_state(struct drm_i915_error_state_buf *m,
+@@ -1537,4 +1534,3 @@ intel_overlay_print_error_state(struct d
        P(UVSCALEV);
  #undef P
  }
 -#endif
--- 
-1.8.5.rc3
-
index 319d8db..753c281 100644 (file)
@@ -32,16 +32,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 59124506ba5297e48410e410c3bce83784fddf58)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 10 ++++++++++
- drivers/gpu/drm/i915/i915_drv.h |  3 +++
- drivers/gpu/drm/i915/i915_gem.c |  2 +-
+ drivers/gpu/drm/i915/i915_dma.c |   10 ++++++++++
+ drivers/gpu/drm/i915/i915_drv.h |    3 +++
+ drivers/gpu/drm/i915/i915_gem.c |    2 +-
  3 files changed, 14 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index b290daba28cf..db56ee7f27d5 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1527,6 +1527,16 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1535,6 +1535,16 @@ int i915_driver_load(struct drm_device *
  
        intel_early_sanitize_regs(dev);
  
@@ -58,8 +56,6 @@ index b290daba28cf..db56ee7f27d5 100644
        ret = i915_gem_gtt_init(dev);
        if (ret)
                goto put_bridge;
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index a7fbefaa1c4a..7adf2b45b185 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1152,6 +1152,9 @@ typedef struct drm_i915_private {
@@ -72,8 +68,6 @@ index a7fbefaa1c4a..7adf2b45b185 100644
        /* gen6+ rps state */
        struct intel_gen6_power_mgmt rps;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index a7039e69395b..791c238a6b01 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
 @@ -4131,7 +4131,7 @@ i915_gem_init_hw(struct drm_device *dev)
@@ -85,6 +79,3 @@ index a7039e69395b..791c238a6b01 100644
                I915_WRITE(HSW_IDICR, I915_READ(HSW_IDICR) | IDIHASHMSK(0xf));
  
        if (HAS_PCH_NOP(dev)) {
--- 
-1.8.5.rc3
-
index 1b25d5f..239a4f4 100644 (file)
@@ -30,18 +30,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 853ba5d2231619e1c7f7de1269e135174ec8e3cb)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c |   4 +-
- drivers/gpu/drm/i915/i915_dma.c     |   4 +-
- drivers/gpu/drm/i915/i915_drv.h     |  57 ++++++-------
- drivers/gpu/drm/i915/i915_gem.c     |   4 +-
- drivers/gpu/drm/i915/i915_gem_gtt.c | 165 ++++++++++++++++++++----------------
+ drivers/gpu/drm/i915/i915_debugfs.c |    4 
+ drivers/gpu/drm/i915/i915_dma.c     |    4 
+ drivers/gpu/drm/i915/i915_drv.h     |   57 +++++-------
+ drivers/gpu/drm/i915/i915_gem.c     |    4 
+ drivers/gpu/drm/i915/i915_gem_gtt.c |  165 +++++++++++++++++++-----------------
  5 files changed, 123 insertions(+), 111 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 8819f851e996..1c697c0ab7e5 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -276,8 +276,8 @@ static int i915_gem_object_info(struct seq_file *m, void *data)
+@@ -276,8 +276,8 @@ static int i915_gem_object_info(struct s
                   count, size);
  
        seq_printf(m, "%zu [%lu] gtt total\n",
@@ -52,11 +50,9 @@ index 8819f851e996..1c697c0ab7e5 100644
  
        seq_putc(m, '\n');
        list_for_each_entry_reverse(file, &dev->filelist, lhead) {
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index db56ee7f27d5..146890cacabe 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1675,7 +1675,7 @@ out_gem_unload:
+@@ -1683,7 +1683,7 @@ out_gem_unload:
  out_mtrrfree:
        arch_phys_wc_del(dev_priv->gtt.mtrr);
        io_mapping_free(dev_priv->gtt.mappable);
@@ -65,7 +61,7 @@ index db56ee7f27d5..146890cacabe 100644
  out_rmmap:
        pci_iounmap(dev->pdev, dev_priv->regs);
  put_bridge:
-@@ -1770,7 +1770,7 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1778,7 +1778,7 @@ int i915_driver_unload(struct drm_device
        destroy_workqueue(dev_priv->wq);
        pm_qos_remove_request(&dev_priv->pm_qos);
  
@@ -74,8 +70,6 @@ index db56ee7f27d5..146890cacabe 100644
  
        if (dev_priv->slab)
                kmem_cache_destroy(dev_priv->slab);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index fc7b1105b47a..3ce73b4041ef 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -446,6 +446,29 @@ enum i915_cache_level {
@@ -179,11 +173,9 @@ index fc7b1105b47a..3ce73b4041ef 100644
  
        struct i915_gem_mm mm;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index e2370a2ef1ae..cc336bc8d8fe 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -181,7 +181,7 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
+@@ -181,7 +181,7 @@ i915_gem_get_aperture_ioctl(struct drm_d
                        pinned += i915_gem_obj_ggtt_size(obj);
        mutex_unlock(&dev->struct_mutex);
  
@@ -192,7 +184,7 @@ index e2370a2ef1ae..cc336bc8d8fe 100644
        args->aper_available_size = args->aper_size - pinned;
  
        return 0;
-@@ -3065,7 +3065,7 @@ i915_gem_object_bind_to_gtt(struct drm_i915_gem_object *obj,
+@@ -3065,7 +3065,7 @@ i915_gem_object_bind_to_gtt(struct drm_i
        u32 size, fence_size, fence_alignment, unfenced_alignment;
        bool mappable, fenceable;
        size_t gtt_max = map_and_fenceable ?
@@ -201,11 +193,9 @@ index e2370a2ef1ae..cc336bc8d8fe 100644
        int ret;
  
        fence_size = i915_gem_get_gtt_size(dev,
-diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
-index 422273328302..f982bf0de157 100644
 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
 +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
-@@ -124,7 +124,7 @@ static gen6_gtt_pte_t iris_pte_encode(dma_addr_t addr,
+@@ -124,7 +124,7 @@ static gen6_gtt_pte_t iris_pte_encode(dm
  
  static void gen6_write_pdes(struct i915_hw_ppgtt *ppgtt)
  {
@@ -214,7 +204,7 @@ index 422273328302..f982bf0de157 100644
        gen6_gtt_pte_t __iomem *pd_addr;
        uint32_t pd_entry;
        int i;
-@@ -203,18 +203,18 @@ static int gen6_ppgtt_enable(struct drm_device *dev)
+@@ -203,18 +203,18 @@ static int gen6_ppgtt_enable(struct drm_
  }
  
  /* PPGTT support for Sandybdrige/Gen6 and later */
@@ -237,7 +227,7 @@ index 422273328302..f982bf0de157 100644
  
        while (num_entries) {
                last_pte = first_pte + num_entries;
-@@ -234,11 +234,13 @@ static void gen6_ppgtt_clear_range(struct i915_hw_ppgtt *ppgtt,
+@@ -234,11 +234,13 @@ static void gen6_ppgtt_clear_range(struc
        }
  }
  
@@ -252,7 +242,7 @@ index 422273328302..f982bf0de157 100644
        gen6_gtt_pte_t *pt_vaddr;
        unsigned act_pt = first_entry / I915_PPGTT_PT_ENTRIES;
        unsigned act_pte = first_entry % I915_PPGTT_PT_ENTRIES;
-@@ -249,7 +251,7 @@ static void gen6_ppgtt_insert_entries(struct i915_hw_ppgtt *ppgtt,
+@@ -249,7 +251,7 @@ static void gen6_ppgtt_insert_entries(st
                dma_addr_t page_addr;
  
                page_addr = sg_page_iter_dma_address(&sg_iter);
@@ -261,7 +251,7 @@ index 422273328302..f982bf0de157 100644
                if (++act_pte == I915_PPGTT_PT_ENTRIES) {
                        kunmap_atomic(pt_vaddr);
                        act_pt++;
-@@ -261,13 +263,15 @@ static void gen6_ppgtt_insert_entries(struct i915_hw_ppgtt *ppgtt,
+@@ -261,13 +263,15 @@ static void gen6_ppgtt_insert_entries(st
        kunmap_atomic(pt_vaddr);
  }
  
@@ -279,7 +269,7 @@ index 422273328302..f982bf0de157 100644
                                       ppgtt->pt_dma_addr[i],
                                       4096, PCI_DMA_BIDIRECTIONAL);
        }
-@@ -281,7 +285,7 @@ static void gen6_ppgtt_cleanup(struct i915_hw_ppgtt *ppgtt)
+@@ -281,7 +285,7 @@ static void gen6_ppgtt_cleanup(struct i9
  
  static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt)
  {
@@ -288,7 +278,7 @@ index 422273328302..f982bf0de157 100644
        struct drm_i915_private *dev_priv = dev->dev_private;
        unsigned first_pd_entry_in_global_pt;
        int i;
-@@ -293,17 +297,18 @@ static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt)
+@@ -293,17 +297,18 @@ static int gen6_ppgtt_init(struct i915_h
        first_pd_entry_in_global_pt = gtt_total_entries(dev_priv->gtt);
  
        if (IS_HASWELL(dev)) {
@@ -313,7 +303,7 @@ index 422273328302..f982bf0de157 100644
        ppgtt->pt_pages = kzalloc(sizeof(struct page *)*ppgtt->num_pd_entries,
                                  GFP_KERNEL);
        if (!ppgtt->pt_pages)
-@@ -334,8 +339,8 @@ static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt)
+@@ -334,8 +339,8 @@ static int gen6_ppgtt_init(struct i915_h
                ppgtt->pt_dma_addr[i] = pt_addr;
        }
  
@@ -324,7 +314,7 @@ index 422273328302..f982bf0de157 100644
  
        ppgtt->pd_offset = first_pd_entry_in_global_pt * sizeof(gen6_gtt_pte_t);
  
-@@ -368,7 +373,7 @@ static int i915_gem_init_aliasing_ppgtt(struct drm_device *dev)
+@@ -368,7 +373,7 @@ static int i915_gem_init_aliasing_ppgtt(
        if (!ppgtt)
                return -ENOMEM;
  
@@ -333,7 +323,7 @@ index 422273328302..f982bf0de157 100644
  
        if (INTEL_INFO(dev)->gen < 8)
                ret = gen6_ppgtt_init(ppgtt);
-@@ -391,7 +396,7 @@ void i915_gem_cleanup_aliasing_ppgtt(struct drm_device *dev)
+@@ -391,7 +396,7 @@ void i915_gem_cleanup_aliasing_ppgtt(str
        if (!ppgtt)
                return;
  
@@ -342,7 +332,7 @@ index 422273328302..f982bf0de157 100644
        dev_priv->mm.aliasing_ppgtt = NULL;
  }
  
-@@ -399,17 +404,17 @@ void i915_ppgtt_bind_object(struct i915_hw_ppgtt *ppgtt,
+@@ -399,17 +404,17 @@ void i915_ppgtt_bind_object(struct i915_
                            struct drm_i915_gem_object *obj,
                            enum i915_cache_level cache_level)
  {
@@ -366,7 +356,7 @@ index 422273328302..f982bf0de157 100644
  }
  
  extern int intel_iommu_gfx_mapped;
-@@ -456,8 +461,9 @@ void i915_gem_restore_gtt_mappings(struct drm_device *dev)
+@@ -456,8 +461,9 @@ void i915_gem_restore_gtt_mappings(struc
        struct drm_i915_gem_object *obj;
  
        /* First fill our portion of the GTT with scratch pages */
@@ -378,7 +368,7 @@ index 422273328302..f982bf0de157 100644
  
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) {
                i915_gem_clflush_object(obj);
-@@ -486,12 +492,12 @@ int i915_gem_gtt_prepare_object(struct drm_i915_gem_object *obj)
+@@ -486,12 +492,12 @@ int i915_gem_gtt_prepare_object(struct d
   * within the global GTT as well as accessible by the GPU through the GMADR
   * mapped BAR (dev_priv->mm.gtt->gtt).
   */
@@ -393,7 +383,7 @@ index 422273328302..f982bf0de157 100644
        gen6_gtt_pte_t __iomem *gtt_entries =
                (gen6_gtt_pte_t __iomem *)dev_priv->gtt.gsm + first_entry;
        int i = 0;
-@@ -500,8 +506,7 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev,
+@@ -500,8 +506,7 @@ static void gen6_ggtt_insert_entries(str
  
        for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) {
                addr = sg_page_iter_dma_address(&sg_iter);
@@ -403,7 +393,7 @@ index 422273328302..f982bf0de157 100644
                i++;
        }
  
-@@ -512,8 +517,8 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev,
+@@ -512,8 +517,8 @@ static void gen6_ggtt_insert_entries(str
         * hardware should work, we must keep this posting read for paranoia.
         */
        if (i != 0)
@@ -414,7 +404,7 @@ index 422273328302..f982bf0de157 100644
  
        /* This next bit makes the above posting read even more important. We
         * want to flush the TLBs only after we're certain all the PTE updates
-@@ -523,11 +528,11 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev,
+@@ -523,11 +528,11 @@ static void gen6_ggtt_insert_entries(str
        POSTING_READ(GFX_FLSH_CNTL_GEN6);
  }
  
@@ -428,7 +418,7 @@ index 422273328302..f982bf0de157 100644
        gen6_gtt_pte_t scratch_pte, __iomem *gtt_base =
                (gen6_gtt_pte_t __iomem *) dev_priv->gtt.gsm + first_entry;
        const int max_entries = gtt_total_entries(dev_priv->gtt) - first_entry;
-@@ -538,15 +543,14 @@ static void gen6_ggtt_clear_range(struct drm_device *dev,
+@@ -538,15 +543,14 @@ static void gen6_ggtt_clear_range(struct
                 first_entry, num_entries, max_entries))
                num_entries = max_entries;
  
@@ -446,7 +436,7 @@ index 422273328302..f982bf0de157 100644
                                     struct sg_table *st,
                                     unsigned int pg_start,
                                     enum i915_cache_level cache_level)
-@@ -558,7 +562,7 @@ static void i915_ggtt_insert_entries(struct drm_device *dev,
+@@ -558,7 +562,7 @@ static void i915_ggtt_insert_entries(str
  
  }
  
@@ -455,7 +445,7 @@ index 422273328302..f982bf0de157 100644
                                  unsigned int first_entry,
                                  unsigned int num_entries)
  {
-@@ -571,10 +575,11 @@ void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj,
+@@ -571,10 +575,11 @@ void i915_gem_gtt_bind_object(struct drm
  {
        struct drm_device *dev = obj->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -470,7 +460,7 @@ index 422273328302..f982bf0de157 100644
  
        obj->has_global_gtt_mapping = 1;
  }
-@@ -583,10 +588,11 @@ void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj)
+@@ -583,10 +588,11 @@ void i915_gem_gtt_unbind_object(struct d
  {
        struct drm_device *dev = obj->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -485,7 +475,7 @@ index 422273328302..f982bf0de157 100644
  
        obj->has_global_gtt_mapping = 0;
  }
-@@ -663,20 +669,23 @@ void i915_gem_setup_global_gtt(struct drm_device *dev,
+@@ -663,20 +669,23 @@ void i915_gem_setup_global_gtt(struct dr
                obj->has_global_gtt_mapping = 1;
        }
  
@@ -514,7 +504,7 @@ index 422273328302..f982bf0de157 100644
  }
  
  static bool
-@@ -699,7 +708,7 @@ void i915_gem_init_global_gtt(struct drm_device *dev)
+@@ -699,7 +708,7 @@ void i915_gem_init_global_gtt(struct drm
        struct drm_i915_private *dev_priv = dev->dev_private;
        unsigned long gtt_size, mappable_size;
  
@@ -523,7 +513,7 @@ index 422273328302..f982bf0de157 100644
        mappable_size = dev_priv->gtt.mappable_end;
  
        if (intel_enable_ppgtt(dev) && HAS_ALIASING_PPGTT(dev)) {
-@@ -744,8 +753,8 @@ static int setup_scratch_page(struct drm_device *dev)
+@@ -744,8 +753,8 @@ static int setup_scratch_page(struct drm
  #else
        dma_addr = page_to_phys(page);
  #endif
@@ -534,7 +524,7 @@ index 422273328302..f982bf0de157 100644
  
        return 0;
  }
-@@ -753,11 +762,13 @@ static int setup_scratch_page(struct drm_device *dev)
+@@ -753,11 +762,13 @@ static int setup_scratch_page(struct drm
  static void teardown_scratch_page(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -552,7 +542,7 @@ index 422273328302..f982bf0de157 100644
  }
  
  static inline unsigned int gen6_get_total_gtt_size(u16 snb_gmch_ctl)
-@@ -820,17 +831,18 @@ static int gen6_gmch_probe(struct drm_device *dev,
+@@ -820,17 +831,18 @@ static int gen6_gmch_probe(struct drm_de
        if (ret)
                DRM_ERROR("Scratch setup failed\n");
  
@@ -577,7 +567,7 @@ index 422273328302..f982bf0de157 100644
  }
  
  static int i915_gmch_probe(struct drm_device *dev,
-@@ -851,13 +863,13 @@ static int i915_gmch_probe(struct drm_device *dev,
+@@ -851,13 +863,13 @@ static int i915_gmch_probe(struct drm_de
        intel_gtt_get(gtt_total, stolen, mappable_base, mappable_end);
  
        dev_priv->gtt.do_idle_maps = needs_idle_maps(dev_priv->dev);
@@ -594,7 +584,7 @@ index 422273328302..f982bf0de157 100644
  {
        intel_gmch_remove();
  }
-@@ -870,27 +882,30 @@ int i915_gem_gtt_init(struct drm_device *dev)
+@@ -870,27 +882,30 @@ int i915_gem_gtt_init(struct drm_device
  
        if (INTEL_INFO(dev)->gen <= 5) {
                gtt->gtt_probe = i915_gmch_probe;
@@ -633,6 +623,3 @@ index 422273328302..f982bf0de157 100644
        DRM_DEBUG_DRIVER("GMADR size = %ldM\n", gtt->mappable_end >> 20);
        DRM_DEBUG_DRIVER("GTT stolen size = %zdM\n", gtt->stolen_size >> 20);
  
--- 
-1.8.5.rc3
-
index 75aef1f..03de74b 100644 (file)
@@ -19,19 +19,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 93bd8649dba3155d1a0ba2a902d9c49f1c75a1da)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c        |  4 ++--
- drivers/gpu/drm/i915/i915_drv.h        |  3 +--
- drivers/gpu/drm/i915/i915_gem.c        |  2 +-
- drivers/gpu/drm/i915/i915_gem_evict.c  | 10 +++++-----
- drivers/gpu/drm/i915/i915_gem_gtt.c    | 17 +++++++++++------
- drivers/gpu/drm/i915/i915_gem_stolen.c |  4 ++--
+ drivers/gpu/drm/i915/i915_dma.c        |    4 ++--
+ drivers/gpu/drm/i915/i915_drv.h        |    3 +--
+ drivers/gpu/drm/i915/i915_gem.c        |    2 +-
+ drivers/gpu/drm/i915/i915_gem_evict.c  |   10 +++++-----
+ drivers/gpu/drm/i915/i915_gem_gtt.c    |   17 +++++++++++------
+ drivers/gpu/drm/i915/i915_gem_stolen.c |    4 ++--
  6 files changed, 22 insertions(+), 18 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 146890cacabe..c6d3105516ca 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1358,7 +1358,7 @@ cleanup_gem:
+@@ -1366,7 +1366,7 @@ cleanup_gem:
        i915_gem_context_fini(dev);
        mutex_unlock(&dev->struct_mutex);
        i915_gem_cleanup_aliasing_ppgtt(dev);
@@ -40,7 +38,7 @@ index 146890cacabe..c6d3105516ca 100644
  cleanup_irq:
        drm_irq_uninstall(dev);
  cleanup_gem_stolen:
-@@ -1760,7 +1760,7 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1768,7 +1768,7 @@ int i915_driver_unload(struct drm_device
                        i915_free_hws(dev);
        }
  
@@ -49,8 +47,6 @@ index 146890cacabe..c6d3105516ca 100644
        if (dev_priv->regs != NULL)
                pci_iounmap(dev->pdev, dev_priv->regs);
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 3ce73b4041ef..a6497f520578 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -447,6 +447,7 @@ enum i915_cache_level {
@@ -70,11 +66,9 @@ index 3ce73b4041ef..a6497f520578 100644
        /** List of all objects in gtt_space. Used to restore gtt
         * mappings on resume */
        struct list_head bound_list;
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index cc336bc8d8fe..b99c73b82ce4 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -3107,7 +3107,7 @@ i915_gem_object_bind_to_gtt(struct drm_i915_gem_object *obj,
+@@ -3107,7 +3107,7 @@ i915_gem_object_bind_to_gtt(struct drm_i
        i915_gem_object_pin_pages(obj);
  
  search_free:
@@ -83,11 +77,9 @@ index cc336bc8d8fe..b99c73b82ce4 100644
                                                  &obj->gtt_space,
                                                  size, alignment,
                                                  obj->cache_level, 0, gtt_max);
-diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
-index 5f8afc48bb7e..f1c9ab096b00 100644
 --- a/drivers/gpu/drm/i915/i915_gem_evict.c
 +++ b/drivers/gpu/drm/i915/i915_gem_evict.c
-@@ -78,12 +78,12 @@ i915_gem_evict_something(struct drm_device *dev, int min_size,
+@@ -78,12 +78,12 @@ i915_gem_evict_something(struct drm_devi
  
        INIT_LIST_HEAD(&unwind_list);
        if (mappable)
@@ -105,11 +97,9 @@ index 5f8afc48bb7e..f1c9ab096b00 100644
  
        /* First see if there is a large enough contiguous idle region... */
        list_for_each_entry(obj, &dev_priv->mm.inactive_list, mm_list) {
-diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
-index f982bf0de157..999ecfecb32e 100644
 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
 +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
-@@ -269,6 +269,8 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm)
+@@ -269,6 +269,8 @@ static void gen6_ppgtt_cleanup(struct i9
                container_of(vm, struct i915_hw_ppgtt, base);
        int i;
  
@@ -118,7 +108,7 @@ index f982bf0de157..999ecfecb32e 100644
        if (ppgtt->pt_dma_addr) {
                for (i = 0; i < ppgtt->num_pd_entries; i++)
                        pci_unmap_page(ppgtt->base.dev->pdev,
-@@ -382,8 +384,11 @@ static int i915_gem_init_aliasing_ppgtt(struct drm_device *dev)
+@@ -382,8 +384,11 @@ static int i915_gem_init_aliasing_ppgtt(
  
        if (ret)
                kfree(ppgtt);
@@ -131,7 +121,7 @@ index f982bf0de157..999ecfecb32e 100644
  
        return ret;
  }
-@@ -651,9 +656,9 @@ void i915_gem_setup_global_gtt(struct drm_device *dev,
+@@ -651,9 +656,9 @@ void i915_gem_setup_global_gtt(struct dr
        BUG_ON(mappable_end > end);
  
        /* Subtract the guard page ... */
@@ -143,7 +133,7 @@ index f982bf0de157..999ecfecb32e 100644
  
        /* Mark any preallocated objects as occupied */
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) {
-@@ -662,7 +667,7 @@ void i915_gem_setup_global_gtt(struct drm_device *dev,
+@@ -662,7 +667,7 @@ void i915_gem_setup_global_gtt(struct dr
                              i915_gem_obj_ggtt_offset(obj), obj->base.size);
  
                WARN_ON(i915_gem_obj_ggtt_bound(obj));
@@ -152,7 +142,7 @@ index f982bf0de157..999ecfecb32e 100644
                                          &obj->gtt_space);
                if (ret)
                        DRM_DEBUG_KMS("Reservation failed\n");
-@@ -673,7 +678,7 @@ void i915_gem_setup_global_gtt(struct drm_device *dev,
+@@ -673,7 +678,7 @@ void i915_gem_setup_global_gtt(struct dr
        dev_priv->gtt.base.total = end - start;
  
        /* Clear any non-preallocated blocks */
@@ -161,7 +151,7 @@ index f982bf0de157..999ecfecb32e 100644
                             hole_start, hole_end) {
                const unsigned long count = (hole_end - hole_start) / PAGE_SIZE;
                DRM_DEBUG_KMS("clearing unused GTT space: [%lx, %lx]\n",
-@@ -727,7 +732,7 @@ void i915_gem_init_global_gtt(struct drm_device *dev)
+@@ -727,7 +732,7 @@ void i915_gem_init_global_gtt(struct drm
                        return;
  
                DRM_ERROR("Aliased PPGTT setup failed %d\n", ret);
@@ -170,11 +160,9 @@ index f982bf0de157..999ecfecb32e 100644
                gtt_size += GEN6_PPGTT_PD_ENTRIES * PAGE_SIZE;
        }
        i915_gem_setup_global_gtt(dev, 0, mappable_size, gtt_size);
-diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
-index 5c1a535d5072..ede8c41399d9 100644
 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
 +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
-@@ -399,8 +399,8 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev,
+@@ -399,8 +399,8 @@ i915_gem_object_create_stolen_for_preall
         */
        obj->gtt_space.start = gtt_offset;
        obj->gtt_space.size = size;
@@ -185,6 +173,3 @@ index 5c1a535d5072..ede8c41399d9 100644
                                          &obj->gtt_space);
                if (ret) {
                        DRM_DEBUG_KMS("failed to allocate stolen GTT space\n");
--- 
-1.8.5.rc3
-
index c896750..b56569b 100644 (file)
@@ -18,15 +18,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit a7bbbd63e79a89b3e7b77eb734f2773ad69a2a43)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 6 ++++++
- drivers/gpu/drm/i915/i915_drv.h | 2 ++
+ drivers/gpu/drm/i915/i915_dma.c |    6 ++++++
+ drivers/gpu/drm/i915/i915_drv.h |    2 ++
  2 files changed, 8 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index c6d3105516ca..3bbf8ef0f984 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1500,6 +1500,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1508,6 +1508,10 @@ int i915_driver_load(struct drm_device *
  
        i915_dump_device_info(dev_priv);
  
@@ -37,7 +35,7 @@ index c6d3105516ca..3bbf8ef0f984 100644
        if (i915_get_bridge_dev(dev)) {
                ret = -EIO;
                goto free_priv;
-@@ -1760,6 +1764,8 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1768,6 +1772,8 @@ int i915_driver_unload(struct drm_device
                        i915_free_hws(dev);
        }
  
@@ -46,8 +44,6 @@ index c6d3105516ca..3bbf8ef0f984 100644
        drm_mm_takedown(&dev_priv->gtt.base.mm);
        if (dev_priv->regs != NULL)
                pci_iounmap(dev->pdev, dev_priv->regs);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index a6497f520578..bcfcc1086d5b 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -449,6 +449,7 @@ typedef uint32_t gen6_gtt_pte_t;
@@ -66,6 +62,3 @@ index a6497f520578..bcfcc1086d5b 100644
        struct i915_gtt gtt; /* VMA representing the global address space */
  
        struct i915_gem_mm mm;
--- 
-1.8.5.rc3
-
index e0a2c4c..b2a4dfc 100644 (file)
@@ -12,15 +12,13 @@ Signed-off-by: James Ausmus <james.ausmus@intel.com>
  chromeos-3.10, e362220fa6a86569cf3c2dfa47ce24935da661d6)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 2 +-
- drivers/gpu/drm/i915/i915_gem.c | 2 +-
+ drivers/gpu/drm/i915/i915_dma.c |    2 +-
+ drivers/gpu/drm/i915/i915_gem.c |    2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 3bbf8ef0f984..d71e765b814d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1492,8 +1492,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1500,8 +1500,8 @@ int i915_driver_load(struct drm_device *
  
        spin_lock_init(&dev_priv->irq_lock);
        spin_lock_init(&dev_priv->gpu_error.lock);
@@ -30,11 +28,9 @@ index 3bbf8ef0f984..d71e765b814d 100644
        mutex_init(&dev_priv->dpio_lock);
        mutex_init(&dev_priv->rps.hw_lock);
        mutex_init(&dev_priv->modeset_restore_lock);
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 7221793239c3..73521ed14eeb 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -4643,7 +4643,7 @@ i915_gem_inactive_shrink(struct shrinker *shrinker, struct shrink_control *sc)
+@@ -4643,7 +4643,7 @@ i915_gem_inactive_shrink(struct shrinker
        list_for_each_entry(obj, &dev_priv->mm.unbound_list, global_list)
                if (obj->pages_pin_count == 0)
                        cnt += obj->base.size >> PAGE_SHIFT;
@@ -43,6 +39,3 @@ index 7221793239c3..73521ed14eeb 100644
                if (obj->pin_count == 0 && obj->pages_pin_count == 0)
                        cnt += obj->base.size >> PAGE_SHIFT;
  
--- 
-1.8.5.rc3
-
index afcd2fc..75d6aa3 100644 (file)
@@ -34,24 +34,22 @@ Conflicts:
        (context changes)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/Makefile        |   1 +
- drivers/gpu/drm/i915/i915_debugfs.c  |  12 +-
- drivers/gpu/drm/i915/i915_dma.c      |  24 +-
- drivers/gpu/drm/i915/i915_drv.c      | 271 +----------------
- drivers/gpu/drm/i915/i915_drv.h      |  31 +-
- drivers/gpu/drm/i915/i915_irq.c      |   6 +-
- drivers/gpu/drm/i915/intel_display.c |   3 +-
- drivers/gpu/drm/i915/intel_drv.h     |   1 -
- drivers/gpu/drm/i915/intel_pm.c      | 264 +---------------
- drivers/gpu/drm/i915/intel_uncore.c  | 571 +++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/Makefile        |    1 
+ drivers/gpu/drm/i915/i915_debugfs.c  |   12 
+ drivers/gpu/drm/i915/i915_dma.c      |   24 -
+ drivers/gpu/drm/i915/i915_drv.c      |  271 ----------------
+ drivers/gpu/drm/i915/i915_drv.h      |   31 +
+ drivers/gpu/drm/i915/i915_irq.c      |    6 
+ drivers/gpu/drm/i915/intel_display.c |    3 
+ drivers/gpu/drm/i915/intel_drv.h     |    1 
+ drivers/gpu/drm/i915/intel_pm.c      |  264 ----------------
+ drivers/gpu/drm/i915/intel_uncore.c  |  571 +++++++++++++++++++++++++++++++++++
  10 files changed, 613 insertions(+), 571 deletions(-)
  create mode 100644 drivers/gpu/drm/i915/intel_uncore.c
 
-diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
-index 9d1da7cceb21..b8449a84a0dc 100644
 --- a/drivers/gpu/drm/i915/Makefile
 +++ b/drivers/gpu/drm/i915/Makefile
-@@ -38,6 +38,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o \
+@@ -38,6 +38,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq
          intel_sprite.o \
          intel_opregion.o \
          intel_sideband.o \
@@ -59,11 +57,9 @@ index 9d1da7cceb21..b8449a84a0dc 100644
          dvo_ch7xxx.o \
          dvo_ch7017.o \
          dvo_ivch.o \
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 9d871c7eeaee..0e904986f3e9 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -989,9 +989,9 @@ static int gen6_drpc_info(struct seq_file *m)
+@@ -989,9 +989,9 @@ static int gen6_drpc_info(struct seq_fil
        if (ret)
                return ret;
  
@@ -76,7 +72,7 @@ index 9d871c7eeaee..0e904986f3e9 100644
  
        if (forcewake_count) {
                seq_puts(m, "RC information inaccurate because somebody "
-@@ -1375,9 +1375,9 @@ static int i915_gen6_forcewake_count_info(struct seq_file *m, void *data)
+@@ -1375,9 +1375,9 @@ static int i915_gen6_forcewake_count_inf
        struct drm_i915_private *dev_priv = dev->dev_private;
        unsigned forcewake_count;
  
@@ -89,11 +85,9 @@ index 9d871c7eeaee..0e904986f3e9 100644
  
        seq_printf(m, "forcewake count = %u\n", forcewake_count);
  
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index d71e765b814d..dcc44597ea14 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1436,22 +1436,6 @@ static void i915_dump_device_info(struct drm_i915_private *dev_priv)
+@@ -1444,22 +1444,6 @@ static void i915_dump_device_info(struct
  }
  
  /**
@@ -116,7 +110,7 @@ index d71e765b814d..dcc44597ea14 100644
   * i915_driver_load - setup chip and create an initial config
   * @dev: DRM device
   * @flags: startup flags
-@@ -1493,7 +1477,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1501,7 +1485,7 @@ int i915_driver_load(struct drm_device *
        spin_lock_init(&dev_priv->irq_lock);
        spin_lock_init(&dev_priv->gpu_error.lock);
        spin_lock_init(&dev_priv->backlight.lock);
@@ -125,7 +119,7 @@ index d71e765b814d..dcc44597ea14 100644
        mutex_init(&dev_priv->dpio_lock);
        mutex_init(&dev_priv->rps.hw_lock);
        mutex_init(&dev_priv->modeset_restore_lock);
-@@ -1529,7 +1513,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1537,7 +1521,7 @@ int i915_driver_load(struct drm_device *
                goto put_bridge;
        }
  
@@ -134,7 +128,7 @@ index d71e765b814d..dcc44597ea14 100644
  
        if (IS_HASWELL(dev) && (I915_READ(HSW_EDRAM_PRESENT) == 1)) {
                /* The docs do not explain exactly how the calculation can be
-@@ -1603,8 +1587,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1611,8 +1595,8 @@ int i915_driver_load(struct drm_device *
  
        intel_irq_init(dev);
        intel_pm_init(dev);
@@ -145,11 +139,9 @@ index d71e765b814d..dcc44597ea14 100644
  
        /* Try to make sure MCHBAR is enabled before poking at it */
        intel_setup_mchbar(dev);
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 5849b0a91b4e..01d63a0435fb 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -723,7 +723,7 @@ static int i915_drm_thaw(struct drm_device *dev)
+@@ -723,7 +723,7 @@ static int i915_drm_thaw(struct drm_devi
  {
        int error = 0;
  
@@ -445,8 +437,6 @@ index 5849b0a91b4e..01d63a0435fb 100644
 -
 -      return 0;
 -}
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 452b2ae84c4e..928a7309b7c3 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -391,11 +391,20 @@ struct drm_i915_display_funcs {
@@ -487,7 +477,7 @@ index 452b2ae84c4e..928a7309b7c3 100644
  
        struct intel_gmbus gmbus[GMBUS_NUM_PORTS];
  
-@@ -1671,8 +1673,14 @@ void i915_handle_error(struct drm_device *dev, bool wedged);
+@@ -1671,8 +1673,14 @@ void i915_handle_error(struct drm_device
  extern void intel_irq_init(struct drm_device *dev);
  extern void intel_pm_init(struct drm_device *dev);
  extern void intel_hpd_init(struct drm_device *dev);
@@ -504,7 +494,7 @@ index 452b2ae84c4e..928a7309b7c3 100644
  
  void
  i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask);
-@@ -2108,7 +2116,6 @@ extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
+@@ -2108,7 +2116,6 @@ extern void intel_display_print_error_st
   */
  void gen6_gt_force_wake_get(struct drm_i915_private *dev_priv);
  void gen6_gt_force_wake_put(struct drm_i915_private *dev_priv);
@@ -512,11 +502,9 @@ index 452b2ae84c4e..928a7309b7c3 100644
  
  int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val);
  int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val);
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 52a43470e125..a588cd5745aa 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -1307,11 +1307,7 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg)
+@@ -1307,11 +1307,7 @@ static irqreturn_t ironlake_irq_handler(
  
        /* We get interrupts on unclaimed registers, so check for this before we
         * do any I915_{READ,WRITE}. */
@@ -529,11 +517,9 @@ index 52a43470e125..a588cd5745aa 100644
  
        /* disable master interrupt before clearing iir  */
        de_ier = I915_READ(DEIER);
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 73965dfbf149..afac090a4f3d 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10481,8 +10481,7 @@ intel_display_capture_error_state(struct drm_device *dev)
+@@ -10484,8 +10484,7 @@ intel_display_capture_error_state(struct
         * well was on, so here we have to clear the FPGA_DBG_RM_NOCLAIM bit to
         * prevent the next I915_WRITE from detecting it and printing an error
         * message. */
@@ -543,11 +529,9 @@ index 73965dfbf149..afac090a4f3d 100644
  
        return error;
  }
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 3fbe80bc36bb..d9f50e368fe9 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -806,7 +806,6 @@ extern void intel_init_power_well(struct drm_device *dev);
+@@ -806,7 +806,6 @@ extern void intel_init_power_well(struct
  extern void intel_set_power_well(struct drm_device *dev, bool enable);
  extern void intel_enable_gt_powersave(struct drm_device *dev);
  extern void intel_disable_gt_powersave(struct drm_device *dev);
@@ -555,8 +539,6 @@ index 3fbe80bc36bb..d9f50e368fe9 100644
  extern void ironlake_teardown_rc6(struct drm_device *dev);
  
  extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder,
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 948c171d7f73..5d7d0e76da7f 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
 @@ -32,8 +32,6 @@
@@ -568,7 +550,7 @@ index 948c171d7f73..5d7d0e76da7f 100644
  /* FBC, or Frame Buffer Compression, is a technique employed to compress the
   * framebuffer contents in-memory, aiming at reducing the required bandwidth
   * during in-memory transfers and, therefore, reduce the power packet.
-@@ -5307,260 +5305,6 @@ void intel_init_pm(struct drm_device *dev)
+@@ -5307,260 +5305,6 @@ void intel_init_pm(struct drm_device *de
        }
  }
  
@@ -829,7 +811,7 @@ index 948c171d7f73..5d7d0e76da7f 100644
  int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val)
  {
        WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
-@@ -5663,3 +5407,11 @@ int vlv_freq_opcode(int ddr_freq, int val)
+@@ -5663,3 +5407,11 @@ int vlv_freq_opcode(int ddr_freq, int va
        return val;
  }
  
@@ -841,9 +823,6 @@ index 948c171d7f73..5d7d0e76da7f 100644
 +                        intel_gen6_powersave_work);
 +}
 +
-diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
-new file mode 100644
-index 000000000000..97e8b1b86476
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/intel_uncore.c
 @@ -0,0 +1,571 @@
@@ -1418,6 +1397,3 @@ index 000000000000..97e8b1b86476
 +              I915_WRITE_NOTRACE(FPGA_DBG, FPGA_DBG_RM_NOCLAIM);
 +      }
 +}
--- 
-1.8.5.rc3
-
index 54e23e5..3fe0876 100644 (file)
@@ -17,16 +17,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c20e835586c0e4d08f891362b3c829d45ef45f9d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 1 +
- drivers/gpu/drm/i915/i915_drv.h | 1 +
- drivers/gpu/drm/i915/i915_gem.c | 4 ++++
+ drivers/gpu/drm/i915/i915_dma.c |    1 +
+ drivers/gpu/drm/i915/i915_drv.h |    1 +
+ drivers/gpu/drm/i915/i915_gem.c |    4 ++++
  3 files changed, 6 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index dcc44597ea14..de611f64bb16 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1478,6 +1478,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1486,6 +1486,7 @@ int i915_driver_load(struct drm_device *
        spin_lock_init(&dev_priv->gpu_error.lock);
        spin_lock_init(&dev_priv->backlight.lock);
        spin_lock_init(&dev_priv->uncore.lock);
@@ -34,8 +32,6 @@ index dcc44597ea14..de611f64bb16 100644
        mutex_init(&dev_priv->dpio_lock);
        mutex_init(&dev_priv->rps.hw_lock);
        mutex_init(&dev_priv->modeset_restore_lock);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 2f8699b03722..f31a1b0adbda 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -935,6 +935,7 @@ struct i915_gem_mm {
@@ -46,11 +42,9 @@ index 2f8699b03722..f31a1b0adbda 100644
        size_t object_memory;
        u32 object_count;
  };
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 73521ed14eeb..3a5d4baa4c53 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -76,15 +76,19 @@ static inline void i915_gem_object_fence_lost(struct drm_i915_gem_object *obj)
+@@ -76,15 +76,19 @@ static inline void i915_gem_object_fence
  static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv,
                                  size_t size)
  {
@@ -70,6 +64,3 @@ index 73521ed14eeb..3a5d4baa4c53 100644
  }
  
  static int
--- 
-1.8.5.rc3
-
index 9c619f5..093c272 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit fc8c067eee712b274e554be5cc87c79366cc5ad2)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c |  4 ----
- drivers/gpu/drm/i915/i915_gem.c | 15 +++++++++++++--
+ drivers/gpu/drm/i915/i915_dma.c |    4 ----
+ drivers/gpu/drm/i915/i915_gem.c |   15 +++++++++++++--
  2 files changed, 13 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index de611f64bb16..e4e98dfb7f25 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1485,10 +1485,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1493,10 +1493,6 @@ int i915_driver_load(struct drm_device *
  
        i915_dump_device_info(dev_priv);
  
@@ -32,11 +30,9 @@ index de611f64bb16..e4e98dfb7f25 100644
        if (i915_get_bridge_dev(dev)) {
                ret = -EIO;
                goto free_priv;
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 3a5d4baa4c53..8f9ee89ed971 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -4334,6 +4334,16 @@ init_ring_lists(struct intel_ring_buffer *ring)
+@@ -4334,6 +4334,16 @@ init_ring_lists(struct intel_ring_buffer
        INIT_LIST_HEAD(&ring->request_list);
  }
  
@@ -65,6 +61,3 @@ index 3a5d4baa4c53..8f9ee89ed971 100644
        INIT_LIST_HEAD(&dev_priv->mm.unbound_list);
        INIT_LIST_HEAD(&dev_priv->mm.bound_list);
        INIT_LIST_HEAD(&dev_priv->mm.fence_list);
--- 
-1.8.5.rc3
-
index fb50be8..9f5ccf1 100644 (file)
@@ -17,20 +17,18 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c37e22046148971a35a89931aa1f951bb99d5514)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h            | 11 +++++++++++
- drivers/gpu/drm/i915/i915_gem.c            |  9 +++++----
- drivers/gpu/drm/i915/i915_gem_context.c    |  4 ++--
- drivers/gpu/drm/i915/i915_gem_execbuffer.c |  4 +++-
- drivers/gpu/drm/i915/intel_overlay.c       |  2 +-
- drivers/gpu/drm/i915/intel_pm.c            |  2 +-
- drivers/gpu/drm/i915/intel_ringbuffer.c    |  8 ++++----
+ drivers/gpu/drm/i915/i915_drv.h            |   11 +++++++++++
+ drivers/gpu/drm/i915/i915_gem.c            |    9 +++++----
+ drivers/gpu/drm/i915/i915_gem_context.c    |    4 ++--
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    4 +++-
+ drivers/gpu/drm/i915/intel_overlay.c       |    2 +-
+ drivers/gpu/drm/i915/intel_pm.c            |    2 +-
+ drivers/gpu/drm/i915/intel_ringbuffer.c    |    8 ++++----
  7 files changed, 27 insertions(+), 13 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 5fe98c572ba3..356970c9368a 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -1711,6 +1711,7 @@ struct i915_vma *i915_gem_vma_create(struct drm_i915_gem_object *obj,
+@@ -1711,6 +1711,7 @@ struct i915_vma *i915_gem_vma_create(str
  void i915_gem_vma_destroy(struct i915_vma *vma);
  
  int __must_check i915_gem_object_pin(struct drm_i915_gem_object *obj,
@@ -38,7 +36,7 @@ index 5fe98c572ba3..356970c9368a 100644
                                     uint32_t alignment,
                                     bool map_and_fenceable,
                                     bool nonblocking);
-@@ -1896,6 +1897,16 @@ i915_gem_obj_ggtt_size(struct drm_i915_gem_object *obj)
+@@ -1896,6 +1897,16 @@ i915_gem_obj_ggtt_size(struct drm_i915_g
  {
        return i915_gem_obj_size(obj, obj_to_ggtt(obj));
  }
@@ -55,11 +53,9 @@ index 5fe98c572ba3..356970c9368a 100644
  #undef obj_to_ggtt
  
  /* i915_gem_context.c */
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index c7e0db1ff8f5..d2d1d58ff3d0 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -593,7 +593,7 @@ i915_gem_gtt_pwrite_fast(struct drm_device *dev,
+@@ -593,7 +593,7 @@ i915_gem_gtt_pwrite_fast(struct drm_devi
        char __user *user_data;
        int page_offset, page_length, ret;
  
@@ -68,7 +64,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644
        if (ret)
                goto out;
  
-@@ -1347,7 +1347,7 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+@@ -1347,7 +1347,7 @@ int i915_gem_fault(struct vm_area_struct
        }
  
        /* Now bind it into the GTT if needed */
@@ -77,7 +73,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644
        if (ret)
                goto unlock;
  
-@@ -3482,7 +3482,7 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj,
+@@ -3482,7 +3482,7 @@ i915_gem_object_pin_to_display_plane(str
         * (e.g. libkms for the bootup splash), we have to ensure that we
         * always use map_and_fenceable for all scanout buffers.
         */
@@ -86,7 +82,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644
        if (ret)
                return ret;
  
-@@ -3625,6 +3625,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file)
+@@ -3625,6 +3625,7 @@ i915_gem_ring_throttle(struct drm_device
  
  int
  i915_gem_object_pin(struct drm_i915_gem_object *obj,
@@ -94,7 +90,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644
                    uint32_t alignment,
                    bool map_and_fenceable,
                    bool nonblocking)
-@@ -3714,7 +3715,7 @@ i915_gem_pin_ioctl(struct drm_device *dev, void *data,
+@@ -3714,7 +3715,7 @@ i915_gem_pin_ioctl(struct drm_device *de
        }
  
        if (obj->user_pin_count == 0) {
@@ -103,11 +99,9 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644
                if (ret)
                        goto out;
        }
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 2470206a4d07..d1cb28cbc71e 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -214,7 +214,7 @@ static int create_default_context(struct drm_i915_private *dev_priv)
+@@ -214,7 +214,7 @@ static int create_default_context(struct
         * default context.
         */
        dev_priv->ring[RCS].default_context = ctx;
@@ -116,7 +110,7 @@ index 2470206a4d07..d1cb28cbc71e 100644
        if (ret) {
                DRM_DEBUG_DRIVER("Couldn't pin %d\n", ret);
                goto err_destroy;
-@@ -400,7 +400,7 @@ static int do_switch(struct i915_hw_context *to)
+@@ -398,7 +398,7 @@ static int do_switch(struct i915_hw_cont
        if (from == to)
                return 0;
  
@@ -125,11 +119,9 @@ index 2470206a4d07..d1cb28cbc71e 100644
        if (ret)
                return ret;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 5b6d764e9bb2..7addab31783f 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -409,7 +409,9 @@ i915_gem_execbuffer_reserve_object(struct drm_i915_gem_object *obj,
+@@ -409,7 +409,9 @@ i915_gem_execbuffer_reserve_object(struc
                obj->tiling_mode != I915_TILING_NONE;
        need_mappable = need_fence || need_reloc_mappable(obj);
  
@@ -140,11 +132,9 @@ index 5b6d764e9bb2..7addab31783f 100644
        if (ret)
                return ret;
  
-diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index 9ec5a4e12af2..ddfd0aefe0c0 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
-@@ -1352,7 +1352,7 @@ void intel_setup_overlay(struct drm_device *dev)
+@@ -1352,7 +1352,7 @@ void intel_setup_overlay(struct drm_devi
                }
                overlay->flip_addr = reg_bo->phys_obj->handle->busaddr;
        } else {
@@ -153,11 +143,9 @@ index 9ec5a4e12af2..ddfd0aefe0c0 100644
                if (ret) {
                        DRM_ERROR("failed to pin overlay register bo\n");
                        goto out_free_bo;
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 03fa8656155d..af4ca44bbad2 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -2886,7 +2886,7 @@ intel_alloc_context_page(struct drm_device *dev)
+@@ -2886,7 +2886,7 @@ intel_alloc_context_page(struct drm_devi
                return NULL;
        }
  
@@ -166,11 +154,9 @@ index 03fa8656155d..af4ca44bbad2 100644
        if (ret) {
                DRM_ERROR("failed to pin power context: %d\n", ret);
                goto err_unref;
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index bc78c794ae81..89a9c908c99d 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -501,7 +501,7 @@ init_pipe_control(struct intel_ring_buffer *ring)
+@@ -501,7 +501,7 @@ init_pipe_control(struct intel_ring_buff
  
        i915_gem_object_set_cache_level(obj, I915_CACHE_LLC);
  
@@ -179,7 +165,7 @@ index bc78c794ae81..89a9c908c99d 100644
        if (ret)
                goto err_unref;
  
-@@ -1236,7 +1236,7 @@ static int init_status_page(struct intel_ring_buffer *ring)
+@@ -1236,7 +1236,7 @@ static int init_status_page(struct intel
  
        i915_gem_object_set_cache_level(obj, I915_CACHE_LLC);
  
@@ -188,7 +174,7 @@ index bc78c794ae81..89a9c908c99d 100644
        if (ret != 0) {
                goto err_unref;
        }
-@@ -1319,7 +1319,7 @@ static int intel_init_ring_buffer(struct drm_device *dev,
+@@ -1319,7 +1319,7 @@ static int intel_init_ring_buffer(struct
  
        ring->obj = obj;
  
@@ -197,7 +183,7 @@ index bc78c794ae81..89a9c908c99d 100644
        if (ret)
                goto err_unref;
  
-@@ -1840,7 +1840,7 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1840,7 +1840,7 @@ int intel_init_render_ring_buffer(struct
                        return -ENOMEM;
                }
  
@@ -206,6 +192,3 @@ index bc78c794ae81..89a9c908c99d 100644
                if (ret != 0) {
                        drm_gem_object_unreference(&obj->base);
                        DRM_ERROR("Failed to ping batch bo\n");
--- 
-1.8.5.rc3
-
index b860bca..c632cec 100644 (file)
@@ -19,39 +19,37 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit baa7094355a10b432bbccacb925da4bdac861c8d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 ++--
- drivers/gpu/drm/gma500/psb_drv.c        | 2 +-
- drivers/gpu/drm/i810/i810_dma.c         | 2 +-
- drivers/gpu/drm/i810/i810_drv.h         | 2 +-
- drivers/gpu/drm/i915/i915_dma.c         | 2 +-
- drivers/gpu/drm/i915/i915_drv.h         | 2 +-
- drivers/gpu/drm/mga/mga_drv.h           | 2 +-
- drivers/gpu/drm/mga/mga_state.c         | 2 +-
- drivers/gpu/drm/nouveau/nouveau_drm.c   | 5 ++---
- drivers/gpu/drm/omapdrm/omap_drv.c      | 2 +-
- drivers/gpu/drm/qxl/qxl_drv.h           | 2 +-
- drivers/gpu/drm/qxl/qxl_ioctl.c         | 2 +-
- drivers/gpu/drm/r128/r128_drv.h         | 2 +-
- drivers/gpu/drm/r128/r128_state.c       | 2 +-
- drivers/gpu/drm/radeon/radeon_drv.c     | 2 +-
- drivers/gpu/drm/radeon/radeon_kms.c     | 2 +-
- drivers/gpu/drm/savage/savage_bci.c     | 2 +-
- drivers/gpu/drm/savage/savage_drv.h     | 2 +-
- drivers/gpu/drm/sis/sis_drv.h           | 2 +-
- drivers/gpu/drm/sis/sis_mm.c            | 2 +-
- drivers/gpu/drm/via/via_dma.c           | 2 +-
- drivers/gpu/drm/via/via_drv.h           | 2 +-
- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     | 4 ++--
- drivers/gpu/host1x/drm/drm.c            | 2 +-
- drivers/staging/imx-drm/imx-drm-core.c  | 2 +-
- include/drm/drmP.h                      | 2 +-
+ drivers/gpu/drm/exynos/exynos_drm_drv.c |    4 ++--
+ drivers/gpu/drm/gma500/psb_drv.c        |    2 +-
+ drivers/gpu/drm/i810/i810_dma.c         |    2 +-
+ drivers/gpu/drm/i810/i810_drv.h         |    2 +-
+ drivers/gpu/drm/i915/i915_dma.c         |    2 +-
+ drivers/gpu/drm/i915/i915_drv.h         |    2 +-
+ drivers/gpu/drm/mga/mga_drv.h           |    2 +-
+ drivers/gpu/drm/mga/mga_state.c         |    2 +-
+ drivers/gpu/drm/nouveau/nouveau_drm.c   |    5 ++---
+ drivers/gpu/drm/omapdrm/omap_drv.c      |    2 +-
+ drivers/gpu/drm/qxl/qxl_drv.h           |    2 +-
+ drivers/gpu/drm/qxl/qxl_ioctl.c         |    2 +-
+ drivers/gpu/drm/r128/r128_drv.h         |    2 +-
+ drivers/gpu/drm/r128/r128_state.c       |    2 +-
+ drivers/gpu/drm/radeon/radeon_drv.c     |    2 +-
+ drivers/gpu/drm/radeon/radeon_kms.c     |    2 +-
+ drivers/gpu/drm/savage/savage_bci.c     |    2 +-
+ drivers/gpu/drm/savage/savage_drv.h     |    2 +-
+ drivers/gpu/drm/sis/sis_drv.h           |    2 +-
+ drivers/gpu/drm/sis/sis_mm.c            |    2 +-
+ drivers/gpu/drm/via/via_dma.c           |    2 +-
+ drivers/gpu/drm/via/via_drv.h           |    2 +-
+ drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     |    4 ++--
+ drivers/gpu/host1x/drm/drm.c            |    2 +-
+ drivers/staging/imx-drm/imx-drm-core.c  |    2 +-
+ include/drm/drmP.h                      |    2 +-
  26 files changed, 29 insertions(+), 30 deletions(-)
 
-diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
-index 1ff89aca1fed..7e4669188c63 100644
 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
 +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
-@@ -218,7 +218,7 @@ static const struct vm_operations_struct exynos_drm_gem_vm_ops = {
+@@ -218,7 +218,7 @@ static const struct vm_operations_struct
        .close = drm_gem_vm_close,
  };
  
@@ -60,7 +58,7 @@ index 1ff89aca1fed..7e4669188c63 100644
        DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_create_ioctl,
                        DRM_UNLOCKED | DRM_AUTH),
        DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MAP_OFFSET,
-@@ -282,6 +282,7 @@ static struct drm_driver exynos_drm_driver = {
+@@ -282,6 +282,7 @@ static struct drm_driver exynos_drm_driv
        .gem_prime_export       = exynos_dmabuf_prime_export,
        .gem_prime_import       = exynos_dmabuf_prime_import,
        .ioctls                 = exynos_ioctls,
@@ -68,7 +66,7 @@ index 1ff89aca1fed..7e4669188c63 100644
        .fops                   = &exynos_drm_driver_fops,
        .name   = DRIVER_NAME,
        .desc   = DRIVER_DESC,
-@@ -295,7 +296,6 @@ static int exynos_drm_platform_probe(struct platform_device *pdev)
+@@ -295,7 +296,6 @@ static int exynos_drm_platform_probe(str
        DRM_DEBUG_DRIVER("%s\n", __FILE__);
  
        pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
@@ -76,11 +74,9 @@ index 1ff89aca1fed..7e4669188c63 100644
  
        return drm_platform_init(&exynos_drm_driver, pdev);
  }
-diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
-index ed06d5ce3757..d13c2fc848bc 100644
 --- a/drivers/gpu/drm/gma500/psb_drv.c
 +++ b/drivers/gpu/drm/gma500/psb_drv.c
-@@ -131,7 +131,7 @@ static int psb_gamma_ioctl(struct drm_device *dev, void *data,
+@@ -131,7 +131,7 @@ static int psb_gamma_ioctl(struct drm_de
  static int psb_dpst_bl_ioctl(struct drm_device *dev, void *data,
                             struct drm_file *file_priv);
  
@@ -89,11 +85,9 @@ index ed06d5ce3757..d13c2fc848bc 100644
        DRM_IOCTL_DEF_DRV(GMA_ADB, psb_adb_ioctl, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(GMA_MODE_OPERATION, psb_mode_operation_ioctl,
                      DRM_AUTH),
-diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c
-index 004ecdfe1b55..926ac7d48381 100644
 --- a/drivers/gpu/drm/i810/i810_dma.c
 +++ b/drivers/gpu/drm/i810/i810_dma.c
-@@ -1241,7 +1241,7 @@ int i810_driver_dma_quiescent(struct drm_device *dev)
+@@ -1241,7 +1241,7 @@ int i810_driver_dma_quiescent(struct drm
        return 0;
  }
  
@@ -102,11 +96,9 @@ index 004ecdfe1b55..926ac7d48381 100644
        DRM_IOCTL_DEF_DRV(I810_INIT, i810_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED),
        DRM_IOCTL_DEF_DRV(I810_VERTEX, i810_dma_vertex, DRM_AUTH|DRM_UNLOCKED),
        DRM_IOCTL_DEF_DRV(I810_CLEAR, i810_clear_bufs, DRM_AUTH|DRM_UNLOCKED),
-diff --git a/drivers/gpu/drm/i810/i810_drv.h b/drivers/gpu/drm/i810/i810_drv.h
-index 6e0acad9e0f5..d4d16eddd651 100644
 --- a/drivers/gpu/drm/i810/i810_drv.h
 +++ b/drivers/gpu/drm/i810/i810_drv.h
-@@ -125,7 +125,7 @@ extern void i810_driver_preclose(struct drm_device *dev,
+@@ -125,7 +125,7 @@ extern void i810_driver_preclose(struct
  extern int i810_driver_device_is_agp(struct drm_device *dev);
  
  extern long i810_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
@@ -115,11 +107,9 @@ index 6e0acad9e0f5..d4d16eddd651 100644
  extern int i810_max_ioctl;
  
  #define I810_BASE(reg)                ((unsigned long) \
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index e4e98dfb7f25..0adfe4000871 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1833,7 +1833,7 @@ void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
+@@ -1843,7 +1843,7 @@ void i915_driver_postclose(struct drm_de
        kfree(file_priv);
  }
  
@@ -128,8 +118,6 @@ index e4e98dfb7f25..0adfe4000871 100644
        DRM_IOCTL_DEF_DRV(I915_INIT, i915_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(I915_FLUSH, i915_flush_ioctl, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(I915_FLIP, i915_flip_bufs, DRM_AUTH),
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 06c31752fcb2..2468d3aec9af 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1595,7 +1595,7 @@ struct drm_i915_file_private {
@@ -141,8 +129,6 @@ index 06c31752fcb2..2468d3aec9af 100644
  extern int i915_max_ioctl;
  extern unsigned int i915_fbpercrtc __always_unused;
  extern int i915_panel_ignore_lid __read_mostly;
-diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h
-index 54558a01969a..ca4bc54ea214 100644
 --- a/drivers/gpu/drm/mga/mga_drv.h
 +++ b/drivers/gpu/drm/mga/mga_drv.h
 @@ -149,7 +149,7 @@ typedef struct drm_mga_private {
@@ -154,8 +140,6 @@ index 54558a01969a..ca4bc54ea214 100644
  extern int mga_max_ioctl;
  
                                /* mga_dma.c */
-diff --git a/drivers/gpu/drm/mga/mga_state.c b/drivers/gpu/drm/mga/mga_state.c
-index 9c145143ad0f..37cc2fb4eadd 100644
 --- a/drivers/gpu/drm/mga/mga_state.c
 +++ b/drivers/gpu/drm/mga/mga_state.c
 @@ -1083,7 +1083,7 @@ file_priv)
@@ -167,11 +151,9 @@ index 9c145143ad0f..37cc2fb4eadd 100644
        DRM_IOCTL_DEF_DRV(MGA_INIT, mga_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(MGA_FLUSH, mga_dma_flush, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(MGA_RESET, mga_dma_reset, DRM_AUTH),
-diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
-index b77bcb9237e0..421815b1ef93 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
-@@ -640,7 +640,7 @@ nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv)
+@@ -640,7 +640,7 @@ nouveau_drm_postclose(struct drm_device
        nouveau_cli_destroy(cli);
  }
  
@@ -197,11 +179,9 @@ index b77bcb9237e0..421815b1ef93 100644
        if (nouveau_modeset == -1) {
  #ifdef CONFIG_VGA_CONSOLE
                if (vgacon_text_force())
-diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
-index 75886a3bf639..f69f9f6785e8 100644
 --- a/drivers/gpu/drm/omapdrm/omap_drv.c
 +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
-@@ -404,7 +404,7 @@ static int ioctl_gem_info(struct drm_device *dev, void *data,
+@@ -404,7 +404,7 @@ static int ioctl_gem_info(struct drm_dev
        return ret;
  }
  
@@ -210,8 +190,6 @@ index 75886a3bf639..f69f9f6785e8 100644
        DRM_IOCTL_DEF_DRV(OMAP_GET_PARAM, ioctl_get_param, DRM_UNLOCKED|DRM_AUTH),
        DRM_IOCTL_DEF_DRV(OMAP_SET_PARAM, ioctl_set_param, DRM_UNLOCKED|DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(OMAP_GEM_NEW, ioctl_gem_new, DRM_UNLOCKED|DRM_AUTH),
-diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
-index 089fd42802dd..6bdb2689e95e 100644
 --- a/drivers/gpu/drm/qxl/qxl_drv.h
 +++ b/drivers/gpu/drm/qxl/qxl_drv.h
 @@ -319,7 +319,7 @@ struct qxl_device {
@@ -223,11 +201,9 @@ index 089fd42802dd..6bdb2689e95e 100644
  extern int qxl_max_ioctl;
  
  int qxl_driver_load(struct drm_device *dev, unsigned long flags);
-diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
-index a30f29425c21..faa5b17a9c9e 100644
 --- a/drivers/gpu/drm/qxl/qxl_ioctl.c
 +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
-@@ -396,7 +396,7 @@ static int qxl_alloc_surf_ioctl(struct drm_device *dev, void *data,
+@@ -396,7 +396,7 @@ static int qxl_alloc_surf_ioctl(struct d
        return ret;
  }
  
@@ -236,8 +212,6 @@ index a30f29425c21..faa5b17a9c9e 100644
        DRM_IOCTL_DEF_DRV(QXL_ALLOC, qxl_alloc_ioctl, DRM_AUTH|DRM_UNLOCKED),
  
        DRM_IOCTL_DEF_DRV(QXL_MAP, qxl_map_ioctl, DRM_AUTH|DRM_UNLOCKED),
-diff --git a/drivers/gpu/drm/r128/r128_drv.h b/drivers/gpu/drm/r128/r128_drv.h
-index 930c71b2fb5e..56eb5e3f5439 100644
 --- a/drivers/gpu/drm/r128/r128_drv.h
 +++ b/drivers/gpu/drm/r128/r128_drv.h
 @@ -131,7 +131,7 @@ typedef struct drm_r128_buf_priv {
@@ -249,11 +223,9 @@ index 930c71b2fb5e..56eb5e3f5439 100644
  extern int r128_max_ioctl;
  
                                /* r128_cce.c */
-diff --git a/drivers/gpu/drm/r128/r128_state.c b/drivers/gpu/drm/r128/r128_state.c
-index 19bb7e6f3d9a..01dd9aef9f0e 100644
 --- a/drivers/gpu/drm/r128/r128_state.c
 +++ b/drivers/gpu/drm/r128/r128_state.c
-@@ -1643,7 +1643,7 @@ void r128_driver_lastclose(struct drm_device *dev)
+@@ -1643,7 +1643,7 @@ void r128_driver_lastclose(struct drm_de
        r128_do_cleanup_cce(dev);
  }
  
@@ -262,11 +234,9 @@ index 19bb7e6f3d9a..01dd9aef9f0e 100644
        DRM_IOCTL_DEF_DRV(R128_INIT, r128_cce_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(R128_CCE_START, r128_cce_start, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(R128_CCE_STOP, r128_cce_stop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
-diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
-index bef72931ea08..cb84df3114a6 100644
 --- a/drivers/gpu/drm/radeon/radeon_drv.c
 +++ b/drivers/gpu/drm/radeon/radeon_drv.c
-@@ -110,7 +110,7 @@ void radeon_gem_object_close(struct drm_gem_object *obj,
+@@ -110,7 +110,7 @@ void radeon_gem_object_close(struct drm_
                                struct drm_file *file_priv);
  extern int radeon_get_crtc_scanoutpos(struct drm_device *dev, int crtc,
                                      int *vpos, int *hpos);
@@ -275,11 +245,9 @@ index bef72931ea08..cb84df3114a6 100644
  extern int radeon_max_kms_ioctl;
  int radeon_mmap(struct file *filp, struct vm_area_struct *vma);
  int radeon_mode_dumb_mmap(struct drm_file *filp,
-diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
-index 7e292d899209..100d10930da5 100644
 --- a/drivers/gpu/drm/radeon/radeon_kms.c
 +++ b/drivers/gpu/drm/radeon/radeon_kms.c
-@@ -716,7 +716,7 @@ KMS_INVALID_IOCTL(radeon_surface_alloc_kms)
+@@ -716,7 +716,7 @@ KMS_INVALID_IOCTL(radeon_surface_alloc_k
  KMS_INVALID_IOCTL(radeon_surface_free_kms)
  
  
@@ -288,11 +256,9 @@ index 7e292d899209..100d10930da5 100644
        DRM_IOCTL_DEF_DRV(RADEON_CP_INIT, radeon_cp_init_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(RADEON_CP_START, radeon_cp_start_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(RADEON_CP_STOP, radeon_cp_stop_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
-diff --git a/drivers/gpu/drm/savage/savage_bci.c b/drivers/gpu/drm/savage/savage_bci.c
-index b55c1d661147..ce3a7d42ee43 100644
 --- a/drivers/gpu/drm/savage/savage_bci.c
 +++ b/drivers/gpu/drm/savage/savage_bci.c
-@@ -1085,7 +1085,7 @@ void savage_reclaim_buffers(struct drm_device *dev, struct drm_file *file_priv)
+@@ -1085,7 +1085,7 @@ void savage_reclaim_buffers(struct drm_d
                drm_idlelock_release(&file_priv->master->lock);
  }
  
@@ -301,8 +267,6 @@ index b55c1d661147..ce3a7d42ee43 100644
        DRM_IOCTL_DEF_DRV(SAVAGE_BCI_INIT, savage_bci_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(SAVAGE_BCI_CMDBUF, savage_bci_cmdbuf, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(SAVAGE_BCI_EVENT_EMIT, savage_bci_event_emit, DRM_AUTH),
-diff --git a/drivers/gpu/drm/savage/savage_drv.h b/drivers/gpu/drm/savage/savage_drv.h
-index df2aac6636f7..5f55b21ea22d 100644
 --- a/drivers/gpu/drm/savage/savage_drv.h
 +++ b/drivers/gpu/drm/savage/savage_drv.h
 @@ -104,7 +104,7 @@ enum savage_family {
@@ -314,11 +278,9 @@ index df2aac6636f7..5f55b21ea22d 100644
  extern int savage_max_ioctl;
  
  #define S3_SAVAGE3D_SERIES(chip)  ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX))
-diff --git a/drivers/gpu/drm/sis/sis_drv.h b/drivers/gpu/drm/sis/sis_drv.h
-index 13b527bb83be..c31c0253054d 100644
 --- a/drivers/gpu/drm/sis/sis_drv.h
 +++ b/drivers/gpu/drm/sis/sis_drv.h
-@@ -70,7 +70,7 @@ extern void sis_reclaim_buffers_locked(struct drm_device *dev,
+@@ -70,7 +70,7 @@ extern void sis_reclaim_buffers_locked(s
                                       struct drm_file *file_priv);
  extern void sis_lastclose(struct drm_device *dev);
  
@@ -327,11 +289,9 @@ index 13b527bb83be..c31c0253054d 100644
  extern int sis_max_ioctl;
  
  #endif
-diff --git a/drivers/gpu/drm/sis/sis_mm.c b/drivers/gpu/drm/sis/sis_mm.c
-index 23a234985941..01857d836350 100644
 --- a/drivers/gpu/drm/sis/sis_mm.c
 +++ b/drivers/gpu/drm/sis/sis_mm.c
-@@ -350,7 +350,7 @@ void sis_reclaim_buffers_locked(struct drm_device *dev,
+@@ -350,7 +350,7 @@ void sis_reclaim_buffers_locked(struct d
        return;
  }
  
@@ -340,11 +300,9 @@ index 23a234985941..01857d836350 100644
        DRM_IOCTL_DEF_DRV(SIS_FB_ALLOC, sis_fb_alloc, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(SIS_FB_FREE, sis_drm_free, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(SIS_AGP_INIT, sis_ioctl_agp_init, DRM_AUTH | DRM_MASTER | DRM_ROOT_ONLY),
-diff --git a/drivers/gpu/drm/via/via_dma.c b/drivers/gpu/drm/via/via_dma.c
-index 13558f5a2422..652f9b43ec9d 100644
 --- a/drivers/gpu/drm/via/via_dma.c
 +++ b/drivers/gpu/drm/via/via_dma.c
-@@ -720,7 +720,7 @@ static int via_cmdbuf_size(struct drm_device *dev, void *data, struct drm_file *
+@@ -720,7 +720,7 @@ static int via_cmdbuf_size(struct drm_de
        return ret;
  }
  
@@ -353,8 +311,6 @@ index 13558f5a2422..652f9b43ec9d 100644
        DRM_IOCTL_DEF_DRV(VIA_ALLOCMEM, via_mem_alloc, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(VIA_FREEMEM, via_mem_free, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(VIA_AGP_INIT, via_agp_init, DRM_AUTH|DRM_MASTER),
-diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h
-index 893a65090c36..a811ef2b505f 100644
 --- a/drivers/gpu/drm/via/via_drv.h
 +++ b/drivers/gpu/drm/via/via_drv.h
 @@ -114,7 +114,7 @@ enum via_family {
@@ -366,8 +322,6 @@ index 893a65090c36..a811ef2b505f 100644
  extern int via_max_ioctl;
  
  extern int via_fb_init(struct drm_device *dev, void *data, struct drm_file *file_priv);
-diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
-index 6c44c69a5ba4..46ebf7312dc9 100644
 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
 +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
 @@ -124,7 +124,7 @@
@@ -379,7 +333,7 @@ index 6c44c69a5ba4..46ebf7312dc9 100644
        VMW_IOCTL_DEF(VMW_GET_PARAM, vmw_getparam_ioctl,
                      DRM_AUTH | DRM_UNLOCKED),
        VMW_IOCTL_DEF(VMW_ALLOC_DMABUF, vmw_dmabuf_alloc_ioctl,
-@@ -792,7 +792,7 @@ static long vmw_unlocked_ioctl(struct file *filp, unsigned int cmd,
+@@ -792,7 +792,7 @@ static long vmw_unlocked_ioctl(struct fi
  
        if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END)
            && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) {
@@ -388,11 +342,9 @@ index 6c44c69a5ba4..46ebf7312dc9 100644
                    &vmw_ioctls[nr - DRM_COMMAND_BASE];
  
                if (unlikely(ioctl->cmd_drv != cmd)) {
-diff --git a/drivers/gpu/host1x/drm/drm.c b/drivers/gpu/host1x/drm/drm.c
-index da15a6291bb9..c114080d0d58 100644
 --- a/drivers/gpu/host1x/drm/drm.c
 +++ b/drivers/gpu/host1x/drm/drm.c
-@@ -479,7 +479,7 @@ static int tegra_submit(struct drm_device *drm, void *data,
+@@ -479,7 +479,7 @@ static int tegra_submit(struct drm_devic
  }
  #endif
  
@@ -401,11 +353,9 @@ index da15a6291bb9..c114080d0d58 100644
  #ifdef CONFIG_DRM_TEGRA_STAGING
        DRM_IOCTL_DEF_DRV(TEGRA_GEM_CREATE, tegra_gem_create, DRM_UNLOCKED | DRM_AUTH),
        DRM_IOCTL_DEF_DRV(TEGRA_GEM_MMAP, tegra_gem_mmap, DRM_UNLOCKED),
-diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c
-index a18622570812..f2a07af5cd5e 100644
 --- a/drivers/staging/imx-drm/imx-drm-core.c
 +++ b/drivers/staging/imx-drm/imx-drm-core.c
-@@ -787,7 +787,7 @@ int imx_drm_remove_connector(struct imx_drm_connector *imx_drm_connector)
+@@ -787,7 +787,7 @@ int imx_drm_remove_connector(struct imx_
  }
  EXPORT_SYMBOL_GPL(imx_drm_remove_connector);
  
@@ -414,8 +364,6 @@ index a18622570812..f2a07af5cd5e 100644
        /* none so far */
  };
  
-diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 9a8ea57e3b94..70de499fa3b7 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
 @@ -965,7 +965,7 @@ struct drm_driver {
@@ -427,6 +375,3 @@ index 9a8ea57e3b94..70de499fa3b7 100644
        int num_ioctls;
        const struct file_operations *fops;
        union {
--- 
-1.8.5.rc3
-
index bbee7a7..b4c34be 100644 (file)
@@ -21,15 +21,13 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit c782d2e73d1e69c863d03945907bc7fbc879a778)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 1 -
- include/linux/hdmi.h       | 1 +
+ drivers/gpu/drm/drm_edid.c |    1 -
+ include/linux/hdmi.h       |    1 +
  2 files changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 0cb9b5d8e30a..388039be229d 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2287,7 +2287,6 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
+@@ -2292,7 +2292,6 @@ add_detailed_modes(struct drm_connector
        return closure.modes;
  }
  
@@ -37,8 +35,6 @@ index 0cb9b5d8e30a..388039be229d 100644
  #define AUDIO_BLOCK   0x01
  #define VIDEO_BLOCK     0x02
  #define VENDOR_BLOCK    0x03
-diff --git a/include/linux/hdmi.h b/include/linux/hdmi.h
-index e733252c2b5d..37e0cd755284 100644
 --- a/include/linux/hdmi.h
 +++ b/include/linux/hdmi.h
 @@ -18,6 +18,7 @@ enum hdmi_infoframe_type {
@@ -49,6 +45,3 @@ index e733252c2b5d..37e0cd755284 100644
  #define HDMI_INFOFRAME_HEADER_SIZE  4
  #define HDMI_AVI_INFOFRAME_SIZE    13
  #define HDMI_SPD_INFOFRAME_SIZE    25
--- 
-1.8.5.rc3
-
index ca7d3fd..636d214 100644 (file)
@@ -19,14 +19,12 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit 13ac3f5593cf0964cdb239864829e57cc6981dac)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 12 +++++++-----
+ drivers/gpu/drm/drm_edid.c |   12 +++++++-----
  1 file changed, 7 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 388039be229d..8b5b7aee73cb 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2368,10 +2368,11 @@ EXPORT_SYMBOL(drm_match_cea_mode);
+@@ -2373,10 +2373,11 @@ EXPORT_SYMBOL(drm_match_cea_mode);
  
  
  static int
@@ -40,7 +38,7 @@ index 388039be229d..8b5b7aee73cb 100644
        int modes = 0;
  
        for (mode = db; mode < db + len; mode++) {
-@@ -2428,8 +2429,9 @@ cea_db_offsets(const u8 *cea, int *start, int *end)
+@@ -2433,8 +2434,9 @@ cea_db_offsets(const u8 *cea, int *start
  static int
  add_cea_modes(struct drm_connector *connector, struct edid *edid)
  {
@@ -52,7 +50,7 @@ index 388039be229d..8b5b7aee73cb 100644
        int modes = 0;
  
        if (cea && cea_revision(cea) >= 3) {
-@@ -2443,7 +2445,7 @@ add_cea_modes(struct drm_connector *connector, struct edid *edid)
+@@ -2448,7 +2450,7 @@ add_cea_modes(struct drm_connector *conn
                        dbl = cea_db_payload_len(db);
  
                        if (cea_db_tag(db) == VIDEO_BLOCK)
@@ -61,6 +59,3 @@ index 388039be229d..8b5b7aee73cb 100644
                }
        }
  
--- 
-1.8.5.rc3
-
index 86dedf0..8dfa3a7 100644 (file)
@@ -28,14 +28,12 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit 7ebe1963a063daf30f95752c35244c5d49550aa9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 124 +++++++++++++++++++++++++++++++++++++++------
+ drivers/gpu/drm/drm_edid.c |  124 +++++++++++++++++++++++++++++++++++++++------
  1 file changed, 109 insertions(+), 15 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 8b5b7aee73cb..49b5492e6d59 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -934,6 +934,36 @@ static const struct drm_display_mode edid_cea_modes[] = {
+@@ -939,6 +939,36 @@ static const struct drm_display_mode edi
         .vrefresh = 100, },
  };
  
@@ -72,7 +70,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644
  /*** DDC fetch and block validation ***/
  
  static const u8 edid_header[] = {
-@@ -2392,6 +2422,68 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
+@@ -2397,6 +2427,68 @@ do_cea_modes(struct drm_connector *conne
        return modes;
  }
  
@@ -141,7 +139,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644
  static int
  cea_db_payload_len(const u8 *db)
  {
-@@ -2423,6 +2515,21 @@ cea_db_offsets(const u8 *cea, int *start, int *end)
+@@ -2428,6 +2520,21 @@ cea_db_offsets(const u8 *cea, int *start
        return 0;
  }
  
@@ -163,7 +161,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644
  #define for_each_cea_db(cea, i, start, end) \
        for ((i) = (start); (i) < (end) && (i) + cea_db_payload_len(&(cea)[(i)]) < (end); (i) += cea_db_payload_len(&(cea)[(i)]) + 1)
  
-@@ -2446,6 +2553,8 @@ add_cea_modes(struct drm_connector *connector, struct edid *edid)
+@@ -2451,6 +2558,8 @@ add_cea_modes(struct drm_connector *conn
  
                        if (cea_db_tag(db) == VIDEO_BLOCK)
                                modes += do_cea_modes(connector, db + 1, dbl);
@@ -172,7 +170,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644
                }
        }
  
-@@ -2498,21 +2607,6 @@ monitor_name(struct detailed_timing *t, void *data)
+@@ -2503,21 +2612,6 @@ monitor_name(struct detailed_timing *t,
                *(u8 **)data = t->data.other_data.data.str.str;
  }
  
@@ -194,6 +192,3 @@ index 8b5b7aee73cb..49b5492e6d59 100644
  /**
   * drm_edid_to_eld - build ELD from EDID
   * @connector: connector corresponding to the HDMI/DP sink
--- 
-1.8.5.rc3
-
index de0464f..41bcb14 100644 (file)
@@ -15,16 +15,14 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit 6cb3b7f1c013fd4bea41e16ee557bcb2f1561787)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 2 +-
- drivers/video/hdmi.c       | 4 ++--
- include/linux/hdmi.h       | 2 +-
+ drivers/gpu/drm/drm_edid.c |    2 +-
+ drivers/video/hdmi.c       |    4 ++--
+ include/linux/hdmi.h       |    2 +-
  3 files changed, 4 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 49b5492e6d59..97c6c8c95a95 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2527,7 +2527,7 @@ static bool cea_db_is_hdmi_vsdb(const u8 *db)
+@@ -2532,7 +2532,7 @@ static bool cea_db_is_hdmi_vsdb(const u8
  
        hdmi_id = db[1] | (db[2] << 8) | (db[3] << 16);
  
@@ -33,11 +31,9 @@ index 49b5492e6d59..97c6c8c95a95 100644
  }
  
  #define for_each_cea_db(cea, i, start, end) \
-diff --git a/drivers/video/hdmi.c b/drivers/video/hdmi.c
-index e22ea8b16a1d..7944eaa935f5 100644
 --- a/drivers/video/hdmi.c
 +++ b/drivers/video/hdmi.c
-@@ -300,7 +300,7 @@ int hdmi_vendor_infoframe_init(struct hdmi_vendor_infoframe *frame)
+@@ -300,7 +300,7 @@ int hdmi_vendor_infoframe_init(struct hd
        frame->type = HDMI_INFOFRAME_TYPE_VENDOR;
        frame->version = 1;
  
@@ -46,7 +42,7 @@ index e22ea8b16a1d..7944eaa935f5 100644
  
        /*
         * 0 is a valid value for s3d_struct, so we use a special "not set"
-@@ -387,7 +387,7 @@ hdmi_vendor_any_infoframe_pack(union hdmi_vendor_any_infoframe *frame,
+@@ -387,7 +387,7 @@ hdmi_vendor_any_infoframe_pack(union hdm
                           void *buffer, size_t size)
  {
        /* we only know about HDMI vendor infoframes */
@@ -55,8 +51,6 @@ index e22ea8b16a1d..7944eaa935f5 100644
                return -EINVAL;
  
        return hdmi_vendor_infoframe_pack(&frame->hdmi, buffer, size);
-diff --git a/include/linux/hdmi.h b/include/linux/hdmi.h
-index d4ae12c7931b..9231be9e90a2 100644
 --- a/include/linux/hdmi.h
 +++ b/include/linux/hdmi.h
 @@ -18,7 +18,7 @@ enum hdmi_infoframe_type {
@@ -68,6 +62,3 @@ index d4ae12c7931b..9231be9e90a2 100644
  #define HDMI_INFOFRAME_HEADER_SIZE  4
  #define HDMI_AVI_INFOFRAME_SIZE    13
  #define HDMI_SPD_INFOFRAME_SIZE    25
--- 
-1.8.5.rc3
-
index c83b830..e01c518 100644 (file)
@@ -14,15 +14,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit bf02db99384929a12eff0cf1205b4547e41e881b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c        | 3 +++
- drivers/gpu/drm/i915/intel_hdmi.c | 3 ---
+ drivers/gpu/drm/drm_edid.c        |    3 +++
+ drivers/gpu/drm/i915/intel_hdmi.c |    3 ---
  2 files changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 97c6c8c95a95..9d4d21f46a8a 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -3123,6 +3123,9 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
+@@ -3131,6 +3131,9 @@ drm_hdmi_avi_infoframe_from_display_mode
        if (err < 0)
                return err;
  
@@ -32,11 +30,9 @@ index 97c6c8c95a95..9d4d21f46a8a 100644
        frame->video_code = drm_match_cea_mode(mode);
        if (!frame->video_code)
                return 0;
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index ba742b8e16dc..0a4a81447a03 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -364,9 +364,6 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
+@@ -364,9 +364,6 @@ static void intel_hdmi_set_avi_infoframe
                return;
        }
  
@@ -46,6 +42,3 @@ index ba742b8e16dc..0a4a81447a03 100644
        if (intel_hdmi->rgb_quant_range_selectable) {
                if (intel_crtc->config.limited_color_range)
                        frame.avi.quantization_range =
--- 
-1.8.5.rc3
-
index 4052863..37710aa 100644 (file)
@@ -39,21 +39,19 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ca191b1313e733e47a9fb37c26b44aa6cdd9b1b1)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c        | 54 +++++++++++++++++++-----------
- drivers/gpu/drm/i915/i915_drv.h            |  5 +--
- drivers/gpu/drm/i915/i915_gem.c            | 28 +++++++++-------
- drivers/gpu/drm/i915/i915_gem_context.c    |  3 ++
- drivers/gpu/drm/i915/i915_gem_evict.c      | 14 ++++----
- drivers/gpu/drm/i915/i915_gem_execbuffer.c |  2 ++
- drivers/gpu/drm/i915/i915_gem_stolen.c     |  2 +-
- drivers/gpu/drm/i915/i915_gpu_error.c      | 37 +++++++++++---------
- 8 files changed, 86 insertions(+), 59 deletions(-)
+ drivers/gpu/drm/i915/i915_debugfs.c        |   54 ++++++++++++++++++-----------
+ drivers/gpu/drm/i915/i915_drv.h            |    5 +-
+ drivers/gpu/drm/i915/i915_gem.c            |   28 ++++++++-------
+ drivers/gpu/drm/i915/i915_gem_context.c    |    3 +
+ drivers/gpu/drm/i915/i915_gem_evict.c      |   14 +++----
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    2 +
+ drivers/gpu/drm/i915/i915_gem_stolen.c     |    2 -
+ drivers/gpu/drm/i915/i915_gpu_error.c      |   43 ++++++++++++-----------
+ 8 files changed, 89 insertions(+), 62 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 5d52a23d5662..a1f4c91fb112 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -149,7 +149,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
+@@ -149,7 +149,7 @@ static int i915_gem_object_list_info(str
        struct drm_device *dev = node->minor->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct i915_address_space *vm = &dev_priv->gtt.base;
@@ -62,7 +60,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
        size_t total_obj_size, total_gtt_size;
        int count, ret;
  
-@@ -157,6 +157,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
+@@ -157,6 +157,7 @@ static int i915_gem_object_list_info(str
        if (ret)
                return ret;
  
@@ -70,7 +68,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
        switch (list) {
        case ACTIVE_LIST:
                seq_puts(m, "Active:\n");
-@@ -172,12 +173,12 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
+@@ -172,12 +173,12 @@ static int i915_gem_object_list_info(str
        }
  
        total_obj_size = total_gtt_size = count = 0;
@@ -89,7 +87,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
                count++;
        }
        mutex_unlock(&dev->struct_mutex);
-@@ -224,7 +225,18 @@ static int per_file_stats(int id, void *ptr, void *data)
+@@ -224,7 +225,18 @@ static int per_file_stats(int id, void *
        return 0;
  }
  
@@ -109,7 +107,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
  {
        struct drm_info_node *node = (struct drm_info_node *) m->private;
        struct drm_device *dev = node->minor->dev;
-@@ -234,6 +246,7 @@ static int i915_gem_object_info(struct seq_file *m, void *data)
+@@ -234,6 +246,7 @@ static int i915_gem_object_info(struct s
        struct drm_i915_gem_object *obj;
        struct i915_address_space *vm = &dev_priv->gtt.base;
        struct drm_file *file;
@@ -117,7 +115,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
        int ret;
  
        ret = mutex_lock_interruptible(&dev->struct_mutex);
-@@ -250,12 +263,12 @@ static int i915_gem_object_info(struct seq_file *m, void *data)
+@@ -250,12 +263,12 @@ static int i915_gem_object_info(struct s
                   count, mappable_count, size, mappable_size);
  
        size = count = mappable_size = mappable_count = 0;
@@ -132,7 +130,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
        seq_printf(m, "  %u [%u] inactive objects, %zu [%zu] bytes\n",
                   count, mappable_count, size, mappable_size);
  
-@@ -1774,7 +1787,8 @@ i915_drop_caches_set(void *data, u64 val)
+@@ -1774,7 +1787,8 @@ i915_drop_caches_set(void *data, u64 val
        struct drm_device *dev = data;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_i915_gem_object *obj, *next;
@@ -142,7 +140,7 @@ index 5d52a23d5662..a1f4c91fb112 100644
        int ret;
  
        DRM_DEBUG_DRIVER("Dropping caches: 0x%08llx\n", val);
-@@ -1795,14 +1809,16 @@ i915_drop_caches_set(void *data, u64 val)
+@@ -1795,14 +1809,16 @@ i915_drop_caches_set(void *data, u64 val
                i915_gem_retire_requests(dev);
  
        if (val & DROP_BOUND) {
@@ -167,8 +165,6 @@ index 5d52a23d5662..a1f4c91fb112 100644
                }
        }
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 1a3dc5317eec..cd5d4f591e2d 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -558,6 +558,9 @@ struct i915_vma {
@@ -191,11 +187,9 @@ index 1a3dc5317eec..cd5d4f591e2d 100644
        /** This object's place in the batchbuffer or on the eviction list */
        struct list_head exec_list;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 103815bedba4..093781a28080 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -1873,7 +1873,6 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj,
+@@ -1873,7 +1873,6 @@ i915_gem_object_move_to_active(struct dr
  {
        struct drm_device *dev = obj->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -203,7 +197,7 @@ index 103815bedba4..093781a28080 100644
        u32 seqno = intel_ring_get_seqno(ring);
  
        BUG_ON(ring == NULL);
-@@ -1889,8 +1888,6 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj,
+@@ -1889,8 +1888,6 @@ i915_gem_object_move_to_active(struct dr
                obj->active = 1;
        }
  
@@ -212,7 +206,7 @@ index 103815bedba4..093781a28080 100644
        list_move_tail(&obj->ring_list, &ring->active_list);
  
        obj->last_read_seqno = seqno;
-@@ -1912,14 +1909,14 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj,
+@@ -1912,14 +1909,14 @@ i915_gem_object_move_to_active(struct dr
  static void
  i915_gem_object_move_to_inactive(struct drm_i915_gem_object *obj)
  {
@@ -231,7 +225,7 @@ index 103815bedba4..093781a28080 100644
  
        list_del_init(&obj->ring_list);
        obj->ring = NULL;
-@@ -2627,7 +2624,7 @@ int i915_vma_unbind(struct i915_vma *vma)
+@@ -2627,7 +2624,7 @@ int i915_vma_unbind(struct i915_vma *vma
        i915_gem_gtt_finish_object(obj);
        i915_gem_object_unpin_pages(obj);
  
@@ -249,7 +243,7 @@ index 103815bedba4..093781a28080 100644
  
        /* Keep GGTT vmas first to make debug easier */
        if (i915_is_ggtt(vm))
-@@ -3340,9 +3337,14 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write)
+@@ -3340,9 +3337,14 @@ i915_gem_object_set_to_gtt_domain(struct
                                            old_write_domain);
  
        /* And bump the LRU for this access */
@@ -275,7 +269,7 @@ index 103815bedba4..093781a28080 100644
        INIT_LIST_HEAD(&obj->global_list);
        INIT_LIST_HEAD(&obj->ring_list);
        INIT_LIST_HEAD(&obj->exec_list);
-@@ -4057,6 +4058,7 @@ struct i915_vma *i915_gem_vma_create(struct drm_i915_gem_object *obj,
+@@ -4057,6 +4058,7 @@ struct i915_vma *i915_gem_vma_create(str
                return ERR_PTR(-ENOMEM);
  
        INIT_LIST_HEAD(&vma->vma_link);
@@ -283,11 +277,9 @@ index 103815bedba4..093781a28080 100644
        vma->vm = vm;
        vma->obj = obj;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 7273a729a039..403309c2a7d6 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -436,7 +436,10 @@ static int do_switch(struct i915_hw_context *to)
+@@ -434,7 +434,10 @@ static int do_switch(struct i915_hw_cont
         * MI_SET_CONTEXT instead of when the next seqno has completed.
         */
        if (from != NULL) {
@@ -298,11 +290,9 @@ index 7273a729a039..403309c2a7d6 100644
                i915_gem_object_move_to_active(from->obj, ring);
                /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the
                 * whole damn pipeline, we don't need to explicitly mark the
-diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
-index 61bf5e20e5e0..425939b7d343 100644
 --- a/drivers/gpu/drm/i915/i915_gem_evict.c
 +++ b/drivers/gpu/drm/i915/i915_gem_evict.c
-@@ -87,8 +87,7 @@ i915_gem_evict_something(struct drm_device *dev, struct i915_address_space *vm,
+@@ -87,8 +87,7 @@ i915_gem_evict_something(struct drm_devi
                drm_mm_init_scan(&vm->mm, min_size, alignment, cache_level);
  
        /* First see if there is a large enough contiguous idle region... */
@@ -312,7 +302,7 @@ index 61bf5e20e5e0..425939b7d343 100644
                if (mark_free(vma, &unwind_list))
                        goto found;
        }
-@@ -97,8 +96,7 @@ i915_gem_evict_something(struct drm_device *dev, struct i915_address_space *vm,
+@@ -97,8 +96,7 @@ i915_gem_evict_something(struct drm_devi
                goto none;
  
        /* Now merge in the soon-to-be-expired objects... */
@@ -322,7 +312,7 @@ index 61bf5e20e5e0..425939b7d343 100644
                if (mark_free(vma, &unwind_list))
                        goto found;
        }
-@@ -159,7 +157,7 @@ i915_gem_evict_everything(struct drm_device *dev)
+@@ -159,7 +157,7 @@ i915_gem_evict_everything(struct drm_dev
  {
        drm_i915_private_t *dev_priv = dev->dev_private;
        struct i915_address_space *vm;
@@ -331,7 +321,7 @@ index 61bf5e20e5e0..425939b7d343 100644
        bool lists_empty = true;
        int ret;
  
-@@ -187,9 +185,9 @@ i915_gem_evict_everything(struct drm_device *dev)
+@@ -187,9 +185,9 @@ i915_gem_evict_everything(struct drm_dev
  
        /* Having flushed everything, unbind() should never raise an error */
        list_for_each_entry(vm, &dev_priv->vm_list, global_link) {
@@ -344,11 +334,9 @@ index 61bf5e20e5e0..425939b7d343 100644
        }
  
        return 0;
-diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index aa3fa9425cae..8ccc29ac9629 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -801,6 +801,8 @@ i915_gem_execbuffer_move_to_active(struct list_head *objects,
+@@ -801,6 +801,8 @@ i915_gem_execbuffer_move_to_active(struc
                obj->base.read_domains = obj->base.pending_read_domains;
                obj->fenced_gpu_access = obj->pending_fenced_gpu_access;
  
@@ -357,11 +345,9 @@ index aa3fa9425cae..8ccc29ac9629 100644
                i915_gem_object_move_to_active(obj, ring);
                if (obj->base.write_domain) {
                        obj->dirty = 1;
-diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
-index ba4dabca83c2..8912f489f53a 100644
 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
 +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
-@@ -418,7 +418,7 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev,
+@@ -418,7 +418,7 @@ i915_gem_object_create_stolen_for_preall
        obj->has_global_gtt_mapping = 1;
  
        list_add_tail(&obj->global_list, &dev_priv->mm.bound_list);
@@ -370,11 +356,9 @@ index ba4dabca83c2..8912f489f53a 100644
  
        return obj;
  
-diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
-index 8091485e7e88..fad48b2bb870 100644
 --- a/drivers/gpu/drm/i915/i915_gpu_error.c
 +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
-@@ -556,11 +556,11 @@ static void capture_bo(struct drm_i915_error_buffer *err,
+@@ -556,11 +556,11 @@ static void capture_bo(struct drm_i915_e
  static u32 capture_active_bo(struct drm_i915_error_buffer *err,
                             int count, struct list_head *head)
  {
@@ -399,33 +383,36 @@ index 8091485e7e88..fad48b2bb870 100644
        struct drm_i915_gem_object *obj;
        u32 seqno;
  
-@@ -642,20 +643,23 @@ i915_error_first_batchbuffer(struct drm_i915_private *dev_priv,
+@@ -642,20 +643,23 @@ i915_error_first_batchbuffer(struct drm_
        }
  
        seqno = ring->get_seqno(ring, false);
 -      list_for_each_entry(obj, &vm->active_list, mm_list) {
 -              if (obj->ring != ring)
 -                      continue;
+-
+-              if (i915_seqno_passed(seqno, obj->last_read_seqno))
+-                      continue;
+-
+-              if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0)
+-                      continue;
+-
+-              /* We need to copy these to an anonymous buffer as the simplest
+-               * method to avoid being overwritten by userspace.
+-               */
+-              return i915_error_object_create(dev_priv, obj);
 +      list_for_each_entry(vm, &dev_priv->vm_list, global_link) {
 +              list_for_each_entry(vma, &vm->active_list, mm_list) {
 +                      obj = vma->obj;
 +                      if (obj->ring != ring)
 +                              continue;
--              if (i915_seqno_passed(seqno, obj->last_read_seqno))
--                      continue;
++
 +                      if (i915_seqno_passed(seqno, obj->last_read_seqno))
 +                              continue;
--              if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0)
--                      continue;
++
 +                      if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0)
 +                              continue;
--              /* We need to copy these to an anonymous buffer as the simplest
--               * method to avoid being overwritten by userspace.
--               */
--              return i915_error_object_create(dev_priv, obj);
++
 +                      /* We need to copy these to an anonymous buffer as the simplest
 +                       * method to avoid being overwritten by userspace.
 +                       */
@@ -434,7 +421,7 @@ index 8091485e7e88..fad48b2bb870 100644
        }
  
        return NULL;
-@@ -775,11 +779,12 @@ static void i915_gem_capture_buffers(struct drm_i915_private *dev_priv,
+@@ -775,11 +779,12 @@ static void i915_gem_capture_buffers(str
                                     struct drm_i915_error_state *error)
  {
        struct i915_address_space *vm = &dev_priv->gtt.base;
@@ -448,6 +435,3 @@ index 8091485e7e88..fad48b2bb870 100644
                i++;
        error->active_bo_count = i;
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list)
--- 
-1.8.5.rc3
-
index 590ee1d..c51a41b 100644 (file)
@@ -30,18 +30,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 651d794fae9b79237aae1c97f8a9d9f3817bd31d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c     |  3 +++
- drivers/gpu/drm/i915/i915_drv.h     |  4 +++-
- drivers/gpu/drm/i915/i915_gem.c     | 14 ++++++++++++--
- drivers/gpu/drm/i915/i915_gem_gtt.c | 11 ++++++++++-
- include/uapi/drm/i915_drm.h         |  1 +
+ drivers/gpu/drm/i915/i915_dma.c     |    3 +++
+ drivers/gpu/drm/i915/i915_drv.h     |    4 +++-
+ drivers/gpu/drm/i915/i915_gem.c     |   14 ++++++++++++--
+ drivers/gpu/drm/i915/i915_gem_gtt.c |   11 ++++++++++-
+ include/uapi/drm/i915_drm.h         |    1 +
  5 files changed, 29 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 0adfe4000871..45c262b9cb40 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -976,6 +976,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
+@@ -984,6 +984,9 @@ static int i915_getparam(struct drm_devi
        case I915_PARAM_HAS_LLC:
                value = HAS_LLC(dev);
                break;
@@ -51,8 +49,6 @@ index 0adfe4000871..45c262b9cb40 100644
        case I915_PARAM_HAS_ALIASING_PPGTT:
                value = dev_priv->mm.aliasing_ppgtt ? 1 : 0;
                break;
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index cccd6084b236..dcae809eafe8 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -454,6 +454,7 @@ enum i915_cache_level {
@@ -80,11 +76,9 @@ index cccd6084b236..dcae809eafe8 100644
  #define I915_NEED_GFX_HWS(dev)        (INTEL_INFO(dev)->need_gfx_hws)
  
  #define HAS_HW_CONTEXTS(dev)  (INTEL_INFO(dev)->gen >= 6)
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 66136cd88ed5..8e41b2c6eb1d 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -3459,7 +3459,16 @@ int i915_gem_get_caching_ioctl(struct drm_device *dev, void *data,
+@@ -3459,7 +3459,16 @@ int i915_gem_get_caching_ioctl(struct dr
                goto unlock;
        }
  
@@ -102,7 +96,7 @@ index 66136cd88ed5..8e41b2c6eb1d 100644
  
        drm_gem_object_unreference(&obj->base);
  unlock:
-@@ -3553,7 +3562,8 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj,
+@@ -3553,7 +3562,8 @@ i915_gem_object_pin_to_display_plane(str
         * of uncaching, which would allow us to flush all the LLC-cached data
         * with that bit in the PTE to main memory with just one PIPE_CONTROL.
         */
@@ -112,8 +106,6 @@ index 66136cd88ed5..8e41b2c6eb1d 100644
        if (ret)
                goto err_unpin_display;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
-index c9420c280cf0..212f6d8c35ec 100644
 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
 +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
 @@ -55,6 +55,7 @@
@@ -124,7 +116,7 @@ index c9420c280cf0..212f6d8c35ec 100644
  
  static gen6_gtt_pte_t snb_pte_encode(dma_addr_t addr,
                                     enum i915_cache_level level)
-@@ -138,8 +139,16 @@ static gen6_gtt_pte_t iris_pte_encode(dma_addr_t addr,
+@@ -138,8 +139,16 @@ static gen6_gtt_pte_t iris_pte_encode(dm
        gen6_gtt_pte_t pte = GEN6_PTE_VALID;
        pte |= HSW_PTE_ADDR_ENCODE(addr);
  
@@ -142,8 +134,6 @@ index c9420c280cf0..212f6d8c35ec 100644
  
        return pte;
  }
-diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
-index 0bb3e5524382..55bb5729bd78 100644
 --- a/include/uapi/drm/i915_drm.h
 +++ b/include/uapi/drm/i915_drm.h
 @@ -334,6 +334,7 @@ typedef struct drm_i915_irq_wait {
@@ -154,6 +144,3 @@ index 0bb3e5524382..55bb5729bd78 100644
  
  typedef struct drm_i915_getparam {
        int param;
--- 
-1.8.5.rc3
-
index 22b31f5..9c8a109 100644 (file)
@@ -10,16 +10,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit f3f08572fc245bc0cf5f102473ce0f54e693831d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 12 ++----------
- drivers/gpu/drm/i915/intel_dp.c      |  3 ---
- drivers/gpu/drm/i915/intel_hdmi.c    |  2 --
+ drivers/gpu/drm/i915/intel_display.c |   12 ++----------
+ drivers/gpu/drm/i915/intel_dp.c      |    3 ---
+ drivers/gpu/drm/i915/intel_hdmi.c    |    2 --
  3 files changed, 2 insertions(+), 15 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 65bc851f5f91..52508e7f2658 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -690,7 +690,7 @@ vlv_find_best_dpll(const intel_limit_t *limit, struct drm_crtc *crtc,
+@@ -690,7 +690,7 @@ vlv_find_best_dpll(const intel_limit_t *
  {
        u32 p1, p2, m1, m2, vco, bestn, bestm1, bestm2, bestp1, bestp2;
        u32 m, n, fastclk;
@@ -28,7 +26,7 @@ index 65bc851f5f91..52508e7f2658 100644
        unsigned long bestppm, ppm, absppm;
        int dotclk, flag;
  
-@@ -701,7 +701,6 @@ vlv_find_best_dpll(const intel_limit_t *limit, struct drm_crtc *crtc,
+@@ -701,7 +701,6 @@ vlv_find_best_dpll(const intel_limit_t *
        fastclk = dotclk / (2*100);
        updrate = 0;
        minupdate = 19200;
@@ -36,7 +34,7 @@ index 65bc851f5f91..52508e7f2658 100644
        n = p = p1 = p2 = m = m1 = m2 = vco = bestn = 0;
        bestm1 = bestm2 = bestp1 = bestp2 = 0;
  
-@@ -4419,13 +4418,10 @@ static void vlv_update_pll(struct intel_crtc *crtc)
+@@ -4419,13 +4418,10 @@ static void vlv_update_pll(struct intel_
        int pipe = crtc->pipe;
        u32 dpll, mdiv;
        u32 bestn, bestm1, bestm2, bestp1, bestp2;
@@ -50,7 +48,7 @@ index 65bc851f5f91..52508e7f2658 100644
        bestn = crtc->config.dpll.n;
        bestm1 = crtc->config.dpll.m1;
        bestm2 = crtc->config.dpll.m2;
-@@ -8900,14 +8896,13 @@ intel_modeset_stage_output_state(struct drm_device *dev,
+@@ -8900,14 +8896,13 @@ intel_modeset_stage_output_state(struct
        struct drm_crtc *new_crtc;
        struct intel_connector *connector;
        struct intel_encoder *encoder;
@@ -66,7 +64,7 @@ index 65bc851f5f91..52508e7f2658 100644
        list_for_each_entry(connector, &dev->mode_config.connector_list,
                            base.head) {
                /* Otherwise traverse passed in connector list and get encoders
-@@ -8941,7 +8936,6 @@ intel_modeset_stage_output_state(struct drm_device *dev,
+@@ -8941,7 +8936,6 @@ intel_modeset_stage_output_state(struct
        /* connector->new_encoder is now updated for all connectors. */
  
        /* Update crtc of enabled connectors. */
@@ -74,7 +72,7 @@ index 65bc851f5f91..52508e7f2658 100644
        list_for_each_entry(connector, &dev->mode_config.connector_list,
                            base.head) {
                if (!connector->new_encoder)
-@@ -10301,7 +10295,6 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -10303,7 +10297,6 @@ void intel_modeset_cleanup(struct drm_de
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_crtc *crtc;
@@ -82,7 +80,7 @@ index 65bc851f5f91..52508e7f2658 100644
  
        /*
         * Interrupts and polling as the first thing to avoid creating havoc.
-@@ -10325,7 +10318,6 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -10327,7 +10320,6 @@ void intel_modeset_cleanup(struct drm_de
                if (!crtc->fb)
                        continue;
  
@@ -90,11 +88,9 @@ index 65bc851f5f91..52508e7f2658 100644
                intel_increase_pllclock(crtc);
        }
  
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 9e22bfd850df..46f3e674210d 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2337,7 +2337,6 @@ intel_dp_start_link_train(struct intel_dp *intel_dp)
+@@ -2337,7 +2337,6 @@ intel_dp_start_link_train(struct intel_d
        struct drm_device *dev = encoder->dev;
        int i;
        uint8_t voltage;
@@ -102,7 +98,7 @@ index 9e22bfd850df..46f3e674210d 100644
        int voltage_tries, loop_tries;
        uint32_t DP = intel_dp->DP;
  
-@@ -2355,7 +2354,6 @@ intel_dp_start_link_train(struct intel_dp *intel_dp)
+@@ -2355,7 +2354,6 @@ intel_dp_start_link_train(struct intel_d
        voltage = 0xff;
        voltage_tries = 0;
        loop_tries = 0;
@@ -110,7 +106,7 @@ index 9e22bfd850df..46f3e674210d 100644
        for (;;) {
                /* Use intel_dp->train_set[0] to set the voltage and pre emphasis values */
                uint8_t     link_status[DP_LINK_STATUS_SIZE];
-@@ -2376,7 +2374,6 @@ intel_dp_start_link_train(struct intel_dp *intel_dp)
+@@ -2376,7 +2374,6 @@ intel_dp_start_link_train(struct intel_d
  
                if (drm_dp_clock_recovery_ok(link_status, intel_dp->lane_count)) {
                        DRM_DEBUG_KMS("clock recovery OK\n");
@@ -118,11 +114,9 @@ index 9e22bfd850df..46f3e674210d 100644
                        break;
                }
  
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index dd4fa35e0a85..a619d9435107 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -1245,7 +1245,6 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
+@@ -1245,7 +1245,6 @@ void intel_hdmi_init(struct drm_device *
  {
        struct intel_digital_port *intel_dig_port;
        struct intel_encoder *intel_encoder;
@@ -130,7 +124,7 @@ index dd4fa35e0a85..a619d9435107 100644
        struct intel_connector *intel_connector;
  
        intel_dig_port = kzalloc(sizeof(struct intel_digital_port), GFP_KERNEL);
-@@ -1259,7 +1258,6 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
+@@ -1259,7 +1258,6 @@ void intel_hdmi_init(struct drm_device *
        }
  
        intel_encoder = &intel_dig_port->base;
@@ -138,6 +132,3 @@ index dd4fa35e0a85..a619d9435107 100644
  
        drm_encoder_init(dev, &intel_encoder->base, &intel_hdmi_enc_funcs,
                         DRM_MODE_ENCODER_TMDS);
--- 
-1.8.5.rc3
-
index f517be9..cb6936d 100644 (file)
@@ -24,15 +24,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ed1c9e2cf414e32cb7ea1217b51b39e70fc132d2)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 8 ++++++++
- drivers/gpu/drm/i915/i915_drv.h | 2 ++
+ drivers/gpu/drm/i915/i915_dma.c |    8 ++++++++
+ drivers/gpu/drm/i915/i915_drv.h |    2 ++
  2 files changed, 10 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 45c262b9cb40..b30404d00757 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1488,6 +1488,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1496,6 +1496,14 @@ int i915_driver_load(struct drm_device *
  
        i915_dump_device_info(dev_priv);
  
@@ -47,8 +45,6 @@ index 45c262b9cb40..b30404d00757 100644
        if (i915_get_bridge_dev(dev)) {
                ret = -EIO;
                goto free_priv;
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index dcae809eafe8..3fc432437524 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1511,6 +1511,8 @@ struct drm_i915_file_private {
@@ -60,6 +56,3 @@ index dcae809eafe8..3fc432437524 100644
  #define IS_ULT(dev)           (IS_HASWELL(dev) && \
                                 ((dev)->pci_device & 0xFF00) == 0x0A00)
  
--- 
-1.8.5.rc3
-
index 0b8d1ae..96ee9dd 100644 (file)
@@ -29,14 +29,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 79f8dea13391f8220470997f9a5213ab5aa9f1c7)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 7 ++++++-
+ drivers/gpu/drm/i915/i915_dma.c |    7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index b30404d00757..d2dc02b67512 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1688,8 +1688,13 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1696,8 +1696,13 @@ int i915_driver_unload(struct drm_device
  
        intel_gpu_ips_teardown();
  
@@ -51,6 +49,3 @@ index b30404d00757..d2dc02b67512 100644
  
        i915_teardown_sysfs(dev);
  
--- 
-1.8.5.rc3
-
index afa3558..db9afa6 100644 (file)
@@ -44,23 +44,21 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c67a470b1db781c54be07a87217cff35a91f564e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c      |  10 +++
- drivers/gpu/drm/i915/i915_drv.c      |  11 +++
- drivers/gpu/drm/i915/i915_drv.h      |  72 +++++++++++++++
- drivers/gpu/drm/i915/i915_gem.c      |   2 +
- drivers/gpu/drm/i915/i915_irq.c      | 101 +++++++++++++++++++++
- drivers/gpu/drm/i915/intel_display.c | 170 ++++++++++++++++++++++++++++++++++-
- drivers/gpu/drm/i915/intel_dp.c      |   3 +
- drivers/gpu/drm/i915/intel_drv.h     |   8 ++
- drivers/gpu/drm/i915/intel_i2c.c     |   2 +
- drivers/gpu/drm/i915/intel_pm.c      |  13 ++-
+ drivers/gpu/drm/i915/i915_dma.c      |   10 ++
+ drivers/gpu/drm/i915/i915_drv.c      |   11 ++
+ drivers/gpu/drm/i915/i915_drv.h      |   72 ++++++++++++++
+ drivers/gpu/drm/i915/i915_gem.c      |    2 
+ drivers/gpu/drm/i915/i915_irq.c      |  101 ++++++++++++++++++++
+ drivers/gpu/drm/i915/intel_display.c |  170 ++++++++++++++++++++++++++++++++++-
+ drivers/gpu/drm/i915/intel_dp.c      |    3 
+ drivers/gpu/drm/i915/intel_drv.h     |    8 +
+ drivers/gpu/drm/i915/intel_i2c.c     |    2 
+ drivers/gpu/drm/i915/intel_pm.c      |   13 ++
  10 files changed, 390 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index d2dc02b67512..4c7669f3f586 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1486,6 +1486,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1494,6 +1494,14 @@ int i915_driver_load(struct drm_device *
        mutex_init(&dev_priv->rps.hw_lock);
        mutex_init(&dev_priv->modeset_restore_lock);
  
@@ -75,7 +73,7 @@ index d2dc02b67512..4c7669f3f586 100644
        i915_dump_device_info(dev_priv);
  
        /* Not all pre-production machines fall into this category, only the
-@@ -1740,6 +1748,8 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1748,6 +1756,8 @@ int i915_driver_unload(struct drm_device
        cancel_work_sync(&dev_priv->gpu_error.work);
        i915_destroy_error_state(dev);
  
@@ -84,11 +82,9 @@ index d2dc02b67512..4c7669f3f586 100644
        if (dev->pdev->msi_enabled)
                pci_disable_msi(dev->pdev);
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index a9c8f18e26fc..f19736208214 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -141,6 +141,10 @@ module_param_named(fastboot, i915_fastboot, bool, 0600);
+@@ -141,6 +141,10 @@ module_param_named(fastboot, i915_fastbo
  MODULE_PARM_DESC(fastboot, "Try to skip unnecessary mode sets at boot time "
                 "(default: false)");
  
@@ -99,7 +95,7 @@ index a9c8f18e26fc..f19736208214 100644
  bool i915_prefault_disable __read_mostly;
  module_param_named(prefault_disable, i915_prefault_disable, bool, 0600);
  MODULE_PARM_DESC(prefault_disable,
-@@ -557,6 +561,9 @@ static int i915_drm_freeze(struct drm_device *dev)
+@@ -557,6 +561,9 @@ static int i915_drm_freeze(struct drm_de
        dev_priv->modeset_restore = MODESET_SUSPENDED;
        mutex_unlock(&dev_priv->modeset_restore_lock);
  
@@ -109,7 +105,7 @@ index a9c8f18e26fc..f19736208214 100644
        intel_set_power_well(dev, true);
  
        drm_kms_helper_poll_disable(dev);
-@@ -713,6 +720,10 @@ static int __i915_drm_thaw(struct drm_device *dev)
+@@ -713,6 +720,10 @@ static int __i915_drm_thaw(struct drm_de
                schedule_work(&dev_priv->console_resume_work);
        }
  
@@ -120,8 +116,6 @@ index a9c8f18e26fc..f19736208214 100644
        mutex_lock(&dev_priv->modeset_restore_lock);
        dev_priv->modeset_restore = MODESET_DONE;
        mutex_unlock(&dev_priv->modeset_restore_lock);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 5cc71ac04beb..85a352860a83 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1076,6 +1076,75 @@ struct intel_wm_level {
@@ -209,7 +203,7 @@ index 5cc71ac04beb..85a352860a83 100644
        /* Old dri1 support infrastructure, beware the dragons ya fools entering
         * here! */
        struct i915_dri1_state dri1;
-@@ -1635,6 +1706,7 @@ extern unsigned int i915_preliminary_hw_support __read_mostly;
+@@ -1635,6 +1706,7 @@ extern unsigned int i915_preliminary_hw_
  extern int i915_disable_power_well __read_mostly;
  extern int i915_enable_ips __read_mostly;
  extern bool i915_fastboot __read_mostly;
@@ -217,11 +211,9 @@ index 5cc71ac04beb..85a352860a83 100644
  extern bool i915_prefault_disable __read_mostly;
  
  extern int i915_suspend(struct drm_device *dev, pm_message_t state);
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 199107e734fb..2d1cb10d846f 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -999,6 +999,8 @@ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno,
+@@ -999,6 +999,8 @@ static int __wait_seqno(struct intel_rin
        bool wait_forever = true;
        int ret;
  
@@ -230,11 +222,9 @@ index 199107e734fb..2d1cb10d846f 100644
        if (i915_seqno_passed(ring->get_seqno(ring, true), seqno))
                return 0;
  
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 9e2ea5b16233..0eac036fb833 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -85,6 +85,12 @@ ironlake_enable_display_irq(drm_i915_private_t *dev_priv, u32 mask)
+@@ -85,6 +85,12 @@ ironlake_enable_display_irq(drm_i915_pri
  {
        assert_spin_locked(&dev_priv->irq_lock);
  
@@ -247,7 +237,7 @@ index 9e2ea5b16233..0eac036fb833 100644
        if ((dev_priv->irq_mask & mask) != 0) {
                dev_priv->irq_mask &= ~mask;
                I915_WRITE(DEIMR, dev_priv->irq_mask);
-@@ -97,6 +103,12 @@ ironlake_disable_display_irq(drm_i915_private_t *dev_priv, u32 mask)
+@@ -97,6 +103,12 @@ ironlake_disable_display_irq(drm_i915_pr
  {
        assert_spin_locked(&dev_priv->irq_lock);
  
@@ -260,7 +250,7 @@ index 9e2ea5b16233..0eac036fb833 100644
        if ((dev_priv->irq_mask & mask) != mask) {
                dev_priv->irq_mask |= mask;
                I915_WRITE(DEIMR, dev_priv->irq_mask);
-@@ -116,6 +128,14 @@ static void ilk_update_gt_irq(struct drm_i915_private *dev_priv,
+@@ -116,6 +128,14 @@ static void ilk_update_gt_irq(struct drm
  {
        assert_spin_locked(&dev_priv->irq_lock);
  
@@ -275,7 +265,7 @@ index 9e2ea5b16233..0eac036fb833 100644
        dev_priv->gt_irq_mask &= ~interrupt_mask;
        dev_priv->gt_irq_mask |= (~enabled_irq_mask & interrupt_mask);
        I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
-@@ -146,6 +166,14 @@ static void snb_update_pm_irq(struct drm_i915_private *dev_priv,
+@@ -146,6 +166,14 @@ static void snb_update_pm_irq(struct drm
  
        assert_spin_locked(&dev_priv->irq_lock);
  
@@ -290,7 +280,7 @@ index 9e2ea5b16233..0eac036fb833 100644
        new_val = dev_priv->pm_irq_mask;
        new_val &= ~interrupt_mask;
        new_val |= (~enabled_irq_mask & interrupt_mask);
-@@ -257,6 +285,15 @@ static void ibx_display_interrupt_update(struct drm_i915_private *dev_priv,
+@@ -257,6 +285,15 @@ static void ibx_display_interrupt_update
  
        assert_spin_locked(&dev_priv->irq_lock);
  
@@ -306,7 +296,7 @@ index 9e2ea5b16233..0eac036fb833 100644
        I915_WRITE(SDEIMR, sdeimr);
        POSTING_READ(SDEIMR);
  }
-@@ -3159,3 +3196,67 @@ void intel_hpd_init(struct drm_device *dev)
+@@ -3159,3 +3196,67 @@ void intel_hpd_init(struct drm_device *d
                dev_priv->display.hpd_irq_setup(dev);
        spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
  }
@@ -374,11 +364,9 @@ index 9e2ea5b16233..0eac036fb833 100644
 +
 +      spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
 +}
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 29e43b2cf908..6cf35357afad 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -6064,6 +6064,166 @@ void hsw_restore_lcpll(struct drm_i915_private *dev_priv)
+@@ -6064,6 +6064,166 @@ void hsw_restore_lcpll(struct drm_i915_p
        dev_priv->uncore.funcs.force_wake_put(dev_priv);
  }
  
@@ -545,7 +533,7 @@ index 29e43b2cf908..6cf35357afad 100644
  static void haswell_modeset_global_resources(struct drm_device *dev)
  {
        bool enable = false;
-@@ -6079,6 +6239,8 @@ static void haswell_modeset_global_resources(struct drm_device *dev)
+@@ -6079,6 +6239,8 @@ static void haswell_modeset_global_resou
        }
  
        intel_set_power_well(dev, enable);
@@ -554,7 +542,7 @@ index 29e43b2cf908..6cf35357afad 100644
  }
  
  static int haswell_crtc_mode_set(struct drm_crtc *crtc,
-@@ -7314,13 +7476,19 @@ static void intel_decrease_pllclock(struct drm_crtc *crtc)
+@@ -7314,13 +7476,19 @@ static void intel_decrease_pllclock(stru
  
  void intel_mark_busy(struct drm_device *dev)
  {
@@ -575,11 +563,9 @@ index 29e43b2cf908..6cf35357afad 100644
        if (!i915_powersave)
                return;
  
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 46f3e674210d..79c14e298ba6 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -344,6 +344,8 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
+@@ -344,6 +344,8 @@ intel_dp_aux_ch(struct intel_dp *intel_d
        else
                precharge = 5;
  
@@ -588,7 +574,7 @@ index 46f3e674210d..79c14e298ba6 100644
        /* Try to wait for any previous AUX channel activity */
        for (try = 0; try < 3; try++) {
                status = I915_READ_NOTRACE(ch_ctl);
-@@ -434,6 +436,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
+@@ -434,6 +436,7 @@ intel_dp_aux_ch(struct intel_dp *intel_d
        ret = recv_bytes;
  out:
        pm_qos_update_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE);
@@ -596,11 +582,9 @@ index 46f3e674210d..79c14e298ba6 100644
  
        return ret;
  }
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 8222f2426b47..176080822a74 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -745,6 +745,7 @@ extern void intel_set_power_well(struct drm_device *dev, bool enable);
+@@ -745,6 +745,7 @@ extern void intel_set_power_well(struct
  extern void intel_enable_gt_powersave(struct drm_device *dev);
  extern void intel_disable_gt_powersave(struct drm_device *dev);
  extern void ironlake_teardown_rc6(struct drm_device *dev);
@@ -608,7 +592,7 @@ index 8222f2426b47..176080822a74 100644
  
  extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder,
                                   enum pipe *pipe);
-@@ -784,5 +785,12 @@ extern void ilk_disable_gt_irq(struct drm_i915_private *dev_priv,
+@@ -784,5 +785,12 @@ extern void ilk_disable_gt_irq(struct dr
  extern void snb_enable_pm_irq(struct drm_i915_private *dev_priv, uint32_t mask);
  extern void snb_disable_pm_irq(struct drm_i915_private *dev_priv,
                               uint32_t mask);
@@ -621,8 +605,6 @@ index 8222f2426b47..176080822a74 100644
 +extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv);
  
  #endif /* __INTEL_DRV_H__ */
-diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
-index 639fe192997c..d1c1e0f7f262 100644
 --- a/drivers/gpu/drm/i915/intel_i2c.c
 +++ b/drivers/gpu/drm/i915/intel_i2c.c
 @@ -398,6 +398,7 @@ gmbus_xfer(struct i2c_adapter *adapter,
@@ -641,11 +623,9 @@ index 639fe192997c..d1c1e0f7f262 100644
        return ret;
  }
  
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 178da3ec31b4..46056820d1d2 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3607,7 +3607,7 @@ static void gen6_enable_rps(struct drm_device *dev)
+@@ -3607,7 +3607,7 @@ static void gen6_enable_rps(struct drm_d
        gen6_gt_force_wake_put(dev_priv);
  }
  
@@ -654,7 +634,7 @@ index 178da3ec31b4..46056820d1d2 100644
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
        int min_freq = 15;
-@@ -5416,6 +5416,17 @@ void intel_init_power_well(struct drm_device *dev)
+@@ -5416,6 +5416,17 @@ void intel_init_power_well(struct drm_de
                I915_WRITE(HSW_PWR_WELL_BIOS, 0);
  }
  
@@ -672,6 +652,3 @@ index 178da3ec31b4..46056820d1d2 100644
  /* Set up chip specific power management-related functions */
  void intel_init_pm(struct drm_device *dev)
  {
--- 
-1.8.5.rc3
-
index 7e73919..ed01c7a 100644 (file)
@@ -29,18 +29,16 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit 0d69704ae348c03bc216b01e32a0e9a2372be419)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c        |   2 +-
- drivers/gpu/drm/nouveau/nouveau_vga.c  |   2 +-
- drivers/gpu/drm/radeon/radeon_device.c |   2 +-
- drivers/gpu/vga/vga_switcheroo.c       | 147 +++++++++++++++++++++++++++++++--
- include/linux/vga_switcheroo.h         |  13 ++-
+ drivers/gpu/drm/i915/i915_dma.c        |    2 
+ drivers/gpu/drm/nouveau/nouveau_vga.c  |    2 
+ drivers/gpu/drm/radeon/radeon_device.c |    2 
+ drivers/gpu/vga/vga_switcheroo.c       |  147 +++++++++++++++++++++++++++++++--
+ include/linux/vga_switcheroo.h         |   13 ++
  5 files changed, 156 insertions(+), 10 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 4c7669f3f586..3e4e6073d171 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1296,7 +1296,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1304,7 +1304,7 @@ static int i915_load_modeset_init(struct
  
        intel_register_dsm_handler();
  
@@ -49,11 +47,9 @@ index 4c7669f3f586..3e4e6073d171 100644
        if (ret)
                goto cleanup_vga_client;
  
-diff --git a/drivers/gpu/drm/nouveau/nouveau_vga.c b/drivers/gpu/drm/nouveau/nouveau_vga.c
-index 25d3495725eb..40a09f11a600 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_vga.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_vga.c
-@@ -79,7 +79,7 @@ nouveau_vga_init(struct nouveau_drm *drm)
+@@ -79,7 +79,7 @@ nouveau_vga_init(struct nouveau_drm *drm
  {
        struct drm_device *dev = drm->dev;
        vga_client_register(dev->pdev, dev, NULL, nouveau_vga_set_decode);
@@ -62,11 +58,9 @@ index 25d3495725eb..40a09f11a600 100644
  }
  
  void
-diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
-index 8df1525f71d2..6ea7983790d7 100644
 --- a/drivers/gpu/drm/radeon/radeon_device.c
 +++ b/drivers/gpu/drm/radeon/radeon_device.c
-@@ -1169,7 +1169,7 @@ int radeon_device_init(struct radeon_device *rdev,
+@@ -1169,7 +1169,7 @@ int radeon_device_init(struct radeon_dev
        /* this will fail for cards that aren't VGA class devices, just
         * ignore it */
        vga_client_register(rdev->pdev, rdev, NULL, radeon_vga_set_decode);
@@ -75,8 +69,6 @@ index 8df1525f71d2..6ea7983790d7 100644
  
        r = radeon_init(rdev);
        if (r)
-diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c
-index cf787e1d9322..ec0ae2d1686a 100644
 --- a/drivers/gpu/vga/vga_switcheroo.c
 +++ b/drivers/gpu/vga/vga_switcheroo.c
 @@ -27,6 +27,7 @@
@@ -95,7 +87,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
        struct list_head list;
  };
  
-@@ -132,7 +134,7 @@ EXPORT_SYMBOL(vga_switcheroo_unregister_handler);
+@@ -132,7 +134,7 @@ EXPORT_SYMBOL(vga_switcheroo_unregister_
  
  static int register_client(struct pci_dev *pdev,
                           const struct vga_switcheroo_client_ops *ops,
@@ -104,7 +96,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
  {
        struct vga_switcheroo_client *client;
  
-@@ -145,6 +147,7 @@ static int register_client(struct pci_dev *pdev,
+@@ -145,6 +147,7 @@ static int register_client(struct pci_de
        client->ops = ops;
        client->id = id;
        client->active = active;
@@ -112,7 +104,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
  
        mutex_lock(&vgasr_mutex);
        list_add_tail(&client->list, &vgasr_priv.clients);
-@@ -160,10 +163,11 @@ static int register_client(struct pci_dev *pdev,
+@@ -160,10 +163,11 @@ static int register_client(struct pci_de
  }
  
  int vga_switcheroo_register_client(struct pci_dev *pdev,
@@ -126,7 +118,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
  }
  EXPORT_SYMBOL(vga_switcheroo_register_client);
  
-@@ -171,7 +175,7 @@ int vga_switcheroo_register_audio_client(struct pci_dev *pdev,
+@@ -171,7 +175,7 @@ int vga_switcheroo_register_audio_client
                                         const struct vga_switcheroo_client_ops *ops,
                                         int id, bool active)
  {
@@ -135,7 +127,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
  }
  EXPORT_SYMBOL(vga_switcheroo_register_audio_client);
  
-@@ -258,10 +262,11 @@ static int vga_switcheroo_show(struct seq_file *m, void *v)
+@@ -258,10 +262,11 @@ static int vga_switcheroo_show(struct se
        int i = 0;
        mutex_lock(&vgasr_mutex);
        list_for_each_entry(client, &vgasr_priv.clients, list) {
@@ -148,7 +140,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
                           client->pwr_state ? "Pwr" : "Off",
                           pci_name(client->pdev));
                i++;
-@@ -277,6 +282,8 @@ static int vga_switcheroo_debugfs_open(struct inode *inode, struct file *file)
+@@ -277,6 +282,8 @@ static int vga_switcheroo_debugfs_open(s
  
  static int vga_switchon(struct vga_switcheroo_client *client)
  {
@@ -157,7 +149,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
        if (vgasr_priv.handler->power_state)
                vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON);
        /* call the driver callback to turn on device */
-@@ -287,6 +294,8 @@ static int vga_switchon(struct vga_switcheroo_client *client)
+@@ -287,6 +294,8 @@ static int vga_switchon(struct vga_switc
  
  static int vga_switchoff(struct vga_switcheroo_client *client)
  {
@@ -166,7 +158,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
        /* call the driver callback to turn off device */
        client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_OFF);
        if (vgasr_priv.handler->power_state)
-@@ -402,6 +411,8 @@ vga_switcheroo_debugfs_write(struct file *filp, const char __user *ubuf,
+@@ -402,6 +411,8 @@ vga_switcheroo_debugfs_write(struct file
                list_for_each_entry(client, &vgasr_priv.clients, list) {
                        if (client->active || client_is_audio(client))
                                continue;
@@ -175,7 +167,7 @@ index cf787e1d9322..ec0ae2d1686a 100644
                        set_audio_state(client->id, VGA_SWITCHEROO_OFF);
                        if (client->pwr_state == VGA_SWITCHEROO_ON)
                                vga_switchoff(client);
-@@ -413,6 +424,8 @@ vga_switcheroo_debugfs_write(struct file *filp, const char __user *ubuf,
+@@ -413,6 +424,8 @@ vga_switcheroo_debugfs_write(struct file
                list_for_each_entry(client, &vgasr_priv.clients, list) {
                        if (client->active || client_is_audio(client))
                                continue;
@@ -312,8 +304,6 @@ index cf787e1d9322..ec0ae2d1686a 100644
 +      return -EINVAL;
 +}
 +EXPORT_SYMBOL(vga_switcheroo_init_domain_pm_optimus_hdmi_audio);
-diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h
-index ddb419cf4530..502073a53dd3 100644
 --- a/include/linux/vga_switcheroo.h
 +++ b/include/linux/vga_switcheroo.h
 @@ -45,7 +45,8 @@ struct vga_switcheroo_client_ops {
@@ -326,7 +316,7 @@ index ddb419cf4530..502073a53dd3 100644
  int vga_switcheroo_register_audio_client(struct pci_dev *pdev,
                                         const struct vga_switcheroo_client_ops *ops,
                                         int id, bool active);
-@@ -60,11 +61,15 @@ int vga_switcheroo_process_delayed_switch(void);
+@@ -60,11 +61,15 @@ int vga_switcheroo_process_delayed_switc
  
  int vga_switcheroo_get_client_state(struct pci_dev *dev);
  
@@ -343,7 +333,7 @@ index ddb419cf4530..502073a53dd3 100644
  static inline void vga_switcheroo_client_fb_set(struct pci_dev *dev, struct fb_info *info) {}
  static inline int vga_switcheroo_register_handler(struct vga_switcheroo_handler *handler) { return 0; }
  static inline int vga_switcheroo_register_audio_client(struct pci_dev *pdev,
-@@ -74,6 +79,10 @@ static inline void vga_switcheroo_unregister_handler(void) {}
+@@ -74,6 +79,10 @@ static inline void vga_switcheroo_unregi
  static inline int vga_switcheroo_process_delayed_switch(void) { return 0; }
  static inline int vga_switcheroo_get_client_state(struct pci_dev *dev) { return VGA_SWITCHEROO_ON; }
  
@@ -354,6 +344,3 @@ index ddb419cf4530..502073a53dd3 100644
  
  #endif
  #endif /* _LINUX_VGA_SWITCHEROO_H_ */
--- 
-1.8.5.rc3
-
index 5ce7725..6c7dd4d 100644 (file)
@@ -28,14 +28,12 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit e6e792092e816bea0797995c886fb057c91d4546)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 102 ++++++++++++++++++++++++++++++++++++++-------
+ drivers/gpu/drm/drm_edid.c |  102 ++++++++++++++++++++++++++++++++++++++-------
  1 file changed, 88 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 9d4d21f46a8a..298e1052fcc3 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2353,6 +2353,31 @@ u8 *drm_find_cea_extension(struct edid *edid)
+@@ -2358,6 +2358,31 @@ u8 *drm_find_cea_extension(struct edid *
  }
  EXPORT_SYMBOL(drm_find_cea_extension);
  
@@ -67,7 +65,7 @@ index 9d4d21f46a8a..298e1052fcc3 100644
  /**
   * drm_match_cea_mode - look for a CEA mode matching given mode
   * @to_match: display mode
-@@ -2371,21 +2396,9 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match)
+@@ -2376,21 +2401,9 @@ u8 drm_match_cea_mode(const struct drm_d
                const struct drm_display_mode *cea_mode = &edid_cea_modes[mode];
                unsigned int clock1, clock2;
  
@@ -91,7 +89,7 @@ index 9d4d21f46a8a..298e1052fcc3 100644
  
                if ((KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock1) ||
                     KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock2)) &&
-@@ -2396,6 +2409,66 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match)
+@@ -2401,6 +2414,66 @@ u8 drm_match_cea_mode(const struct drm_d
  }
  EXPORT_SYMBOL(drm_match_cea_mode);
  
@@ -158,7 +156,7 @@ index 9d4d21f46a8a..298e1052fcc3 100644
  
  static int
  do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
-@@ -3044,6 +3117,7 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
+@@ -3049,6 +3122,7 @@ int drm_add_edid_modes(struct drm_connec
        if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF)
                num_modes += add_inferred_modes(connector, edid);
        num_modes += add_cea_modes(connector, edid);
@@ -166,6 +164,3 @@ index 9d4d21f46a8a..298e1052fcc3 100644
  
        if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
                edid_fixup_preferred(connector, quirks);
--- 
-1.8.5.rc3
-
index 6cf5be6..239fa2b 100644 (file)
@@ -17,14 +17,12 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit 3f2f653378112c1453c0d83c81746a9225e4bc75)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 68 ++++++++++++++++++++++++++++++++++++++++++----
+ drivers/gpu/drm/drm_edid.c |   68 +++++++++++++++++++++++++++++++++++++++++----
  1 file changed, 62 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 298e1052fcc3..4adcea91d728 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2409,6 +2409,54 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match)
+@@ -2414,6 +2414,54 @@ u8 drm_match_cea_mode(const struct drm_d
  }
  EXPORT_SYMBOL(drm_match_cea_mode);
  
@@ -79,7 +77,7 @@ index 298e1052fcc3..4adcea91d728 100644
  static int
  add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid)
  {
-@@ -2426,18 +2474,26 @@ add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid)
+@@ -2431,18 +2479,26 @@ add_alternate_cea_modes(struct drm_conne
         * with the alternate clock for certain CEA modes.
         */
        list_for_each_entry(mode, &connector->probed_modes, head) {
@@ -112,6 +110,3 @@ index 298e1052fcc3..4adcea91d728 100644
  
                if (clock1 == clock2)
                        continue;
--- 
-1.8.5.rc3
-
index ccc137f..817d1ba 100644 (file)
@@ -19,16 +19,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit f2ecf2e3bc01868f244fc6ba9cf8fe5d8446db5b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c  |  4 ++--
- drivers/gpu/drm/drm_modes.c | 18 ++++++++++++------
- include/drm/drm_crtc.h      |  2 +-
+ drivers/gpu/drm/drm_edid.c  |    4 ++--
+ drivers/gpu/drm/drm_modes.c |   18 ++++++++++++------
+ include/drm/drm_crtc.h      |    2 +-
  3 files changed, 15 insertions(+), 9 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 4adcea91d728..1e5db5bb8eaf 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2402,7 +2402,7 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match)
+@@ -2407,7 +2407,7 @@ u8 drm_match_cea_mode(const struct drm_d
  
                if ((KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock1) ||
                     KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock2)) &&
@@ -37,7 +35,7 @@ index 4adcea91d728..1e5db5bb8eaf 100644
                        return mode + 1;
        }
        return 0;
-@@ -2451,7 +2451,7 @@ static u8 drm_match_hdmi_mode(const struct drm_display_mode *to_match)
+@@ -2456,7 +2456,7 @@ static u8 drm_match_hdmi_mode(const stru
  
                if ((KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock1) ||
                     KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock2)) &&
@@ -46,11 +44,9 @@ index 4adcea91d728..1e5db5bb8eaf 100644
                        return mode + 1;
        }
        return 0;
-diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
-index a371ff865a88..1d29b473fe6a 100644
 --- a/drivers/gpu/drm/drm_modes.c
 +++ b/drivers/gpu/drm/drm_modes.c
-@@ -848,12 +848,16 @@ bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_displ
+@@ -848,12 +848,16 @@ bool drm_mode_equal(const struct drm_dis
        } else if (mode1->clock != mode2->clock)
                return false;
  
@@ -85,7 +81,7 @@ index a371ff865a88..1d29b473fe6a 100644
  {
        if (mode1->hdisplay == mode2->hdisplay &&
            mode1->hsync_start == mode2->hsync_start &&
-@@ -878,12 +883,13 @@ bool drm_mode_equal_no_clocks(const struct drm_display_mode *mode1, const struct
+@@ -878,12 +883,13 @@ bool drm_mode_equal_no_clocks(const stru
            mode1->vsync_end == mode2->vsync_end &&
            mode1->vtotal == mode2->vtotal &&
            mode1->vscan == mode2->vscan &&
@@ -101,11 +97,9 @@ index a371ff865a88..1d29b473fe6a 100644
  
  /**
   * drm_mode_validate_size - make sure modes adhere to size constraints
-diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
-index 2cbbfd44c6df..c2f130e584c3 100644
 --- a/include/drm/drm_crtc.h
 +++ b/include/drm/drm_crtc.h
-@@ -920,7 +920,7 @@ extern void drm_mode_config_reset(struct drm_device *dev);
+@@ -920,7 +920,7 @@ extern void drm_mode_config_reset(struct
  extern void drm_mode_config_cleanup(struct drm_device *dev);
  extern void drm_mode_set_name(struct drm_display_mode *mode);
  extern bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2);
@@ -114,6 +108,3 @@ index 2cbbfd44c6df..c2f130e584c3 100644
  extern int drm_mode_width(const struct drm_display_mode *mode);
  extern int drm_mode_height(const struct drm_display_mode *mode);
  
--- 
-1.8.5.rc3
-
index ca6dd13..9b48b1a 100644 (file)
@@ -19,15 +19,13 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit 83dd000865eaaeb0799bf5e6d12f8d8cdb740e91)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 36 ++++++++++++++++++++++++++++++++++++
- include/drm/drm_edid.h     |  4 ++++
+ drivers/gpu/drm/drm_edid.c |   36 ++++++++++++++++++++++++++++++++++++
+ include/drm/drm_edid.h     |    4 ++++
  2 files changed, 40 insertions(+)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 1e5db5bb8eaf..63c50ce3934f 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -3266,3 +3266,39 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
+@@ -3274,3 +3274,39 @@ drm_hdmi_avi_infoframe_from_display_mode
        return 0;
  }
  EXPORT_SYMBOL(drm_hdmi_avi_infoframe_from_display_mode);
@@ -67,8 +65,6 @@ index 1e5db5bb8eaf..63c50ce3934f 100644
 +      return 0;
 +}
 +EXPORT_SYMBOL(drm_hdmi_vendor_infoframe_from_display_mode);
-diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
-index fc481fc17085..7b75621fda4c 100644
 --- a/include/drm/drm_edid.h
 +++ b/include/drm/drm_edid.h
 @@ -256,6 +256,7 @@ struct drm_encoder;
@@ -79,7 +75,7 @@ index fc481fc17085..7b75621fda4c 100644
  
  void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid);
  int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads);
-@@ -268,5 +269,8 @@ int drm_load_edid_firmware(struct drm_connector *connector);
+@@ -268,5 +269,8 @@ int drm_load_edid_firmware(struct drm_co
  int
  drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
                                         const struct drm_display_mode *mode);
@@ -88,6 +84,3 @@ index fc481fc17085..7b75621fda4c 100644
 +                                          const struct drm_display_mode *mode);
  
  #endif /* __DRM_EDID_H__ */
--- 
-1.8.5.rc3
-
index 06c39a8..8fe0d0f 100644 (file)
@@ -24,14 +24,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c858cfcae6dd3829e8708a48d009c2f676b79d4d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 110 ++++++++++++++++++++++++++++++++++++++++++---
+ drivers/gpu/drm/drm_edid.c |  110 ++++++++++++++++++++++++++++++++++++++++++---
  1 file changed, 103 insertions(+), 7 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 63c50ce3934f..41a5f3428e93 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2551,13 +2551,95 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len)
+@@ -2556,13 +2556,95 @@ do_cea_modes(struct drm_connector *conne
        return modes;
  }
  
@@ -128,7 +126,7 @@ index 63c50ce3934f..41a5f3428e93 100644
   */
  static int
  do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len)
-@@ -2583,10 +2665,15 @@ do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len)
+@@ -2588,10 +2670,15 @@ do_hdmi_vsdb_modes(struct drm_connector
  
        /* the declared length is not long enough for the 2 first bytes
         * of additional video format capabilities */
@@ -146,7 +144,7 @@ index 63c50ce3934f..41a5f3428e93 100644
        vic_len = db[8 + offset] >> 5;
  
        for (i = 0; i < vic_len && len >= (9 + offset + i); i++) {
-@@ -2666,8 +2753,8 @@ static int
+@@ -2671,8 +2758,8 @@ static int
  add_cea_modes(struct drm_connector *connector, struct edid *edid)
  {
        const u8 *cea = drm_find_cea_extension(edid);
@@ -157,7 +155,7 @@ index 63c50ce3934f..41a5f3428e93 100644
        int modes = 0;
  
        if (cea && cea_revision(cea) >= 3) {
-@@ -2682,11 +2769,20 @@ add_cea_modes(struct drm_connector *connector, struct edid *edid)
+@@ -2687,11 +2774,20 @@ add_cea_modes(struct drm_connector *conn
  
                        if (cea_db_tag(db) == VIDEO_BLOCK)
                                modes += do_cea_modes(connector, db + 1, dbl);
@@ -180,6 +178,3 @@ index 63c50ce3934f..41a5f3428e93 100644
        return modes;
  }
  
--- 
-1.8.5.rc3
-
index 53a7a8e..084e801 100644 (file)
@@ -20,14 +20,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1deee8d76724b478240f1bba5affe017e4f9bfa3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 36 +++++++++++++++++++++---------------
+ drivers/gpu/drm/drm_edid.c |   36 +++++++++++++++++++++---------------
  1 file changed, 21 insertions(+), 15 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 41a5f3428e93..a23a3be52a09 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2632,6 +2632,26 @@ static int add_hdmi_mandatory_stereo_modes(struct drm_connector *connector)
+@@ -2637,6 +2637,26 @@ static int add_hdmi_mandatory_stereo_mod
        return modes;
  }
  
@@ -54,7 +52,7 @@ index 41a5f3428e93..a23a3be52a09 100644
  /*
   * do_hdmi_vsdb_modes - Parse the HDMI Vendor Specific data block
   * @connector: connector corresponding to the HDMI sink
-@@ -2644,7 +2664,6 @@ static int add_hdmi_mandatory_stereo_modes(struct drm_connector *connector)
+@@ -2649,7 +2669,6 @@ static int add_hdmi_mandatory_stereo_mod
  static int
  do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len)
  {
@@ -62,7 +60,7 @@ index 41a5f3428e93..a23a3be52a09 100644
        int modes = 0, offset = 0, i;
        u8 vic_len;
  
-@@ -2677,23 +2696,10 @@ do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len)
+@@ -2682,23 +2701,10 @@ do_hdmi_vsdb_modes(struct drm_connector
        vic_len = db[8 + offset] >> 5;
  
        for (i = 0; i < vic_len && len >= (9 + offset + i); i++) {
@@ -87,6 +85,3 @@ index 41a5f3428e93..a23a3be52a09 100644
        }
  
  out:
--- 
-1.8.5.rc3
-
index 0a65ee7..6dfde74 100644 (file)
@@ -26,16 +26,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit f7e121b76469624459152542c1b809a1ebc835fe)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c  | 47 +++++++++++++++------------------------------
- include/drm/drm_crtc.h      |  9 ---------
- include/uapi/drm/drm_mode.h | 19 ++++++++++--------
+ drivers/gpu/drm/drm_edid.c  |   47 ++++++++++++++------------------------------
+ include/drm/drm_crtc.h      |    9 --------
+ include/uapi/drm/drm_mode.h |   19 ++++++++++-------
  3 files changed, 26 insertions(+), 49 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index a23a3be52a09..802daf1dfa60 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -2557,16 +2557,16 @@ struct stereo_mandatory_mode {
+@@ -2562,16 +2562,16 @@ struct stereo_mandatory_mode {
  };
  
  static const struct stereo_mandatory_mode stereo_mandatory_modes[] = {
@@ -58,7 +56,7 @@ index a23a3be52a09..802daf1dfa60 100644
  };
  
  static bool
-@@ -2581,50 +2581,33 @@ stereo_match_mandatory(const struct drm_display_mode *mode,
+@@ -2586,50 +2586,33 @@ stereo_match_mandatory(const struct drm_
               drm_mode_vrefresh(mode) == stereo_mode->vrefresh;
  }
  
@@ -118,8 +116,6 @@ index a23a3be52a09..802daf1dfa60 100644
        }
  
        list_splice_tail(&stereo_modes, &connector->probed_modes);
-diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
-index f96e7ff0035b..b228321549fa 100644
 --- a/include/drm/drm_crtc.h
 +++ b/include/drm/drm_crtc.h
 @@ -179,15 +179,6 @@ struct drm_display_mode {
@@ -138,8 +134,6 @@ index f96e7ff0035b..b228321549fa 100644
  static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode)
  {
        return mode->flags & DRM_MODE_FLAG_3D_MASK;
-diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
-index acc75bac67f1..82adefbabfa4 100644
 --- a/include/uapi/drm/drm_mode.h
 +++ b/include/uapi/drm/drm_mode.h
 @@ -58,14 +58,17 @@
@@ -168,6 +162,3 @@ index acc75bac67f1..82adefbabfa4 100644
  
  /* DPMS flags */
  /* bit compatible with the xorg definitions. */
--- 
-1.8.5.rc3
-
index 32dfce4..81cca3b 100644 (file)
@@ -18,14 +18,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 4eed4a0a4ac31830b4c328739cabb69721584bfc)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 40 ++++++++++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/drm_edid.c |   40 ++++++++++++++++++++++++++++++++++++++--
  1 file changed, 38 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 802daf1dfa60..61fdd6b532fc 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -3352,6 +3352,33 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
+@@ -3360,6 +3360,33 @@ drm_hdmi_avi_infoframe_from_display_mode
  }
  EXPORT_SYMBOL(drm_hdmi_avi_infoframe_from_display_mode);
  
@@ -59,7 +57,7 @@ index 802daf1dfa60..61fdd6b532fc 100644
  /**
   * drm_hdmi_vendor_infoframe_from_display_mode() - fill an HDMI infoframe with
   * data from a DRM display mode
-@@ -3369,20 +3396,29 @@ drm_hdmi_vendor_infoframe_from_display_mode(struct hdmi_vendor_infoframe *frame,
+@@ -3377,20 +3404,29 @@ drm_hdmi_vendor_infoframe_from_display_m
                                            const struct drm_display_mode *mode)
  {
        int err;
@@ -91,6 +89,3 @@ index 802daf1dfa60..61fdd6b532fc 100644
  
        return 0;
  }
--- 
-1.8.5.rc3
-
index fd739e4..bc88ec8 100644 (file)
@@ -18,15 +18,13 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit 10ba50129ab0bdbc0ee712e50913d1c8db88c5f0)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 42 ++++++++++++++++++++---------------------
- drivers/gpu/drm/i915/i915_drv.c |  3 ++-
+ drivers/gpu/drm/i915/i915_dma.c |   42 ++++++++++++++++++++--------------------
+ drivers/gpu/drm/i915/i915_drv.c |    3 +-
  2 files changed, 23 insertions(+), 22 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 3e4e6073d171..fdaa0915ce56 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1866,7 +1866,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
+@@ -1876,7 +1876,7 @@ const struct drm_ioctl_desc i915_ioctls[
        DRM_IOCTL_DEF_DRV(I915_BATCHBUFFER, i915_batchbuffer, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(I915_IRQ_EMIT, i915_irq_emit, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(I915_IRQ_WAIT, i915_irq_wait, DRM_AUTH),
@@ -35,7 +33,7 @@ index 3e4e6073d171..fdaa0915ce56 100644
        DRM_IOCTL_DEF_DRV(I915_SETPARAM, i915_setparam, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(I915_ALLOC, drm_noop, DRM_AUTH),
        DRM_IOCTL_DEF_DRV(I915_FREE, drm_noop, DRM_AUTH),
-@@ -1879,35 +1879,35 @@ const struct drm_ioctl_desc i915_ioctls[] = {
+@@ -1889,35 +1889,35 @@ const struct drm_ioctl_desc i915_ioctls[
        DRM_IOCTL_DEF_DRV(I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
        DRM_IOCTL_DEF_DRV(I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED),
        DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH|DRM_UNLOCKED),
@@ -91,8 +89,6 @@ index 3e4e6073d171..fdaa0915ce56 100644
  };
  
  int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls);
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 735dd5625e9e..ccb28ead3501 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
 @@ -1022,7 +1022,8 @@ static struct drm_driver driver = {
@@ -105,6 +101,3 @@ index 735dd5625e9e..ccb28ead3501 100644
        .load = i915_driver_load,
        .unload = i915_driver_unload,
        .open = i915_driver_open,
--- 
-1.8.5.rc3
-
index 79e99e8..197fb26 100644 (file)
@@ -37,16 +37,14 @@ fixup 2
 (cherry picked from commit 81b5c7bc8de3e6f63419139c2fc91bf81dea8a7d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c      |  9 ++++++---
- drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++++
- include/linux/vgaarb.h               |  7 +++++++
+ drivers/gpu/drm/i915/i915_dma.c      |    9 ++++++---
+ drivers/gpu/drm/i915/intel_display.c |   25 +++++++++++++++++++++++++
+ include/linux/vgaarb.h               |    7 +++++++
  3 files changed, 38 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index fdaa0915ce56..3de60503378e 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1290,9 +1290,12 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1298,9 +1298,12 @@ static int i915_load_modeset_init(struct
         * then we do not take part in VGA arbitration and the
         * vga_client_register() fails with -ENODEV.
         */
@@ -62,11 +60,9 @@ index fdaa0915ce56..3de60503378e 100644
  
        intel_register_dsm_handler();
  
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 2fd611ac91ba..369fdb452125 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10045,6 +10045,15 @@ static void i915_disable_vga(struct drm_device *dev)
+@@ -10045,6 +10045,15 @@ static void i915_disable_vga(struct drm_
        outb(SR01, VGA_SR_INDEX);
        sr1 = inb(VGA_SR_DATA);
        outb(sr1 | 1<<5, VGA_SR_DATA);
@@ -82,7 +78,7 @@ index 2fd611ac91ba..369fdb452125 100644
        vga_put(dev->pdev, VGA_RSRC_LEGACY_IO);
        udelay(300);
  
-@@ -10052,6 +10061,20 @@ static void i915_disable_vga(struct drm_device *dev)
+@@ -10052,6 +10061,20 @@ static void i915_disable_vga(struct drm_
        POSTING_READ(vga_reg);
  }
  
@@ -103,7 +99,7 @@ index 2fd611ac91ba..369fdb452125 100644
  void intel_modeset_init_hw(struct drm_device *dev)
  {
        intel_init_power_well(dev);
-@@ -10543,6 +10566,8 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -10545,6 +10568,8 @@ void intel_modeset_cleanup(struct drm_de
  
        intel_disable_fbc(dev);
  
@@ -112,8 +108,6 @@ index 2fd611ac91ba..369fdb452125 100644
        intel_disable_gt_powersave(dev);
  
        ironlake_teardown_rc6(dev);
-diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h
-index 2c02f3a8d2ba..80cf8173a65b 100644
 --- a/include/linux/vgaarb.h
 +++ b/include/linux/vgaarb.h
 @@ -65,8 +65,15 @@ struct pci_dev;
@@ -132,6 +126,3 @@ index 2c02f3a8d2ba..80cf8173a65b 100644
  
  /**
   *     vga_get         - acquire & locks VGA resources
--- 
-1.8.5.rc3
-
index 88a120a..d2b2478 100644 (file)
@@ -42,15 +42,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c0321e2c5acaaff7ed41d46d97cee71ad9238481)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem.c         |  1 -
- drivers/gpu/drm/i915/i915_gem_context.c | 12 +-----------
+ drivers/gpu/drm/i915/i915_gem.c         |    1 -
+ drivers/gpu/drm/i915/i915_gem_context.c |   12 +-----------
  2 files changed, 1 insertion(+), 12 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 80342c8f02e6..22be39feadc0 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -2045,7 +2045,6 @@ int __i915_add_request(struct intel_ring_buffer *ring,
+@@ -2045,7 +2045,6 @@ int __i915_add_request(struct intel_ring
        if (request == NULL)
                return -ENOMEM;
  
@@ -58,11 +56,9 @@ index 80342c8f02e6..22be39feadc0 100644
        /* Record the position of the start of the request so that
         * should we detect the updated seqno part-way through the
         * GPU processing the request, we never over-estimate the
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 403309c2a7d6..b6da70b51aea 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -451,17 +451,7 @@ static int do_switch(struct i915_hw_context *to)
+@@ -449,17 +449,7 @@ static int do_switch(struct i915_hw_cont
                from->obj->dirty = 1;
                BUG_ON(from->obj->ring != ring);
  
@@ -81,6 +77,3 @@ index 403309c2a7d6..b6da70b51aea 100644
                i915_gem_object_unpin(from->obj);
                i915_gem_context_unreference(from);
        }
--- 
-1.8.5.rc3
-
index 2c59069..fdf5224 100644 (file)
@@ -41,16 +41,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 6e1b4fdad5157bb9e88777d525704aba24389bee)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c      |  6 ++++++
- drivers/gpu/drm/i915/intel_display.c | 27 ++++++++++++++++-----------
- drivers/gpu/drm/i915/intel_drv.h     |  1 +
+ drivers/gpu/drm/i915/i915_dma.c      |    6 ++++++
+ drivers/gpu/drm/i915/intel_display.c |   27 ++++++++++++++++-----------
+ drivers/gpu/drm/i915/intel_drv.h     |    1 +
  3 files changed, 23 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 3de60503378e..9b265a4c6a3d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1351,6 +1351,12 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1359,6 +1359,12 @@ static int i915_load_modeset_init(struct
         */
        intel_fbdev_initial_config(dev);
  
@@ -63,11 +61,9 @@ index 3de60503378e..9b265a4c6a3d 100644
        /* Only enable hotplug handling once the fbdev is fully set up. */
        dev_priv->enable_hotplug_processing = true;
  
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index f68091d2078a..099ad416fcdd 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10065,15 +10065,6 @@ static void i915_disable_vga(struct drm_device *dev)
+@@ -10065,15 +10065,6 @@ static void i915_disable_vga(struct drm_
        outb(SR01, VGA_SR_INDEX);
        sr1 = inb(VGA_SR_DATA);
        outb(sr1 | 1<<5, VGA_SR_DATA);
@@ -83,7 +79,7 @@ index f68091d2078a..099ad416fcdd 100644
        vga_put(dev->pdev, VGA_RSRC_LEGACY_IO);
        udelay(300);
  
-@@ -10081,7 +10072,7 @@ static void i915_disable_vga(struct drm_device *dev)
+@@ -10081,7 +10072,7 @@ static void i915_disable_vga(struct drm_
        POSTING_READ(vga_reg);
  }
  
@@ -92,7 +88,7 @@ index f68091d2078a..099ad416fcdd 100644
  {
        /* Enable VGA memory on Intel HD */
        if (HAS_PCH_SPLIT(dev)) {
-@@ -10095,6 +10086,19 @@ static void i915_enable_vga(struct drm_device *dev)
+@@ -10095,6 +10086,19 @@ static void i915_enable_vga(struct drm_d
        }
  }
  
@@ -112,7 +108,7 @@ index f68091d2078a..099ad416fcdd 100644
  void intel_modeset_init_hw(struct drm_device *dev)
  {
        intel_init_power_well(dev);
-@@ -10373,6 +10377,7 @@ void i915_redisable_vga(struct drm_device *dev)
+@@ -10373,6 +10377,7 @@ void i915_redisable_vga(struct drm_devic
        if (I915_READ(vga_reg) != VGA_DISP_DISABLE) {
                DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
                i915_disable_vga(dev);
@@ -120,7 +116,7 @@ index f68091d2078a..099ad416fcdd 100644
        }
  }
  
-@@ -10586,7 +10591,7 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -10588,7 +10593,7 @@ void intel_modeset_cleanup(struct drm_de
  
        intel_disable_fbc(dev);
  
@@ -129,17 +125,12 @@ index f68091d2078a..099ad416fcdd 100644
  
        intel_disable_gt_powersave(dev);
  
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index ea97c2347200..322dbc6b20a2 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -798,5 +798,6 @@ extern void hsw_pc8_disable_interrupts(struct drm_device *dev);
+@@ -798,5 +798,6 @@ extern void hsw_pc8_disable_interrupts(s
  extern void hsw_pc8_restore_interrupts(struct drm_device *dev);
  extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv);
  extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv);
 +extern void i915_disable_vga_mem(struct drm_device *dev);
  
  #endif /* __INTEL_DRV_H__ */
--- 
-1.8.5.rc3
-
index 0c52272..8377d3d 100644 (file)
@@ -41,17 +41,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 3ccfd19dea7c5c85aa4b1f929a97a02b026ab356)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c     |  8 +++++++
- drivers/gpu/drm/i915/i915_drv.h         |  1 +
- drivers/gpu/drm/i915/i915_gem_context.c | 22 ++++++++++++++++----
- drivers/gpu/drm/i915/i915_sysfs.c       | 37 +++++++++++++--------------------
+ drivers/gpu/drm/i915/i915_debugfs.c     |    8 ++++++
+ drivers/gpu/drm/i915/i915_drv.h         |    1 
+ drivers/gpu/drm/i915/i915_gem_context.c |   22 +++++++++++++++----
+ drivers/gpu/drm/i915/i915_sysfs.c       |   37 ++++++++++++--------------------
  4 files changed, 41 insertions(+), 27 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index ada095023dad..80bed69fe5b7 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -145,6 +145,13 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+@@ -145,6 +145,13 @@ describe_obj(struct seq_file *m, struct
                seq_printf(m, " (%s)", obj->ring->name);
  }
  
@@ -65,7 +63,7 @@ index ada095023dad..80bed69fe5b7 100644
  static int i915_gem_object_list_info(struct seq_file *m, void *data)
  {
        struct drm_info_node *node = (struct drm_info_node *) m->private;
-@@ -1463,6 +1470,7 @@ static int i915_context_status(struct seq_file *m, void *unused)
+@@ -1463,6 +1470,7 @@ static int i915_context_status(struct se
  
        list_for_each_entry(ctx, &dev_priv->context_list, link) {
                seq_puts(m, "HW context ");
@@ -73,8 +71,6 @@ index ada095023dad..80bed69fe5b7 100644
                for_each_ring(ring, dev_priv, i)
                        if (ring->default_context == ctx)
                                seq_printf(m, "(default context %s) ", ring->name);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 179592762537..015df5264dcc 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -601,6 +601,7 @@ struct i915_hw_context {
@@ -85,11 +81,9 @@ index 179592762537..015df5264dcc 100644
        struct drm_i915_file_private *file_priv;
        struct intel_ring_buffer *ring;
        struct drm_i915_gem_object *obj;
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 2bbdce821ac3..9af3fe7e42b0 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -181,6 +181,10 @@ create_hw_context(struct drm_device *dev,
+@@ -181,6 +181,10 @@ create_hw_context(struct drm_device *dev
  
        ctx->file_priv = file_priv;
        ctx->id = ret;
@@ -100,7 +94,7 @@ index 2bbdce821ac3..9af3fe7e42b0 100644
  
        return ctx;
  
-@@ -396,11 +400,11 @@ static int do_switch(struct i915_hw_context *to)
+@@ -394,11 +398,11 @@ static int do_switch(struct i915_hw_cont
        struct intel_ring_buffer *ring = to->ring;
        struct i915_hw_context *from = ring->last_context;
        u32 hw_flags = 0;
@@ -114,7 +108,7 @@ index 2bbdce821ac3..9af3fe7e42b0 100644
                return 0;
  
        ret = i915_gem_obj_ggtt_pin(to->obj, CONTEXT_ALIGN, false, false);
-@@ -423,8 +427,6 @@ static int do_switch(struct i915_hw_context *to)
+@@ -421,8 +425,6 @@ static int do_switch(struct i915_hw_cont
  
        if (!to->is_initialized || is_default_context(to))
                hw_flags |= MI_RESTORE_INHIBIT;
@@ -123,7 +117,7 @@ index 2bbdce821ac3..9af3fe7e42b0 100644
  
        ret = mi_set_context(ring, to, hw_flags);
        if (ret) {
-@@ -432,6 +434,18 @@ static int do_switch(struct i915_hw_context *to)
+@@ -430,6 +432,18 @@ static int do_switch(struct i915_hw_cont
                return ret;
        }
  
@@ -142,11 +136,9 @@ index 2bbdce821ac3..9af3fe7e42b0 100644
        /* The backing object for the context is done after switching to the
         * *next* context. Therefore we cannot retire the previous context until
         * the next context has already started running. In fact, the below code
-diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
-index b07bdfb8892d..deb8787308d6 100644
 --- a/drivers/gpu/drm/i915/i915_sysfs.c
 +++ b/drivers/gpu/drm/i915/i915_sysfs.c
-@@ -118,9 +118,8 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
+@@ -118,9 +118,8 @@ i915_l3_read(struct file *filp, struct k
        struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev);
        struct drm_device *drm_dev = dminor->dev;
        struct drm_i915_private *dev_priv = drm_dev->dev_private;
@@ -157,7 +149,7 @@ index b07bdfb8892d..deb8787308d6 100644
  
        count = round_down(count, 4);
  
-@@ -134,26 +133,13 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
+@@ -134,26 +133,13 @@ i915_l3_read(struct file *filp, struct k
        if (ret)
                return ret;
  
@@ -174,11 +166,6 @@ index b07bdfb8892d..deb8787308d6 100644
 -
 -      misccpctl = I915_READ(GEN7_MISCCPCTL);
 -      I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE);
--
--      for (i = 0; i < count; i += 4)
--              *((uint32_t *)(&buf[i])) = I915_READ(GEN7_L3LOG_BASE + offset + i);
--
--      I915_WRITE(GEN7_MISCCPCTL, misccpctl);
 +      if (dev_priv->l3_parity.remap_info[slice])
 +              memcpy(buf,
 +                     dev_priv->l3_parity.remap_info[slice] + (offset/4),
@@ -186,11 +173,16 @@ index b07bdfb8892d..deb8787308d6 100644
 +      else
 +              memset(buf, 0, count);
  
+-      for (i = 0; i < count; i += 4)
+-              *((uint32_t *)(&buf[i])) = I915_READ(GEN7_L3LOG_BASE + offset + i);
+-
+-      I915_WRITE(GEN7_MISCCPCTL, misccpctl);
+-
 -out:
        mutex_unlock(&drm_dev->struct_mutex);
  
        return count;
-@@ -168,6 +154,7 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
+@@ -168,6 +154,7 @@ i915_l3_write(struct file *filp, struct
        struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev);
        struct drm_device *drm_dev = dminor->dev;
        struct drm_i915_private *dev_priv = drm_dev->dev_private;
@@ -198,7 +190,7 @@ index b07bdfb8892d..deb8787308d6 100644
        u32 *temp = NULL; /* Just here to make handling failures easy */
        int slice = (int)(uintptr_t)attr->private;
        int ret;
-@@ -176,6 +163,9 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
+@@ -176,6 +163,9 @@ i915_l3_write(struct file *filp, struct
        if (ret)
                return ret;
  
@@ -208,7 +200,7 @@ index b07bdfb8892d..deb8787308d6 100644
        ret = i915_mutex_lock_interruptible(drm_dev);
        if (ret)
                return ret;
-@@ -204,8 +194,9 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
+@@ -204,8 +194,9 @@ i915_l3_write(struct file *filp, struct
  
        memcpy(dev_priv->l3_parity.remap_info[slice] + (offset/4), buf, count);
  
@@ -220,6 +212,3 @@ index b07bdfb8892d..deb8787308d6 100644
  
        mutex_unlock(&drm_dev->struct_mutex);
  
--- 
-1.8.5.rc3
-
index 64c9dc7..9671c58 100644 (file)
@@ -16,16 +16,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit d6317290bfd8673d1cf3b6f8a12c72b3297eac36)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c      | 2 ++
- drivers/gpu/drm/i915/i915_drv.c      | 2 ++
- drivers/gpu/drm/i915/intel_display.c | 2 --
+ drivers/gpu/drm/i915/i915_dma.c      |    2 ++
+ drivers/gpu/drm/i915/i915_drv.c      |    2 ++
+ drivers/gpu/drm/i915/intel_display.c |    2 --
  3 files changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index be5120f702cc..553586eae991 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1324,6 +1324,8 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1332,6 +1332,8 @@ static int i915_load_modeset_init(struct
  
        INIT_WORK(&dev_priv->console_resume_work, intel_console_resume);
  
@@ -34,11 +32,9 @@ index be5120f702cc..553586eae991 100644
        intel_modeset_gem_init(dev);
  
        /* Always safe in the mode setting case. */
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 75e7550064f4..6f385e1e9ed6 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -605,6 +605,8 @@ static int __i915_drm_thaw(struct drm_device *dev, bool restore_gtt_mappings)
+@@ -605,6 +605,8 @@ static int __i915_drm_thaw(struct drm_de
                /* We need working interrupts for modeset enabling ... */
                drm_irq_install(dev);
  
@@ -47,11 +43,9 @@ index 75e7550064f4..6f385e1e9ed6 100644
                intel_modeset_init_hw(dev);
  
                drm_modeset_lock_all(dev);
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 5d0b03fbdac7..951e4b5f7e77 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10279,8 +10279,6 @@ void i915_disable_vga_mem(struct drm_device *dev)
+@@ -10279,8 +10279,6 @@ void i915_disable_vga_mem(struct drm_dev
  
  void intel_modeset_init_hw(struct drm_device *dev)
  {
@@ -60,6 +54,3 @@ index 5d0b03fbdac7..951e4b5f7e77 100644
        intel_prepare_ddi(dev);
  
        intel_init_clock_gating(dev);
--- 
-1.8.5.rc3
-
index bb14d65..39458c9 100644 (file)
@@ -14,29 +14,27 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b14c5679dd2c87b5bd14c49c5bdd1962be2ab209)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c  |  2 +-
- drivers/gpu/drm/i915/i915_dma.c      |  6 +++---
- drivers/gpu/drm/i915/i915_gem.c      |  2 +-
- drivers/gpu/drm/i915/intel_crt.c     |  2 +-
- drivers/gpu/drm/i915/intel_ddi.c     |  6 +++---
- drivers/gpu/drm/i915/intel_display.c |  2 +-
- drivers/gpu/drm/i915/intel_dp.c      |  4 ++--
- drivers/gpu/drm/i915/intel_dvo.c     |  4 ++--
- drivers/gpu/drm/i915/intel_fb.c      |  2 +-
- drivers/gpu/drm/i915/intel_hdmi.c    |  4 ++--
- drivers/gpu/drm/i915/intel_lvds.c    |  4 ++--
- drivers/gpu/drm/i915/intel_overlay.c |  4 ++--
- drivers/gpu/drm/i915/intel_pm.c      |  2 +-
- drivers/gpu/drm/i915/intel_sdvo.c    | 10 +++++-----
- drivers/gpu/drm/i915/intel_sprite.c  |  2 +-
- drivers/gpu/drm/i915/intel_tv.c      |  4 ++--
+ drivers/gpu/drm/i915/i915_debugfs.c  |    2 +-
+ drivers/gpu/drm/i915/i915_dma.c      |    6 +++---
+ drivers/gpu/drm/i915/i915_gem.c      |    2 +-
+ drivers/gpu/drm/i915/intel_crt.c     |    2 +-
+ drivers/gpu/drm/i915/intel_ddi.c     |    6 +++---
+ drivers/gpu/drm/i915/intel_display.c |    2 +-
+ drivers/gpu/drm/i915/intel_dp.c      |    4 ++--
+ drivers/gpu/drm/i915/intel_dvo.c     |    4 ++--
+ drivers/gpu/drm/i915/intel_fb.c      |    2 +-
+ drivers/gpu/drm/i915/intel_hdmi.c    |    4 ++--
+ drivers/gpu/drm/i915/intel_lvds.c    |    4 ++--
+ drivers/gpu/drm/i915/intel_overlay.c |    4 ++--
+ drivers/gpu/drm/i915/intel_pm.c      |    2 +-
+ drivers/gpu/drm/i915/intel_sdvo.c    |   10 +++++-----
+ drivers/gpu/drm/i915/intel_sprite.c  |    2 +-
+ drivers/gpu/drm/i915/intel_tv.c      |    4 ++--
  16 files changed, 30 insertions(+), 30 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 80bed69fe5b7..09c93d7989f1 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -2156,7 +2156,7 @@ drm_add_fake_info_node(struct drm_minor *minor,
+@@ -2156,7 +2156,7 @@ drm_add_fake_info_node(struct drm_minor
  {
        struct drm_info_node *node;
  
@@ -45,11 +43,9 @@ index 80bed69fe5b7..09c93d7989f1 100644
        if (node == NULL) {
                debugfs_remove(ent);
                return -ENOMEM;
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 553586eae991..b387c6b2af75 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -641,7 +641,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
+@@ -649,7 +649,7 @@ static int i915_batchbuffer(struct drm_d
  
        if (batch->num_cliprects) {
                cliprects = kcalloc(batch->num_cliprects,
@@ -58,7 +54,7 @@ index 553586eae991..b387c6b2af75 100644
                                    GFP_KERNEL);
                if (cliprects == NULL)
                        return -ENOMEM;
-@@ -703,7 +703,7 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
+@@ -711,7 +711,7 @@ static int i915_cmdbuffer(struct drm_dev
  
        if (cmdbuf->num_cliprects) {
                cliprects = kcalloc(cmdbuf->num_cliprects,
@@ -67,7 +63,7 @@ index 553586eae991..b387c6b2af75 100644
                if (cliprects == NULL) {
                        ret = -ENOMEM;
                        goto fail_batch_free;
-@@ -1480,7 +1480,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1488,7 +1488,7 @@ int i915_driver_load(struct drm_device *
        dev->types[8] = _DRM_STAT_SECONDARY;
        dev->types[9] = _DRM_STAT_DMA;
  
@@ -76,11 +72,9 @@ index 553586eae991..b387c6b2af75 100644
        if (dev_priv == NULL)
                return -ENOMEM;
  
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index c12f44abb69a..08bff16a0b72 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -4630,7 +4630,7 @@ static int i915_gem_init_phys_object(struct drm_device *dev,
+@@ -4630,7 +4630,7 @@ static int i915_gem_init_phys_object(str
        if (dev_priv->mm.phys_objs[id - 1] || !size)
                return 0;
  
@@ -89,11 +83,9 @@ index c12f44abb69a..08bff16a0b72 100644
        if (!phys_obj)
                return -ENOMEM;
  
-diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index 6f101d5620e4..f9a5f3d1f0cd 100644
 --- a/drivers/gpu/drm/i915/intel_crt.c
 +++ b/drivers/gpu/drm/i915/intel_crt.c
-@@ -764,7 +764,7 @@ void intel_crt_init(struct drm_device *dev)
+@@ -764,7 +764,7 @@ void intel_crt_init(struct drm_device *d
        if (!crt)
                return;
  
@@ -102,11 +94,9 @@ index 6f101d5620e4..f9a5f3d1f0cd 100644
        if (!intel_connector) {
                kfree(crt);
                return;
-diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
-index 04f68804834d..351e21a0be07 100644
 --- a/drivers/gpu/drm/i915/intel_ddi.c
 +++ b/drivers/gpu/drm/i915/intel_ddi.c
-@@ -1337,11 +1337,11 @@ void intel_ddi_init(struct drm_device *dev, enum port port)
+@@ -1337,11 +1337,11 @@ void intel_ddi_init(struct drm_device *d
        struct intel_connector *hdmi_connector = NULL;
        struct intel_connector *dp_connector = NULL;
  
@@ -120,7 +110,7 @@ index 04f68804834d..351e21a0be07 100644
        if (!dp_connector) {
                kfree(intel_dig_port);
                return;
-@@ -1381,7 +1381,7 @@ void intel_ddi_init(struct drm_device *dev, enum port port)
+@@ -1381,7 +1381,7 @@ void intel_ddi_init(struct drm_device *d
        }
  
        if (intel_encoder->type != INTEL_OUTPUT_EDP) {
@@ -129,11 +119,9 @@ index 04f68804834d..351e21a0be07 100644
                                         GFP_KERNEL);
                if (!hdmi_connector) {
                        return;
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 12595a514074..f0b18c342dee 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -8097,7 +8097,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+@@ -8097,7 +8097,7 @@ static int intel_crtc_page_flip(struct d
             fb->pitches[0] != crtc->fb->pitches[0]))
                return -EINVAL;
  
@@ -142,11 +130,9 @@ index 12595a514074..f0b18c342dee 100644
        if (work == NULL)
                return -ENOMEM;
  
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 605908df95d8..2f3d67f12a88 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3633,11 +3633,11 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
+@@ -3633,11 +3633,11 @@ intel_dp_init(struct drm_device *dev, in
        struct drm_encoder *encoder;
        struct intel_connector *intel_connector;
  
@@ -160,11 +146,9 @@ index 605908df95d8..2f3d67f12a88 100644
        if (!intel_connector) {
                kfree(intel_dig_port);
                return;
-diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
-index ff86c366218c..6305433797ac 100644
 --- a/drivers/gpu/drm/i915/intel_dvo.c
 +++ b/drivers/gpu/drm/i915/intel_dvo.c
-@@ -448,11 +448,11 @@ void intel_dvo_init(struct drm_device *dev)
+@@ -448,11 +448,11 @@ void intel_dvo_init(struct drm_device *d
        int i;
        int encoder_type = DRM_MODE_ENCODER_NONE;
  
@@ -178,11 +162,9 @@ index ff86c366218c..6305433797ac 100644
        if (!intel_connector) {
                kfree(intel_dvo);
                return;
-diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c
-index bc2100007b21..6aa66aaceaef 100644
 --- a/drivers/gpu/drm/i915/intel_fb.c
 +++ b/drivers/gpu/drm/i915/intel_fb.c
-@@ -216,7 +216,7 @@ int intel_fbdev_init(struct drm_device *dev)
+@@ -216,7 +216,7 @@ int intel_fbdev_init(struct drm_device *
        struct drm_i915_private *dev_priv = dev->dev_private;
        int ret;
  
@@ -191,11 +173,9 @@ index bc2100007b21..6aa66aaceaef 100644
        if (!ifbdev)
                return -ENOMEM;
  
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index 79582f912414..a6310ca444cf 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -1292,11 +1292,11 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
+@@ -1292,11 +1292,11 @@ void intel_hdmi_init(struct drm_device *
        struct intel_encoder *intel_encoder;
        struct intel_connector *intel_connector;
  
@@ -209,11 +189,9 @@ index 79582f912414..a6310ca444cf 100644
        if (!intel_connector) {
                kfree(intel_dig_port);
                return;
-diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index 1ba9998add08..87d5a769b3ae 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
-@@ -964,11 +964,11 @@ void intel_lvds_init(struct drm_device *dev)
+@@ -964,11 +964,11 @@ void intel_lvds_init(struct drm_device *
                }
        }
  
@@ -227,11 +205,9 @@ index 1ba9998add08..87d5a769b3ae 100644
        if (!lvds_connector) {
                kfree(lvds_encoder);
                return;
-diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
-index 8d6d0a1bf5bf..a98a990fbab3 100644
 --- a/drivers/gpu/drm/i915/intel_overlay.c
 +++ b/drivers/gpu/drm/i915/intel_overlay.c
-@@ -1053,7 +1053,7 @@ int intel_overlay_put_image(struct drm_device *dev, void *data,
+@@ -1053,7 +1053,7 @@ int intel_overlay_put_image(struct drm_d
                return ret;
        }
  
@@ -240,7 +216,7 @@ index 8d6d0a1bf5bf..a98a990fbab3 100644
        if (!params)
                return -ENOMEM;
  
-@@ -1320,7 +1320,7 @@ void intel_setup_overlay(struct drm_device *dev)
+@@ -1320,7 +1320,7 @@ void intel_setup_overlay(struct drm_devi
        if (!HAS_OVERLAY(dev))
                return;
  
@@ -249,11 +225,9 @@ index 8d6d0a1bf5bf..a98a990fbab3 100644
        if (!overlay)
                return;
  
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 4692f8cb7724..d27eda661548 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -370,7 +370,7 @@ static void intel_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
+@@ -370,7 +370,7 @@ static void intel_enable_fbc(struct drm_
  
        intel_cancel_fbc_work(dev_priv);
  
@@ -262,11 +236,9 @@ index 4692f8cb7724..d27eda661548 100644
        if (work == NULL) {
                DRM_ERROR("Failed to allocate FBC work structure\n");
                dev_priv->display.enable_fbc(crtc, interval);
-diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
-index 91aea9e1ab6f..d8040e8a68b5 100644
 --- a/drivers/gpu/drm/i915/intel_sdvo.c
 +++ b/drivers/gpu/drm/i915/intel_sdvo.c
-@@ -2397,7 +2397,7 @@ intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device)
+@@ -2397,7 +2397,7 @@ intel_sdvo_dvi_init(struct intel_sdvo *i
        struct intel_connector *intel_connector;
        struct intel_sdvo_connector *intel_sdvo_connector;
  
@@ -275,7 +247,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644
        if (!intel_sdvo_connector)
                return false;
  
-@@ -2445,7 +2445,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type)
+@@ -2445,7 +2445,7 @@ intel_sdvo_tv_init(struct intel_sdvo *in
        struct intel_connector *intel_connector;
        struct intel_sdvo_connector *intel_sdvo_connector;
  
@@ -284,7 +256,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644
        if (!intel_sdvo_connector)
                return false;
  
-@@ -2482,7 +2482,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device)
+@@ -2482,7 +2482,7 @@ intel_sdvo_analog_init(struct intel_sdvo
        struct intel_connector *intel_connector;
        struct intel_sdvo_connector *intel_sdvo_connector;
  
@@ -293,7 +265,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644
        if (!intel_sdvo_connector)
                return false;
  
-@@ -2513,7 +2513,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
+@@ -2513,7 +2513,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *
        struct intel_connector *intel_connector;
        struct intel_sdvo_connector *intel_sdvo_connector;
  
@@ -302,7 +274,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644
        if (!intel_sdvo_connector)
                return false;
  
-@@ -2879,7 +2879,7 @@ bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob)
+@@ -2879,7 +2879,7 @@ bool intel_sdvo_init(struct drm_device *
        struct intel_encoder *intel_encoder;
        struct intel_sdvo *intel_sdvo;
        int i;
@@ -311,11 +283,9 @@ index 91aea9e1ab6f..d8040e8a68b5 100644
        if (!intel_sdvo)
                return false;
  
-diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
-index 231b289e8e57..cae10bc746d0 100644
 --- a/drivers/gpu/drm/i915/intel_sprite.c
 +++ b/drivers/gpu/drm/i915/intel_sprite.c
-@@ -1034,7 +1034,7 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane)
+@@ -1034,7 +1034,7 @@ intel_plane_init(struct drm_device *dev,
        if (INTEL_INFO(dev)->gen < 5)
                return -ENODEV;
  
@@ -324,8 +294,6 @@ index 231b289e8e57..cae10bc746d0 100644
        if (!intel_plane)
                return -ENOMEM;
  
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index dd6f84bf6c22..e6e93ce34f7b 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
 @@ -1590,12 +1590,12 @@ intel_tv_init(struct drm_device *dev)
@@ -343,6 +311,3 @@ index dd6f84bf6c22..e6e93ce34f7b 100644
        if (!intel_connector) {
                kfree(intel_tv);
                return;
--- 
-1.8.5.rc3
-
index b57afdb..0446baf 100644 (file)
@@ -51,14 +51,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ce352550327b394f3072a07c9cd9d27af9276f15)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 8 +++++++-
+ drivers/gpu/drm/i915/i915_dma.c |    8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index b387c6b2af75..954ea301047d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1326,13 +1326,18 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1334,13 +1334,18 @@ static int i915_load_modeset_init(struct
  
        intel_init_power_well(dev);
  
@@ -78,7 +76,7 @@ index b387c6b2af75..954ea301047d 100644
  
        ret = intel_fbdev_init(dev);
        if (ret)
-@@ -1358,6 +1363,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1366,6 +1371,7 @@ static int i915_load_modeset_init(struct
         * vgacon_save_screen() works during the handover.
         */
        i915_disable_vga_mem(dev);
@@ -86,6 +84,3 @@ index b387c6b2af75..954ea301047d 100644
  
        /* Only enable hotplug handling once the fbdev is fully set up. */
        dev_priv->enable_hotplug_processing = true;
--- 
-1.8.5.rc3
-
index a49ba83..69ce8a8 100644 (file)
@@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit a14853206517b0c8102accbc77401805a0dbdb9e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 15 ++++++++-------
+ drivers/gpu/drm/i915/i915_dma.c |   15 ++++++++-------
  1 file changed, 8 insertions(+), 7 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 954ea301047d..b435414f85a4 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1314,21 +1314,21 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1322,21 +1322,21 @@ static int i915_load_modeset_init(struct
        if (ret)
                goto cleanup_gem_stolen;
  
@@ -51,7 +49,7 @@ index 954ea301047d..b435414f85a4 100644
        intel_modeset_gem_init(dev);
  
        /* Always safe in the mode setting case. */
-@@ -1379,7 +1379,8 @@ cleanup_gem:
+@@ -1387,7 +1387,8 @@ cleanup_gem:
        mutex_unlock(&dev->struct_mutex);
        i915_gem_cleanup_aliasing_ppgtt(dev);
        drm_mm_takedown(&dev_priv->gtt.base.mm);
@@ -61,6 +59,3 @@ index 954ea301047d..b435414f85a4 100644
        drm_irq_uninstall(dev);
  cleanup_gem_stolen:
        i915_gem_cleanup_stolen(dev);
--- 
-1.8.5.rc3
-
index 1ac8639..e32d475 100644 (file)
@@ -33,16 +33,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit aec347ab197ec064d1e98b52717d968521a62929)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c     |  6 ++++--
- drivers/gpu/drm/i915/i915_drv.h     |  3 +++
- drivers/gpu/drm/i915/intel_uncore.c | 33 +++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/i915/i915_dma.c     |    6 ++++--
+ drivers/gpu/drm/i915/i915_drv.h     |    3 +++
+ drivers/gpu/drm/i915/intel_uncore.c |   33 +++++++++++++++++++++++++++++++--
  3 files changed, 38 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index b435414f85a4..1ef50e154f7c 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1792,8 +1792,6 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1800,8 +1800,6 @@ int i915_driver_unload(struct drm_device
        list_del(&dev_priv->gtt.base.global_link);
        WARN_ON(!list_empty(&dev_priv->vm_list));
        drm_mm_takedown(&dev_priv->gtt.base.mm);
@@ -51,7 +49,7 @@ index b435414f85a4..1ef50e154f7c 100644
  
        intel_teardown_gmbus(dev);
        intel_teardown_mchbar(dev);
-@@ -1803,6 +1801,10 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1811,6 +1809,10 @@ int i915_driver_unload(struct drm_device
  
        dev_priv->gtt.base.cleanup(&dev_priv->gtt.base);
  
@@ -62,8 +60,6 @@ index b435414f85a4..1ef50e154f7c 100644
        if (dev_priv->slab)
                kmem_cache_destroy(dev_priv->slab);
  
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index bbe889dfc0ff..662c0ff0b049 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -408,6 +408,8 @@ struct intel_uncore {
@@ -75,7 +71,7 @@ index bbe889dfc0ff..662c0ff0b049 100644
  };
  
  #define DEV_INFO_FOR_EACH_FLAG(func, sep) \
-@@ -1801,6 +1803,7 @@ extern void intel_uncore_early_sanitize(struct drm_device *dev);
+@@ -1801,6 +1803,7 @@ extern void intel_uncore_early_sanitize(
  extern void intel_uncore_init(struct drm_device *dev);
  extern void intel_uncore_clear_errors(struct drm_device *dev);
  extern void intel_uncore_check_errors(struct drm_device *dev);
@@ -83,11 +79,9 @@ index bbe889dfc0ff..662c0ff0b049 100644
  
  void
  i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask);
-diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
-index 8649f1c36b00..f2753d9fb098 100644
 --- a/drivers/gpu/drm/i915/intel_uncore.c
 +++ b/drivers/gpu/drm/i915/intel_uncore.c
-@@ -204,6 +204,18 @@ static void vlv_force_wake_put(struct drm_i915_private *dev_priv)
+@@ -204,6 +204,18 @@ static void vlv_force_wake_put(struct dr
        gen6_gt_check_fifodbg(dev_priv);
  }
  
@@ -106,7 +100,7 @@ index 8649f1c36b00..f2753d9fb098 100644
  void intel_uncore_early_sanitize(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -216,6 +228,9 @@ void intel_uncore_init(struct drm_device *dev)
+@@ -216,6 +228,9 @@ void intel_uncore_init(struct drm_device
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
  
@@ -116,7 +110,7 @@ index 8649f1c36b00..f2753d9fb098 100644
        if (IS_VALLEYVIEW(dev)) {
                dev_priv->uncore.funcs.force_wake_get = vlv_force_wake_get;
                dev_priv->uncore.funcs.force_wake_put = vlv_force_wake_put;
-@@ -261,6 +276,16 @@ void intel_uncore_init(struct drm_device *dev)
+@@ -261,6 +276,16 @@ void intel_uncore_init(struct drm_device
        }
  }
  
@@ -133,7 +127,7 @@ index 8649f1c36b00..f2753d9fb098 100644
  static void intel_uncore_forcewake_reset(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -306,8 +331,12 @@ void gen6_gt_force_wake_put(struct drm_i915_private *dev_priv)
+@@ -306,8 +331,12 @@ void gen6_gt_force_wake_put(struct drm_i
        unsigned long irqflags;
  
        spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
@@ -148,6 +142,3 @@ index 8649f1c36b00..f2753d9fb098 100644
        spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
  }
  
--- 
-1.8.5.rc3
-
index 6fadc80..52d05db 100644 (file)
@@ -20,17 +20,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e2d05a8b1e4a7f6feae89a59543b1edbece1bda3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h            | 5 ++---
- drivers/gpu/drm/i915/i915_gem.c            | 9 ++++++++-
- drivers/gpu/drm/i915/i915_gem_context.c    | 5 +----
- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 3 +--
+ drivers/gpu/drm/i915/i915_drv.h            |    5 ++---
+ drivers/gpu/drm/i915/i915_gem.c            |    9 ++++++++-
+ drivers/gpu/drm/i915/i915_gem_context.c    |    5 +----
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    3 +--
  4 files changed, 12 insertions(+), 10 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index a3d43b25e1d9..7ccb0cd35474 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -1905,9 +1905,8 @@ static inline void i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
+@@ -1905,9 +1905,8 @@ static inline void i915_gem_object_unpin
  int __must_check i915_mutex_lock_interruptible(struct drm_device *dev);
  int i915_gem_object_sync(struct drm_i915_gem_object *obj,
                         struct intel_ring_buffer *to);
@@ -42,11 +40,9 @@ index a3d43b25e1d9..7ccb0cd35474 100644
  int i915_gem_dumb_create(struct drm_file *file_priv,
                         struct drm_device *dev,
                         struct drm_mode_create_dumb *args);
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 6b134f08c93e..f6c8b0ed056c 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -1910,7 +1910,7 @@ i915_gem_object_get_pages(struct drm_i915_gem_object *obj)
+@@ -1910,7 +1910,7 @@ i915_gem_object_get_pages(struct drm_i91
        return 0;
  }
  
@@ -55,7 +51,7 @@ index 6b134f08c93e..f6c8b0ed056c 100644
  i915_gem_object_move_to_active(struct drm_i915_gem_object *obj,
                               struct intel_ring_buffer *ring)
  {
-@@ -1949,6 +1949,13 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj,
+@@ -1949,6 +1949,13 @@ i915_gem_object_move_to_active(struct dr
        }
  }
  
@@ -69,11 +65,9 @@ index 6b134f08c93e..f6c8b0ed056c 100644
  static void
  i915_gem_object_move_to_inactive(struct drm_i915_gem_object *obj)
  {
-diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index 9af3fe7e42b0..1a877a547290 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
-@@ -453,11 +453,8 @@ static int do_switch(struct i915_hw_context *to)
+@@ -451,11 +451,8 @@ static int do_switch(struct i915_hw_cont
         * MI_SET_CONTEXT instead of when the next seqno has completed.
         */
        if (from != NULL) {
@@ -86,11 +80,9 @@ index 9af3fe7e42b0..1a877a547290 100644
                /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the
                 * whole damn pipeline, we don't need to explicitly mark the
                 * object dirty. The only exception is that the context must be
-diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index da23cfe3902b..0ce0d47e4b0f 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -872,8 +872,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas,
+@@ -872,8 +872,7 @@ i915_gem_execbuffer_move_to_active(struc
                obj->base.read_domains = obj->base.pending_read_domains;
                obj->fenced_gpu_access = obj->pending_fenced_gpu_access;
  
@@ -100,6 +92,3 @@ index da23cfe3902b..0ce0d47e4b0f 100644
                if (obj->base.write_domain) {
                        obj->dirty = 1;
                        obj->last_write_seqno = intel_ring_get_seqno(ring);
--- 
-1.8.5.rc3
-
index 9aa34e3..e356739 100644 (file)
@@ -36,22 +36,20 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit d9255d57147e1dbcebdf6670409c2fa0ac3609e6)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_crt.c     | 1 -
- drivers/gpu/drm/i915/intel_display.c | 5 +++++
- drivers/gpu/drm/i915/intel_dp.c      | 1 -
- drivers/gpu/drm/i915/intel_dsi.c     | 1 -
- drivers/gpu/drm/i915/intel_dvo.c     | 1 -
- drivers/gpu/drm/i915/intel_hdmi.c    | 1 -
- drivers/gpu/drm/i915/intel_lvds.c    | 1 -
- drivers/gpu/drm/i915/intel_sdvo.c    | 7 +++++--
- drivers/gpu/drm/i915/intel_tv.c      | 1 -
+ drivers/gpu/drm/i915/intel_crt.c     |    1 -
+ drivers/gpu/drm/i915/intel_display.c |    5 +++++
+ drivers/gpu/drm/i915/intel_dp.c      |    1 -
+ drivers/gpu/drm/i915/intel_dsi.c     |    1 -
+ drivers/gpu/drm/i915/intel_dvo.c     |    1 -
+ drivers/gpu/drm/i915/intel_hdmi.c    |    1 -
+ drivers/gpu/drm/i915/intel_lvds.c    |    1 -
+ drivers/gpu/drm/i915/intel_sdvo.c    |    7 +++++--
+ drivers/gpu/drm/i915/intel_tv.c      |    1 -
  9 files changed, 10 insertions(+), 9 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index 0263629332d0..942b9acb0d8e 100644
 --- a/drivers/gpu/drm/i915/intel_crt.c
 +++ b/drivers/gpu/drm/i915/intel_crt.c
-@@ -677,7 +677,6 @@ intel_crt_detect(struct drm_connector *connector, bool force)
+@@ -677,7 +677,6 @@ intel_crt_detect(struct drm_connector *c
  
  static void intel_crt_destroy(struct drm_connector *connector)
  {
@@ -59,11 +57,9 @@ index 0263629332d0..942b9acb0d8e 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 925d69044878..c1a51399b9ec 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10727,6 +10727,7 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -10729,6 +10729,7 @@ void intel_modeset_cleanup(struct drm_de
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_crtc *crtc;
@@ -71,7 +67,7 @@ index 925d69044878..c1a51399b9ec 100644
  
        /*
         * Interrupts and polling as the first thing to avoid creating havoc.
-@@ -10769,6 +10770,10 @@ void intel_modeset_cleanup(struct drm_device *dev)
+@@ -10771,6 +10772,10 @@ void intel_modeset_cleanup(struct drm_de
        /* destroy backlight, if any, before the connectors */
        intel_panel_destroy_backlight(dev);
  
@@ -82,11 +78,9 @@ index 925d69044878..c1a51399b9ec 100644
        drm_mode_config_cleanup(dev);
  
        intel_cleanup_overlay(dev);
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index d1ba44294f3a..8dff9b1c919e 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3197,7 +3197,6 @@ intel_dp_connector_destroy(struct drm_connector *connector)
+@@ -3197,7 +3197,6 @@ intel_dp_connector_destroy(struct drm_co
        if (connector->connector_type == DRM_MODE_CONNECTOR_eDP)
                intel_panel_fini(&intel_connector->panel);
  
@@ -94,11 +88,9 @@ index d1ba44294f3a..8dff9b1c919e 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
-diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
-index 674fd4989b45..9a2fdd2a7e34 100644
 --- a/drivers/gpu/drm/i915/intel_dsi.c
 +++ b/drivers/gpu/drm/i915/intel_dsi.c
-@@ -504,7 +504,6 @@ static void intel_dsi_destroy(struct drm_connector *connector)
+@@ -504,7 +504,6 @@ static void intel_dsi_destroy(struct drm
  
        DRM_DEBUG_KMS("\n");
        intel_panel_fini(&intel_connector->panel);
@@ -106,11 +98,9 @@ index 674fd4989b45..9a2fdd2a7e34 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
-diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
-index 91287d1d3059..1b64145c669a 100644
 --- a/drivers/gpu/drm/i915/intel_dvo.c
 +++ b/drivers/gpu/drm/i915/intel_dvo.c
-@@ -367,7 +367,6 @@ static int intel_dvo_get_modes(struct drm_connector *connector)
+@@ -367,7 +367,6 @@ static int intel_dvo_get_modes(struct dr
  
  static void intel_dvo_destroy(struct drm_connector *connector)
  {
@@ -118,11 +108,9 @@ index 91287d1d3059..1b64145c669a 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index 6004f9c549aa..4f4d346db8f0 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -1181,7 +1181,6 @@ static void intel_hdmi_post_disable(struct intel_encoder *encoder)
+@@ -1181,7 +1181,6 @@ static void intel_hdmi_post_disable(stru
  
  static void intel_hdmi_destroy(struct drm_connector *connector)
  {
@@ -130,11 +118,9 @@ index 6004f9c549aa..4f4d346db8f0 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
-diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index 4986aff3827d..b0ef55833087 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
-@@ -474,7 +474,6 @@ static void intel_lvds_destroy(struct drm_connector *connector)
+@@ -474,7 +474,6 @@ static void intel_lvds_destroy(struct dr
  
        intel_panel_fini(&lvds_connector->base.panel);
  
@@ -142,11 +128,9 @@ index 4986aff3827d..b0ef55833087 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
-diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
-index 5e59d64cfd95..a583e8f718a7 100644
 --- a/drivers/gpu/drm/i915/intel_sdvo.c
 +++ b/drivers/gpu/drm/i915/intel_sdvo.c
-@@ -2009,7 +2009,6 @@ static void intel_sdvo_destroy(struct drm_connector *connector)
+@@ -2009,7 +2009,6 @@ static void intel_sdvo_destroy(struct dr
                                     intel_sdvo_connector->tv_format);
  
        intel_sdvo_destroy_enhance_property(connector);
@@ -154,7 +138,7 @@ index 5e59d64cfd95..a583e8f718a7 100644
        drm_connector_cleanup(connector);
        kfree(intel_sdvo_connector);
  }
-@@ -2482,6 +2481,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type)
+@@ -2482,6 +2481,7 @@ intel_sdvo_tv_init(struct intel_sdvo *in
        return true;
  
  err:
@@ -162,7 +146,7 @@ index 5e59d64cfd95..a583e8f718a7 100644
        intel_sdvo_destroy(connector);
        return false;
  }
-@@ -2553,6 +2553,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
+@@ -2553,6 +2553,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *
        return true;
  
  err:
@@ -170,7 +154,7 @@ index 5e59d64cfd95..a583e8f718a7 100644
        intel_sdvo_destroy(connector);
        return false;
  }
-@@ -2624,8 +2625,10 @@ static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo)
+@@ -2624,8 +2625,10 @@ static void intel_sdvo_output_cleanup(st
  
        list_for_each_entry_safe(connector, tmp,
                                 &dev->mode_config.connector_list, head) {
@@ -182,11 +166,9 @@ index 5e59d64cfd95..a583e8f718a7 100644
        }
  }
  
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index 75925a1ab351..92895f92a738 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1433,7 +1433,6 @@ intel_tv_get_modes(struct drm_connector *connector)
+@@ -1433,7 +1433,6 @@ intel_tv_get_modes(struct drm_connector
  static void
  intel_tv_destroy(struct drm_connector *connector)
  {
@@ -194,6 +176,3 @@ index 75925a1ab351..92895f92a738 100644
        drm_connector_cleanup(connector);
        kfree(connector);
  }
--- 
-1.8.5.rc3
-
index 4995676..f121012 100644 (file)
@@ -13,14 +13,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit cbb47d179fb345c579cd8cd884693903fceed26a)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 19 +++++++++++++++----
+ drivers/gpu/drm/i915/i915_dma.c |   19 +++++++++++++++----
  1 file changed, 15 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 1ef50e154f7c..901fda3e4dfd 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1561,7 +1561,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1569,7 +1569,7 @@ int i915_driver_load(struct drm_device *
  
        ret = i915_gem_gtt_init(dev);
        if (ret)
@@ -29,7 +27,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644
  
        if (drm_core_check_feature(dev, DRIVER_MODESET))
                i915_kick_out_firmware_fb(dev_priv);
-@@ -1590,7 +1590,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1598,7 +1598,7 @@ int i915_driver_load(struct drm_device *
                                     aperture_size);
        if (dev_priv->gtt.mappable == NULL) {
                ret = -EIO;
@@ -38,7 +36,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644
        }
  
        dev_priv->gtt.mtrr = arch_phys_wc_add(dev_priv->gtt.mappable_base,
-@@ -1664,7 +1664,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1672,7 +1672,7 @@ int i915_driver_load(struct drm_device *
                ret = i915_load_modeset_init(dev);
                if (ret < 0) {
                        DRM_ERROR("failed to init modeset\n");
@@ -47,7 +45,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644
                }
        } else {
                /* Start out suspended in ums mode. */
-@@ -1684,6 +1684,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1692,6 +1692,10 @@ int i915_driver_load(struct drm_device *
  
        return 0;
  
@@ -58,7 +56,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644
  out_gem_unload:
        if (dev_priv->mm.inactive_shrinker.shrink)
                unregister_shrinker(&dev_priv->mm.inactive_shrinker);
-@@ -1697,12 +1701,17 @@ out_gem_unload:
+@@ -1705,12 +1709,17 @@ out_gem_unload:
  out_mtrrfree:
        arch_phys_wc_del(dev_priv->gtt.mtrr);
        io_mapping_free(dev_priv->gtt.mappable);
@@ -77,7 +75,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644
        kfree(dev_priv);
        return ret;
  }
-@@ -1793,6 +1802,8 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1801,6 +1810,8 @@ int i915_driver_unload(struct drm_device
        WARN_ON(!list_empty(&dev_priv->vm_list));
        drm_mm_takedown(&dev_priv->gtt.base.mm);
  
@@ -86,6 +84,3 @@ index 1ef50e154f7c..901fda3e4dfd 100644
        intel_teardown_gmbus(dev);
        intel_teardown_mchbar(dev);
  
--- 
-1.8.5.rc3
-
index 7136980..9af81bf 100644 (file)
@@ -72,25 +72,24 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b29c19b645287f7062e17d70fa4e9781a01a5d88)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c      |  16 ++---
- drivers/gpu/drm/i915/i915_drv.h      |  19 +++--
- drivers/gpu/drm/i915/i915_gem.c      | 135 ++++++++++++++++++++++++-----------
- drivers/gpu/drm/i915/i915_irq.c      |  11 ---
- drivers/gpu/drm/i915/intel_display.c |   3 +
- drivers/gpu/drm/i915/intel_drv.h     |   3 +
- drivers/gpu/drm/i915/intel_pm.c      |  42 ++++++-----
+ drivers/gpu/drm/i915/i915_dma.c      |   16 +---
+ drivers/gpu/drm/i915/i915_drv.h      |   19 +++-
+ drivers/gpu/drm/i915/i915_gem.c      |  135 ++++++++++++++++++++++++-----------
+ drivers/gpu/drm/i915/i915_irq.c      |   11 --
+ drivers/gpu/drm/i915/intel_display.c |    3 
+ drivers/gpu/drm/i915/intel_drv.h     |    3 
+ drivers/gpu/drm/i915/intel_pm.c      |   42 +++++-----
  7 files changed, 138 insertions(+), 91 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 901fda3e4dfd..513a4feb3137 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1827,19 +1827,11 @@ int i915_driver_unload(struct drm_device *dev)
+@@ -1835,19 +1835,11 @@ int i915_driver_unload(struct drm_device
  
  int i915_driver_open(struct drm_device *dev, struct drm_file *file)
  {
 -      struct drm_i915_file_private *file_priv;
--
++      int ret;
 -      DRM_DEBUG_DRIVER("\n");
 -      file_priv = kzalloc(sizeof(*file_priv), GFP_KERNEL);
 -      if (!file_priv)
@@ -100,8 +99,7 @@ index 901fda3e4dfd..513a4feb3137 100644
 -
 -      spin_lock_init(&file_priv->mm.lock);
 -      INIT_LIST_HEAD(&file_priv->mm.request_list);
-+      int ret;
+-
 -      idr_init(&file_priv->context_idr);
 +      ret = i915_gem_open(dev, file);
 +      if (ret)
@@ -109,8 +107,6 @@ index 901fda3e4dfd..513a4feb3137 100644
  
        return 0;
  }
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 79bbcf925e4a..d1c6b92edae0 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -844,9 +844,6 @@ struct intel_gen6_power_mgmt {
@@ -157,7 +153,7 @@ index 79bbcf925e4a..d1c6b92edae0 100644
  };
  
  #define INTEL_INFO(dev)       (to_i915(dev)->info)
-@@ -1953,7 +1963,7 @@ i915_gem_object_unpin_fence(struct drm_i915_gem_object *obj)
+@@ -1953,7 +1963,7 @@ i915_gem_object_unpin_fence(struct drm_i
        }
  }
  
@@ -166,7 +162,7 @@ index 79bbcf925e4a..d1c6b92edae0 100644
  void i915_gem_retire_requests_ring(struct intel_ring_buffer *ring);
  int __must_check i915_gem_check_wedge(struct i915_gpu_error *error,
                                      bool interruptible);
-@@ -2004,6 +2014,7 @@ int i915_gem_attach_phys_object(struct drm_device *dev,
+@@ -2004,6 +2014,7 @@ int i915_gem_attach_phys_object(struct d
  void i915_gem_detach_phys_object(struct drm_device *dev,
                                 struct drm_i915_gem_object *obj);
  void i915_gem_free_all_phys_object(struct drm_device *dev);
@@ -174,11 +170,9 @@ index 79bbcf925e4a..d1c6b92edae0 100644
  void i915_gem_release(struct drm_device *dev, struct drm_file *file);
  
  uint32_t
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 6ee80f4e80ce..052280840f99 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -980,6 +980,14 @@ static bool missed_irq(struct drm_i915_private *dev_priv,
+@@ -980,6 +980,14 @@ static bool missed_irq(struct drm_i915_p
        return test_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings);
  }
  
@@ -193,7 +187,7 @@ index 6ee80f4e80ce..052280840f99 100644
  /**
   * __wait_seqno - wait until execution of seqno has finished
   * @ring: the ring expected to report seqno
-@@ -1000,7 +1008,9 @@ static bool missed_irq(struct drm_i915_private *dev_priv,
+@@ -1000,7 +1008,9 @@ static bool missed_irq(struct drm_i915_p
   */
  static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno,
                        unsigned reset_counter,
@@ -204,7 +198,7 @@ index 6ee80f4e80ce..052280840f99 100644
  {
        drm_i915_private_t *dev_priv = ring->dev->dev_private;
        struct timespec before, now;
-@@ -1015,6 +1025,14 @@ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno,
+@@ -1015,6 +1025,14 @@ static int __wait_seqno(struct intel_rin
  
        timeout_jiffies = timeout ? timespec_to_jiffies_timeout(timeout) : 1;
  
@@ -219,7 +213,7 @@ index 6ee80f4e80ce..052280840f99 100644
        if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)) &&
            WARN_ON(!ring->irq_get(ring)))
                return -ENODEV;
-@@ -1114,7 +1132,7 @@ i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno)
+@@ -1114,7 +1132,7 @@ i915_wait_seqno(struct intel_ring_buffer
  
        return __wait_seqno(ring, seqno,
                            atomic_read(&dev_priv->gpu_error.reset_counter),
@@ -228,7 +222,7 @@ index 6ee80f4e80ce..052280840f99 100644
  }
  
  static int
-@@ -1164,6 +1182,7 @@ i915_gem_object_wait_rendering(struct drm_i915_gem_object *obj,
+@@ -1164,6 +1182,7 @@ i915_gem_object_wait_rendering(struct dr
   */
  static __must_check int
  i915_gem_object_wait_rendering__nonblocking(struct drm_i915_gem_object *obj,
@@ -236,7 +230,7 @@ index 6ee80f4e80ce..052280840f99 100644
                                            bool readonly)
  {
        struct drm_device *dev = obj->base.dev;
-@@ -1190,7 +1209,7 @@ i915_gem_object_wait_rendering__nonblocking(struct drm_i915_gem_object *obj,
+@@ -1190,7 +1209,7 @@ i915_gem_object_wait_rendering__nonblock
  
        reset_counter = atomic_read(&dev_priv->gpu_error.reset_counter);
        mutex_unlock(&dev->struct_mutex);
@@ -245,7 +239,7 @@ index 6ee80f4e80ce..052280840f99 100644
        mutex_lock(&dev->struct_mutex);
        if (ret)
                return ret;
-@@ -1239,7 +1258,7 @@ i915_gem_set_domain_ioctl(struct drm_device *dev, void *data,
+@@ -1239,7 +1258,7 @@ i915_gem_set_domain_ioctl(struct drm_dev
         * We will repeat the flush holding the lock in the normal manner
         * to catch cases where we are gazumped.
         */
@@ -254,7 +248,7 @@ index 6ee80f4e80ce..052280840f99 100644
        if (ret)
                goto unref;
  
-@@ -2155,6 +2174,7 @@ int __i915_add_request(struct intel_ring_buffer *ring,
+@@ -2155,6 +2174,7 @@ int __i915_add_request(struct intel_ring
                i915_queue_hangcheck(ring->dev);
  
                if (was_empty) {
@@ -262,7 +256,7 @@ index 6ee80f4e80ce..052280840f99 100644
                        queue_delayed_work(dev_priv->wq,
                                           &dev_priv->mm.retire_work,
                                           round_jiffies_up_relative(HZ));
-@@ -2176,10 +2196,8 @@ i915_gem_request_remove_from_client(struct drm_i915_gem_request *request)
+@@ -2176,10 +2196,8 @@ i915_gem_request_remove_from_client(stru
                return;
  
        spin_lock(&file_priv->mm.lock);
@@ -275,7 +269,7 @@ index 6ee80f4e80ce..052280840f99 100644
        spin_unlock(&file_priv->mm.lock);
  }
  
-@@ -2443,57 +2461,53 @@ i915_gem_retire_requests_ring(struct intel_ring_buffer *ring)
+@@ -2443,57 +2461,53 @@ i915_gem_retire_requests_ring(struct int
        WARN_ON(i915_verify_lists(ring->dev));
  }
  
@@ -361,7 +355,7 @@ index 6ee80f4e80ce..052280840f99 100644
  }
  
  /**
-@@ -2591,7 +2605,7 @@ i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
+@@ -2591,7 +2605,7 @@ i915_gem_wait_ioctl(struct drm_device *d
        reset_counter = atomic_read(&dev_priv->gpu_error.reset_counter);
        mutex_unlock(&dev->struct_mutex);
  
@@ -370,7 +364,7 @@ index 6ee80f4e80ce..052280840f99 100644
        if (timeout)
                args->timeout_ns = timespec_to_ns(timeout);
        return ret;
-@@ -3802,7 +3816,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file)
+@@ -3802,7 +3816,7 @@ i915_gem_ring_throttle(struct drm_device
        if (seqno == 0)
                return 0;
  
@@ -396,7 +390,7 @@ index 6ee80f4e80ce..052280840f99 100644
        init_waitqueue_head(&dev_priv->gpu_error.reset_queue);
  
        /* On GEN3 we really need to make sure the ARB C3 LP bit is set */
-@@ -4828,6 +4845,8 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file)
+@@ -4828,6 +4845,8 @@ void i915_gem_release(struct drm_device
  {
        struct drm_i915_file_private *file_priv = file->driver_priv;
  
@@ -405,7 +399,7 @@ index 6ee80f4e80ce..052280840f99 100644
        /* Clean up our request list when the client is going away, so that
         * later retire_requests won't dereference our soon-to-be-gone
         * file_priv.
-@@ -4845,6 +4864,38 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file)
+@@ -4845,6 +4864,38 @@ void i915_gem_release(struct drm_device
        spin_unlock(&file_priv->mm.lock);
  }
  
@@ -444,11 +438,9 @@ index 6ee80f4e80ce..052280840f99 100644
  static bool mutex_is_locked_by(struct mutex *mutex, struct task_struct *task)
  {
        if (!mutex_is_locked(mutex))
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 05c05a6a4360..6ee557280e11 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -859,17 +859,6 @@ static void gen6_pm_rps_work(struct work_struct *work)
+@@ -859,17 +859,6 @@ static void gen6_pm_rps_work(struct work
                        gen6_set_rps(dev_priv->dev, new_delay);
        }
  
@@ -466,11 +458,9 @@ index 05c05a6a4360..6ee557280e11 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  }
  
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 3e2c6a464b91..b41c1592ffda 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -7726,6 +7726,9 @@ void intel_mark_idle(struct drm_device *dev)
+@@ -7726,6 +7726,9 @@ void intel_mark_idle(struct drm_device *
  
                intel_decrease_pllclock(crtc);
        }
@@ -480,11 +470,9 @@ index 3e2c6a464b91..b41c1592ffda 100644
  }
  
  void intel_mark_fb_busy(struct drm_i915_gem_object *obj,
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index e6db0c67e0be..922c5d752cc3 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -825,4 +825,7 @@ int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
+@@ -825,4 +825,7 @@ int intel_sprite_get_colorkey(struct drm
  /* intel_tv.c */
  void intel_tv_init(struct drm_device *dev);
  
@@ -492,11 +480,9 @@ index e6db0c67e0be..922c5d752cc3 100644
 +void gen6_rps_boost(struct drm_i915_private *dev_priv);
 +
  #endif /* __INTEL_DRV_H__ */
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 9753bd9591eb..ca063c25ad32 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3345,6 +3345,26 @@ void gen6_set_rps(struct drm_device *dev, u8 val)
+@@ -3345,6 +3345,26 @@ void gen6_set_rps(struct drm_device *dev
        trace_intel_gpu_freq_change(val * 50);
  }
  
@@ -523,7 +509,7 @@ index 9753bd9591eb..ca063c25ad32 100644
  /*
   * Wait until the previous freq change has completed,
   * or the timeout elapsed, and then update our notion
-@@ -3734,24 +3754,6 @@ int valleyview_rps_min_freq(struct drm_i915_private *dev_priv)
+@@ -3734,24 +3754,6 @@ int valleyview_rps_min_freq(struct drm_i
        return vlv_punit_read(dev_priv, PUNIT_REG_GPU_LFM) & 0xff;
  }
  
@@ -548,7 +534,7 @@ index 9753bd9591eb..ca063c25ad32 100644
  static void valleyview_setup_pctx(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -3894,8 +3896,6 @@ static void valleyview_enable_rps(struct drm_device *dev)
+@@ -3894,8 +3896,6 @@ static void valleyview_enable_rps(struct
                                      dev_priv->rps.rpe_delay),
                         dev_priv->rps.rpe_delay);
  
@@ -557,7 +543,7 @@ index 9753bd9591eb..ca063c25ad32 100644
        valleyview_set_rps(dev_priv->dev, dev_priv->rps.rpe_delay);
  
        gen6_enable_rps_interrupts(dev);
-@@ -4635,8 +4635,6 @@ void intel_disable_gt_powersave(struct drm_device *dev)
+@@ -4635,8 +4635,6 @@ void intel_disable_gt_powersave(struct d
        } else if (INTEL_INFO(dev)->gen >= 6) {
                cancel_delayed_work_sync(&dev_priv->rps.delayed_resume_work);
                cancel_work_sync(&dev_priv->rps.work);
@@ -566,6 +552,3 @@ index 9753bd9591eb..ca063c25ad32 100644
                mutex_lock(&dev_priv->rps.hw_lock);
                if (IS_VALLEYVIEW(dev))
                        valleyview_disable_rps(dev);
--- 
-1.8.5.rc3
-
index 697a40c..b5fb2ff 100644 (file)
@@ -10,15 +10,13 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit 51f8da5916f85c18b696f74f97970e5a7330147e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_edid.c | 12 ++++++++++++
- include/drm/drm_crtc.h     |  1 +
+ drivers/gpu/drm/drm_edid.c |   12 ++++++++++++
+ include/drm/drm_crtc.h     |    1 +
  2 files changed, 13 insertions(+)
 
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 61fdd6b532fc..9494e596d99c 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
-@@ -1261,6 +1261,18 @@ struct edid *drm_get_edid(struct drm_connector *connector,
+@@ -1266,6 +1266,18 @@ struct edid *drm_get_edid(struct drm_con
  }
  EXPORT_SYMBOL(drm_get_edid);
  
@@ -37,11 +35,9 @@ index 61fdd6b532fc..9494e596d99c 100644
  /*** EDID parsing ***/
  
  /**
-diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
-index 2743dad5fe88..b3cdbf6fc20b 100644
 --- a/include/drm/drm_crtc.h
 +++ b/include/drm/drm_crtc.h
-@@ -919,6 +919,7 @@ extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_m
+@@ -919,6 +919,7 @@ extern int drm_mode_group_init_legacy_gr
  extern bool drm_probe_ddc(struct i2c_adapter *adapter);
  extern struct edid *drm_get_edid(struct drm_connector *connector,
                                 struct i2c_adapter *adapter);
@@ -49,6 +45,3 @@ index 2743dad5fe88..b3cdbf6fc20b 100644
  extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
  extern void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
  extern void drm_mode_remove(struct drm_connector *connector, struct drm_display_mode *mode);
--- 
-1.8.5.rc3
-
index 884eb78..ab06391 100644 (file)
@@ -21,20 +21,18 @@ Conflicts:
        'airlied/drm-next' into drm-intel-next"))
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_irq.c                | 5 +++--
- drivers/gpu/drm/exynos/exynos_drm_fimd.c | 4 ++--
- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 4 ++--
- drivers/gpu/drm/gma500/psb_drv.c         | 2 +-
- drivers/gpu/drm/i915/i915_dma.c          | 2 +-
- drivers/staging/imx-drm/imx-drm-core.c   | 4 ++--
- include/drm/drmP.h                       | 2 +-
+ drivers/gpu/drm/drm_irq.c                |    5 +++--
+ drivers/gpu/drm/exynos/exynos_drm_fimd.c |    4 ++--
+ drivers/gpu/drm/exynos/exynos_drm_vidi.c |    4 ++--
+ drivers/gpu/drm/gma500/psb_drv.c         |    2 +-
+ drivers/gpu/drm/i915/i915_dma.c          |    2 +-
+ drivers/staging/imx-drm/imx-drm-core.c   |    4 ++--
+ include/drm/drmP.h                       |    2 +-
  7 files changed, 12 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
-index f92da0a32f0d..81b4c84449a4 100644
 --- a/drivers/gpu/drm/drm_irq.c
 +++ b/drivers/gpu/drm/drm_irq.c
-@@ -271,7 +271,8 @@ int drm_vblank_init(struct drm_device *dev, int num_crtcs)
+@@ -271,7 +271,8 @@ int drm_vblank_init(struct drm_device *d
                atomic_set(&dev->vblank_refcount[i], 0);
        }
  
@@ -44,7 +42,7 @@ index f92da0a32f0d..81b4c84449a4 100644
        return 0;
  
  err:
-@@ -1085,7 +1086,7 @@ void drm_vblank_post_modeset(struct drm_device *dev, int crtc)
+@@ -1085,7 +1086,7 @@ void drm_vblank_post_modeset(struct drm_
  
        if (dev->vblank_inmodeset[crtc]) {
                spin_lock_irqsave(&dev->vbl_lock, irqflags);
@@ -53,11 +51,9 @@ index f92da0a32f0d..81b4c84449a4 100644
                spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
  
                if (dev->vblank_inmodeset[crtc] & 0x2)
-diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
-index 97c61dbffd82..2cb5b2ad07b3 100644
 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
 +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
-@@ -710,11 +710,11 @@ static int fimd_subdrv_probe(struct drm_device *drm_dev, struct device *dev)
+@@ -710,11 +710,11 @@ static int fimd_subdrv_probe(struct drm_
        drm_dev->irq_enabled = 1;
  
        /*
@@ -71,11 +67,9 @@ index 97c61dbffd82..2cb5b2ad07b3 100644
  
        /* attach this sub driver to iommu mapping if supported. */
        if (is_drm_iommu_supported(drm_dev))
-diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
-index 24376c194a5e..51706119faa0 100644
 --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
 +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
-@@ -420,11 +420,11 @@ static int vidi_subdrv_probe(struct drm_device *drm_dev, struct device *dev)
+@@ -420,11 +420,11 @@ static int vidi_subdrv_probe(struct drm_
        drm_dev->irq_enabled = 1;
  
        /*
@@ -89,11 +83,9 @@ index 24376c194a5e..51706119faa0 100644
  
        return 0;
  }
-diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
-index 99b5293972c6..937ba40a8f9d 100644
 --- a/drivers/gpu/drm/gma500/psb_drv.c
 +++ b/drivers/gpu/drm/gma500/psb_drv.c
-@@ -359,7 +359,7 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)
+@@ -359,7 +359,7 @@ static int psb_driver_load(struct drm_de
  
        drm_irq_install(dev);
  
@@ -102,11 +94,9 @@ index 99b5293972c6..937ba40a8f9d 100644
  
        dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */
  
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 513a4feb3137..0ac796a8d0f9 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1333,7 +1333,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1341,7 +1341,7 @@ static int i915_load_modeset_init(struct
  
        /* Always safe in the mode setting case. */
        /* FIXME: do pre/post-mode set stuff in core KMS code */
@@ -115,11 +105,9 @@ index 513a4feb3137..0ac796a8d0f9 100644
        if (INTEL_INFO(dev)->num_pipes == 0) {
                intel_display_power_put(dev, POWER_DOMAIN_VGA);
                return 0;
-diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c
-index 33eb04e79dfe..11321147fc0b 100644
 --- a/drivers/staging/imx-drm/imx-drm-core.c
 +++ b/drivers/staging/imx-drm/imx-drm-core.c
-@@ -440,11 +440,11 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags)
+@@ -440,11 +440,11 @@ static int imx_drm_driver_load(struct dr
                goto err_init;
  
        /*
@@ -133,8 +121,6 @@ index 33eb04e79dfe..11321147fc0b 100644
  
        ret = 0;
  
-diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 4bad54c302f6..227292ae8736 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
 @@ -1155,7 +1155,7 @@ struct drm_device {
@@ -146,6 +132,3 @@ index 4bad54c302f6..227292ae8736 100644
  
        wait_queue_head_t *vbl_queue;   /**< VBLANK wait queue */
        atomic_t *_vblank_count;        /**< number of VBLANK interrupts (driver must alloc the right number of counters) */
--- 
-1.8.5.rc3
-
index 32c3392..dade3be 100644 (file)
@@ -16,29 +16,27 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit ffbab09bf939975b62ec233c426bf7df0dd4cea8)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_pci.c                   |  3 ---
- drivers/gpu/drm/gma500/psb_drv.h            |  8 +++----
- drivers/gpu/drm/i915/i915_dma.c             |  2 +-
- drivers/gpu/drm/i915/i915_drv.h             | 36 ++++++++++++++---------------
- drivers/gpu/drm/i915/i915_gpu_error.c       |  2 +-
- drivers/gpu/drm/i915/intel_tv.c             |  2 +-
- drivers/gpu/drm/nouveau/dispnv04/arb.c      |  8 +++----
- drivers/gpu/drm/nouveau/dispnv04/dfp.c      |  4 ++--
- drivers/gpu/drm/nouveau/dispnv04/disp.h     |  6 ++---
- drivers/gpu/drm/nouveau/dispnv04/hw.c       |  4 ++--
- drivers/gpu/drm/nouveau/nouveau_abi16.c     |  4 ++--
- drivers/gpu/drm/nouveau/nouveau_bios.c      |  4 ++--
- drivers/gpu/drm/nouveau/nouveau_connector.c |  4 ++--
- drivers/gpu/drm/radeon/radeon_bios.c        |  6 ++---
- drivers/gpu/drm/radeon/radeon_kms.c         |  2 +-
- include/drm/drmP.h                          |  2 --
+ drivers/gpu/drm/drm_pci.c                   |    3 --
+ drivers/gpu/drm/gma500/psb_drv.h            |    8 +++---
+ drivers/gpu/drm/i915/i915_dma.c             |    2 -
+ drivers/gpu/drm/i915/i915_drv.h             |   36 ++++++++++++++--------------
+ drivers/gpu/drm/i915/i915_gpu_error.c       |    2 -
+ drivers/gpu/drm/i915/intel_tv.c             |    2 -
+ drivers/gpu/drm/nouveau/dispnv04/arb.c      |    8 +++---
+ drivers/gpu/drm/nouveau/dispnv04/dfp.c      |    4 +--
+ drivers/gpu/drm/nouveau/dispnv04/disp.h     |    6 ++--
+ drivers/gpu/drm/nouveau/dispnv04/hw.c       |    4 +--
+ drivers/gpu/drm/nouveau/nouveau_abi16.c     |    4 +--
+ drivers/gpu/drm/nouveau/nouveau_bios.c      |    4 +--
+ drivers/gpu/drm/nouveau/nouveau_connector.c |    4 +--
+ drivers/gpu/drm/radeon/radeon_bios.c        |    6 ++--
+ drivers/gpu/drm/radeon/radeon_kms.c         |    2 -
+ include/drm/drmP.h                          |    2 -
  16 files changed, 46 insertions(+), 51 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c
-index efcbc3dbf21a..21c2419a5156 100644
 --- a/drivers/gpu/drm/drm_pci.c
 +++ b/drivers/gpu/drm/drm_pci.c
-@@ -335,9 +335,6 @@ int drm_get_pci_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
+@@ -335,9 +335,6 @@ int drm_get_pci_dev(struct pci_dev *pdev
                goto err_g1;
  
        dev->pdev = pdev;
@@ -48,8 +46,6 @@ index efcbc3dbf21a..21c2419a5156 100644
  #ifdef __alpha__
        dev->hose = pdev->sysdata;
  #endif
-diff --git a/drivers/gpu/drm/gma500/psb_drv.h b/drivers/gpu/drm/gma500/psb_drv.h
-index 5a608c0c2396..0081064e6efd 100644
 --- a/drivers/gpu/drm/gma500/psb_drv.h
 +++ b/drivers/gpu/drm/gma500/psb_drv.h
 @@ -43,10 +43,10 @@ enum {
@@ -67,11 +63,9 @@ index 5a608c0c2396..0081064e6efd 100644
  
  /*
   * Driver definitions
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 0ac796a8d0f9..a6b170cc35ea 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -931,7 +931,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
+@@ -939,7 +939,7 @@ static int i915_getparam(struct drm_devi
                value = READ_BREADCRUMB(dev_priv);
                break;
        case I915_PARAM_CHIPSET_ID:
@@ -80,8 +74,6 @@ index 0ac796a8d0f9..a6b170cc35ea 100644
                break;
        case I915_PARAM_HAS_GEM:
                value = 1;
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index ed8653fd97ad..2792540fa5af 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1615,39 +1615,39 @@ struct drm_i915_file_private {
@@ -142,11 +134,9 @@ index ed8653fd97ad..2792540fa5af 100644
  #define IS_PRELIMINARY_HW(intel_info) ((intel_info)->is_preliminary)
  
  /*
-diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
-index da1022a328e3..915c8ca08969 100644
 --- a/drivers/gpu/drm/i915/i915_gpu_error.c
 +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
-@@ -304,7 +304,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
+@@ -304,7 +304,7 @@ int i915_error_state_to_str(struct drm_i
        err_printf(m, "Time: %ld s %ld us\n", error->time.tv_sec,
                   error->time.tv_usec);
        err_printf(m, "Kernel: " UTS_RELEASE "\n");
@@ -155,11 +145,9 @@ index da1022a328e3..915c8ca08969 100644
        err_printf(m, "EIR: 0x%08x\n", error->eir);
        err_printf(m, "IER: 0x%08x\n", error->ier);
        err_printf(m, "PGTBL_ER: 0x%08x\n", error->pgtbl_er);
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index 92895f92a738..d61aec23a523 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1044,7 +1044,7 @@ static void intel_tv_mode_set(struct intel_encoder *encoder)
+@@ -1044,7 +1044,7 @@ static void intel_tv_mode_set(struct int
                tv_mode->dda3_inc << TV_SCDDA3_INC_SHIFT;
  
        /* Enable two fixes for the chips that need them. */
@@ -168,11 +156,9 @@ index 92895f92a738..d61aec23a523 100644
                tv_ctl |= TV_ENC_C0_FIX | TV_ENC_SDP_FIX;
  
        I915_WRITE(TV_H_CTL_1, hctl1);
-diff --git a/drivers/gpu/drm/nouveau/dispnv04/arb.c b/drivers/gpu/drm/nouveau/dispnv04/arb.c
-index 2e70462883e8..2a15b98b4d2b 100644
 --- a/drivers/gpu/drm/nouveau/dispnv04/arb.c
 +++ b/drivers/gpu/drm/nouveau/dispnv04/arb.c
-@@ -210,8 +210,8 @@ nv04_update_arb(struct drm_device *dev, int VClk, int bpp,
+@@ -210,8 +210,8 @@ nv04_update_arb(struct drm_device *dev,
        sim_data.nvclk_khz = NVClk;
        sim_data.bpp = bpp;
        sim_data.two_heads = nv_two_heads(dev);
@@ -183,7 +169,7 @@ index 2e70462883e8..2a15b98b4d2b 100644
                uint32_t type;
  
                pci_read_config_dword(pci_get_bus_and_slot(0, 1), 0x7c, &type);
-@@ -256,8 +256,8 @@ nouveau_calc_arb(struct drm_device *dev, int vclk, int bpp, int *burst, int *lwm
+@@ -256,8 +256,8 @@ nouveau_calc_arb(struct drm_device *dev,
  
        if (nv_device(drm->device)->card_type < NV_20)
                nv04_update_arb(dev, vclk, bpp, burst, lwm);
@@ -194,11 +180,9 @@ index 2e70462883e8..2a15b98b4d2b 100644
                *burst = 128;
                *lwm = 0x0480;
        } else
-diff --git a/drivers/gpu/drm/nouveau/dispnv04/dfp.c b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
-index 93dd23ff0093..59d1c040b84f 100644
 --- a/drivers/gpu/drm/nouveau/dispnv04/dfp.c
 +++ b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
-@@ -490,8 +490,8 @@ static void nv04_dfp_update_backlight(struct drm_encoder *encoder, int mode)
+@@ -490,8 +490,8 @@ static void nv04_dfp_update_backlight(st
        /* BIOS scripts usually take care of the backlight, thanks
         * Apple for your consistency.
         */
@@ -209,8 +193,6 @@ index 93dd23ff0093..59d1c040b84f 100644
                if (mode == DRM_MODE_DPMS_ON) {
                        nv_mask(device, NV_PBUS_DEBUG_DUALHEAD_CTL, 0, 1 << 31);
                        nv_mask(device, NV_PCRTC_GPIO_EXT, 3, 1);
-diff --git a/drivers/gpu/drm/nouveau/dispnv04/disp.h b/drivers/gpu/drm/nouveau/dispnv04/disp.h
-index a0a031dad13f..fcbc3fdcac21 100644
 --- a/drivers/gpu/drm/nouveau/dispnv04/disp.h
 +++ b/drivers/gpu/drm/nouveau/dispnv04/disp.h
 @@ -126,7 +126,7 @@ static inline bool
@@ -239,11 +221,9 @@ index a0a031dad13f..fcbc3fdcac21 100644
  
        if (impl == 0x0310 || impl == 0x0340 || nv_device(drm->device)->card_type >= NV_40)
                return true;
-diff --git a/drivers/gpu/drm/nouveau/dispnv04/hw.c b/drivers/gpu/drm/nouveau/dispnv04/hw.c
-index 973056b86207..f8dee834527f 100644
 --- a/drivers/gpu/drm/nouveau/dispnv04/hw.c
 +++ b/drivers/gpu/drm/nouveau/dispnv04/hw.c
-@@ -220,7 +220,7 @@ nouveau_hw_get_clock(struct drm_device *dev, enum nvbios_pll_type plltype)
+@@ -220,7 +220,7 @@ nouveau_hw_get_clock(struct drm_device *
        int ret;
  
        if (plltype == PLL_MEMORY &&
@@ -252,7 +232,7 @@ index 973056b86207..f8dee834527f 100644
                uint32_t mpllP;
  
                pci_read_config_dword(pci_get_bus_and_slot(0, 3), 0x6c, &mpllP);
-@@ -230,7 +230,7 @@ nouveau_hw_get_clock(struct drm_device *dev, enum nvbios_pll_type plltype)
+@@ -230,7 +230,7 @@ nouveau_hw_get_clock(struct drm_device *
                return 400000 / mpllP;
        } else
        if (plltype == PLL_MEMORY &&
@@ -261,11 +241,9 @@ index 973056b86207..f8dee834527f 100644
                uint32_t clock;
  
                pci_read_config_dword(pci_get_bus_and_slot(0, 5), 0x4c, &clock);
-diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
-index 1c4c6c9161ac..2f093f6c7a3c 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
-@@ -177,10 +177,10 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS)
+@@ -177,10 +177,10 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL
                getparam->value = device->chipset;
                break;
        case NOUVEAU_GETPARAM_PCI_VENDOR:
@@ -278,11 +256,9 @@ index 1c4c6c9161ac..2f093f6c7a3c 100644
                break;
        case NOUVEAU_GETPARAM_BUS_TYPE:
                if (drm_pci_device_is_agp(dev))
-diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
-index 6aa2137e093a..fd55c99ba565 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
-@@ -127,8 +127,8 @@ static int call_lvds_manufacturer_script(struct drm_device *dev, struct dcb_outp
+@@ -127,8 +127,8 @@ static int call_lvds_manufacturer_script
  #ifdef __powerpc__
        /* Powerbook specific quirks */
        if (script == LVDS_RESET &&
@@ -293,11 +269,9 @@ index 6aa2137e093a..fd55c99ba565 100644
                nv_write_tmds(dev, dcbent->or, 0, 0x02, 0x72);
  #endif
  
-diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
-index 4da776f344d7..63b94f30f13d 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
-@@ -213,8 +213,8 @@ nouveau_connector_set_encoder(struct drm_connector *connector,
+@@ -213,8 +213,8 @@ nouveau_connector_set_encoder(struct drm
                connector->doublescan_allowed = true;
                if (nv_device(drm->device)->card_type == NV_20 ||
                   (nv_device(drm->device)->card_type == NV_10 &&
@@ -308,11 +282,9 @@ index 4da776f344d7..63b94f30f13d 100644
                        /* HW is broken */
                        connector->interlace_allowed = false;
                else
-diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c
-index 061b227dae0c..c155d6f3fa68 100644
 --- a/drivers/gpu/drm/radeon/radeon_bios.c
 +++ b/drivers/gpu/drm/radeon/radeon_bios.c
-@@ -499,7 +499,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev)
+@@ -499,7 +499,7 @@ static bool legacy_read_disabled_bios(st
        crtc_ext_cntl = RREG32(RADEON_CRTC_EXT_CNTL);
        fp2_gen_cntl = 0;
  
@@ -321,7 +293,7 @@ index 061b227dae0c..c155d6f3fa68 100644
                fp2_gen_cntl = RREG32(RADEON_FP2_GEN_CNTL);
        }
  
-@@ -536,7 +536,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev)
+@@ -536,7 +536,7 @@ static bool legacy_read_disabled_bios(st
                (RADEON_CRTC_SYNC_TRISTAT |
                 RADEON_CRTC_DISPLAY_DIS)));
  
@@ -330,7 +302,7 @@ index 061b227dae0c..c155d6f3fa68 100644
                WREG32(RADEON_FP2_GEN_CNTL, (fp2_gen_cntl & ~RADEON_FP2_ON));
        }
  
-@@ -554,7 +554,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev)
+@@ -554,7 +554,7 @@ static bool legacy_read_disabled_bios(st
                WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl);
        }
        WREG32(RADEON_CRTC_EXT_CNTL, crtc_ext_cntl);
@@ -339,11 +311,9 @@ index 061b227dae0c..c155d6f3fa68 100644
                WREG32(RADEON_FP2_GEN_CNTL, fp2_gen_cntl);
        }
        return r;
-diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
-index 100d10930da5..69c8157eff74 100644
 --- a/drivers/gpu/drm/radeon/radeon_kms.c
 +++ b/drivers/gpu/drm/radeon/radeon_kms.c
-@@ -191,7 +191,7 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
+@@ -191,7 +191,7 @@ int radeon_info_ioctl(struct drm_device
  
        switch (info->request) {
        case RADEON_INFO_DEVICE_ID:
@@ -352,8 +322,6 @@ index 100d10930da5..69c8157eff74 100644
                break;
        case RADEON_INFO_NUM_GB_PIPES:
                *value = rdev->num_gb_pipes;
-diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 32019d82882e..6b091e5ba4e5 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
 @@ -1191,8 +1191,6 @@ struct drm_device {
@@ -365,6 +333,3 @@ index 32019d82882e..6b091e5ba4e5 100644
  #ifdef __alpha__
        struct pci_controller *hose;
  #endif
--- 
-1.8.5.rc3
-
index fac673a..9d05abd 100644 (file)
@@ -29,18 +29,16 @@ Conflicts:
        'airlied/drm-next' into drm-intel-next")
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/drm_drv.c       |  1 -
- drivers/gpu/drm/drm_fops.c      |  7 -------
- drivers/gpu/drm/drm_lock.c      |  3 ---
- drivers/gpu/drm/drm_stub.c      |  9 ---------
- drivers/gpu/drm/i810/i810_dma.c | 11 -----------
- drivers/gpu/drm/i915/i915_dma.c |  7 -------
- drivers/gpu/drm/mga/mga_dma.c   |  5 -----
- include/drm/drmP.h              |  7 -------
+ drivers/gpu/drm/drm_drv.c       |    1 -
+ drivers/gpu/drm/drm_fops.c      |    7 -------
+ drivers/gpu/drm/drm_lock.c      |    3 ---
+ drivers/gpu/drm/drm_stub.c      |    9 ---------
+ drivers/gpu/drm/i810/i810_dma.c |   11 -----------
+ drivers/gpu/drm/i915/i915_dma.c |    7 -------
+ drivers/gpu/drm/mga/mga_dma.c   |    5 -----
+ include/drm/drmP.h              |    7 -------
  8 files changed, 50 deletions(-)
 
-diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
-index d08762962dc0..8c462161ab02 100644
 --- a/drivers/gpu/drm/drm_drv.c
 +++ b/drivers/gpu/drm/drm_drv.c
 @@ -323,7 +323,6 @@ long drm_ioctl(struct file *filp,
@@ -51,11 +49,9 @@ index d08762962dc0..8c462161ab02 100644
        ++file_priv->ioctl_count;
  
        if ((nr >= DRM_CORE_IOCTL_COUNT) &&
-diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
-index 0bfbbe1506c8..6b06ac4029fb 100644
 --- a/drivers/gpu/drm/drm_fops.c
 +++ b/drivers/gpu/drm/drm_fops.c
-@@ -112,7 +112,6 @@ int drm_open(struct inode *inode, struct file *filp)
+@@ -112,7 +112,6 @@ int drm_open(struct inode *inode, struct
        retcode = drm_open_helper(inode, filp, dev);
        if (retcode)
                goto err_undo;
@@ -63,7 +59,7 @@ index 0bfbbe1506c8..6b06ac4029fb 100644
        if (need_setup) {
                retcode = drm_setup(dev);
                if (retcode)
-@@ -376,17 +375,12 @@ static void drm_events_release(struct drm_file *file_priv)
+@@ -376,17 +375,12 @@ static void drm_events_release(struct dr
   */
  static void drm_legacy_dev_reinit(struct drm_device *dev)
  {
@@ -81,7 +77,7 @@ index 0bfbbe1506c8..6b06ac4029fb 100644
        dev->sigdata.lock = NULL;
  
        dev->context_flag = 0;
-@@ -570,7 +564,6 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -570,7 +564,6 @@ int drm_release(struct inode *inode, str
         * End inline drm_release
         */
  
@@ -89,11 +85,9 @@ index 0bfbbe1506c8..6b06ac4029fb 100644
        if (!--dev->open_count) {
                if (atomic_read(&dev->ioctl_count)) {
                        DRM_ERROR("Device busy: %d\n",
-diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
-index d752c96d6090..f6452682141b 100644
 --- a/drivers/gpu/drm/drm_lock.c
 +++ b/drivers/gpu/drm/drm_lock.c
-@@ -86,7 +86,6 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -86,7 +86,6 @@ int drm_lock(struct drm_device *dev, voi
                if (drm_lock_take(&master->lock, lock->context)) {
                        master->lock.file_priv = file_priv;
                        master->lock.lock_time = jiffies;
@@ -101,7 +95,7 @@ index d752c96d6090..f6452682141b 100644
                        break;  /* Got lock */
                }
  
-@@ -157,8 +156,6 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -157,8 +156,6 @@ int drm_unlock(struct drm_device *dev, v
                return -EINVAL;
        }
  
@@ -110,11 +104,9 @@ index d752c96d6090..f6452682141b 100644
        if (drm_lock_free(&master->lock, lock->context)) {
                /* FIXME: Should really bail out here. */
        }
-diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
-index a2becaff63bc..2ae80bf3bf75 100644
 --- a/drivers/gpu/drm/drm_stub.c
 +++ b/drivers/gpu/drm/drm_stub.c
-@@ -496,15 +496,6 @@ struct drm_device *drm_dev_alloc(struct drm_driver *driver,
+@@ -496,15 +496,6 @@ struct drm_device *drm_dev_alloc(struct
        mutex_init(&dev->struct_mutex);
        mutex_init(&dev->ctxlist_mutex);
  
@@ -130,11 +122,9 @@ index a2becaff63bc..2ae80bf3bf75 100644
        if (drm_ht_create(&dev->map_hash, 12))
                goto err_free;
  
-diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c
-index 7f8b7a469ff8..12bb60132420 100644
 --- a/drivers/gpu/drm/i810/i810_dma.c
 +++ b/drivers/gpu/drm/i810/i810_dma.c
-@@ -944,8 +944,6 @@ static int i810_dma_vertex(struct drm_device *dev, void *data,
+@@ -944,8 +944,6 @@ static int i810_dma_vertex(struct drm_de
                                 dma->buflist[vertex->idx],
                                 vertex->discard, vertex->used);
  
@@ -143,7 +133,7 @@ index 7f8b7a469ff8..12bb60132420 100644
        sarea_priv->last_enqueue = dev_priv->counter - 1;
        sarea_priv->last_dispatch = (int)hw_status[5];
  
-@@ -1105,8 +1103,6 @@ static int i810_dma_mc(struct drm_device *dev, void *data,
+@@ -1105,8 +1103,6 @@ static int i810_dma_mc(struct drm_device
        i810_dma_dispatch_mc(dev, dma->buflist[mc->idx], mc->used,
                             mc->last_render);
  
@@ -152,7 +142,7 @@ index 7f8b7a469ff8..12bb60132420 100644
        sarea_priv->last_enqueue = dev_priv->counter - 1;
        sarea_priv->last_dispatch = (int)hw_status[5];
  
-@@ -1197,13 +1193,6 @@ static int i810_flip_bufs(struct drm_device *dev, void *data,
+@@ -1197,13 +1193,6 @@ static int i810_flip_bufs(struct drm_dev
  
  int i810_driver_load(struct drm_device *dev, unsigned long flags)
  {
@@ -166,11 +156,9 @@ index 7f8b7a469ff8..12bb60132420 100644
        pci_set_master(dev->pdev);
  
        return 0;
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index a6b170cc35ea..44b883a4147d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1480,13 +1480,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1488,13 +1488,6 @@ int i915_driver_load(struct drm_device *
        if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET))
                return -ENODEV;
  
@@ -184,11 +172,9 @@ index a6b170cc35ea..44b883a4147d 100644
        dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL);
        if (dev_priv == NULL)
                return -ENOMEM;
-diff --git a/drivers/gpu/drm/mga/mga_dma.c b/drivers/gpu/drm/mga/mga_dma.c
-index cc3166dd445a..087db33f6cff 100644
 --- a/drivers/gpu/drm/mga/mga_dma.c
 +++ b/drivers/gpu/drm/mga/mga_dma.c
-@@ -406,11 +406,6 @@ int mga_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -406,11 +406,6 @@ int mga_driver_load(struct drm_device *d
        dev_priv->mmio_base = pci_resource_start(dev->pdev, 1);
        dev_priv->mmio_size = pci_resource_len(dev->pdev, 1);
  
@@ -200,8 +186,6 @@ index cc3166dd445a..087db33f6cff 100644
        ret = drm_vblank_init(dev, 1);
  
        if (ret) {
-diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 4dfa1dad9a37..cff006e92449 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
 @@ -1119,13 +1119,6 @@ struct drm_device {
@@ -218,6 +202,3 @@ index 4dfa1dad9a37..cff006e92449 100644
        struct list_head filelist;
  
        /** \name Memory management */
--- 
-1.8.5.rc3
-
index 7b63b13..82f1202 100644 (file)
@@ -22,14 +22,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 78511f2a6fc6960c8917d9655fffb687822a0225)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 2 +-
+ drivers/gpu/drm/i915/i915_dma.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 44b883a4147d..6291dce899e6 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1614,8 +1614,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1622,8 +1622,8 @@ int i915_driver_load(struct drm_device *
  
        intel_irq_init(dev);
        intel_pm_init(dev);
@@ -39,6 +37,3 @@ index 44b883a4147d..6291dce899e6 100644
  
        /* Try to make sure MCHBAR is enabled before poking at it */
        intel_setup_mchbar(dev);
--- 
-1.8.5.rc3
-
index 7a713de..4bf6a21 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 18ce39943eb82e457e4c46dc86b1975d79b30aa7)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c     | 10 ----------
- drivers/gpu/drm/i915/intel_uncore.c | 11 +++++++++++
+ drivers/gpu/drm/i915/i915_dma.c     |   10 ----------
+ drivers/gpu/drm/i915/intel_uncore.c |   11 +++++++++++
  2 files changed, 11 insertions(+), 10 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 6291dce899e6..3e2d9b512a1b 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1542,16 +1542,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1550,16 +1550,6 @@ int i915_driver_load(struct drm_device *
  
        intel_uncore_early_sanitize(dev);
  
@@ -38,11 +36,9 @@ index 6291dce899e6..3e2d9b512a1b 100644
        ret = i915_gem_gtt_init(dev);
        if (ret)
                goto out_regs;
-diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
-index bfc1a65fcd90..2d16590d5478 100644
 --- a/drivers/gpu/drm/i915/intel_uncore.c
 +++ b/drivers/gpu/drm/i915/intel_uncore.c
-@@ -222,6 +222,17 @@ void intel_uncore_early_sanitize(struct drm_device *dev)
+@@ -222,6 +222,17 @@ void intel_uncore_early_sanitize(struct
  
        if (HAS_FPGA_DBG_UNCLAIMED(dev))
                __raw_i915_write32(dev_priv, FPGA_DBG, FPGA_DBG_RM_NOCLAIM);
@@ -60,6 +56,3 @@ index bfc1a65fcd90..2d16590d5478 100644
  }
  
  void intel_uncore_init(struct drm_device *dev)
--- 
-1.8.5.rc3
-
index 4700951..06c6a9f 100644 (file)
@@ -17,14 +17,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c3d685a7a5cd9f18865a717468d2b02092dcefdd)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 10 ++++++----
+ drivers/gpu/drm/i915/i915_dma.c |   10 ++++++----
  1 file changed, 6 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 3e2d9b512a1b..1319816a087b 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1542,6 +1542,11 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1550,6 +1550,11 @@ int i915_driver_load(struct drm_device *
  
        intel_uncore_early_sanitize(dev);
  
@@ -36,7 +34,7 @@ index 3e2d9b512a1b..1319816a087b 100644
        ret = i915_gem_gtt_init(dev);
        if (ret)
                goto out_regs;
-@@ -1599,12 +1604,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1607,12 +1612,8 @@ int i915_driver_load(struct drm_device *
                goto out_mtrrfree;
        }
  
@@ -49,7 +47,7 @@ index 3e2d9b512a1b..1319816a087b 100644
        intel_uncore_sanitize(dev);
  
        /* Try to make sure MCHBAR is enabled before poking at it */
-@@ -1689,6 +1690,7 @@ out_gtt:
+@@ -1697,6 +1698,7 @@ out_gtt:
        drm_mm_takedown(&dev_priv->gtt.base.mm);
        dev_priv->gtt.base.cleanup(&dev_priv->gtt.base);
  out_regs:
@@ -57,6 +55,3 @@ index 3e2d9b512a1b..1319816a087b 100644
        pci_iounmap(dev->pdev, dev_priv->regs);
  put_bridge:
        pci_dev_put(dev_priv->bridge_dev);
--- 
-1.8.5.rc3
-
index 475b228..1318ab1 100644 (file)
@@ -15,14 +15,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e147accbd19f55489dabdcc4dc3551cc3e3f2553)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c | 5 ++++-
+ drivers/gpu/drm/i915/i915_dma.c |    5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 1319816a087b..aa70c8d292d8 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1477,8 +1477,11 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1485,8 +1485,11 @@ int i915_driver_load(struct drm_device *
        info = (struct intel_device_info *) flags;
  
        /* Refuse to load on gen6+ without kms enabled. */
@@ -35,6 +33,3 @@ index 1319816a087b..aa70c8d292d8 100644
  
        dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL);
        if (dev_priv == NULL)
--- 
-1.8.5.rc3
-
index 7d2fe20..b488772 100644 (file)
@@ -36,19 +36,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 4520f53a159fb81b8c27afe52428a0959aff259c)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/Kconfig              | 60 +-------------------------------
- drivers/gpu/drm/i915/Kconfig         | 67 ++++++++++++++++++++++++++++++++++++
- drivers/gpu/drm/i915/Makefile        |  3 +-
- drivers/gpu/drm/i915/i915_debugfs.c  |  9 ++---
- drivers/gpu/drm/i915/i915_dma.c      |  6 ++++
- drivers/gpu/drm/i915/i915_drv.h      |  2 ++
- drivers/gpu/drm/i915/intel_display.c | 10 ++++++
- drivers/gpu/drm/i915/intel_drv.h     | 36 +++++++++++++++----
+ drivers/gpu/drm/Kconfig              |   60 -------------------------------
+ drivers/gpu/drm/i915/Kconfig         |   67 +++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/Makefile        |    3 +
+ drivers/gpu/drm/i915/i915_debugfs.c  |    9 ++--
+ drivers/gpu/drm/i915/i915_dma.c      |    6 +++
+ drivers/gpu/drm/i915/i915_drv.h      |    2 +
+ drivers/gpu/drm/i915/intel_display.c |   10 +++++
+ drivers/gpu/drm/i915/intel_drv.h     |   36 +++++++++++++++---
  8 files changed, 122 insertions(+), 71 deletions(-)
  create mode 100644 drivers/gpu/drm/i915/Kconfig
 
-diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
-index 8847e1e90533..1b51494b76dd 100644
 --- a/drivers/gpu/drm/Kconfig
 +++ b/drivers/gpu/drm/Kconfig
 @@ -128,65 +128,7 @@ config DRM_I810
@@ -118,9 +116,6 @@ index 8847e1e90533..1b51494b76dd 100644
  
  config DRM_MGA
        tristate "Matrox g200/g400"
-diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
-new file mode 100644
-index 000000000000..6199d0b5b958
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/Kconfig
 @@ -0,0 +1,67 @@
@@ -191,11 +186,9 @@ index 000000000000..6199d0b5b958
 +        option changes the default for that module option.
 +
 +        If in doubt, say "N".
-diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
-index 65e60d26891b..45e14a8db2f3 100644
 --- a/drivers/gpu/drm/i915/Makefile
 +++ b/drivers/gpu/drm/i915/Makefile
-@@ -33,7 +33,6 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o \
+@@ -33,7 +33,6 @@ i915-y := i915_drv.o i915_dma.o i915_irq
          intel_panel.o \
          intel_pm.o \
          intel_i2c.o \
@@ -212,11 +205,9 @@ index 65e60d26891b..45e14a8db2f3 100644
  obj-$(CONFIG_DRM_I915)  += i915.o
  
  CFLAGS_i915_trace_points.o := -I$(src)
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index a569597125db..72d04588eccb 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -1403,12 +1403,12 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
+@@ -1403,12 +1403,12 @@ static int i915_gem_framebuffer_info(str
  {
        struct drm_info_node *node = (struct drm_info_node *) m->private;
        struct drm_device *dev = node->minor->dev;
@@ -233,7 +224,7 @@ index a569597125db..72d04588eccb 100644
        if (ret)
                return ret;
  
-@@ -1424,6 +1424,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
+@@ -1424,6 +1424,7 @@ static int i915_gem_framebuffer_info(str
        describe_obj(m, fb->obj);
        seq_putc(m, '\n');
        mutex_unlock(&dev->mode_config.mutex);
@@ -241,11 +232,9 @@ index a569597125db..72d04588eccb 100644
  
        mutex_lock(&dev->mode_config.fb_lock);
        list_for_each_entry(fb, &dev->mode_config.fb_list, base.head) {
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index aa70c8d292d8..8294e86744f9 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1416,6 +1416,7 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master)
+@@ -1424,6 +1424,7 @@ void i915_master_destroy(struct drm_devi
        master->driver_priv = NULL;
  }
  
@@ -253,7 +242,7 @@ index aa70c8d292d8..8294e86744f9 100644
  static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
  {
        struct apertures_struct *ap;
-@@ -1436,6 +1437,11 @@ static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
+@@ -1444,6 +1445,11 @@ static void i915_kick_out_firmware_fb(st
  
        kfree(ap);
  }
@@ -265,8 +254,6 @@ index aa70c8d292d8..8294e86744f9 100644
  
  static void i915_dump_device_info(struct drm_i915_private *dev_priv)
  {
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index bdedebed44dd..6ef70e23de9c 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1368,8 +1368,10 @@ typedef struct drm_i915_private {
@@ -280,8 +267,6 @@ index bdedebed44dd..6ef70e23de9c 100644
  
        /*
         * The console may be contended at resume, but we don't
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 575c154dbd2a..34b1008a41c0 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
 @@ -7335,6 +7335,7 @@ static struct drm_framebuffer *
@@ -292,7 +277,7 @@ index 575c154dbd2a..34b1008a41c0 100644
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_i915_gem_object *obj;
        struct drm_framebuffer *fb;
-@@ -7355,6 +7356,9 @@ mode_fits_in_fbdev(struct drm_device *dev,
+@@ -7355,6 +7356,9 @@ mode_fits_in_fbdev(struct drm_device *de
                return NULL;
  
        return fb;
@@ -302,7 +287,7 @@ index 575c154dbd2a..34b1008a41c0 100644
  }
  
  bool intel_get_load_detect_pipe(struct drm_connector *connector,
-@@ -10101,6 +10105,12 @@ intel_user_framebuffer_create(struct drm_device *dev,
+@@ -10101,6 +10105,12 @@ intel_user_framebuffer_create(struct drm
        return intel_framebuffer_create(dev, mode_cmd, obj);
  }
  
@@ -315,11 +300,9 @@ index 575c154dbd2a..34b1008a41c0 100644
  static const struct drm_mode_config_funcs intel_mode_funcs = {
        .fb_create = intel_user_framebuffer_create,
        .output_poll_changed = intel_fb_output_poll_changed,
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index b497a96af082..0f8402bc4222 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -713,14 +713,36 @@ bool intel_dsi_init(struct drm_device *dev);
+@@ -713,14 +713,36 @@ bool intel_dsi_init(struct drm_device *d
  void intel_dvo_init(struct drm_device *dev);
  
  
@@ -363,6 +346,3 @@ index b497a96af082..0f8402bc4222 100644
  
  /* intel_hdmi.c */
  void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port);
--- 
-1.8.5.rc3
-
index 07788fc..257e021 100644 (file)
@@ -14,16 +14,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 0632fef669912a63c99c8ce4c2ca10c6ea04f0df)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/Makefile                      | 2 +-
- drivers/gpu/drm/i915/i915_dma.c                    | 2 +-
- drivers/gpu/drm/i915/intel_display.c               | 4 ++--
- drivers/gpu/drm/i915/intel_drv.h                   | 8 ++++----
- drivers/gpu/drm/i915/{intel_fb.c => intel_fbdev.c} | 4 ++--
- 5 files changed, 10 insertions(+), 10 deletions(-)
+ drivers/gpu/drm/i915/Makefile        |    2 
+ drivers/gpu/drm/i915/i915_dma.c      |    2 
+ drivers/gpu/drm/i915/intel_display.c |    4 
+ drivers/gpu/drm/i915/intel_drv.h     |    8 
+ drivers/gpu/drm/i915/intel_fb.c      |  323 -----------------------------------
+ drivers/gpu/drm/i915/intel_fbdev.c   |  323 +++++++++++++++++++++++++++++++++++
+ 6 files changed, 331 insertions(+), 331 deletions(-)
  rename drivers/gpu/drm/i915/{intel_fb.c => intel_fbdev.c} (98%)
 
-diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
-index 45e14a8db2f3..41838eaa799c 100644
 --- a/drivers/gpu/drm/i915/Makefile
 +++ b/drivers/gpu/drm/i915/Makefile
 @@ -53,7 +53,7 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
@@ -35,11 +34,9 @@ index 45e14a8db2f3..41838eaa799c 100644
  
  obj-$(CONFIG_DRM_I915)  += i915.o
  
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 8294e86744f9..a97f8e1b213d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1853,7 +1853,7 @@ void i915_driver_lastclose(struct drm_device * dev)
+@@ -1861,7 +1861,7 @@ void i915_driver_lastclose(struct drm_de
                return;
  
        if (drm_core_check_feature(dev, DRIVER_MODESET)) {
@@ -48,11 +45,9 @@ index 8294e86744f9..a97f8e1b213d 100644
                vga_switcheroo_process_delayed_switch();
                return;
        }
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 34b1008a41c0..548b1c914a1f 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10106,14 +10106,14 @@ intel_user_framebuffer_create(struct drm_device *dev,
+@@ -10106,14 +10106,14 @@ intel_user_framebuffer_create(struct drm
  }
  
  #ifndef CONFIG_DRM_I915_FBDEV
@@ -69,11 +64,9 @@ index 34b1008a41c0..548b1c914a1f 100644
  };
  
  /* Set up chip specific display functions */
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 0f8402bc4222..189257df7a0f 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -713,14 +713,14 @@ bool intel_dsi_init(struct drm_device *dev);
+@@ -713,14 +713,14 @@ bool intel_dsi_init(struct drm_device *d
  void intel_dvo_init(struct drm_device *dev);
  
  
@@ -91,7 +84,7 @@ index 0f8402bc4222..189257df7a0f 100644
  #else
  static inline int intel_fbdev_init(struct drm_device *dev)
  {
-@@ -739,7 +739,7 @@ static inline void intel_fbdev_set_suspend(struct drm_device *dev, int state)
+@@ -739,7 +739,7 @@ static inline void intel_fbdev_set_suspe
  {
  }
  
@@ -100,29 +93,655 @@ index 0f8402bc4222..189257df7a0f 100644
  {
  }
  #endif
-diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fbdev.c
-similarity index 98%
-rename from drivers/gpu/drm/i915/intel_fb.c
-rename to drivers/gpu/drm/i915/intel_fbdev.c
-index d883b77b1b78..acc839569c3f 100644
 --- a/drivers/gpu/drm/i915/intel_fb.c
-+++ b/drivers/gpu/drm/i915/intel_fbdev.c
-@@ -299,13 +299,13 @@ void intel_fbdev_set_suspend(struct drm_device *dev, int state)
- MODULE_LICENSE("GPL and additional rights");
++++ /dev/null
+@@ -1,323 +0,0 @@
+-/*
+- * Copyright Â© 2007 David Airlie
+- *
+- * 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, sublicense,
+- * 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 NONINFRINGEMENT.  IN NO EVENT SHALL
+- * THE AUTHORS OR COPYRIGHT HOLDERS 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.
+- *
+- * Authors:
+- *     David Airlie
+- */
+-
+-#include <linux/module.h>
+-#include <linux/kernel.h>
+-#include <linux/errno.h>
+-#include <linux/string.h>
+-#include <linux/mm.h>
+-#include <linux/tty.h>
+-#include <linux/sysrq.h>
+-#include <linux/delay.h>
+-#include <linux/fb.h>
+-#include <linux/init.h>
+-#include <linux/vga_switcheroo.h>
+-
+-#include <drm/drmP.h>
+-#include <drm/drm_crtc.h>
+-#include <drm/drm_fb_helper.h>
+-#include "intel_drv.h"
+-#include <drm/i915_drm.h>
+-#include "i915_drv.h"
+-
+-static struct fb_ops intelfb_ops = {
+-      .owner = THIS_MODULE,
+-      .fb_check_var = drm_fb_helper_check_var,
+-      .fb_set_par = drm_fb_helper_set_par,
+-      .fb_fillrect = cfb_fillrect,
+-      .fb_copyarea = cfb_copyarea,
+-      .fb_imageblit = cfb_imageblit,
+-      .fb_pan_display = drm_fb_helper_pan_display,
+-      .fb_blank = drm_fb_helper_blank,
+-      .fb_setcmap = drm_fb_helper_setcmap,
+-      .fb_debug_enter = drm_fb_helper_debug_enter,
+-      .fb_debug_leave = drm_fb_helper_debug_leave,
+-};
+-
+-static int intelfb_create(struct drm_fb_helper *helper,
+-                        struct drm_fb_helper_surface_size *sizes)
+-{
+-      struct intel_fbdev *ifbdev =
+-              container_of(helper, struct intel_fbdev, helper);
+-      struct drm_device *dev = helper->dev;
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-      struct fb_info *info;
+-      struct drm_framebuffer *fb;
+-      struct drm_mode_fb_cmd2 mode_cmd = {};
+-      struct drm_i915_gem_object *obj;
+-      struct device *device = &dev->pdev->dev;
+-      int size, ret;
+-
+-      /* we don't do packed 24bpp */
+-      if (sizes->surface_bpp == 24)
+-              sizes->surface_bpp = 32;
+-
+-      mode_cmd.width = sizes->surface_width;
+-      mode_cmd.height = sizes->surface_height;
+-
+-      mode_cmd.pitches[0] = ALIGN(mode_cmd.width * ((sizes->surface_bpp + 7) /
+-                                                    8), 64);
+-      mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
+-                                                        sizes->surface_depth);
+-
+-      size = mode_cmd.pitches[0] * mode_cmd.height;
+-      size = ALIGN(size, PAGE_SIZE);
+-      obj = i915_gem_object_create_stolen(dev, size);
+-      if (obj == NULL)
+-              obj = i915_gem_alloc_object(dev, size);
+-      if (!obj) {
+-              DRM_ERROR("failed to allocate framebuffer\n");
+-              ret = -ENOMEM;
+-              goto out;
+-      }
+-
+-      mutex_lock(&dev->struct_mutex);
+-
+-      /* Flush everything out, we'll be doing GTT only from now on */
+-      ret = intel_pin_and_fence_fb_obj(dev, obj, NULL);
+-      if (ret) {
+-              DRM_ERROR("failed to pin fb: %d\n", ret);
+-              goto out_unref;
+-      }
+-
+-      info = framebuffer_alloc(0, device);
+-      if (!info) {
+-              ret = -ENOMEM;
+-              goto out_unpin;
+-      }
+-
+-      info->par = helper;
+-
+-      ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj);
+-      if (ret)
+-              goto out_unpin;
+-
+-      fb = &ifbdev->ifb.base;
+-
+-      ifbdev->helper.fb = fb;
+-      ifbdev->helper.fbdev = info;
+-
+-      strcpy(info->fix.id, "inteldrmfb");
+-
+-      info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT;
+-      info->fbops = &intelfb_ops;
+-
+-      ret = fb_alloc_cmap(&info->cmap, 256, 0);
+-      if (ret) {
+-              ret = -ENOMEM;
+-              goto out_unpin;
+-      }
+-      /* setup aperture base/size for vesafb takeover */
+-      info->apertures = alloc_apertures(1);
+-      if (!info->apertures) {
+-              ret = -ENOMEM;
+-              goto out_unpin;
+-      }
+-      info->apertures->ranges[0].base = dev->mode_config.fb_base;
+-      info->apertures->ranges[0].size = dev_priv->gtt.mappable_end;
+-
+-      info->fix.smem_start = dev->mode_config.fb_base + i915_gem_obj_ggtt_offset(obj);
+-      info->fix.smem_len = size;
+-
+-      info->screen_base =
+-              ioremap_wc(dev_priv->gtt.mappable_base + i915_gem_obj_ggtt_offset(obj),
+-                         size);
+-      if (!info->screen_base) {
+-              ret = -ENOSPC;
+-              goto out_unpin;
+-      }
+-      info->screen_size = size;
+-
+-      /* This driver doesn't need a VT switch to restore the mode on resume */
+-      info->skip_vt_switch = true;
+-
+-      drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
+-      drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height);
+-
+-      /* If the object is shmemfs backed, it will have given us zeroed pages.
+-       * If the object is stolen however, it will be full of whatever
+-       * garbage was left in there.
+-       */
+-      if (ifbdev->ifb.obj->stolen)
+-              memset_io(info->screen_base, 0, info->screen_size);
+-
+-      /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
+-
+-      DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08lx, bo %p\n",
+-                    fb->width, fb->height,
+-                    i915_gem_obj_ggtt_offset(obj), obj);
+-
+-
+-      mutex_unlock(&dev->struct_mutex);
+-      vga_switcheroo_client_fb_set(dev->pdev, info);
+-      return 0;
+-
+-out_unpin:
+-      i915_gem_object_unpin(obj);
+-out_unref:
+-      drm_gem_object_unreference(&obj->base);
+-      mutex_unlock(&dev->struct_mutex);
+-out:
+-      return ret;
+-}
+-
+-/** Sets the color ramps on behalf of RandR */
+-static void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
+-                                  u16 blue, int regno)
+-{
+-      struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+-
+-      intel_crtc->lut_r[regno] = red >> 8;
+-      intel_crtc->lut_g[regno] = green >> 8;
+-      intel_crtc->lut_b[regno] = blue >> 8;
+-}
+-
+-static void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
+-                                  u16 *blue, int regno)
+-{
+-      struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+-
+-      *red = intel_crtc->lut_r[regno] << 8;
+-      *green = intel_crtc->lut_g[regno] << 8;
+-      *blue = intel_crtc->lut_b[regno] << 8;
+-}
+-
+-static struct drm_fb_helper_funcs intel_fb_helper_funcs = {
+-      .gamma_set = intel_crtc_fb_gamma_set,
+-      .gamma_get = intel_crtc_fb_gamma_get,
+-      .fb_probe = intelfb_create,
+-};
+-
+-static void intel_fbdev_destroy(struct drm_device *dev,
+-                              struct intel_fbdev *ifbdev)
+-{
+-      if (ifbdev->helper.fbdev) {
+-              struct fb_info *info = ifbdev->helper.fbdev;
+-
+-              unregister_framebuffer(info);
+-              iounmap(info->screen_base);
+-              if (info->cmap.len)
+-                      fb_dealloc_cmap(&info->cmap);
+-
+-              framebuffer_release(info);
+-      }
+-
+-      drm_fb_helper_fini(&ifbdev->helper);
+-
+-      drm_framebuffer_unregister_private(&ifbdev->ifb.base);
+-      intel_framebuffer_fini(&ifbdev->ifb);
+-}
+-
+-int intel_fbdev_init(struct drm_device *dev)
+-{
+-      struct intel_fbdev *ifbdev;
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-      int ret;
+-
+-      ifbdev = kzalloc(sizeof(*ifbdev), GFP_KERNEL);
+-      if (!ifbdev)
+-              return -ENOMEM;
+-
+-      dev_priv->fbdev = ifbdev;
+-      ifbdev->helper.funcs = &intel_fb_helper_funcs;
+-
+-      ret = drm_fb_helper_init(dev, &ifbdev->helper,
+-                               INTEL_INFO(dev)->num_pipes,
+-                               4);
+-      if (ret) {
+-              kfree(ifbdev);
+-              return ret;
+-      }
+-
+-      drm_fb_helper_single_add_all_connectors(&ifbdev->helper);
+-
+-      return 0;
+-}
+-
+-void intel_fbdev_initial_config(struct drm_device *dev)
+-{
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-
+-      /* Due to peculiar init order wrt to hpd handling this is separate. */
+-      drm_fb_helper_initial_config(&dev_priv->fbdev->helper, 32);
+-}
+-
+-void intel_fbdev_fini(struct drm_device *dev)
+-{
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-      if (!dev_priv->fbdev)
+-              return;
+-
+-      intel_fbdev_destroy(dev, dev_priv->fbdev);
+-      kfree(dev_priv->fbdev);
+-      dev_priv->fbdev = NULL;
+-}
+-
+-void intel_fbdev_set_suspend(struct drm_device *dev, int state)
+-{
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-      struct intel_fbdev *ifbdev = dev_priv->fbdev;
+-      struct fb_info *info;
+-
+-      if (!ifbdev)
+-              return;
+-
+-      info = ifbdev->helper.fbdev;
+-
+-      /* On resume from hibernation: If the object is shmemfs backed, it has
+-       * been restored from swap. If the object is stolen however, it will be
+-       * full of whatever garbage was left in there.
+-       */
+-      if (state == FBINFO_STATE_RUNNING && ifbdev->ifb.obj->stolen)
+-              memset_io(info->screen_base, 0, info->screen_size);
+-
+-      fb_set_suspend(info, state);
+-}
+-
+-MODULE_LICENSE("GPL and additional rights");
+-
 -void intel_fb_output_poll_changed(struct drm_device *dev)
-+void intel_fbdev_output_poll_changed(struct drm_device *dev)
- {
-       struct drm_i915_private *dev_priv = dev->dev_private;
-       drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper);
- }
+-{
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-      drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper);
+-}
+-
 -void intel_fb_restore_mode(struct drm_device *dev)
+-{
+-      int ret;
+-      struct drm_i915_private *dev_priv = dev->dev_private;
+-
+-      if (INTEL_INFO(dev)->num_pipes == 0)
+-              return;
+-
+-      drm_modeset_lock_all(dev);
+-
+-      ret = drm_fb_helper_restore_fbdev_mode(&dev_priv->fbdev->helper);
+-      if (ret)
+-              DRM_DEBUG("failed to restore crtc mode\n");
+-
+-      drm_modeset_unlock_all(dev);
+-}
+--- /dev/null
++++ b/drivers/gpu/drm/i915/intel_fbdev.c
+@@ -0,0 +1,323 @@
++/*
++ * Copyright Â© 2007 David Airlie
++ *
++ * 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, sublicense,
++ * 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 NONINFRINGEMENT.  IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS 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.
++ *
++ * Authors:
++ *     David Airlie
++ */
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/errno.h>
++#include <linux/string.h>
++#include <linux/mm.h>
++#include <linux/tty.h>
++#include <linux/sysrq.h>
++#include <linux/delay.h>
++#include <linux/fb.h>
++#include <linux/init.h>
++#include <linux/vga_switcheroo.h>
++
++#include <drm/drmP.h>
++#include <drm/drm_crtc.h>
++#include <drm/drm_fb_helper.h>
++#include "intel_drv.h"
++#include <drm/i915_drm.h>
++#include "i915_drv.h"
++
++static struct fb_ops intelfb_ops = {
++      .owner = THIS_MODULE,
++      .fb_check_var = drm_fb_helper_check_var,
++      .fb_set_par = drm_fb_helper_set_par,
++      .fb_fillrect = cfb_fillrect,
++      .fb_copyarea = cfb_copyarea,
++      .fb_imageblit = cfb_imageblit,
++      .fb_pan_display = drm_fb_helper_pan_display,
++      .fb_blank = drm_fb_helper_blank,
++      .fb_setcmap = drm_fb_helper_setcmap,
++      .fb_debug_enter = drm_fb_helper_debug_enter,
++      .fb_debug_leave = drm_fb_helper_debug_leave,
++};
++
++static int intelfb_create(struct drm_fb_helper *helper,
++                        struct drm_fb_helper_surface_size *sizes)
++{
++      struct intel_fbdev *ifbdev =
++              container_of(helper, struct intel_fbdev, helper);
++      struct drm_device *dev = helper->dev;
++      struct drm_i915_private *dev_priv = dev->dev_private;
++      struct fb_info *info;
++      struct drm_framebuffer *fb;
++      struct drm_mode_fb_cmd2 mode_cmd = {};
++      struct drm_i915_gem_object *obj;
++      struct device *device = &dev->pdev->dev;
++      int size, ret;
++
++      /* we don't do packed 24bpp */
++      if (sizes->surface_bpp == 24)
++              sizes->surface_bpp = 32;
++
++      mode_cmd.width = sizes->surface_width;
++      mode_cmd.height = sizes->surface_height;
++
++      mode_cmd.pitches[0] = ALIGN(mode_cmd.width * ((sizes->surface_bpp + 7) /
++                                                    8), 64);
++      mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
++                                                        sizes->surface_depth);
++
++      size = mode_cmd.pitches[0] * mode_cmd.height;
++      size = ALIGN(size, PAGE_SIZE);
++      obj = i915_gem_object_create_stolen(dev, size);
++      if (obj == NULL)
++              obj = i915_gem_alloc_object(dev, size);
++      if (!obj) {
++              DRM_ERROR("failed to allocate framebuffer\n");
++              ret = -ENOMEM;
++              goto out;
++      }
++
++      mutex_lock(&dev->struct_mutex);
++
++      /* Flush everything out, we'll be doing GTT only from now on */
++      ret = intel_pin_and_fence_fb_obj(dev, obj, NULL);
++      if (ret) {
++              DRM_ERROR("failed to pin fb: %d\n", ret);
++              goto out_unref;
++      }
++
++      info = framebuffer_alloc(0, device);
++      if (!info) {
++              ret = -ENOMEM;
++              goto out_unpin;
++      }
++
++      info->par = helper;
++
++      ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj);
++      if (ret)
++              goto out_unpin;
++
++      fb = &ifbdev->ifb.base;
++
++      ifbdev->helper.fb = fb;
++      ifbdev->helper.fbdev = info;
++
++      strcpy(info->fix.id, "inteldrmfb");
++
++      info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT;
++      info->fbops = &intelfb_ops;
++
++      ret = fb_alloc_cmap(&info->cmap, 256, 0);
++      if (ret) {
++              ret = -ENOMEM;
++              goto out_unpin;
++      }
++      /* setup aperture base/size for vesafb takeover */
++      info->apertures = alloc_apertures(1);
++      if (!info->apertures) {
++              ret = -ENOMEM;
++              goto out_unpin;
++      }
++      info->apertures->ranges[0].base = dev->mode_config.fb_base;
++      info->apertures->ranges[0].size = dev_priv->gtt.mappable_end;
++
++      info->fix.smem_start = dev->mode_config.fb_base + i915_gem_obj_ggtt_offset(obj);
++      info->fix.smem_len = size;
++
++      info->screen_base =
++              ioremap_wc(dev_priv->gtt.mappable_base + i915_gem_obj_ggtt_offset(obj),
++                         size);
++      if (!info->screen_base) {
++              ret = -ENOSPC;
++              goto out_unpin;
++      }
++      info->screen_size = size;
++
++      /* This driver doesn't need a VT switch to restore the mode on resume */
++      info->skip_vt_switch = true;
++
++      drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
++      drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height);
++
++      /* If the object is shmemfs backed, it will have given us zeroed pages.
++       * If the object is stolen however, it will be full of whatever
++       * garbage was left in there.
++       */
++      if (ifbdev->ifb.obj->stolen)
++              memset_io(info->screen_base, 0, info->screen_size);
++
++      /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
++
++      DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08lx, bo %p\n",
++                    fb->width, fb->height,
++                    i915_gem_obj_ggtt_offset(obj), obj);
++
++
++      mutex_unlock(&dev->struct_mutex);
++      vga_switcheroo_client_fb_set(dev->pdev, info);
++      return 0;
++
++out_unpin:
++      i915_gem_object_unpin(obj);
++out_unref:
++      drm_gem_object_unreference(&obj->base);
++      mutex_unlock(&dev->struct_mutex);
++out:
++      return ret;
++}
++
++/** Sets the color ramps on behalf of RandR */
++static void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
++                                  u16 blue, int regno)
++{
++      struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
++
++      intel_crtc->lut_r[regno] = red >> 8;
++      intel_crtc->lut_g[regno] = green >> 8;
++      intel_crtc->lut_b[regno] = blue >> 8;
++}
++
++static void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
++                                  u16 *blue, int regno)
++{
++      struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
++
++      *red = intel_crtc->lut_r[regno] << 8;
++      *green = intel_crtc->lut_g[regno] << 8;
++      *blue = intel_crtc->lut_b[regno] << 8;
++}
++
++static struct drm_fb_helper_funcs intel_fb_helper_funcs = {
++      .gamma_set = intel_crtc_fb_gamma_set,
++      .gamma_get = intel_crtc_fb_gamma_get,
++      .fb_probe = intelfb_create,
++};
++
++static void intel_fbdev_destroy(struct drm_device *dev,
++                              struct intel_fbdev *ifbdev)
++{
++      if (ifbdev->helper.fbdev) {
++              struct fb_info *info = ifbdev->helper.fbdev;
++
++              unregister_framebuffer(info);
++              iounmap(info->screen_base);
++              if (info->cmap.len)
++                      fb_dealloc_cmap(&info->cmap);
++
++              framebuffer_release(info);
++      }
++
++      drm_fb_helper_fini(&ifbdev->helper);
++
++      drm_framebuffer_unregister_private(&ifbdev->ifb.base);
++      intel_framebuffer_fini(&ifbdev->ifb);
++}
++
++int intel_fbdev_init(struct drm_device *dev)
++{
++      struct intel_fbdev *ifbdev;
++      struct drm_i915_private *dev_priv = dev->dev_private;
++      int ret;
++
++      ifbdev = kzalloc(sizeof(*ifbdev), GFP_KERNEL);
++      if (!ifbdev)
++              return -ENOMEM;
++
++      dev_priv->fbdev = ifbdev;
++      ifbdev->helper.funcs = &intel_fb_helper_funcs;
++
++      ret = drm_fb_helper_init(dev, &ifbdev->helper,
++                               INTEL_INFO(dev)->num_pipes,
++                               4);
++      if (ret) {
++              kfree(ifbdev);
++              return ret;
++      }
++
++      drm_fb_helper_single_add_all_connectors(&ifbdev->helper);
++
++      return 0;
++}
++
++void intel_fbdev_initial_config(struct drm_device *dev)
++{
++      struct drm_i915_private *dev_priv = dev->dev_private;
++
++      /* Due to peculiar init order wrt to hpd handling this is separate. */
++      drm_fb_helper_initial_config(&dev_priv->fbdev->helper, 32);
++}
++
++void intel_fbdev_fini(struct drm_device *dev)
++{
++      struct drm_i915_private *dev_priv = dev->dev_private;
++      if (!dev_priv->fbdev)
++              return;
++
++      intel_fbdev_destroy(dev, dev_priv->fbdev);
++      kfree(dev_priv->fbdev);
++      dev_priv->fbdev = NULL;
++}
++
++void intel_fbdev_set_suspend(struct drm_device *dev, int state)
++{
++      struct drm_i915_private *dev_priv = dev->dev_private;
++      struct intel_fbdev *ifbdev = dev_priv->fbdev;
++      struct fb_info *info;
++
++      if (!ifbdev)
++              return;
++
++      info = ifbdev->helper.fbdev;
++
++      /* On resume from hibernation: If the object is shmemfs backed, it has
++       * been restored from swap. If the object is stolen however, it will be
++       * full of whatever garbage was left in there.
++       */
++      if (state == FBINFO_STATE_RUNNING && ifbdev->ifb.obj->stolen)
++              memset_io(info->screen_base, 0, info->screen_size);
++
++      fb_set_suspend(info, state);
++}
++
++MODULE_LICENSE("GPL and additional rights");
++
++void intel_fbdev_output_poll_changed(struct drm_device *dev)
++{
++      struct drm_i915_private *dev_priv = dev->dev_private;
++      drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper);
++}
++
 +void intel_fbdev_restore_mode(struct drm_device *dev)
- {
-       int ret;
-       struct drm_i915_private *dev_priv = dev->dev_private;
--- 
-1.8.5.rc3
-
++{
++      int ret;
++      struct drm_i915_private *dev_priv = dev->dev_private;
++
++      if (INTEL_INFO(dev)->num_pipes == 0)
++              return;
++
++      drm_modeset_lock_all(dev);
++
++      ret = drm_fb_helper_restore_fbdev_mode(&dev_priv->fbdev->helper);
++      if (ret)
++              DRM_DEBUG("failed to restore crtc mode\n");
++
++      drm_modeset_unlock_all(dev);
++}
index 653721a..19b6ab4 100644 (file)
@@ -11,14 +11,12 @@ Signed-off-by: Takashi Iwai <tiwai@suse.de>
 (cherry picked from commit e44007e0f97fdae45b73cf61e9962493ddcc6114)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- sound/pci/hda/hda_intel.c | 3 +++
+ sound/pci/hda/hda_intel.c |    3 +++
  1 file changed, 3 insertions(+)
 
-diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
-index 624e6c044a44..26338818f2d4 100644
 --- a/sound/pci/hda/hda_intel.c
 +++ b/sound/pci/hda/hda_intel.c
-@@ -3879,6 +3879,9 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
+@@ -3883,6 +3883,9 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids)
        /* Oaktrail */
        { PCI_DEVICE(0x8086, 0x080a),
          .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM },
@@ -28,6 +26,3 @@ index 624e6c044a44..26338818f2d4 100644
        /* ICH */
        { PCI_DEVICE(0x8086, 0x2668),
          .driver_data = AZX_DRIVER_ICH | AZX_DCAPS_OLD_SSYNC |
--- 
-1.8.5.rc3
-
index 36b85b8..d6a7cc1 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 @@ -1,7 +1,7 @@
  VERSION = 3
  PATCHLEVEL = 10
- SUBLEVEL = 25
+ SUBLEVEL = 26
 -EXTRAVERSION =
 +EXTRAVERSION = -ltsi
  NAME = TOSSUG Baby Fish
diff --git a/patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch b/patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch
deleted file mode 100644 (file)
index 733961b..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-From 5e0c108a4ec72c035491aad3e48971daa29886e0 Mon Sep 17 00:00:00 2001
-From: Mark Rutland <mark.rutland@arm.com>
-Date: Wed, 30 Jan 2013 17:51:26 +0000
-Subject: clocksource: arch_timer: use virtual counters
-
-Switching between reading the virtual or physical counters is
-problematic, as some core code wants a view of time before we're fully
-set up. Using a function pointer and switching the source after the
-first read can make time appear to go backwards, and having a check in
-the read function is an unfortunate block on what we want to be a fast
-path.
-
-Instead, this patch makes us always use the virtual counters. If we're a
-guest, or don't have hyp mode, we'll use the virtual timers, and as such
-don't care about CNTVOFF as long as it doesn't change in such a way as
-to make time appear to travel backwards. As the guest will use the
-virtual timers, a (potential) KVM host must use the physical timers
-(which can wake up the host even if they fire while a guest is
-executing), and hence a host must have CNTVOFF set to zero so as to have
-a consistent view of time between the physical timers and virtual
-counters.
-
-Signed-off-by: Mark Rutland <mark.rutland@arm.com>
-Acked-by: Catalin Marinas <catalin.marinas@arm.com>
-Acked-by: Marc Zyngier <marc.zyngier@arm.com>
-Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
-Cc: Rob Herring <rob.herring@calxeda.com>
-(cherry picked from commit 0d651e4e65e96989f72236bf83bd4c6e55eb6ce4)
-Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
----
- arch/arm/include/asm/arch_timer.h    |  9 ---------
- arch/arm64/include/asm/arch_timer.h  | 10 ----------
- drivers/clocksource/arm_arch_timer.c | 23 +++++------------------
- include/clocksource/arm_arch_timer.h |  2 +-
- 4 files changed, 6 insertions(+), 38 deletions(-)
-
-diff --git a/arch/arm/include/asm/arch_timer.h b/arch/arm/include/asm/arch_timer.h
-index 7c1bfc0a..accefe09 100644
---- a/arch/arm/include/asm/arch_timer.h
-+++ b/arch/arm/include/asm/arch_timer.h
-@@ -80,15 +80,6 @@ static inline u32 arch_timer_get_cntfrq(void)
-       return val;
- }
--static inline u64 arch_counter_get_cntpct(void)
--{
--      u64 cval;
--
--      isb();
--      asm volatile("mrrc p15, 0, %Q0, %R0, c14" : "=r" (cval));
--      return cval;
--}
--
- static inline u64 arch_counter_get_cntvct(void)
- {
-       u64 cval;
-diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h
-index bf6ab242..d56ed11b 100644
---- a/arch/arm64/include/asm/arch_timer.h
-+++ b/arch/arm64/include/asm/arch_timer.h
-@@ -110,16 +110,6 @@ static inline void __cpuinit arch_counter_set_user_access(void)
-       asm volatile("msr       cntkctl_el1, %0" : : "r" (cntkctl));
- }
--static inline u64 arch_counter_get_cntpct(void)
--{
--      u64 cval;
--
--      isb();
--      asm volatile("mrs %0, cntpct_el0" : "=r" (cval));
--
--      return cval;
--}
--
- static inline u64 arch_counter_get_cntvct(void)
- {
-       u64 cval;
-diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
-index a2b25418..053d846a 100644
---- a/drivers/clocksource/arm_arch_timer.c
-+++ b/drivers/clocksource/arm_arch_timer.c
-@@ -186,27 +186,19 @@ u32 arch_timer_get_rate(void)
-       return arch_timer_rate;
- }
--/*
-- * Some external users of arch_timer_read_counter (e.g. sched_clock) may try to
-- * call it before it has been initialised. Rather than incur a performance
-- * penalty checking for initialisation, provide a default implementation that
-- * won't lead to time appearing to jump backwards.
-- */
--static u64 arch_timer_read_zero(void)
-+u64 arch_timer_read_counter(void)
- {
--      return 0;
-+      return arch_counter_get_cntvct();
- }
--u64 (*arch_timer_read_counter)(void) = arch_timer_read_zero;
--
- static cycle_t arch_counter_read(struct clocksource *cs)
- {
--      return arch_timer_read_counter();
-+      return arch_counter_get_cntvct();
- }
- static cycle_t arch_counter_read_cc(const struct cyclecounter *cc)
- {
--      return arch_timer_read_counter();
-+      return arch_counter_get_cntvct();
- }
- static struct clocksource clocksource_counter = {
-@@ -287,7 +279,7 @@ static int __init arch_timer_register(void)
-       cyclecounter.mult = clocksource_counter.mult;
-       cyclecounter.shift = clocksource_counter.shift;
-       timecounter_init(&timecounter, &cyclecounter,
--                       arch_counter_get_cntpct());
-+                       arch_counter_get_cntvct());
-       if (arch_timer_use_virtual) {
-               ppi = arch_timer_ppi[VIRT_PPI];
-@@ -376,11 +368,6 @@ static void __init arch_timer_init(struct device_node *np)
-               }
-       }
--      if (arch_timer_use_virtual)
--              arch_timer_read_counter = arch_counter_get_cntvct;
--      else
--              arch_timer_read_counter = arch_counter_get_cntpct;
--
-       arch_timer_register();
-       arch_timer_arch_init();
- }
-diff --git a/include/clocksource/arm_arch_timer.h b/include/clocksource/arm_arch_timer.h
-index e6c9c4cc..c463ce99 100644
---- a/include/clocksource/arm_arch_timer.h
-+++ b/include/clocksource/arm_arch_timer.h
-@@ -32,7 +32,7 @@
- #ifdef CONFIG_ARM_ARCH_TIMER
- extern u32 arch_timer_get_rate(void);
--extern u64 (*arch_timer_read_counter)(void);
-+extern u64 arch_timer_read_counter(void);
- extern struct timecounter *arch_timer_get_timecounter(void);
- #else
--- 
-1.8.4.3.gca3854a
-
index a9dc175..6a1ed1b 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
 
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
-@@ -3341,6 +3341,21 @@ bytes respectively. Such letter suffixes
+@@ -3345,6 +3345,21 @@ bytes respectively. Such letter suffixes
                        that this also can be controlled per-workqueue for
                        workqueues visible under /sys/bus/workqueue/.
  
index fb6ebca..8543de6 100644 (file)
@@ -179,7 +179,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp>
 +obj-$(CONFIG_ARCH_ZYNQ)               += zynq/
  obj-$(CONFIG_ARCH_TEGRA)      += tegra/
  obj-$(CONFIG_PLAT_SAMSUNG)    += samsung/
- obj-$(CONFIG_ARCH_SHMOBILE_MULTI)     += shmobile/
 --- /dev/null
 +++ b/drivers/clk/zynq/Makefile
 @@ -0,0 +1,3 @@
index ec8840b..7571adb 100644 (file)
@@ -234,7 +234,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp>
                        0, 0, &dbgclk_lock);
 --- a/include/linux/clk-provider.h
 +++ b/include/linux/clk-provider.h
-@@ -28,6 +28,7 @@
+@@ -27,6 +27,7 @@
  #define CLK_IS_ROOT           BIT(4) /* root clk, has no parent */
  #define CLK_IS_BASIC          BIT(5) /* Basic clk, can't do a to_clk_foo() */
  #define CLK_GET_RATE_NOCACHE  BIT(6) /* do not use the cached clk rate */
index adaaeca..0754279 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp>
 
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -219,7 +219,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07
+@@ -216,7 +216,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07
        wm8505-ref.dtb \
        wm8650-mid.dtb \
        wm8850-w70v2.dtb
diff --git a/series b/series
index 934421b..225bd50 100644 (file)
--- a/series
+++ b/series
@@ -61,7 +61,6 @@ patches.renesas/0010-drivers-irq-chip-irq-gic-introduce-gic_cpu_if_down.patch
 patches.renesas/0011-irqchip-renesas-intc-irqpin-DT-binding-for-sense-bit.patch
 patches.renesas/0012-ARM-shmobile-irqpin-add-a-DT-property-to-enable-mask.patch
 patches.renesas/0013-irqchip-renesas-irqc-Fix-irqc_probe-error-handling.patch
-patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch
 patches.renesas/0015-clocksource-arch_timer-Make-register-accessors-less-.patch
 patches.renesas/0016-clocksource-arch_timer-Push-the-read-write-wrappers-.patch
 patches.renesas/0017-clocksource-em_sti-Convert-to-devm_-managed-helpers.patch