Update to 3.10.30
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Feb 2014 21:03:08 +0000 (13:03 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Feb 2014 21:03:08 +0000 (13:03 -0800)
115 files changed:
KERNEL_VERSION
patches.baytrail/0003-usb-xhci-check-usb2-port-capabilities-before-adding-.patch
patches.baytrail/0004-usb-xhci-define-port-register-names-and-use-them-ins.patch
patches.baytrail/0005-usb-xhci-add-USB2-Link-power-management-BESL-support.patch
patches.baytrail/0006-usb-add-usb2-Link-PM-variables-to-sysfs-and-usb_devi.patch
patches.baytrail/0008-usb-Don-t-enable-USB-2.0-Link-PM-by-default.patch
patches.baytrail/0021-drm-i915-turbo-RC6-support-for-VLV-v7.patch
patches.baytrail/0026-drm-i915-update-VLV-PLL-and-DPIO-code-v11.patch
patches.baytrail/0027-drm-i915-report-Gen5-CPU-and-PCH-FIFO-underruns.patch
patches.baytrail/0028-drm-i915-print-Gen5-CPU-PCH-poison-interrupts.patch
patches.baytrail/0031-drm-i915-Move-the-CSC_MODE-bits-next-to-the-register.patch
patches.baytrail/0058-drm-i915-hsw-backlight-registers-need-transcoder-ins.patch
patches.baytrail/0078-drm-i915-hw-state-readout-support-for-pipe_config-fd.patch
patches.baytrail/0088-drm-i915-hw-state-readout-support-for-fdi-m-n.patch
patches.baytrail/0089-drm-i915-hw-state-readout-support-for-pipe-timings.patch
patches.baytrail/0105-drm-i915-simplify-DP-DDI-port-width-macros.patch
patches.baytrail/0112-drm-i915-s-TRANSCONF-PCH_TRANSCONF.patch
patches.baytrail/0113-drm-i915-PCH_-prefix-for-transcoder-timings.patch
patches.baytrail/0115-drm-i915-Apply-OCD-to-data-link-m-n-register-defines.patch
patches.baytrail/0141-drm-i915-stop-using-is_pch_edp-in-intel_dp_init_conn.patch
patches.baytrail/0143-drm-i915-remove-is_pch_edp-helpers-and-state-variabl.patch
patches.baytrail/0144-drm-i915-print-DP-init-debug-messages-from-a-single-.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/0169-drm-i915-add-encoder-get_config-function-v5.patch
patches.baytrail/0177-drm-i915-set-FORCE_ARB_IDLE_PLANES-workaround.patch
patches.baytrail/0181-drm-i915-Cocci-spatch-memdup.spatch.patch
patches.baytrail/0184-drm-i915-refactor-VLV-IOSF-sideband-accessors-to-use.patch
patches.baytrail/0191-drm-i915-track-ring-progression-using-seqnos.patch
patches.baytrail/0196-drm-i915-use-drm_mm_takedown.patch
patches.baytrail/0199-drm-i915-release-scratch-page-at-module-unload.patch
patches.baytrail/0202-drm-i915-replace-is_cpu_edp-with-a-check-for-port-A.patch
patches.baytrail/0212-drm-i915-Comments-for-semaphore-clarification.patch
patches.baytrail/0213-drm-i915-Semaphore-MBOX-update-generalization.patch
patches.baytrail/0215-drm-i915-Add-VECS-semaphore-bits.patch
patches.baytrail/0216-drm-i915-Rename-ring-flush-functions.patch
patches.baytrail/0218-drm-i915-Vebox-ringbuffer-init.patch
patches.baytrail/0220-drm-i915-properly-set-HSW-WM_PIPE-registers.patch
patches.baytrail/0221-drm-i915-properly-set-HSW-WM_LP-watermarks.patch
patches.baytrail/0226-drm-i915-make-PM-interrupt-writes-non-destructive.patch
patches.baytrail/0228-drm-i915-consolidate-interrupt-naming-scheme.patch
patches.baytrail/0229-drm-i915-vebox-interrupt-get-put.patch
patches.baytrail/0230-drm-i915-Enable-vebox-interrupts.patch
patches.baytrail/0235-drm-i915-implement-IPS-feature.patch
patches.baytrail/0278-i915-drm-Add-private-api-for-power-well-usage.patch
patches.baytrail/0286-drm-i915-WA-FBC-Render-Nuke.patch
patches.baytrail/0296-drm-i915-refactor-PCH_DPLL_SEL-defines.patch
patches.baytrail/0300-drm-i915-scrap-register-address-storage.patch
patches.baytrail/0319-drm-i915-add-struct-i915_ctx_hang_stats.patch
patches.baytrail/0327-drm-i915-explicitly-set-up-PIPECONF-and-gamma-table-.patch
patches.baytrail/0334-drm-i915-don-t-check-encoder-at-DP-connector-destroy.patch
patches.baytrail/0335-drm-i915-extract-intel_edp_init_connector.patch
patches.baytrail/0336-drm-i915-propagate-errors-from-intel_dp_init_connect.patch
patches.baytrail/0337-drm-i915-fix-the-ghost-eDP-connector-unwind-path.patch
patches.baytrail/0338-drm-i915-fix-the-ghost-eDP-encoder-unwind-path.patch
patches.baytrail/0339-drm-i915-check-the-return-value-of-intel_dp_i2c_init.patch
patches.baytrail/0340-drm-i915-rename-intel_dp_destroy-to-intel_dp_connect.patch
patches.baytrail/0357-drm-i915-Fix-VLV-sprite-register-offsets.patch
patches.baytrail/0369-drm-i915-reinit-status-page-registers-after-gpu-rese.patch
patches.baytrail/0411-drm-i915-Move-gtt_mtrr-to-i915_gtt.patch
patches.baytrail/0444-drm-i915-improve-SERR_INT-clearing-for-fifo-underrun.patch
patches.baytrail/0452-drm-i915-don-t-enable-PM_VEBOX_CS_ERROR_INTERRUPT.patch
patches.baytrail/0460-drm-i915-Define-some-of-the-eLLC-magic.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/0485-drm-i915-Enable-Disable-PSR.patch
patches.baytrail/0487-drm-i915-Match-all-PSR-mode-entry-conditions-before-.patch
patches.baytrail/0505-drm-i915-kill-Ivybridge-vblank-irq-vfuncs.patch
patches.baytrail/0510-drm-i915-Add-some-debug-breadcrumbs-to-connector-det.patch
patches.baytrail/0512-drm-i915-extend-lpt_enable_clkout_dp.patch
patches.baytrail/0514-drm-i915-add-functions-to-disable-and-restore-LCPLL.patch
patches.baytrail/0545-drm-i915-dp-use-native-encoder-mode_set-callback.patch
patches.baytrail/0566-drm-i915-rearrange-vlv-dp-enable-and-pre_enable-call.patch
patches.baytrail/0576-drm-i915-Add-VM-to-pin.patch
patches.baytrail/0588-drm-i915-Use-the-watermark-latency-values-from-dev_p.patch
patches.baytrail/0598-drm-const-ify-ioctls-table-v2.patch
patches.baytrail/0684-drm-i915-Initialize-seqno-for-VECS-too.patch
patches.baytrail/0692-drm-i915-clarify-Haswell-power-well-bit-names.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/0737-drm-i915-hdmi-Write-HDMI-vendor-specific-infoframes.patch
patches.baytrail/0740-drm-i915-Support-render-nodes.patch
patches.baytrail/0748-drm-i915-Embed-the-ring-private-within-the-struct-in.patch
patches.baytrail/0753-drm-i915-enable-trickle-feed-on-Haswell.patch
patches.baytrail/0768-drm-i915-add-VLV-pipeconf-bit-definition-for-DSI-PLL.patch
patches.baytrail/0772-drm-i915-add-MIPI-DSI-register-definitions.patch
patches.baytrail/0798-drm-i915-Rename-ring-outstanding_lazy_request.patch
patches.baytrail/0806-drm-i915-name-intel-dp-hooks-per-platform.patch
patches.baytrail/0808-drm-i915-clean-up-power-sequencing-register-port-sel.patch
patches.baytrail/0809-drm-i915-add-support-for-per-pipe-power-sequencing-o.patch
patches.baytrail/0821-drm-i915-Write-RING_TAIL-once-per-request.patch
patches.baytrail/0846-drm-i915-Fix-port_clock-and-adjusted_mode.clock-read.patch
patches.baytrail/0876-drm-i915-write-D_COMP-using-the-mailbox.patch
patches.baytrail/0880-drm-i915-Add-second-slice-l3-remapping.patch
patches.baytrail/0900-drm-i915-use-pointer-k-cmz.-alloc-sizeof-pointer-.-p.patch
patches.baytrail/0905-drm-i915-VBT-s-child_device_config-changes-over-time.patch
patches.baytrail/0921-drm-i915-Delay-the-release-of-the-forcewake-by-a-jif.patch
patches.baytrail/0955-drm-i915-vlv-use-lower-precision-RC6-counter.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/0971-drm-i915-Tweak-RPS-thresholds-to-more-aggressively-d.patch
patches.baytrail/0993-drm-i915-dp-use-drm_edid_duplicate.patch
patches.baytrail/1054-drm-i915-Do-PCH-and-uncore-init-earlier.patch
patches.baytrail/1068-drm-i915-Fix-VLV-frame-counter-registers.patch
patches.baytrail/1072-drm-i915-rename-intel_fb.c-to-intel_fbdev.c.patch
patches.baytrail/1096-drm-i915-Adjust-watermark-register-masks.patch
patches.baytrail/1125-i2c-vt8500-Add-support-for-I2C-bus-on-Wondermedia-So.patch
patches.baytrail/1128-i2c-mv64xxx-Add-Allwinner-sun4i-compatible.patch
patches.baytrail/1173-i2c-move-OF-helpers-into-the-core.patch
patches.ltsi/ltsi-makefile-addition.patch
patches.renesas/0581-mmc-remove-unnecessary-platform_set_drvdata.patch
patches.zynq/0001-i2c-xilinx-merge-i2c-driver-from-Xilinx-repository-i.patch
patches.zynq/0009-usb-zynq-merge-usb-support-for-xilinx-zynq-soc.patch

index 31358ba7b58f17aa53f3cfcfeb819e3a8ef2079f..6b266693cd8db8e7bd7e64a007837f6043ed800c 100644 (file)
@@ -1 +1 @@
-3.10.28
+3.10.30
index a7fa62d4a2c2e582e8e9c728f3299569d698d606..5a172886a4bfc302fc31dc752f1bfd79497e36e8 100644 (file)
@@ -21,13 +21,11 @@ Commit-Queue: Benson Leung <bleung@chromium.org>
 Tested-by: Benson Leung <bleung@chromium.org>
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/usb/host/xhci-mem.c | 33 +++++++++++++++++++++++++++++----
- drivers/usb/host/xhci.c     | 27 ++++++++++++++++++++++++++-
- drivers/usb/host/xhci.h     |  3 +++
+ drivers/usb/host/xhci-mem.c |   33 +++++++++++++++++++++++++++++----
+ drivers/usb/host/xhci.c     |   27 ++++++++++++++++++++++++++-
+ drivers/usb/host/xhci.h     |    3 +++
  3 files changed, 58 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index 19a0cc38b6d9..0fc539dc1cb8 100644
 --- a/drivers/usb/host/xhci-mem.c
 +++ b/drivers/usb/host/xhci-mem.c
 @@ -1860,6 +1860,7 @@ no_bw:
@@ -38,7 +36,7 @@ index 19a0cc38b6d9..0fc539dc1cb8 100644
  
        xhci->page_size = 0;
        xhci->page_shift = 0;
-@@ -2047,7 +2048,7 @@ static void xhci_set_hc_event_deq(struct xhci_hcd *xhci)
+@@ -2047,7 +2048,7 @@ static void xhci_set_hc_event_deq(struct
  }
  
  static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports,
@@ -47,7 +45,7 @@ index 19a0cc38b6d9..0fc539dc1cb8 100644
  {
        u32 temp, port_offset, port_count;
        int i;
-@@ -2072,6 +2073,10 @@ static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports,
+@@ -2072,6 +2073,10 @@ static void xhci_add_in_port(struct xhci
                /* WTF? "Valid values are â€˜1’ to MaxPorts" */
                return;
  
@@ -58,7 +56,7 @@ index 19a0cc38b6d9..0fc539dc1cb8 100644
        /* Check the host's USB2 LPM capability */
        if ((xhci->hci_version == 0x96) && (major_revision != 0x03) &&
                        (temp & XHCI_L1C)) {
-@@ -2129,10 +2134,11 @@ static void xhci_add_in_port(struct xhci_hcd *xhci, unsigned int num_ports,
+@@ -2129,10 +2134,11 @@ static void xhci_add_in_port(struct xhci
   */
  static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags)
  {
@@ -72,7 +70,7 @@ index 19a0cc38b6d9..0fc539dc1cb8 100644
  
        addr = &xhci->cap_regs->hcc_params;
        offset = XHCI_HCC_EXT_CAPS(xhci_readl(xhci, addr));
-@@ -2165,13 +2171,32 @@ static int xhci_setup_port_arrays(struct xhci_hcd *xhci, gfp_t flags)
+@@ -2165,13 +2171,32 @@ static int xhci_setup_port_arrays(struct
         * See section 5.3.6 for offset calculation.
         */
        addr = &xhci->cap_regs->hc_capbase + offset;
@@ -106,11 +104,9 @@ index 19a0cc38b6d9..0fc539dc1cb8 100644
                offset = XHCI_EXT_CAPS_NEXT(cap_id);
                if (!offset || (xhci->num_usb2_ports + xhci->num_usb3_ports)
                                == num_ports)
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 4a5251f3614c..ae20252e22aa 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -4045,15 +4045,40 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
+@@ -4048,15 +4048,40 @@ int xhci_set_usb2_hardware_lpm(struct us
        return 0;
  }
  
@@ -152,8 +148,6 @@ index 4a5251f3614c..ae20252e22aa 100644
                        udev->usb2_hw_lpm_capable = 1;
                        ret = xhci_set_usb2_hardware_lpm(hcd, udev, 1);
                        if (!ret)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index cd35c1fc596f..140b2edebde4 100644
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
 @@ -1543,6 +1543,9 @@ struct xhci_hcd {
@@ -166,6 +160,3 @@ index cd35c1fc596f..140b2edebde4 100644
        /* Compliance Mode Recovery Data */
        struct timer_list       comp_mode_recovery_timer;
        u32                     port_status_u0;
--- 
-1.8.5.rc3
-
index c996c1bd31f3fcb711be8cca78ebf1920c5b1441..6c5604d4192535a7984500e862318b671a55f9d9 100644 (file)
@@ -16,16 +16,14 @@ Commit-Queue: Benson Leung <bleung@chromium.org>
 Tested-by: Benson Leung <bleung@chromium.org>
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/usb/host/xhci-hub.c | 16 +++++++---------
- drivers/usb/host/xhci.c     |  4 ++--
- drivers/usb/host/xhci.h     |  5 +++++
+ drivers/usb/host/xhci-hub.c |   16 +++++++---------
+ drivers/usb/host/xhci.c     |    4 ++--
+ drivers/usb/host/xhci.h     |    5 +++++
  3 files changed, 14 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
-index 1f94d42bcc56..f6395dd6a8d6 100644
 --- a/drivers/usb/host/xhci-hub.c
 +++ b/drivers/usb/host/xhci-hub.c
-@@ -920,18 +920,18 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -920,18 +920,18 @@ int xhci_hub_control(struct usb_hcd *hcd
                case USB_PORT_FEAT_U1_TIMEOUT:
                        if (hcd->speed != HCD_USB3)
                                goto error;
@@ -48,7 +46,7 @@ index 1f94d42bcc56..f6395dd6a8d6 100644
                        break;
                default:
                        goto error;
-@@ -1151,10 +1151,8 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
+@@ -1151,10 +1151,8 @@ int xhci_bus_suspend(struct usb_hcd *hcd
                        __le32 __iomem *addr;
                        u32 tmp;
  
@@ -70,11 +68,9 @@ index 1f94d42bcc56..f6395dd6a8d6 100644
                        tmp = xhci_readl(xhci, addr);
                        tmp &= ~PORT_RWE;
                        xhci_writel(xhci, tmp, addr);
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index ae20252e22aa..1bd8ddb12d36 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -3923,7 +3923,7 @@ static int xhci_usb2_software_lpm_test(struct usb_hcd *hcd,
+@@ -3926,7 +3926,7 @@ static int xhci_usb2_software_lpm_test(s
         * Check device's USB 2.0 extension descriptor to determine whether
         * HIRD or BESL shoule be used. See USB2.0 LPM errata.
         */
@@ -83,7 +79,7 @@ index ae20252e22aa..1bd8ddb12d36 100644
        hird = xhci_calculate_hird_besl(xhci, udev);
        temp = PORT_L1DS(udev->slot_id) | PORT_HIRD(hird);
        xhci_writel(xhci, temp, pm_addr);
-@@ -4021,7 +4021,7 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
+@@ -4024,7 +4024,7 @@ int xhci_set_usb2_hardware_lpm(struct us
  
        port_array = xhci->usb2_ports;
        port_num = udev->portnum - 1;
@@ -92,8 +88,6 @@ index ae20252e22aa..1bd8ddb12d36 100644
        temp = xhci_readl(xhci, pm_addr);
  
        xhci_dbg(xhci, "%s port %d USB2 hardware LPM\n",
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 140b2edebde4..9d3766be3a64 100644
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
 @@ -132,6 +132,11 @@ struct xhci_cap_regs {
@@ -108,6 +102,3 @@ index 140b2edebde4..9d3766be3a64 100644
  /**
   * struct xhci_op_regs - xHCI Host Controller Operational Registers.
   * @command:          USBCMD - xHC command register
--- 
-1.8.5.rc3
-
index 8f7eaa995fc0cda6da546d743cad7fca6adee479..3cd7d358f942f6605dfe729398f29b1e02869263 100644 (file)
@@ -23,14 +23,12 @@ Signed-off-by: Benson Leung <bleung@chromium.org>
  UPSTREAM]
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/usb/host/xhci-ext-caps.h |   1 +
- drivers/usb/host/xhci.c          | 204 +++++++++++++++++++++++++++------------
- drivers/usb/host/xhci.h          |  21 ++++
- include/linux/usb.h              |   2 +
+ drivers/usb/host/xhci-ext-caps.h |    1 
+ drivers/usb/host/xhci.c          |  204 ++++++++++++++++++++++++++-------------
+ drivers/usb/host/xhci.h          |   21 ++++
+ include/linux/usb.h              |    2 
  4 files changed, 164 insertions(+), 64 deletions(-)
 
-diff --git a/drivers/usb/host/xhci-ext-caps.h b/drivers/usb/host/xhci-ext-caps.h
-index 377f4242dabb..8d7a1324e2f3 100644
 --- a/drivers/usb/host/xhci-ext-caps.h
 +++ b/drivers/usb/host/xhci-ext-caps.h
 @@ -71,6 +71,7 @@
@@ -41,11 +39,9 @@ index 377f4242dabb..8d7a1324e2f3 100644
  
  /* command register values to disable interrupts and halt the HC */
  /* start/stop HC execution - do not write unless HC is halted*/
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 1bd8ddb12d36..0ea9df4df4b4 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -3827,6 +3827,56 @@ int xhci_find_raw_port_number(struct usb_hcd *hcd, int port1)
+@@ -3830,6 +3830,56 @@ int xhci_find_raw_port_number(struct usb
        return raw_port;
  }
  
@@ -102,7 +98,7 @@ index 1bd8ddb12d36..0ea9df4df4b4 100644
  #ifdef CONFIG_PM_RUNTIME
  
  /* BESL to HIRD Encoding array for USB2 LPM */
-@@ -3868,6 +3918,28 @@ static int xhci_calculate_hird_besl(struct xhci_hcd *xhci,
+@@ -3871,6 +3921,28 @@ static int xhci_calculate_hird_besl(stru
        return besl;
  }
  
@@ -131,7 +127,7 @@ index 1bd8ddb12d36..0ea9df4df4b4 100644
  static int xhci_usb2_software_lpm_test(struct usb_hcd *hcd,
                                        struct usb_device *udev)
  {
-@@ -4000,11 +4072,12 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
+@@ -4003,11 +4075,12 @@ int xhci_set_usb2_hardware_lpm(struct us
  {
        struct xhci_hcd *xhci = hcd_to_xhci(hcd);
        __le32 __iomem  **port_array;
@@ -147,7 +143,7 @@ index 1bd8ddb12d36..0ea9df4df4b4 100644
  
        if (hcd->speed == HCD_USB3 || !xhci->hw_lpm_support ||
                        !udev->lpm_capable)
-@@ -4022,23 +4095,73 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
+@@ -4025,23 +4098,73 @@ int xhci_set_usb2_hardware_lpm(struct us
        port_array = xhci->usb2_ports;
        port_num = udev->portnum - 1;
        pm_addr = port_array[port_num] + PORTPMSC;
@@ -232,7 +228,7 @@ index 1bd8ddb12d36..0ea9df4df4b4 100644
        }
  
        spin_unlock_irqrestore(&xhci->lock, flags);
-@@ -4080,6 +4203,9 @@ int xhci_update_device(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -4083,6 +4206,9 @@ int xhci_update_device(struct usb_hcd *h
                if (xhci->hw_lpm_support == 1 &&
                    xhci_check_usb2_port_capability(xhci, portnum, XHCI_HLC)) {
                        udev->usb2_hw_lpm_capable = 1;
@@ -242,7 +238,7 @@ index 1bd8ddb12d36..0ea9df4df4b4 100644
                        ret = xhci_set_usb2_hardware_lpm(hcd, udev, 1);
                        if (!ret)
                                udev->usb2_hw_lpm_enabled = 1;
-@@ -4410,56 +4536,6 @@ static u16 xhci_calculate_lpm_timeout(struct usb_hcd *hcd,
+@@ -4413,56 +4539,6 @@ static u16 xhci_calculate_lpm_timeout(st
        return timeout;
  }
  
@@ -299,8 +295,6 @@ index 1bd8ddb12d36..0ea9df4df4b4 100644
  static int calculate_max_exit_latency(struct usb_device *udev,
                enum usb3_link_state state_changed,
                u16 hub_encoded_timeout)
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 9d3766be3a64..65aef567ad34 100644
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
 @@ -386,6 +386,27 @@ struct xhci_op_regs {
@@ -331,8 +325,6 @@ index 9d3766be3a64..65aef567ad34 100644
  /**
   * struct xhci_intr_reg - Interrupt Register Set
   * @irq_pending:      IMAN - Interrupt Management Register.  Used to enable
-diff --git a/include/linux/usb.h b/include/linux/usb.h
-index a0bee5a28d1a..3a1b864ad541 100644
 --- a/include/linux/usb.h
 +++ b/include/linux/usb.h
 @@ -468,6 +468,7 @@ struct usb3_lpm_parameters {
@@ -351,6 +343,3 @@ index a0bee5a28d1a..3a1b864ad541 100644
        unsigned usb2_hw_lpm_enabled:1;
        unsigned usb3_lpm_enabled:1;
        int string_langid;
--- 
-1.8.5.rc3
-
index 2188d406b07e620983ba2baa7f2e8d7bce17512e..2133d812459c03160361143a10ae24a350069dd4 100644 (file)
@@ -21,14 +21,12 @@ Commit-Queue: Benson Leung <bleung@chromium.org>
 Tested-by: Benson Leung <bleung@chromium.org>
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- Documentation/ABI/testing/sysfs-bus-usb | 27 +++++++++++++++++
- drivers/usb/core/sysfs.c                | 54 +++++++++++++++++++++++++++++++++
- drivers/usb/host/xhci.c                 |  6 ++--
- include/linux/usb.h                     | 18 +++++++++++
+ Documentation/ABI/testing/sysfs-bus-usb |   27 ++++++++++++++++
+ drivers/usb/core/sysfs.c                |   54 ++++++++++++++++++++++++++++++++
+ drivers/usb/host/xhci.c                 |    6 ++-
+ include/linux/usb.h                     |   18 ++++++++++
  4 files changed, 103 insertions(+), 2 deletions(-)
 
-diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb
-index f093e59cbe5f..9759b8c91332 100644
 --- a/Documentation/ABI/testing/sysfs-bus-usb
 +++ b/Documentation/ABI/testing/sysfs-bus-usb
 @@ -236,3 +236,30 @@ Description:
@@ -62,11 +60,9 @@ index f093e59cbe5f..9759b8c91332 100644
 +              Supported values are 0 - 15.
 +              More information on how besl values map to microseconds can be found in
 +              USB 2.0 ECN Errata for Link Power Management, section 4.10)
-diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c
-index aa38db44818a..d9284b998bd7 100644
 --- a/drivers/usb/core/sysfs.c
 +++ b/drivers/usb/core/sysfs.c
-@@ -497,8 +497,62 @@ set_usb2_hardware_lpm(struct device *dev, struct device_attribute *attr,
+@@ -497,8 +497,62 @@ set_usb2_hardware_lpm(struct device *dev
  static DEVICE_ATTR(usb2_hardware_lpm, S_IRUGO | S_IWUSR, show_usb2_hardware_lpm,
                        set_usb2_hardware_lpm);
  
@@ -129,11 +125,9 @@ index aa38db44818a..d9284b998bd7 100644
        NULL,
  };
  static struct attribute_group usb2_hardware_lpm_attr_group = {
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 0ea9df4df4b4..a228b796c300 100644
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -3929,7 +3929,7 @@ static int xhci_calculate_usb2_hw_lpm_params(struct usb_device *udev)
+@@ -3932,7 +3932,7 @@ static int xhci_calculate_usb2_hw_lpm_pa
        field = le32_to_cpu(udev->bos->ext_cap->bmAttributes);
  
        /* xHCI l1 is set in steps of 256us, xHCI 1.0 section 5.4.11.2 */
@@ -142,7 +136,7 @@ index 0ea9df4df4b4..a228b796c300 100644
  
        /* device has preferred BESLD */
        if (field & USB_BESL_DEEP_VALID) {
-@@ -4113,7 +4113,7 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
+@@ -4116,7 +4116,7 @@ int xhci_set_usb2_hardware_lpm(struct us
                            (field & USB_BESL_BASELINE_VALID))
                                hird = USB_GET_BESL_BASELINE(field);
                        else
@@ -151,7 +145,7 @@ index 0ea9df4df4b4..a228b796c300 100644
  
                        exit_latency = xhci_besl_encoding[hird];
                        spin_unlock_irqrestore(&xhci->lock, flags);
-@@ -4203,6 +4203,8 @@ int xhci_update_device(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -4206,6 +4206,8 @@ int xhci_update_device(struct usb_hcd *h
                if (xhci->hw_lpm_support == 1 &&
                    xhci_check_usb2_port_capability(xhci, portnum, XHCI_HLC)) {
                        udev->usb2_hw_lpm_capable = 1;
@@ -160,8 +154,6 @@ index 0ea9df4df4b4..a228b796c300 100644
                        if (xhci_check_usb2_port_capability(xhci, portnum,
                                                            XHCI_BLC))
                                udev->usb2_hw_lpm_besl_capable = 1;
-diff --git a/include/linux/usb.h b/include/linux/usb.h
-index 3a1b864ad541..1f7d63f3ab8b 100644
 --- a/include/linux/usb.h
 +++ b/include/linux/usb.h
 @@ -394,6 +394,22 @@ enum usb_port_connect_type {
@@ -203,6 +195,3 @@ index 3a1b864ad541..1f7d63f3ab8b 100644
        struct usb3_lpm_parameters u1_params;
        struct usb3_lpm_parameters u2_params;
        unsigned lpm_disable_count;
--- 
-1.8.5.rc3
-
index 333541c21de791392721506d07be7b5236f0fc86..e890a9501dfef403adec0895a1cfd5e94407ab8a 100644 (file)
@@ -97,7 +97,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
                if (!ret)
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -5187,6 +5187,7 @@ static int usb_reset_and_verify_device(s
+@@ -5165,6 +5165,7 @@ static int usb_reset_and_verify_device(s
  
  done:
        /* Now that the alt settings are re-installed, enable LTM and LPM. */
@@ -164,7 +164,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        page_size = xhci_readl(xhci, &xhci->op_regs->page_size);
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -3940,133 +3940,6 @@ static int xhci_calculate_usb2_hw_lpm_pa
+@@ -3943,133 +3943,6 @@ static int xhci_calculate_usb2_hw_lpm_pa
        return PORT_BESLD(besld) | PORT_L1_TIMEOUT(l1) | PORT_HIRDM(hirdm);
  }
  
@@ -298,7 +298,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
                        struct usb_device *udev, int enable)
  {
-@@ -4194,24 +4067,26 @@ static int xhci_check_usb2_port_capabili
+@@ -4197,24 +4070,26 @@ static int xhci_check_usb2_port_capabili
  int xhci_update_device(struct usb_hcd *hcd, struct usb_device *udev)
  {
        struct xhci_hcd *xhci = hcd_to_xhci(hcd);
index 37aba6da535609b71b35dcf4688a66043867128d..9fd23dfae9c91d0c1f591a7fd447273443802a01 100644 (file)
@@ -30,19 +30,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 0a073b843bcd9a660f76e497182aac97cafddc4c)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c |  58 +++++++++--
- drivers/gpu/drm/i915/i915_drv.h     |   5 +
- drivers/gpu/drm/i915/i915_irq.c     |   5 +-
- drivers/gpu/drm/i915/i915_reg.h     |  21 ++++
- drivers/gpu/drm/i915/i915_sysfs.c   |  71 +++++++++----
- drivers/gpu/drm/i915/intel_pm.c     | 199 ++++++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/i915/i915_debugfs.c |   58 ++++++++--
+ drivers/gpu/drm/i915/i915_drv.h     |    5 
+ drivers/gpu/drm/i915/i915_irq.c     |    5 
+ drivers/gpu/drm/i915/i915_reg.h     |   21 +++
+ drivers/gpu/drm/i915/i915_sysfs.c   |   71 +++++++++---
+ drivers/gpu/drm/i915/intel_pm.c     |  199 ++++++++++++++++++++++++++++++++++--
  6 files changed, 320 insertions(+), 39 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index e913d325d5b8..367b534d2260 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -941,7 +941,7 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
+@@ -941,7 +941,7 @@ static int i915_cur_delayinfo(struct seq
                           MEMSTAT_VID_SHIFT);
                seq_printf(m, "Current P-state: %d\n",
                           (rgvstat & MEMSTAT_PSTATE_MASK) >> MEMSTAT_PSTATE_SHIFT);
@@ -51,7 +49,7 @@ index e913d325d5b8..367b534d2260 100644
                u32 gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS);
                u32 rp_state_limits = I915_READ(GEN6_RP_STATE_LIMITS);
                u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP);
-@@ -1009,6 +1009,25 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
+@@ -1009,6 +1009,25 @@ static int i915_cur_delayinfo(struct seq
  
                seq_printf(m, "Max overclocked frequency: %dMHz\n",
                           dev_priv->rps.hw_max * GT_FREQUENCY_MULTIPLIER);
@@ -142,11 +140,9 @@ index e913d325d5b8..367b534d2260 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  
        return 0;
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 3be035a8a7b1..b32a0b18f003 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -1860,6 +1860,9 @@ extern void intel_disable_fbc(struct drm_device *dev);
+@@ -1860,6 +1860,9 @@ extern void intel_disable_fbc(struct drm
  extern bool ironlake_set_drps(struct drm_device *dev, u8 val);
  extern void intel_init_pch_refclk(struct drm_device *dev);
  extern void gen6_set_rps(struct drm_device *dev, u8 val);
@@ -156,7 +152,7 @@ index 3be035a8a7b1..b32a0b18f003 100644
  extern void intel_detect_pch(struct drm_device *dev);
  extern int intel_trans_dp_port_sel(struct drm_crtc *crtc);
  extern int intel_enable_rc6(const struct drm_device *dev);
-@@ -1891,6 +1894,8 @@ int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val)
+@@ -1891,6 +1894,8 @@ int sandybridge_pcode_read(struct drm_i9
  int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val);
  int valleyview_punit_read(struct drm_i915_private *dev_priv, u8 addr, u32 *val);
  int valleyview_punit_write(struct drm_i915_private *dev_priv, u8 addr, u32 val);
@@ -165,11 +161,9 @@ index 3be035a8a7b1..b32a0b18f003 100644
  int vlv_gpu_freq(int ddr_freq, int val);
  int vlv_freq_opcode(int ddr_freq, int val);
  
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index c939df03b229..11a8f81a7fd1 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -473,7 +473,10 @@ static void gen6_pm_rps_work(struct work_struct *work)
+@@ -473,7 +473,10 @@ static void gen6_pm_rps_work(struct work
         */
        if (!(new_delay > dev_priv->rps.max_delay ||
              new_delay < dev_priv->rps.min_delay)) {
@@ -181,11 +175,9 @@ index c939df03b229..11a8f81a7fd1 100644
        }
  
        mutex_unlock(&dev_priv->rps.hw_lock);
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index b1a0cdba59e7..acf0608cc761 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4315,6 +4315,7 @@
+@@ -4319,6 +4319,7 @@
  #define   GEN6_RC_CTL_RC6_ENABLE              (1<<18)
  #define   GEN6_RC_CTL_RC1e_ENABLE             (1<<20)
  #define   GEN6_RC_CTL_RC7_ENABLE              (1<<22)
@@ -193,7 +185,7 @@ index b1a0cdba59e7..acf0608cc761 100644
  #define   GEN6_RC_CTL_EI_MODE(x)              ((x)<<27)
  #define   GEN6_RC_CTL_HW_ENABLE                       (1<<31)
  #define GEN6_RP_DOWN_TIMEOUT                  0xA010
-@@ -4406,12 +4407,32 @@
+@@ -4410,12 +4411,32 @@
  #define   IOSF_BAR_SHIFT                      1
  #define   IOSF_SB_BUSY                                (1<<0)
  #define   IOSF_PORT_PUNIT                     0x4
@@ -226,11 +218,9 @@ index b1a0cdba59e7..acf0608cc761 100644
  #define GEN6_GT_CORE_STATUS           0x138060
  #define   GEN6_CORE_CPD_STATE_MASK    (7<<4)
  #define   GEN6_RCn_MASK                       7
-diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
-index d5e1890678f9..ca00df2de07b 100644
 --- a/drivers/gpu/drm/i915/i915_sysfs.c
 +++ b/drivers/gpu/drm/i915/i915_sysfs.c
-@@ -212,7 +212,10 @@ static ssize_t gt_cur_freq_mhz_show(struct device *kdev,
+@@ -212,7 +212,10 @@ static ssize_t gt_cur_freq_mhz_show(stru
        int ret;
  
        mutex_lock(&dev_priv->rps.hw_lock);
@@ -242,7 +232,7 @@ index d5e1890678f9..ca00df2de07b 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  
        return snprintf(buf, PAGE_SIZE, "%d\n", ret);
-@@ -226,7 +229,10 @@ static ssize_t gt_max_freq_mhz_show(struct device *kdev, struct device_attribute
+@@ -226,7 +229,10 @@ static ssize_t gt_max_freq_mhz_show(stru
        int ret;
  
        mutex_lock(&dev_priv->rps.hw_lock);
@@ -254,7 +244,7 @@ index d5e1890678f9..ca00df2de07b 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  
        return snprintf(buf, PAGE_SIZE, "%d\n", ret);
-@@ -246,16 +252,25 @@ static ssize_t gt_max_freq_mhz_store(struct device *kdev,
+@@ -246,16 +252,25 @@ static ssize_t gt_max_freq_mhz_store(str
        if (ret)
                return ret;
  
@@ -274,20 +264,20 @@ index d5e1890678f9..ca00df2de07b 100644
 +              non_oc_max = hw_max;
 +      } else {
 +              val /= GT_FREQUENCY_MULTIPLIER;
--      if (val < hw_min || val > hw_max || val < dev_priv->rps.min_delay) {
++
 +              rp_state_cap = I915_READ(GEN6_RP_STATE_CAP);
 +              hw_max = dev_priv->rps.hw_max;
 +              non_oc_max = (rp_state_cap & 0xff);
 +              hw_min = ((rp_state_cap & 0xff0000) >> 16);
 +      }
-+
+-      if (val < hw_min || val > hw_max || val < dev_priv->rps.min_delay) {
 +      if (val < hw_min || val > hw_max ||
 +          val < dev_priv->rps.min_delay) {
                mutex_unlock(&dev_priv->rps.hw_lock);
                return -EINVAL;
        }
-@@ -264,8 +279,12 @@ static ssize_t gt_max_freq_mhz_store(struct device *kdev,
+@@ -264,8 +279,12 @@ static ssize_t gt_max_freq_mhz_store(str
                DRM_DEBUG("User requested overclocking to %d\n",
                          val * GT_FREQUENCY_MULTIPLIER);
  
@@ -302,7 +292,7 @@ index d5e1890678f9..ca00df2de07b 100644
  
        dev_priv->rps.max_delay = val;
  
-@@ -282,7 +301,10 @@ static ssize_t gt_min_freq_mhz_show(struct device *kdev, struct device_attribute
+@@ -282,7 +301,10 @@ static ssize_t gt_min_freq_mhz_show(stru
        int ret;
  
        mutex_lock(&dev_priv->rps.hw_lock);
@@ -314,7 +304,7 @@ index d5e1890678f9..ca00df2de07b 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  
        return snprintf(buf, PAGE_SIZE, "%d\n", ret);
-@@ -302,21 +324,32 @@ static ssize_t gt_min_freq_mhz_store(struct device *kdev,
+@@ -302,21 +324,32 @@ static ssize_t gt_min_freq_mhz_store(str
        if (ret)
                return ret;
  
@@ -354,11 +344,9 @@ index d5e1890678f9..ca00df2de07b 100644
  
        dev_priv->rps.min_delay = val;
  
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 746990fd1bd4..ca43c4e33c45 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -2481,6 +2481,52 @@ void gen6_set_rps(struct drm_device *dev, u8 val)
+@@ -2481,6 +2481,52 @@ void gen6_set_rps(struct drm_device *dev
        trace_intel_gpu_freq_change(val * 50);
  }
  
@@ -411,7 +399,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
  static void gen6_disable_rps(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -2742,6 +2788,127 @@ static void gen6_update_ring_freq(struct drm_device *dev)
+@@ -2742,6 +2788,127 @@ static void gen6_update_ring_freq(struct
        }
  }
  
@@ -539,7 +527,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
  void ironlake_teardown_rc6(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -3468,7 +3635,7 @@ void intel_disable_gt_powersave(struct drm_device *dev)
+@@ -3468,7 +3635,7 @@ void intel_disable_gt_powersave(struct d
        if (IS_IRONLAKE_M(dev)) {
                ironlake_disable_drps(dev);
                ironlake_disable_rc6(dev);
@@ -548,7 +536,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
                cancel_delayed_work_sync(&dev_priv->rps.delayed_resume_work);
                mutex_lock(&dev_priv->rps.hw_lock);
                gen6_disable_rps(dev);
-@@ -3484,8 +3651,13 @@ static void intel_gen6_powersave_work(struct work_struct *work)
+@@ -3484,8 +3651,13 @@ static void intel_gen6_powersave_work(st
        struct drm_device *dev = dev_priv->dev;
  
        mutex_lock(&dev_priv->rps.hw_lock);
@@ -564,7 +552,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  }
  
-@@ -3497,7 +3669,7 @@ void intel_enable_gt_powersave(struct drm_device *dev)
+@@ -3497,7 +3669,7 @@ void intel_enable_gt_powersave(struct dr
                ironlake_enable_drps(dev);
                ironlake_enable_rc6(dev);
                intel_init_emon(dev);
@@ -573,7 +561,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
                /*
                 * PCU communication is slow and this doesn't need to be
                 * done at any specific time, so do this out of our fast path
-@@ -4603,14 +4775,13 @@ int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val)
+@@ -4603,14 +4775,13 @@ int sandybridge_pcode_write(struct drm_i
        return 0;
  }
  
@@ -590,7 +578,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
        devfn = PCI_DEVFN(2, 0);
  
        cmd = (devfn << IOSF_DEVFN_SHIFT) | (opcode << IOSF_OPCODE_SHIFT) |
-@@ -4632,7 +4803,7 @@ static int vlv_punit_rw(struct drm_i915_private *dev_priv, u8 opcode,
+@@ -4632,7 +4803,7 @@ static int vlv_punit_rw(struct drm_i915_
        I915_WRITE(VLV_IOSF_DOORBELL_REQ, cmd);
  
        if (wait_for((I915_READ(VLV_IOSF_DOORBELL_REQ) & IOSF_SB_BUSY) == 0,
@@ -599,7 +587,7 @@ index 746990fd1bd4..ca43c4e33c45 100644
                DRM_ERROR("timeout waiting for pcode %s (%d) to finish\n",
                          opcode == PUNIT_OPCODE_REG_READ ? "read" : "write",
                          addr);
-@@ -4648,12 +4819,20 @@ static int vlv_punit_rw(struct drm_i915_private *dev_priv, u8 opcode,
+@@ -4648,12 +4819,20 @@ static int vlv_punit_rw(struct drm_i915_
  
  int valleyview_punit_read(struct drm_i915_private *dev_priv, u8 addr, u32 *val)
  {
@@ -622,6 +610,3 @@ index 746990fd1bd4..ca43c4e33c45 100644
  }
  
  int vlv_gpu_freq(int ddr_freq, int val)
--- 
-1.8.5.rc3
-
index 416046abc41ddd9700c297daf96cfb73ae1d0ba0..cb9531237e04482c94f64c5aeea8b788f0b9c9a6 100644 (file)
@@ -53,17 +53,15 @@ Conflicts:
        drivers/gpu/drm/i915/intel_display.c
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 235 +++++++++++++++++++++++++++--------
- drivers/gpu/drm/i915/intel_dp.c      |  69 +++++++++-
- drivers/gpu/drm/i915/intel_drv.h     |  14 +++
- drivers/gpu/drm/i915/intel_hdmi.c    | 108 ++++++++++++++++
+ drivers/gpu/drm/i915/intel_display.c |  235 ++++++++++++++++++++++++++---------
+ drivers/gpu/drm/i915/intel_dp.c      |   69 +++++++++-
+ drivers/gpu/drm/i915/intel_drv.h     |   14 ++
+ drivers/gpu/drm/i915/intel_hdmi.c    |  108 ++++++++++++++++
  4 files changed, 369 insertions(+), 57 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 9a284ac81c34..913860931245 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -1576,6 +1576,20 @@ intel_sbi_read(struct drm_i915_private *dev_priv, u16 reg,
+@@ -1576,6 +1576,20 @@ intel_sbi_read(struct drm_i915_private *
        return I915_READ(SBI_DATA);
  }
  
@@ -84,7 +82,7 @@ index 9a284ac81c34..913860931245 100644
  /**
   * ironlake_enable_pch_pll - enable PCH PLL
   * @dev_priv: i915 private structure
-@@ -3678,6 +3692,52 @@ g4x_fixup_plane(struct drm_i915_private *dev_priv, enum pipe pipe)
+@@ -3678,6 +3692,52 @@ g4x_fixup_plane(struct drm_i915_private
        }
  }
  
@@ -137,7 +135,7 @@ index 9a284ac81c34..913860931245 100644
  static void i9xx_crtc_enable(struct drm_crtc *crtc)
  {
        struct drm_device *dev = crtc->dev;
-@@ -3766,6 +3826,10 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)
+@@ -3766,6 +3826,10 @@ static void i9xx_crtc_disable(struct drm
  
        i9xx_pfit_disable(intel_crtc);
  
@@ -148,7 +146,7 @@ index 9a284ac81c34..913860931245 100644
        intel_disable_pll(dev_priv, pipe);
  
        intel_crtc->active = false;
-@@ -4214,6 +4278,34 @@ static void i9xx_update_pll_dividers(struct intel_crtc *crtc,
+@@ -4214,6 +4278,34 @@ static void i9xx_update_pll_dividers(str
        }
  }
  
@@ -183,7 +181,7 @@ index 9a284ac81c34..913860931245 100644
  static void intel_dp_set_m_n(struct intel_crtc *crtc)
  {
        if (crtc->config.has_pch_encoder)
-@@ -4226,24 +4318,18 @@ static void vlv_update_pll(struct intel_crtc *crtc)
+@@ -4226,24 +4318,18 @@ static void vlv_update_pll(struct intel_
  {
        struct drm_device *dev = crtc->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -215,7 +213,7 @@ index 9a284ac81c34..913860931245 100644
  
        bestn = crtc->config.dpll.n;
        bestm1 = crtc->config.dpll.m1;
-@@ -4251,71 +4337,105 @@ static void vlv_update_pll(struct intel_crtc *crtc)
+@@ -4251,72 +4337,106 @@ static void vlv_update_pll(struct intel_
        bestp1 = crtc->config.dpll.p1;
        bestp2 = crtc->config.dpll.p2;
  
@@ -246,22 +244,16 @@ index 9a284ac81c34..913860931245 100644
        mdiv |= ((bestn << DPIO_N_SHIFT));
 -      mdiv |= (1 << DPIO_POST_DIV_SHIFT);
        mdiv |= (1 << DPIO_K_SHIFT);
--      mdiv |= DPIO_ENABLE_CALIBRATION;
 +      if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_HDMI) ||
 +          intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP) ||
 +          intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_DISPLAYPORT))
 +              mdiv |= (DPIO_POST_DIV_HDMIDP << DPIO_POST_DIV_SHIFT);
++      intel_dpio_write(dev_priv, DPIO_DIV(pipe), mdiv);
++
+       mdiv |= DPIO_ENABLE_CALIBRATION;
        intel_dpio_write(dev_priv, DPIO_DIV(pipe), mdiv);
  
 -      intel_dpio_write(dev_priv, DPIO_CORE_CLK(pipe), 0x01000000);
-+      mdiv |= DPIO_ENABLE_CALIBRATION;
-+      intel_dpio_write(dev_priv, DPIO_DIV(pipe), mdiv);
--      pdiv = (1 << DPIO_REFSEL_OVERRIDE) | (5 << DPIO_PLL_MODESEL_SHIFT) |
--              (3 << DPIO_BIAS_CURRENT_CTL_SHIFT) | (1<<20) |
--              (7 << DPIO_PLL_REFCLK_SEL_SHIFT) | (8 << DPIO_DRIVER_CTL_SHIFT) |
--              (5 << DPIO_CLK_BIAS_CTL_SHIFT);
--      intel_dpio_write(dev_priv, DPIO_REFSFR(pipe), pdiv);
 +      /* Set HBR and RBR LPF coefficients */
 +      if (adjusted_mode->clock == 162000 ||
 +          intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_HDMI))
@@ -270,7 +262,12 @@ index 9a284ac81c34..913860931245 100644
 +      else
 +              intel_dpio_write(dev_priv, DPIO_LFP_COEFF(pipe),
 +                               0x00d0000f);
-+
+-      pdiv = (1 << DPIO_REFSEL_OVERRIDE) | (5 << DPIO_PLL_MODESEL_SHIFT) |
+-              (3 << DPIO_BIAS_CURRENT_CTL_SHIFT) | (1<<20) |
+-              (7 << DPIO_PLL_REFCLK_SEL_SHIFT) | (8 << DPIO_DRIVER_CTL_SHIFT) |
+-              (5 << DPIO_CLK_BIAS_CTL_SHIFT);
+-      intel_dpio_write(dev_priv, DPIO_REFSFR(pipe), pdiv);
 +      if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP) ||
 +          intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_DISPLAYPORT)) {
 +              /* Use SSC source */
@@ -347,22 +344,24 @@ index 9a284ac81c34..913860931245 100644
 -              if(pipe == 1)
 -                      temp |= (1 << 21);
 -              intel_dpio_write(dev_priv, DPIO_DATA_CHANNEL1, temp);
-+              I915_WRITE(DPLL_MD(pipe), temp);
-+              POSTING_READ(DPLL_MD(pipe));
-       }
+-      }
+-
 -      if(intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP)) {
 -              temp = 0x1000C4;
 -              if(pipe == 1)
 -                      temp |= (1 << 21);
 -              intel_dpio_write(dev_priv, DPIO_DATA_CHANNEL2, temp);
--      }
++              I915_WRITE(DPLL_MD(pipe), temp);
++              POSTING_READ(DPLL_MD(pipe));
+       }
 +      if (crtc->config.has_dp_encoder)
 +              intel_dp_set_m_n(crtc);
++
        mutex_unlock(&dev_priv->dpio_lock);
  }
-@@ -8792,6 +8912,13 @@ static void intel_init_display(struct drm_device *dev)
+@@ -8792,6 +8912,13 @@ static void intel_init_display(struct dr
                dev_priv->display.crtc_disable = ironlake_crtc_disable;
                dev_priv->display.off = ironlake_crtc_off;
                dev_priv->display.update_plane = ironlake_update_plane;
@@ -376,11 +375,9 @@ index 9a284ac81c34..913860931245 100644
        } else {
                dev_priv->display.get_pipe_config = i9xx_get_pipe_config;
                dev_priv->display.crtc_mode_set = i9xx_crtc_mode_set;
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index cd460c90e4aa..415caad2b10f 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1392,15 +1392,77 @@ static void intel_enable_dp(struct intel_encoder *encoder)
+@@ -1392,15 +1392,77 @@ static void intel_enable_dp(struct intel
        intel_dp_complete_link_train(intel_dp);
        intel_dp_stop_link_train(intel_dp);
        ironlake_edp_backlight_on(intel_dp);
@@ -458,7 +455,7 @@ index cd460c90e4aa..415caad2b10f 100644
  }
  
  /*
-@@ -1544,6 +1606,8 @@ static uint32_t intel_vlv_signal_levels(struct intel_dp *intel_dp)
+@@ -1544,6 +1606,8 @@ static uint32_t intel_vlv_signal_levels(
        else
                BUG();
  
@@ -467,7 +464,7 @@ index cd460c90e4aa..415caad2b10f 100644
        switch (train_set & DP_TRAIN_PRE_EMPHASIS_MASK) {
        case DP_TRAIN_PRE_EMPHASIS_0:
                preemph_reg_value = 0x0004000;
-@@ -1617,8 +1681,6 @@ static uint32_t intel_vlv_signal_levels(struct intel_dp *intel_dp)
+@@ -1617,8 +1681,6 @@ static uint32_t intel_vlv_signal_levels(
                return 0;
        }
  
@@ -476,7 +473,7 @@ index cd460c90e4aa..415caad2b10f 100644
        intel_dpio_write(dev_priv, DPIO_TX_OCALINIT(port), 0x00000000);
        intel_dpio_write(dev_priv, DPIO_TX_SWING_CTL4(port), demph_reg_value);
        intel_dpio_write(dev_priv, DPIO_TX_SWING_CTL2(port),
-@@ -1627,7 +1689,6 @@ static uint32_t intel_vlv_signal_levels(struct intel_dp *intel_dp)
+@@ -1627,7 +1689,6 @@ static uint32_t intel_vlv_signal_levels(
        intel_dpio_write(dev_priv, DPIO_PCS_STAGGER0(port), 0x00030000);
        intel_dpio_write(dev_priv, DPIO_PCS_CTL_OVER1(port), preemph_reg_value);
        intel_dpio_write(dev_priv, DPIO_TX_OCALINIT(port), 0x80000000);
@@ -484,7 +481,7 @@ index cd460c90e4aa..415caad2b10f 100644
  
        return 0;
  }
-@@ -3119,6 +3180,8 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
+@@ -3135,6 +3196,8 @@ intel_dp_init(struct drm_device *dev, in
        intel_encoder->disable = intel_disable_dp;
        intel_encoder->post_disable = intel_post_disable_dp;
        intel_encoder->get_hw_state = intel_dp_get_hw_state;
@@ -493,8 +490,6 @@ index cd460c90e4aa..415caad2b10f 100644
  
        intel_dig_port->port = port;
        intel_dig_port->dp.output_reg = output_reg;
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 4b8bec2ca2ab..310899f4c3b5 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -431,6 +431,19 @@ struct intel_digital_port {
@@ -517,7 +512,7 @@ index 4b8bec2ca2ab..310899f4c3b5 100644
  static inline struct drm_crtc *
  intel_get_crtc_for_pipe(struct drm_device *dev, int pipe)
  {
-@@ -607,6 +620,7 @@ intel_pipe_to_cpu_transcoder(struct drm_i915_private *dev_priv,
+@@ -607,6 +620,7 @@ intel_pipe_to_cpu_transcoder(struct drm_
  extern void intel_wait_for_vblank(struct drm_device *dev, int pipe);
  extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe);
  extern int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp);
@@ -525,11 +520,9 @@ index 4b8bec2ca2ab..310899f4c3b5 100644
  
  struct intel_load_detect_pipe {
        struct drm_framebuffer *release_fb;
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index a9057930f2b2..075b7d83d9f5 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -697,6 +697,14 @@ static void intel_enable_hdmi(struct intel_encoder *encoder)
+@@ -697,6 +697,14 @@ static void intel_enable_hdmi(struct int
                I915_WRITE(intel_hdmi->hdmi_reg, temp);
                POSTING_READ(intel_hdmi->hdmi_reg);
        }
@@ -646,7 +639,7 @@ index a9057930f2b2..075b7d83d9f5 100644
  static void intel_hdmi_destroy(struct drm_connector *connector)
  {
        drm_sysfs_connector_remove(connector);
-@@ -1094,6 +1197,11 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
+@@ -1094,6 +1197,11 @@ void intel_hdmi_init(struct drm_device *
        intel_encoder->enable = intel_enable_hdmi;
        intel_encoder->disable = intel_disable_hdmi;
        intel_encoder->get_hw_state = intel_hdmi_get_hw_state;
@@ -658,6 +651,3 @@ index a9057930f2b2..075b7d83d9f5 100644
  
        intel_encoder->type = INTEL_OUTPUT_HDMI;
        intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2);
--- 
-1.8.5.rc3
-
index e3edcade2883f8479c1ea62822829822591cd7f2..f191d475a1ff05400b9ed210ce8021e8fb7a7aec 100644 (file)
@@ -31,17 +31,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 8664281b64c457705db72fc60143d03827e75ca9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c      | 315 ++++++++++++++++++++++++++++++++++-
- drivers/gpu/drm/i915/i915_reg.h      |  13 +-
- drivers/gpu/drm/i915/intel_display.c |  14 ++
- drivers/gpu/drm/i915/intel_drv.h     |  11 ++
+ drivers/gpu/drm/i915/i915_irq.c      |  315 ++++++++++++++++++++++++++++++++++-
+ drivers/gpu/drm/i915/i915_reg.h      |   13 +
+ drivers/gpu/drm/i915/intel_display.c |   14 +
+ drivers/gpu/drm/i915/intel_drv.h     |   11 +
  4 files changed, 342 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 11a8f81a7fd1..859727d34c2c 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -103,6 +103,213 @@ ironlake_disable_display_irq(drm_i915_private_t *dev_priv, u32 mask)
+@@ -103,6 +103,213 @@ ironlake_disable_display_irq(drm_i915_pr
        }
  }
  
@@ -255,7 +253,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
  void
  i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask)
  {
-@@ -791,10 +998,58 @@ static void ibx_irq_handler(struct drm_device *dev, u32 pch_iir)
+@@ -791,10 +998,58 @@ static void ibx_irq_handler(struct drm_d
        if (pch_iir & (SDE_TRANSB_CRC_ERR | SDE_TRANSA_CRC_ERR))
                DRM_DEBUG_DRIVER("PCH transcoder CRC error interrupt\n");
  
@@ -317,7 +315,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
  }
  
  static void cpt_irq_handler(struct drm_device *dev, u32 pch_iir)
-@@ -832,6 +1087,9 @@ static void cpt_irq_handler(struct drm_device *dev, u32 pch_iir)
+@@ -832,6 +1087,9 @@ static void cpt_irq_handler(struct drm_d
                        DRM_DEBUG_DRIVER("  pipe %c FDI IIR: 0x%08x\n",
                                         pipe_name(pipe),
                                         I915_READ(FDI_RX_IIR(pipe)));
@@ -327,7 +325,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
  }
  
  static irqreturn_t ivybridge_irq_handler(int irq, void *arg)
-@@ -844,6 +1102,14 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg)
+@@ -844,6 +1102,14 @@ static irqreturn_t ivybridge_irq_handler
  
        atomic_inc(&dev_priv->irq_received);
  
@@ -342,7 +340,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
        /* disable master interrupt before clearing iir  */
        de_ier = I915_READ(DEIER);
        I915_WRITE(DEIER, de_ier & ~DE_MASTER_IRQ_CONTROL);
-@@ -859,6 +1125,12 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg)
+@@ -859,6 +1125,12 @@ static irqreturn_t ivybridge_irq_handler
                POSTING_READ(SDEIER);
        }
  
@@ -355,7 +353,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
        gt_iir = I915_READ(GTIIR);
        if (gt_iir) {
                snb_gt_irq_handler(dev, dev_priv, gt_iir);
-@@ -868,6 +1140,9 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg)
+@@ -868,6 +1140,9 @@ static irqreturn_t ivybridge_irq_handler
  
        de_iir = I915_READ(DEIIR);
        if (de_iir) {
@@ -365,7 +363,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
                if (de_iir & DE_AUX_CHANNEL_A_IVB)
                        dp_aux_irq_handler(dev);
  
-@@ -905,6 +1180,9 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg)
+@@ -905,6 +1180,9 @@ static irqreturn_t ivybridge_irq_handler
                ret = IRQ_HANDLED;
        }
  
@@ -375,7 +373,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
        I915_WRITE(DEIER, de_ier);
        POSTING_READ(DEIER);
        if (!HAS_PCH_NOP(dev)) {
-@@ -974,6 +1252,14 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg)
+@@ -974,6 +1252,14 @@ static irqreturn_t ironlake_irq_handler(
        if (de_iir & DE_PIPEB_VBLANK)
                drm_handle_vblank(dev, 1);
  
@@ -390,7 +388,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
        if (de_iir & DE_PLANEA_FLIP_DONE) {
                intel_prepare_page_flip(dev, 0);
                intel_finish_page_flip_plane(dev, 0);
-@@ -2245,10 +2531,14 @@ static void ibx_irq_postinstall(struct drm_device *dev)
+@@ -2245,10 +2531,14 @@ static void ibx_irq_postinstall(struct d
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
        u32 mask;
  
@@ -409,7 +407,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
  
        if (HAS_PCH_NOP(dev))
                return;
-@@ -2263,7 +2553,8 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
+@@ -2263,7 +2553,8 @@ static int ironlake_irq_postinstall(stru
        /* enable kind of interrupts always enabled */
        u32 display_mask = DE_MASTER_IRQ_CONTROL | DE_GSE | DE_PCH_EVENT |
                           DE_PLANEA_FLIP_DONE | DE_PLANEB_FLIP_DONE |
@@ -419,7 +417,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
        u32 render_irqs;
  
        dev_priv->irq_mask = ~display_mask;
-@@ -2313,12 +2604,14 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2313,12 +2604,14 @@ static int ivybridge_irq_postinstall(str
                DE_PLANEC_FLIP_DONE_IVB |
                DE_PLANEB_FLIP_DONE_IVB |
                DE_PLANEA_FLIP_DONE_IVB |
@@ -435,7 +433,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
        I915_WRITE(DEIIR, I915_READ(DEIIR));
        I915_WRITE(DEIMR, dev_priv->irq_mask);
        I915_WRITE(DEIER,
-@@ -2446,6 +2739,8 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
+@@ -2446,6 +2739,8 @@ static void ironlake_irq_uninstall(struc
        I915_WRITE(DEIMR, 0xffffffff);
        I915_WRITE(DEIER, 0x0);
        I915_WRITE(DEIIR, I915_READ(DEIIR));
@@ -444,7 +442,7 @@ index 11a8f81a7fd1..859727d34c2c 100644
  
        I915_WRITE(GTIMR, 0xffffffff);
        I915_WRITE(GTIER, 0x0);
-@@ -2457,6 +2752,8 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
+@@ -2457,6 +2752,8 @@ static void ironlake_irq_uninstall(struc
        I915_WRITE(SDEIMR, 0xffffffff);
        I915_WRITE(SDEIER, 0x0);
        I915_WRITE(SDEIIR, I915_READ(SDEIIR));
@@ -453,8 +451,6 @@ index 11a8f81a7fd1..859727d34c2c 100644
  }
  
  static void i8xx_irq_preinstall(struct drm_device * dev)
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index a5fe3ba7d00d..b76679e401d2 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -638,7 +638,10 @@
@@ -469,7 +465,7 @@ index a5fe3ba7d00d..b76679e401d2 100644
  
  #define FPGA_DBG              0x42300
  #define   FPGA_DBG_RM_NOCLAIM (1<<31)
-@@ -3622,7 +3625,7 @@
+@@ -3626,7 +3629,7 @@
  #define DE_PIPEA_FIFO_UNDERRUN  (1 << 0)
  
  /* More Ivybridge lolz */
@@ -478,7 +474,7 @@ index a5fe3ba7d00d..b76679e401d2 100644
  #define DE_GSE_IVB                    (1<<29)
  #define DE_PCH_EVENT_IVB              (1<<28)
  #define DE_DP_A_HOTPLUG_IVB           (1<<27)
-@@ -3781,6 +3784,7 @@
+@@ -3785,6 +3788,7 @@
                                 SDE_PORTC_HOTPLUG_CPT |        \
                                 SDE_PORTB_HOTPLUG_CPT)
  #define SDE_GMBUS_CPT         (1 << 17)
@@ -486,7 +482,7 @@ index a5fe3ba7d00d..b76679e401d2 100644
  #define SDE_AUDIO_CP_REQ_C_CPT        (1 << 10)
  #define SDE_AUDIO_CP_CHG_C_CPT        (1 << 9)
  #define SDE_FDI_RXC_CPT               (1 << 8)
-@@ -3805,6 +3809,11 @@
+@@ -3809,6 +3813,11 @@
  #define SDEIIR  0xc4008
  #define SDEIER  0xc400c
  
@@ -498,11 +494,9 @@ index a5fe3ba7d00d..b76679e401d2 100644
  /* digital port hotplug */
  #define PCH_PORT_HOTPLUG        0xc4030               /* SHOTPLUG_CTL */
  #define PORTD_HOTPLUG_ENABLE            (1 << 20)
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 913860931245..212fb82e0f31 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -3346,6 +3346,10 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
+@@ -3346,6 +3346,10 @@ static void ironlake_crtc_enable(struct
                return;
  
        intel_crtc->active = true;
@@ -513,7 +507,7 @@ index 913860931245..212fb82e0f31 100644
        intel_update_watermarks(dev);
  
        if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) {
-@@ -3437,6 +3441,11 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
+@@ -3437,6 +3441,11 @@ static void haswell_crtc_enable(struct d
                return;
  
        intel_crtc->active = true;
@@ -525,7 +519,7 @@ index 913860931245..212fb82e0f31 100644
        intel_update_watermarks(dev);
  
        if (intel_crtc->config.has_pch_encoder)
-@@ -3523,6 +3532,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
+@@ -3523,6 +3532,7 @@ static void ironlake_crtc_disable(struct
        if (dev_priv->cfb_plane == plane)
                intel_disable_fbc(dev);
  
@@ -533,7 +527,7 @@ index 913860931245..212fb82e0f31 100644
        intel_disable_pipe(dev_priv, pipe);
  
        /* Disable PF */
-@@ -3536,6 +3546,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
+@@ -3536,6 +3546,7 @@ static void ironlake_crtc_disable(struct
        ironlake_fdi_disable(crtc);
  
        ironlake_disable_pch_transcoder(dev_priv, pipe);
@@ -541,7 +535,7 @@ index 913860931245..212fb82e0f31 100644
  
        if (HAS_PCH_CPT(dev)) {
                /* disable TRANS_DP_CTL */
-@@ -3602,6 +3613,8 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
+@@ -3602,6 +3613,8 @@ static void haswell_crtc_disable(struct
        if (dev_priv->cfb_plane == plane)
                intel_disable_fbc(dev);
  
@@ -550,7 +544,7 @@ index 913860931245..212fb82e0f31 100644
        intel_disable_pipe(dev_priv, pipe);
  
        intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder);
-@@ -3622,6 +3635,7 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
+@@ -3622,6 +3635,7 @@ static void haswell_crtc_disable(struct
  
        if (intel_crtc->config.has_pch_encoder) {
                lpt_disable_pch_transcoder(dev_priv);
@@ -558,8 +552,6 @@ index 913860931245..212fb82e0f31 100644
                intel_ddi_fdi_disable(crtc);
        }
  
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 310899f4c3b5..3976eadbb4b6 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -265,6 +265,10 @@ struct intel_crtc {
@@ -573,7 +565,7 @@ index 310899f4c3b5..3976eadbb4b6 100644
  };
  
  struct intel_plane {
-@@ -487,6 +491,7 @@ int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
+@@ -487,6 +491,7 @@ int intel_ddc_get_modes(struct drm_conne
  extern void intel_attach_force_audio_property(struct drm_connector *connector);
  extern void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
  
@@ -581,7 +573,7 @@ index 310899f4c3b5..3976eadbb4b6 100644
  extern void intel_crt_init(struct drm_device *dev);
  extern void intel_hdmi_init(struct drm_device *dev,
                            int hdmi_reg, enum port port);
-@@ -744,5 +749,11 @@ intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
+@@ -744,5 +749,11 @@ intel_ddi_connector_get_hw_state(struct
  extern void intel_ddi_fdi_disable(struct drm_crtc *crtc);
  
  extern void intel_display_handle_reset(struct drm_device *dev);
@@ -593,6 +585,3 @@ index 310899f4c3b5..3976eadbb4b6 100644
 +                                               bool enable);
  
  #endif /* __INTEL_DRV_H__ */
--- 
-1.8.5.rc3
-
index 219286d5ba6e7136ac8c90e5077cf2ae93638631..3cb65f9f08a814e231c368c697a9ec8d7f377e17 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit de032bf40a52dbbada11e071d150d2c062b5527e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c | 13 +++++++++++--
- drivers/gpu/drm/i915/i915_reg.h |  2 ++
+ drivers/gpu/drm/i915/i915_irq.c |   13 +++++++++++--
+ drivers/gpu/drm/i915/i915_reg.h |    2 ++
  2 files changed, 13 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 859727d34c2c..450a03c6f945 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -1014,6 +1014,9 @@ static void ivb_err_int_handler(struct drm_device *dev)
+@@ -1014,6 +1014,9 @@ static void ivb_err_int_handler(struct d
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 err_int = I915_READ(GEN7_ERR_INT);
  
@@ -31,7 +29,7 @@ index 859727d34c2c..450a03c6f945 100644
        if (err_int & ERR_INT_FIFO_UNDERRUN_A)
                if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_A, false))
                        DRM_DEBUG_DRIVER("Pipe A FIFO underrun\n");
-@@ -1034,6 +1037,9 @@ static void cpt_serr_int_handler(struct drm_device *dev)
+@@ -1034,6 +1037,9 @@ static void cpt_serr_int_handler(struct
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 serr_int = I915_READ(SERR_INT);
  
@@ -41,7 +39,7 @@ index 859727d34c2c..450a03c6f945 100644
        if (serr_int & SERR_INT_TRANS_A_FIFO_UNDERRUN)
                if (intel_set_pch_fifo_underrun_reporting(dev, TRANSCODER_A,
                                                          false))
-@@ -1252,6 +1258,9 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg)
+@@ -1252,6 +1258,9 @@ static irqreturn_t ironlake_irq_handler(
        if (de_iir & DE_PIPEB_VBLANK)
                drm_handle_vblank(dev, 1);
  
@@ -51,7 +49,7 @@ index 859727d34c2c..450a03c6f945 100644
        if (de_iir & DE_PIPEA_FIFO_UNDERRUN)
                if (intel_set_cpu_fifo_underrun_reporting(dev, PIPE_A, false))
                        DRM_DEBUG_DRIVER("Pipe A FIFO underrun\n");
-@@ -2533,7 +2542,7 @@ static void ibx_irq_postinstall(struct drm_device *dev)
+@@ -2533,7 +2542,7 @@ static void ibx_irq_postinstall(struct d
  
        if (HAS_PCH_IBX(dev)) {
                mask = SDE_GMBUS | SDE_AUX_MASK | SDE_TRANSB_FIFO_UNDER |
@@ -60,7 +58,7 @@ index 859727d34c2c..450a03c6f945 100644
        } else {
                mask = SDE_GMBUS_CPT | SDE_AUX_MASK_CPT | SDE_ERROR_CPT;
  
-@@ -2554,7 +2563,7 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
+@@ -2554,7 +2563,7 @@ static int ironlake_irq_postinstall(stru
        u32 display_mask = DE_MASTER_IRQ_CONTROL | DE_GSE | DE_PCH_EVENT |
                           DE_PLANEA_FLIP_DONE | DE_PLANEB_FLIP_DONE |
                           DE_AUX_CHANNEL_A | DE_PIPEB_FIFO_UNDERRUN |
@@ -69,8 +67,6 @@ index 859727d34c2c..450a03c6f945 100644
        u32 render_irqs;
  
        dev_priv->irq_mask = ~display_mask;
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index b76679e401d2..5a7a694121ec 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -638,6 +638,7 @@
@@ -81,7 +77,7 @@ index b76679e401d2..5a7a694121ec 100644
  #define   ERR_INT_MMIO_UNCLAIMED      (1<<13)
  #define   ERR_INT_FIFO_UNDERRUN_C     (1<<6)
  #define   ERR_INT_FIFO_UNDERRUN_B     (1<<3)
-@@ -3810,6 +3811,7 @@
+@@ -3814,6 +3815,7 @@
  #define SDEIER  0xc400c
  
  #define SERR_INT                      0xc4040
@@ -89,6 +85,3 @@ index b76679e401d2..5a7a694121ec 100644
  #define  SERR_INT_TRANS_C_FIFO_UNDERRUN       (1<<6)
  #define  SERR_INT_TRANS_B_FIFO_UNDERRUN       (1<<3)
  #define  SERR_INT_TRANS_A_FIFO_UNDERRUN       (1<<0)
--- 
-1.8.5.rc3
-
index b2462ad5e1ad9b6d92ac9708b531c39e5efd2f83..39fbf7f8a1d40f3881f87079f9cf72d415e24fcf 100644 (file)
@@ -14,14 +14,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 29a397ba7a4bded235c79f050753637cad3409ff)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 7 +++----
+ drivers/gpu/drm/i915/i915_reg.h |    7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 5a7a694121ec..14cd707265b9 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4939,6 +4939,9 @@
+@@ -4943,6 +4943,9 @@
  #define _PIPE_A_CSC_COEFF_RV_GV       0x49020
  #define _PIPE_A_CSC_COEFF_BV  0x49024
  #define _PIPE_A_CSC_MODE      0x49028
@@ -31,7 +29,7 @@ index 5a7a694121ec..14cd707265b9 100644
  #define _PIPE_A_CSC_PREOFF_HI 0x49030
  #define _PIPE_A_CSC_PREOFF_ME 0x49034
  #define _PIPE_A_CSC_PREOFF_LO 0x49038
-@@ -4960,10 +4963,6 @@
+@@ -4964,10 +4967,6 @@
  #define _PIPE_B_CSC_POSTOFF_ME        0x49144
  #define _PIPE_B_CSC_POSTOFF_LO        0x49148
  
@@ -42,6 +40,3 @@ index 5a7a694121ec..14cd707265b9 100644
  #define PIPE_CSC_COEFF_RY_GY(pipe) _PIPE(pipe, _PIPE_A_CSC_COEFF_RY_GY, _PIPE_B_CSC_COEFF_RY_GY)
  #define PIPE_CSC_COEFF_BY(pipe) _PIPE(pipe, _PIPE_A_CSC_COEFF_BY, _PIPE_B_CSC_COEFF_BY)
  #define PIPE_CSC_COEFF_RU_GU(pipe) _PIPE(pipe, _PIPE_A_CSC_COEFF_RU_GU, _PIPE_B_CSC_COEFF_RU_GU)
--- 
-1.8.5.rc3
-
index ee89afa63921a9429ece400df48a21d899b3456f..70bf8f08ebd4abf8df3b12530d22cac5446e2655 100644 (file)
@@ -11,15 +11,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 35ffda4883a8d3f75632d7389dc96a25640033f0)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h    | 4 ++++
- drivers/gpu/drm/i915/intel_panel.c | 7 ++++++-
+ drivers/gpu/drm/i915/i915_reg.h    |    4 ++++
+ drivers/gpu/drm/i915/intel_panel.c |    7 ++++++-
  2 files changed, 10 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 14cd707265b9..8fff456c1c87 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2091,6 +2091,10 @@
+@@ -2095,6 +2095,10 @@
  #define   BLM_PIPE_A                  (0 << 29)
  #define   BLM_PIPE_B                  (1 << 29)
  #define   BLM_PIPE_C                  (2 << 29) /* ivb + */
@@ -30,11 +28,9 @@ index 14cd707265b9..8fff456c1c87 100644
  #define   BLM_PIPE(pipe)              ((pipe) << 29)
  #define   BLM_POLARITY_I965           (1 << 28) /* gen4 only */
  #define   BLM_PHASE_IN_INTERUPT_STATUS        (1 << 26)
-diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
-index 4c49b3f77455..317d2bc15049 100644
 --- a/drivers/gpu/drm/i915/intel_panel.c
 +++ b/drivers/gpu/drm/i915/intel_panel.c
-@@ -344,6 +344,8 @@ void intel_panel_enable_backlight(struct drm_device *dev,
+@@ -344,6 +344,8 @@ void intel_panel_enable_backlight(struct
                                  enum pipe pipe)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -43,7 +39,7 @@ index 4c49b3f77455..317d2bc15049 100644
        unsigned long flags;
  
        spin_lock_irqsave(&dev_priv->backlight.lock, flags);
-@@ -374,7 +376,10 @@ void intel_panel_enable_backlight(struct drm_device *dev,
+@@ -374,7 +376,10 @@ void intel_panel_enable_backlight(struct
                else
                        tmp &= ~BLM_PIPE_SELECT;
  
@@ -55,6 +51,3 @@ index 4c49b3f77455..317d2bc15049 100644
                tmp &= ~BLM_PWM_ENABLE;
  
                I915_WRITE(reg, tmp);
--- 
-1.8.5.rc3
-
index c65d3b933820c39633443190135e208fb123334d..7874df637d91e25afb95aa1aab09aab338a70d47 100644 (file)
@@ -19,16 +19,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 627eb5a318a6caca2145d3c7195b084c59b291d9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      | 11 +++--------
- drivers/gpu/drm/i915/intel_ddi.c     |  2 +-
- drivers/gpu/drm/i915/intel_display.c | 38 ++++++++++++++++++++++++++----------
+ drivers/gpu/drm/i915/i915_reg.h      |   11 ++--------
+ drivers/gpu/drm/i915/intel_ddi.c     |    2 -
+ drivers/gpu/drm/i915/intel_display.c |   38 +++++++++++++++++++++++++----------
  3 files changed, 32 insertions(+), 19 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 8fff456c1c87..efdc01b17c5c 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4146,10 +4146,9 @@
+@@ -4150,10 +4150,9 @@
  #define  FDI_LINK_TRAIN_600MV_3_5DB_SNB_B     (0x39<<22)
  #define  FDI_LINK_TRAIN_800MV_0DB_SNB_B               (0x38<<22)
  #define  FDI_LINK_TRAIN_VOL_EMP_MASK          (0x3f<<22)
@@ -42,7 +40,7 @@ index 8fff456c1c87..efdc01b17c5c 100644
  #define  FDI_TX_ENHANCE_FRAME_ENABLE    (1<<18)
  /* Ironlake: hardwired to 1 */
  #define  FDI_TX_PLL_ENABLE              (1<<14)
-@@ -4174,7 +4173,6 @@
+@@ -4178,7 +4177,6 @@
  /* train, dp width same as FDI_TX */
  #define  FDI_FS_ERRC_ENABLE           (1<<27)
  #define  FDI_FE_ERRC_ENABLE           (1<<26)
@@ -50,7 +48,7 @@ index 8fff456c1c87..efdc01b17c5c 100644
  #define  FDI_RX_POLARITY_REVERSED_LPT (1<<16)
  #define  FDI_8BPC                       (0<<16)
  #define  FDI_10BPC                      (1<<16)
-@@ -4196,9 +4194,6 @@
+@@ -4200,9 +4198,6 @@
  #define  FDI_LINK_TRAIN_PATTERN_IDLE_CPT      (2<<8)
  #define  FDI_LINK_TRAIN_NORMAL_CPT            (3<<8)
  #define  FDI_LINK_TRAIN_PATTERN_MASK_CPT      (3<<8)
@@ -60,11 +58,9 @@ index 8fff456c1c87..efdc01b17c5c 100644
  
  #define _FDI_RXA_MISC                 0xf0010
  #define _FDI_RXB_MISC                 0xf1010
-diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
-index 79c2af486dbb..2a84a5edbf45 100644
 --- a/drivers/gpu/drm/i915/intel_ddi.c
 +++ b/drivers/gpu/drm/i915/intel_ddi.c
-@@ -182,7 +182,7 @@ void hsw_fdi_link_train(struct drm_crtc *crtc)
+@@ -182,7 +182,7 @@ void hsw_fdi_link_train(struct drm_crtc
        /* Enable the PCH Receiver FDI PLL */
        rx_ctl_val = dev_priv->fdi_rx_config | FDI_RX_ENHANCE_FRAME_ENABLE |
                     FDI_RX_PLL_ENABLE |
@@ -73,11 +69,9 @@ index 79c2af486dbb..2a84a5edbf45 100644
        I915_WRITE(_FDI_RXA_CTL, rx_ctl_val);
        POSTING_READ(_FDI_RXA_CTL);
        udelay(220);
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 1a257d5bc8a9..d3c2d5c1e72a 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -2419,8 +2419,8 @@ static void ironlake_fdi_link_train(struct drm_crtc *crtc)
+@@ -2419,8 +2419,8 @@ static void ironlake_fdi_link_train(stru
        /* enable CPU FDI TX and PCH FDI RX */
        reg = FDI_TX_CTL(pipe);
        temp = I915_READ(reg);
@@ -88,7 +82,7 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        temp &= ~FDI_LINK_TRAIN_NONE;
        temp |= FDI_LINK_TRAIN_PATTERN_1;
        I915_WRITE(reg, temp | FDI_TX_ENABLE);
-@@ -2517,8 +2517,8 @@ static void gen6_fdi_link_train(struct drm_crtc *crtc)
+@@ -2517,8 +2517,8 @@ static void gen6_fdi_link_train(struct d
        /* enable CPU FDI TX and PCH FDI RX */
        reg = FDI_TX_CTL(pipe);
        temp = I915_READ(reg);
@@ -99,7 +93,7 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        temp &= ~FDI_LINK_TRAIN_NONE;
        temp |= FDI_LINK_TRAIN_PATTERN_1;
        temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK;
-@@ -2652,8 +2652,8 @@ static void ivb_manual_fdi_link_train(struct drm_crtc *crtc)
+@@ -2652,8 +2652,8 @@ static void ivb_manual_fdi_link_train(st
        /* enable CPU FDI TX and PCH FDI RX */
        reg = FDI_TX_CTL(pipe);
        temp = I915_READ(reg);
@@ -110,7 +104,7 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        temp &= ~(FDI_LINK_TRAIN_AUTO | FDI_LINK_TRAIN_NONE_IVB);
        temp |= FDI_LINK_TRAIN_PATTERN_1_IVB;
        temp &= ~FDI_LINK_TRAIN_VOL_EMP_MASK;
-@@ -2754,8 +2754,8 @@ static void ironlake_fdi_pll_enable(struct intel_crtc *intel_crtc)
+@@ -2754,8 +2754,8 @@ static void ironlake_fdi_pll_enable(stru
        /* enable PCH FDI RX PLL, wait warmup plus DMI latency */
        reg = FDI_RX_CTL(pipe);
        temp = I915_READ(reg);
@@ -121,7 +115,7 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        temp |= (I915_READ(PIPECONF(pipe)) & PIPECONF_BPC_MASK) << 11;
        I915_WRITE(reg, temp | FDI_RX_PLL_ENABLE);
  
-@@ -5796,9 +5796,14 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
+@@ -5796,9 +5796,14 @@ static bool ironlake_get_pipe_config(str
        if (!(tmp & PIPECONF_ENABLE))
                return false;
  
@@ -137,7 +131,7 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        return true;
  }
  
-@@ -5934,9 +5939,14 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
+@@ -5934,9 +5939,14 @@ static bool haswell_get_pipe_config(stru
         */
        tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
        if ((tmp & TRANS_DDI_PORT_MASK) == TRANS_DDI_SELECT_PORT(PORT_E) &&
@@ -153,7 +147,7 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        return true;
  }
  
-@@ -7902,6 +7912,14 @@ intel_pipe_config_compare(struct intel_crtc_config *current_config,
+@@ -7902,6 +7912,14 @@ intel_pipe_config_compare(struct intel_c
                return false;
        }
  
@@ -168,6 +162,3 @@ index 1a257d5bc8a9..d3c2d5c1e72a 100644
        return true;
  }
  
--- 
-1.8.5.rc3
-
index 911285d6acbc85dfd197b3654e2ae203706ee2ad..9f87b58b3a6a76e543a553b1ac058e8b3198df0b 100644 (file)
@@ -19,15 +19,13 @@ Conflicts:
        drivers/gpu/drm/i915/i915_reg.h
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  1 +
- drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++++
+ drivers/gpu/drm/i915/i915_reg.h      |    1 +
+ drivers/gpu/drm/i915/intel_display.c |   25 +++++++++++++++++++++++++
  2 files changed, 26 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index efdc01b17c5c..1782b0c8a743 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2779,6 +2779,7 @@
+@@ -2783,6 +2783,7 @@
  
  /* Transfer unit size for display port - 1, default is 0x3f (for TU size 64) */
  #define  TU_SIZE(x)             (((x)-1) << 25) /* default size 64 */
@@ -35,11 +33,9 @@ index efdc01b17c5c..1782b0c8a743 100644
  #define  TU_SIZE_MASK           (0x3f << 25)
  
  #define  DATA_LINK_M_N_MASK   (0xffffff)
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 759034dfe617..4882893a9fbd 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -5829,6 +5829,22 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
+@@ -5829,6 +5829,22 @@ static int ironlake_crtc_mode_set(struct
        return ret;
  }
  
@@ -62,7 +58,7 @@ index 759034dfe617..4882893a9fbd 100644
  static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
                                     struct intel_crtc_config *pipe_config)
  {
-@@ -5846,6 +5862,8 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
+@@ -5846,6 +5862,8 @@ static bool ironlake_get_pipe_config(str
                tmp = I915_READ(FDI_RX_CTL(crtc->pipe));
                pipe_config->fdi_lanes = ((FDI_DP_PORT_WIDTH_MASK & tmp) >>
                                          FDI_DP_PORT_WIDTH_SHIFT) + 1;
@@ -71,7 +67,7 @@ index 759034dfe617..4882893a9fbd 100644
        }
  
        return true;
-@@ -5991,6 +6009,8 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
+@@ -5991,6 +6009,8 @@ static bool haswell_get_pipe_config(stru
                tmp = I915_READ(FDI_RX_CTL(PIPE_A));
                pipe_config->fdi_lanes = ((FDI_DP_PORT_WIDTH_MASK & tmp) >>
                                          FDI_DP_PORT_WIDTH_SHIFT) + 1;
@@ -80,7 +76,7 @@ index 759034dfe617..4882893a9fbd 100644
        }
  
        return true;
-@@ -7976,6 +7996,11 @@ intel_pipe_config_compare(struct intel_crtc_config *current_config,
+@@ -7976,6 +7996,11 @@ intel_pipe_config_compare(struct intel_c
  
        PIPE_CONF_CHECK_I(has_pch_encoder);
        PIPE_CONF_CHECK_I(fdi_lanes);
@@ -92,6 +88,3 @@ index 759034dfe617..4882893a9fbd 100644
  
  #undef PIPE_CONF_CHECK_I
  
--- 
-1.8.5.rc3
-
index 60cff1eb2d3fbe5411f0024c7686bb2829d73ec4..257e0edc4d382533b66e1e9cfc70bdebf754b3aa 100644 (file)
@@ -25,15 +25,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1bd1bd806037af04dd1d7bdd39b2b04090c10d2c)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  1 +
- drivers/gpu/drm/i915/intel_display.c | 75 ++++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/i915_reg.h      |    1 
+ drivers/gpu/drm/i915/intel_display.c |   75 +++++++++++++++++++++++++++++++++++
  2 files changed, 76 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 1782b0c8a743..ded019718295 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2844,6 +2844,7 @@
+@@ -2848,6 +2848,7 @@
  #define   PIPECONF_INTERLACED_ILK             (3 << 21)
  #define   PIPECONF_INTERLACED_DBL_ILK         (4 << 21) /* ilk/snb only */
  #define   PIPECONF_PFIT_PF_INTERLACED_DBL_ILK (5 << 21) /* ilk/snb only */
@@ -41,11 +39,9 @@ index 1782b0c8a743..ded019718295 100644
  #define   PIPECONF_CXSR_DOWNCLOCK     (1<<16)
  #define   PIPECONF_COLOR_RANGE_SELECT (1 << 13)
  #define   PIPECONF_BPC_MASK   (0x7 << 5)
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 4882893a9fbd..f1b6ca3fe82a 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -4728,6 +4728,45 @@ static void intel_set_pipe_timings(struct intel_crtc *intel_crtc,
+@@ -4728,6 +4728,45 @@ static void intel_set_pipe_timings(struc
                   ((mode->hdisplay - 1) << 16) | (mode->vdisplay - 1));
  }
  
@@ -91,7 +87,7 @@ index 4882893a9fbd..f1b6ca3fe82a 100644
  static void i9xx_set_pipeconf(struct intel_crtc *intel_crtc)
  {
        struct drm_device *dev = intel_crtc->base.dev;
-@@ -4949,6 +4988,8 @@ static bool i9xx_get_pipe_config(struct intel_crtc *crtc,
+@@ -4949,6 +4988,8 @@ static bool i9xx_get_pipe_config(struct
        if (!(tmp & PIPECONF_ENABLE))
                return false;
  
@@ -100,7 +96,7 @@ index 4882893a9fbd..f1b6ca3fe82a 100644
        return true;
  }
  
-@@ -5866,6 +5907,8 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
+@@ -5866,6 +5907,8 @@ static bool ironlake_get_pipe_config(str
                ironlake_get_fdi_m_n_config(crtc, pipe_config);
        }
  
@@ -109,7 +105,7 @@ index 4882893a9fbd..f1b6ca3fe82a 100644
        return true;
  }
  
-@@ -6013,6 +6056,8 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
+@@ -6013,6 +6056,8 @@ static bool haswell_get_pipe_config(stru
                ironlake_get_fdi_m_n_config(crtc, pipe_config);
        }
  
@@ -118,7 +114,7 @@ index 4882893a9fbd..f1b6ca3fe82a 100644
        return true;
  }
  
-@@ -7994,6 +8039,15 @@ intel_pipe_config_compare(struct intel_crtc_config *current_config,
+@@ -7994,6 +8039,15 @@ intel_pipe_config_compare(struct intel_c
                return false; \
        }
  
@@ -134,7 +130,7 @@ index 4882893a9fbd..f1b6ca3fe82a 100644
        PIPE_CONF_CHECK_I(has_pch_encoder);
        PIPE_CONF_CHECK_I(fdi_lanes);
        PIPE_CONF_CHECK_I(fdi_m_n.gmch_m);
-@@ -8002,7 +8056,28 @@ intel_pipe_config_compare(struct intel_crtc_config *current_config,
+@@ -8002,7 +8056,28 @@ intel_pipe_config_compare(struct intel_c
        PIPE_CONF_CHECK_I(fdi_m_n.link_n);
        PIPE_CONF_CHECK_I(fdi_m_n.tu);
  
@@ -163,6 +159,3 @@ index 4882893a9fbd..f1b6ca3fe82a 100644
  
        return true;
  }
--- 
-1.8.5.rc3
-
index 9258ba8994b3d5385da70a15fa01471e8e527046..fc323d6c45bf1c2c1ce921cb2dc9c1f732d860cf 100644 (file)
@@ -19,16 +19,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 17aa6be9579eb204b426eeae146a43bf3dd05078)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h  | 11 ++---------
- drivers/gpu/drm/i915/intel_ddi.c | 34 ++--------------------------------
- drivers/gpu/drm/i915/intel_dp.c  | 12 +-----------
+ drivers/gpu/drm/i915/i915_reg.h  |   11 ++---------
+ drivers/gpu/drm/i915/intel_ddi.c |   34 ++--------------------------------
+ drivers/gpu/drm/i915/intel_dp.c  |   12 +-----------
  3 files changed, 5 insertions(+), 52 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index ded019718295..fe029b6f70bf 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2668,9 +2668,7 @@
+@@ -2672,9 +2672,7 @@
  #define   DP_PRE_EMPHASIS_SHIFT               22
  
  /* How many wires to use. I guess 3 was too hard */
@@ -39,7 +37,7 @@ index ded019718295..fe029b6f70bf 100644
  #define   DP_PORT_WIDTH_MASK          (7 << 19)
  
  /* Mystic DPCD version 1.1 special mode */
-@@ -4755,9 +4753,6 @@
+@@ -4759,9 +4757,6 @@
  #define  TRANS_DDI_EDP_INPUT_B_ONOFF  (5<<12)
  #define  TRANS_DDI_EDP_INPUT_C_ONOFF  (6<<12)
  #define  TRANS_DDI_BFI_ENABLE         (1<<4)
@@ -49,7 +47,7 @@ index ded019718295..fe029b6f70bf 100644
  
  /* DisplayPort Transport Control */
  #define DP_TP_CTL_A                   0x64040
-@@ -4801,9 +4796,7 @@
+@@ -4805,9 +4800,7 @@
  #define  DDI_BUF_PORT_REVERSAL                        (1<<16)
  #define  DDI_BUF_IS_IDLE                      (1<<7)
  #define  DDI_A_4_LANES                                (1<<4)
@@ -60,11 +58,9 @@ index ded019718295..fe029b6f70bf 100644
  #define  DDI_INIT_DISPLAY_DETECTED            (1<<0)
  
  /* DDI Buffer Translations */
-diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
-index 2a84a5edbf45..832401312630 100644
 --- a/drivers/gpu/drm/i915/intel_ddi.c
 +++ b/drivers/gpu/drm/i915/intel_ddi.c
-@@ -687,22 +687,7 @@ static void intel_ddi_mode_set(struct drm_encoder *encoder,
+@@ -687,22 +687,7 @@ static void intel_ddi_mode_set(struct dr
  
                intel_dp->DP = intel_dig_port->saved_port_bits |
                               DDI_BUF_CTL_ENABLE | DDI_BUF_EMP_400MV_0DB_HSW;
@@ -88,7 +84,7 @@ index 2a84a5edbf45..832401312630 100644
  
                if (intel_dp->has_audio) {
                        DRM_DEBUG_DRIVER("DP audio on pipe %c on DDI\n",
-@@ -1031,22 +1016,7 @@ void intel_ddi_enable_transcoder_func(struct drm_crtc *crtc)
+@@ -1031,22 +1016,7 @@ void intel_ddi_enable_transcoder_func(st
  
                temp |= TRANS_DDI_MODE_SELECT_DP_SST;
  
@@ -112,11 +108,9 @@ index 2a84a5edbf45..832401312630 100644
        } else {
                WARN(1, "Invalid encoder type %d for pipe %c\n",
                     intel_encoder->type, pipe_name(pipe));
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 98c871d1084c..f0159cc5159a 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -901,18 +901,8 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -901,18 +901,8 @@ intel_dp_mode_set(struct drm_encoder *en
  
        /* Handle DP bits in common between all three register formats */
        intel_dp->DP |= DP_VOLTAGE_0_4 | DP_PRE_EMPHASIS_0;
@@ -136,6 +130,3 @@ index 98c871d1084c..f0159cc5159a 100644
        if (intel_dp->has_audio) {
                DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
                                 pipe_name(intel_crtc->pipe));
--- 
-1.8.5.rc3
-
index 3a1734c6fc0827f6860d160109a29663aee64f68..6e824555d4970f5ff386bf3937728de3d84aed25 100644 (file)
@@ -16,16 +16,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ab9412ba06484cdfd82bdb748689024efe2221fe)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  7 ++++---
- drivers/gpu/drm/i915/i915_ums.c      |  8 ++++----
- drivers/gpu/drm/i915/intel_display.c | 30 +++++++++++++++---------------
+ drivers/gpu/drm/i915/i915_reg.h      |    7 ++++---
+ drivers/gpu/drm/i915/i915_ums.c      |    8 ++++----
+ drivers/gpu/drm/i915/intel_display.c |   30 +++++++++++++++---------------
  3 files changed, 23 insertions(+), 22 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index fe029b6f70bf..1ddd724094f5 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4060,9 +4060,10 @@
+@@ -4064,9 +4064,10 @@
  #define TRANSDPLINK_M2(pipe) _PIPE(pipe, _TRANSA_DP_LINK_M2, _TRANSB_DP_LINK_M2)
  #define TRANSDPLINK_N2(pipe) _PIPE(pipe, _TRANSA_DP_LINK_N2, _TRANSB_DP_LINK_N2)
  
@@ -39,11 +37,9 @@ index fe029b6f70bf..1ddd724094f5 100644
  #define  TRANS_DISABLE          (0<<31)
  #define  TRANS_ENABLE           (1<<31)
  #define  TRANS_STATE_MASK       (1<<30)
-diff --git a/drivers/gpu/drm/i915/i915_ums.c b/drivers/gpu/drm/i915/i915_ums.c
-index 985a09716237..75960dd81b5a 100644
 --- a/drivers/gpu/drm/i915/i915_ums.c
 +++ b/drivers/gpu/drm/i915/i915_ums.c
-@@ -148,7 +148,7 @@ void i915_save_display_reg(struct drm_device *dev)
+@@ -148,7 +148,7 @@ void i915_save_display_reg(struct drm_de
                dev_priv->regfile.savePFA_WIN_SZ = I915_READ(_PFA_WIN_SZ);
                dev_priv->regfile.savePFA_WIN_POS = I915_READ(_PFA_WIN_POS);
  
@@ -52,7 +48,7 @@ index 985a09716237..75960dd81b5a 100644
                dev_priv->regfile.saveTRANS_HTOTAL_A = I915_READ(_TRANS_HTOTAL_A);
                dev_priv->regfile.saveTRANS_HBLANK_A = I915_READ(_TRANS_HBLANK_A);
                dev_priv->regfile.saveTRANS_HSYNC_A = I915_READ(_TRANS_HSYNC_A);
-@@ -205,7 +205,7 @@ void i915_save_display_reg(struct drm_device *dev)
+@@ -205,7 +205,7 @@ void i915_save_display_reg(struct drm_de
                dev_priv->regfile.savePFB_WIN_SZ = I915_READ(_PFB_WIN_SZ);
                dev_priv->regfile.savePFB_WIN_POS = I915_READ(_PFB_WIN_POS);
  
@@ -61,7 +57,7 @@ index 985a09716237..75960dd81b5a 100644
                dev_priv->regfile.saveTRANS_HTOTAL_B = I915_READ(_TRANS_HTOTAL_B);
                dev_priv->regfile.saveTRANS_HBLANK_B = I915_READ(_TRANS_HBLANK_B);
                dev_priv->regfile.saveTRANS_HSYNC_B = I915_READ(_TRANS_HSYNC_B);
-@@ -379,7 +379,7 @@ void i915_restore_display_reg(struct drm_device *dev)
+@@ -379,7 +379,7 @@ void i915_restore_display_reg(struct drm
                I915_WRITE(_PFA_WIN_SZ, dev_priv->regfile.savePFA_WIN_SZ);
                I915_WRITE(_PFA_WIN_POS, dev_priv->regfile.savePFA_WIN_POS);
  
@@ -70,7 +66,7 @@ index 985a09716237..75960dd81b5a 100644
                I915_WRITE(_TRANS_HTOTAL_A, dev_priv->regfile.saveTRANS_HTOTAL_A);
                I915_WRITE(_TRANS_HBLANK_A, dev_priv->regfile.saveTRANS_HBLANK_A);
                I915_WRITE(_TRANS_HSYNC_A, dev_priv->regfile.saveTRANS_HSYNC_A);
-@@ -448,7 +448,7 @@ void i915_restore_display_reg(struct drm_device *dev)
+@@ -448,7 +448,7 @@ void i915_restore_display_reg(struct drm
                I915_WRITE(_PFB_WIN_SZ, dev_priv->regfile.savePFB_WIN_SZ);
                I915_WRITE(_PFB_WIN_POS, dev_priv->regfile.savePFB_WIN_POS);
  
@@ -79,11 +75,9 @@ index 985a09716237..75960dd81b5a 100644
                I915_WRITE(_TRANS_HTOTAL_B, dev_priv->regfile.saveTRANS_HTOTAL_B);
                I915_WRITE(_TRANS_HBLANK_B, dev_priv->regfile.saveTRANS_HBLANK_B);
                I915_WRITE(_TRANS_HSYNC_B, dev_priv->regfile.saveTRANS_HSYNC_B);
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index dbef6715aa86..a9386819ed19 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -1206,14 +1206,14 @@ static void assert_pch_refclk_enabled(struct drm_i915_private *dev_priv)
+@@ -1206,14 +1206,14 @@ static void assert_pch_refclk_enabled(st
        WARN(!enabled, "PCH refclk assertion failure, should be active but is disabled\n");
  }
  
@@ -101,7 +95,7 @@ index dbef6715aa86..a9386819ed19 100644
        val = I915_READ(reg);
        enabled = !!(val & TRANS_ENABLE);
        WARN(enabled,
-@@ -1565,7 +1565,7 @@ static void intel_disable_pch_pll(struct intel_crtc *intel_crtc)
+@@ -1565,7 +1565,7 @@ static void intel_disable_pch_pll(struct
        DRM_DEBUG_KMS("disabling PCH PLL %x\n", pll->pll_reg);
  
        /* Make sure transcoder isn't still depending on us */
@@ -110,7 +104,7 @@ index dbef6715aa86..a9386819ed19 100644
  
        reg = pll->pll_reg;
        val = I915_READ(reg);
-@@ -1605,7 +1605,7 @@ static void ironlake_enable_pch_transcoder(struct drm_i915_private *dev_priv,
+@@ -1605,7 +1605,7 @@ static void ironlake_enable_pch_transcod
                I915_WRITE(reg, val);
        }
  
@@ -119,7 +113,7 @@ index dbef6715aa86..a9386819ed19 100644
        val = I915_READ(reg);
        pipeconf_val = I915_READ(PIPECONF(pipe));
  
-@@ -1659,8 +1659,8 @@ static void lpt_enable_pch_transcoder(struct drm_i915_private *dev_priv,
+@@ -1659,8 +1659,8 @@ static void lpt_enable_pch_transcoder(st
        else
                val |= TRANS_PROGRESSIVE;
  
@@ -130,7 +124,7 @@ index dbef6715aa86..a9386819ed19 100644
                DRM_ERROR("Failed to enable PCH transcoder\n");
  }
  
-@@ -1677,7 +1677,7 @@ static void ironlake_disable_pch_transcoder(struct drm_i915_private *dev_priv,
+@@ -1677,7 +1677,7 @@ static void ironlake_disable_pch_transco
        /* Ports must be off as well */
        assert_pch_ports_disabled(dev_priv, pipe);
  
@@ -139,7 +133,7 @@ index dbef6715aa86..a9386819ed19 100644
        val = I915_READ(reg);
        val &= ~TRANS_ENABLE;
        I915_WRITE(reg, val);
-@@ -1698,11 +1698,11 @@ static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv)
+@@ -1698,11 +1698,11 @@ static void lpt_disable_pch_transcoder(s
  {
        u32 val;
  
@@ -154,7 +148,7 @@ index dbef6715aa86..a9386819ed19 100644
                DRM_ERROR("Failed to disable PCH transcoder\n");
  
        /* Workaround: clear timing override bit. */
-@@ -3011,7 +3011,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
+@@ -3011,7 +3011,7 @@ static void ironlake_pch_enable(struct d
        int pipe = intel_crtc->pipe;
        u32 reg, temp;
  
@@ -163,7 +157,7 @@ index dbef6715aa86..a9386819ed19 100644
  
        /* Write the TU size bits before fdi link training, so that error
         * detection works. */
-@@ -3115,7 +3115,7 @@ static void lpt_pch_enable(struct drm_crtc *crtc)
+@@ -3115,7 +3115,7 @@ static void lpt_pch_enable(struct drm_cr
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
        enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder;
  
@@ -172,7 +166,7 @@ index dbef6715aa86..a9386819ed19 100644
  
        lpt_program_iclkip(crtc);
  
-@@ -5906,7 +5906,7 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
+@@ -5906,7 +5906,7 @@ static bool ironlake_get_pipe_config(str
        if (!(tmp & PIPECONF_ENABLE))
                return false;
  
@@ -181,7 +175,7 @@ index dbef6715aa86..a9386819ed19 100644
                pipe_config->has_pch_encoder = true;
  
                tmp = I915_READ(FDI_RX_CTL(crtc->pipe));
-@@ -6054,7 +6054,7 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
+@@ -6054,7 +6054,7 @@ static bool haswell_get_pipe_config(stru
         */
        tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
        if ((tmp & TRANS_DDI_PORT_MASK) == TRANS_DDI_SELECT_PORT(PORT_E) &&
@@ -190,6 +184,3 @@ index dbef6715aa86..a9386819ed19 100644
                pipe_config->has_pch_encoder = true;
  
                tmp = I915_READ(FDI_RX_CTL(PIPE_A));
--- 
-1.8.5.rc3
-
index 5bd3d5005b7dda58537131f998d787ba22da807c..9a4649e23a9007dddfb84975d65c75e2d2adcdbb 100644 (file)
@@ -22,16 +22,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 275f01b2694a52d13c32358d17d594ec9aba55e3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      | 70 ++++++++++++++++++------------------
- drivers/gpu/drm/i915/i915_ums.c      | 48 ++++++++++++-------------
- drivers/gpu/drm/i915/intel_display.c | 42 +++++++++++++---------
+ drivers/gpu/drm/i915/i915_reg.h      |   70 +++++++++++++++++------------------
+ drivers/gpu/drm/i915/i915_ums.c      |   48 ++++++++++++------------
+ drivers/gpu/drm/i915/intel_display.c |   42 +++++++++++++--------
  3 files changed, 85 insertions(+), 75 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 1ddd724094f5..b8ac1810b753 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3929,25 +3929,25 @@
+@@ -3933,25 +3933,25 @@
  
  /* transcoder */
  
@@ -76,7 +74,7 @@ index 1ddd724094f5..b8ac1810b753 100644
  
  #define _TRANSA_DATA_M1          0xe0030
  #define _TRANSA_DATA_N1          0xe0034
-@@ -4025,22 +4025,22 @@
+@@ -4029,22 +4029,22 @@
  #define HSW_TVIDEO_DIP_VSC_DATA(trans) \
         _TRANSCODER(trans, HSW_VIDEO_DIP_VSC_DATA_A, HSW_VIDEO_DIP_VSC_DATA_B)
  
@@ -115,11 +113,9 @@ index 1ddd724094f5..b8ac1810b753 100644
  
  #define _TRANSB_DATA_M1          0xe1030
  #define _TRANSB_DATA_N1          0xe1034
-diff --git a/drivers/gpu/drm/i915/i915_ums.c b/drivers/gpu/drm/i915/i915_ums.c
-index 75960dd81b5a..4168d2b6b4f1 100644
 --- a/drivers/gpu/drm/i915/i915_ums.c
 +++ b/drivers/gpu/drm/i915/i915_ums.c
-@@ -149,12 +149,12 @@ void i915_save_display_reg(struct drm_device *dev)
+@@ -149,12 +149,12 @@ void i915_save_display_reg(struct drm_de
                dev_priv->regfile.savePFA_WIN_POS = I915_READ(_PFA_WIN_POS);
  
                dev_priv->regfile.saveTRANSACONF = I915_READ(_PCH_TRANSACONF);
@@ -138,7 +134,7 @@ index 75960dd81b5a..4168d2b6b4f1 100644
        }
  
        dev_priv->regfile.saveDSPACNTR = I915_READ(_DSPACNTR);
-@@ -206,12 +206,12 @@ void i915_save_display_reg(struct drm_device *dev)
+@@ -206,12 +206,12 @@ void i915_save_display_reg(struct drm_de
                dev_priv->regfile.savePFB_WIN_POS = I915_READ(_PFB_WIN_POS);
  
                dev_priv->regfile.saveTRANSBCONF = I915_READ(_PCH_TRANSBCONF);
@@ -157,7 +153,7 @@ index 75960dd81b5a..4168d2b6b4f1 100644
        }
  
        dev_priv->regfile.saveDSPBCNTR = I915_READ(_DSPBCNTR);
-@@ -380,12 +380,12 @@ void i915_restore_display_reg(struct drm_device *dev)
+@@ -380,12 +380,12 @@ void i915_restore_display_reg(struct drm
                I915_WRITE(_PFA_WIN_POS, dev_priv->regfile.savePFA_WIN_POS);
  
                I915_WRITE(_PCH_TRANSACONF, dev_priv->regfile.saveTRANSACONF);
@@ -176,7 +172,7 @@ index 75960dd81b5a..4168d2b6b4f1 100644
        }
  
        /* Restore plane info */
-@@ -449,12 +449,12 @@ void i915_restore_display_reg(struct drm_device *dev)
+@@ -449,12 +449,12 @@ void i915_restore_display_reg(struct drm
                I915_WRITE(_PFB_WIN_POS, dev_priv->regfile.savePFB_WIN_POS);
  
                I915_WRITE(_PCH_TRANSBCONF, dev_priv->regfile.saveTRANSBCONF);
@@ -195,11 +191,9 @@ index 75960dd81b5a..4168d2b6b4f1 100644
        }
  
        /* Restore plane info */
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index a9386819ed19..e051ca86248e 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -2995,6 +2995,30 @@ static void lpt_program_iclkip(struct drm_crtc *crtc)
+@@ -2995,6 +2995,30 @@ static void lpt_program_iclkip(struct dr
        mutex_unlock(&dev_priv->dpio_lock);
  }
  
@@ -230,7 +224,7 @@ index a9386819ed19..e051ca86248e 100644
  /*
   * Enable PCH resources required for PCH ports:
   *   - PCH PLLs
-@@ -3058,14 +3082,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
+@@ -3058,14 +3082,7 @@ static void ironlake_pch_enable(struct d
  
        /* set transcoder timing, panel must allow it */
        assert_panel_unlocked(dev_priv, pipe);
@@ -246,7 +240,7 @@ index a9386819ed19..e051ca86248e 100644
  
        intel_fdi_normal_train(crtc);
  
-@@ -3120,14 +3137,7 @@ static void lpt_pch_enable(struct drm_crtc *crtc)
+@@ -3120,14 +3137,7 @@ static void lpt_pch_enable(struct drm_cr
        lpt_program_iclkip(crtc);
  
        /* Set transcoder timing. */
@@ -262,6 +256,3 @@ index a9386819ed19..e051ca86248e 100644
  
        lpt_enable_pch_transcoder(dev_priv, cpu_transcoder);
  }
--- 
-1.8.5.rc3
-
index 613c91c814dd79869a7fd2c2fbe6ab0c9c3b11f4..74542e26f83fe57992a5d4c8b2ceff17053d7fb6 100644 (file)
@@ -19,16 +19,14 @@ Conflicts:
        drivers/gpu/drm/i915/i915_reg.h
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      | 77 +++++++++++++++++++-----------------
- drivers/gpu/drm/i915/i915_ums.c      | 32 +++++++--------
- drivers/gpu/drm/i915/intel_display.c | 16 ++++----
- 3 files changed, 64 insertions(+), 61 deletions(-)
+ drivers/gpu/drm/i915/i915_reg.h      |   81 ++++++++++++++++++-----------------
+ drivers/gpu/drm/i915/i915_ums.c      |   32 ++++++-------
+ drivers/gpu/drm/i915/intel_display.c |   16 +++---
+ 3 files changed, 66 insertions(+), 63 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index b8ac1810b753..325534eb7fd2 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2772,8 +2772,8 @@
+@@ -2776,8 +2776,8 @@
   * which is after the LUTs, so we want the bytes for our color format.
   * For our current usage, this is always 3, one byte for R, G and B.
   */
@@ -39,7 +37,7 @@ index b8ac1810b753..325534eb7fd2 100644
  
  /* Transfer unit size for display port - 1, default is 0x3f (for TU size 64) */
  #define  TU_SIZE(x)             (((x)-1) << 25) /* default size 64 */
-@@ -2783,8 +2783,9 @@
+@@ -2787,8 +2787,9 @@
  #define  DATA_LINK_M_N_MASK   (0xffffff)
  #define  DATA_LINK_N_MAX      (0x800000)
  
@@ -51,26 +49,28 @@ index b8ac1810b753..325534eb7fd2 100644
  
  /*
   * Computing Link M and N values for the Display Port link
-@@ -2797,16 +2798,18 @@
+@@ -2801,16 +2802,18 @@
   * Attributes and VB-ID.
   */
  
 -#define _PIPEA_DP_LINK_M                              0x70060
 -#define _PIPEB_DP_LINK_M                              0x71060
-+#define _PIPEA_LINK_M_G4X     0x70060
-+#define _PIPEB_LINK_M_G4X     0x71060
-+#define   PIPEA_DP_LINK_M_MASK                        (0xffffff)
+-
 -#define _PIPEA_DP_LINK_N                              0x70064
 -#define _PIPEB_DP_LINK_N                              0x71064
-+#define _PIPEA_LINK_N_G4X     0x70064
-+#define _PIPEB_LINK_N_G4X     0x71064
-+#define   PIPEA_DP_LINK_N_MASK                        (0xffffff)
+-
 -#define PIPE_GMCH_DATA_M(pipe) _PIPE(pipe, _PIPEA_GMCH_DATA_M, _PIPEB_GMCH_DATA_M)
 -#define PIPE_GMCH_DATA_N(pipe) _PIPE(pipe, _PIPEA_GMCH_DATA_N, _PIPEB_GMCH_DATA_N)
 -#define PIPE_DP_LINK_M(pipe) _PIPE(pipe, _PIPEA_DP_LINK_M, _PIPEB_DP_LINK_M)
 -#define PIPE_DP_LINK_N(pipe) _PIPE(pipe, _PIPEA_DP_LINK_N, _PIPEB_DP_LINK_N)
++#define _PIPEA_LINK_M_G4X     0x70060
++#define _PIPEB_LINK_M_G4X     0x71060
++#define   PIPEA_DP_LINK_M_MASK                        (0xffffff)
++
++#define _PIPEA_LINK_N_G4X     0x70064
++#define _PIPEB_LINK_N_G4X     0x71064
++#define   PIPEA_DP_LINK_N_MASK                        (0xffffff)
++
 +#define PIPE_DATA_M_G4X(pipe) _PIPE(pipe, _PIPEA_DATA_M_G4X, _PIPEB_DATA_M_G4X)
 +#define PIPE_DATA_N_G4X(pipe) _PIPE(pipe, _PIPEA_DATA_N_G4X, _PIPEB_DATA_N_G4X)
 +#define PIPE_LINK_M_G4X(pipe) _PIPE(pipe, _PIPEA_LINK_M_G4X, _PIPEB_LINK_M_G4X)
@@ -78,7 +78,7 @@ index b8ac1810b753..325534eb7fd2 100644
  
  /* Display & cursor control */
  
-@@ -3949,14 +3952,14 @@
+@@ -3953,14 +3956,14 @@
  #define  TRANS_VSYNC_START_SHIFT      0
  #define _PCH_TRANS_VSYNCSHIFT_A               0xe0028
  
@@ -101,7 +101,7 @@ index b8ac1810b753..325534eb7fd2 100644
  
  /* Per-transcoder DIP controls */
  
-@@ -4042,23 +4045,23 @@
+@@ -4046,23 +4049,23 @@
  #define PCH_TRANS_VSYNCSHIFT(pipe) _PIPE(pipe, _PCH_TRANS_VSYNCSHIFT_A, \
                                         _PCH_TRANS_VSYNCSHIFT_B)
  
@@ -142,11 +142,9 @@ index b8ac1810b753..325534eb7fd2 100644
  
  #define _PCH_TRANSACONF              0xf0008
  #define _PCH_TRANSBCONF              0xf1008
-diff --git a/drivers/gpu/drm/i915/i915_ums.c b/drivers/gpu/drm/i915/i915_ums.c
-index 4168d2b6b4f1..5ef30b2e6bc6 100644
 --- a/drivers/gpu/drm/i915/i915_ums.c
 +++ b/drivers/gpu/drm/i915/i915_ums.c
-@@ -259,14 +259,14 @@ void i915_save_display_reg(struct drm_device *dev)
+@@ -259,14 +259,14 @@ void i915_save_display_reg(struct drm_de
                dev_priv->regfile.saveDP_B = I915_READ(DP_B);
                dev_priv->regfile.saveDP_C = I915_READ(DP_C);
                dev_priv->regfile.saveDP_D = I915_READ(DP_D);
@@ -169,7 +167,7 @@ index 4168d2b6b4f1..5ef30b2e6bc6 100644
        }
        /* FIXME: regfile.save TV & SDVO state */
  
-@@ -282,14 +282,14 @@ void i915_restore_display_reg(struct drm_device *dev)
+@@ -282,14 +282,14 @@ void i915_restore_display_reg(struct drm
  
        /* Display port ratios (must be done before clock is set) */
        if (SUPPORTS_INTEGRATED_DP(dev)) {
@@ -192,11 +190,9 @@ index 4168d2b6b4f1..5ef30b2e6bc6 100644
        }
  
        /* Fences */
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 27da171b6411..3915973ca2df 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -4395,10 +4395,10 @@ static void intel_pch_transcoder_set_m_n(struct intel_crtc *crtc,
+@@ -4395,10 +4395,10 @@ static void intel_pch_transcoder_set_m_n
        struct drm_i915_private *dev_priv = dev->dev_private;
        int pipe = crtc->pipe;
  
@@ -211,7 +207,7 @@ index 27da171b6411..3915973ca2df 100644
  }
  
  static void intel_cpu_transcoder_set_m_n(struct intel_crtc *crtc,
-@@ -4415,10 +4415,10 @@ static void intel_cpu_transcoder_set_m_n(struct intel_crtc *crtc,
+@@ -4415,10 +4415,10 @@ static void intel_cpu_transcoder_set_m_n
                I915_WRITE(PIPE_LINK_M1(transcoder), m_n->link_m);
                I915_WRITE(PIPE_LINK_N1(transcoder), m_n->link_n);
        } else {
@@ -226,6 +222,3 @@ index 27da171b6411..3915973ca2df 100644
        }
  }
  
--- 
-1.8.5.rc3
-
index 7466cc9abeeb969a964502fb8d8b00cbe878121c..0d1814d59b736093cde4b8326cd6fec7a626de94 100644 (file)
@@ -17,14 +17,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit f7d24902e197824eee717e4c3f406eb8623e67e0)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 33 ++++++++++++++++++++++-----------
+ drivers/gpu/drm/i915/intel_dp.c |   33 ++++++++++++++++++++++-----------
  1 file changed, 22 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index f0159cc5159a..76c4f114674b 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3030,24 +3030,35 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3046,24 +3046,35 @@ intel_dp_init_connector(struct intel_dig
                if (intel_dpd_is_edp(dev))
                        intel_dp->is_pch_edp = true;
  
@@ -34,13 +32,13 @@ index f0159cc5159a..76c4f114674b 100644
         * For X0, DP_C is fixed as eDP. Revisit this as part of VLV eDP cleanup
         */
 -      if (IS_VALLEYVIEW(dev) && port == PORT_C) {
--              type = DRM_MODE_CONNECTOR_eDP;
--              intel_encoder->type = INTEL_OUTPUT_EDP;
--      } else if (port == PORT_A || is_pch_edp(intel_dp)) {
 +      switch (port) {
 +      case PORT_A:
                type = DRM_MODE_CONNECTOR_eDP;
 -              intel_encoder->type = INTEL_OUTPUT_EDP;
+-      } else if (port == PORT_A || is_pch_edp(intel_dp)) {
+-              type = DRM_MODE_CONNECTOR_eDP;
+-              intel_encoder->type = INTEL_OUTPUT_EDP;
 -      } else {
 -              /* The intel_encoder->type value may be INTEL_OUTPUT_UNKNOWN for
 -               * DDI or INTEL_OUTPUT_DISPLAYPORT for the older gens, so don't
@@ -71,6 +69,3 @@ index f0159cc5159a..76c4f114674b 100644
        drm_connector_init(dev, connector, &intel_dp_connector_funcs, type);
        drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs);
  
--- 
-1.8.5.rc3
-
index 630a917f9f6ddc0f1f2f7b217be465c82cf1cc0c..7d60830917b25b66555e3db0418b04617adde9bb 100644 (file)
@@ -10,15 +10,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 15e6bf74b660c2e7aecc200ac77eb19eb6628240)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c  | 36 ------------------------------------
- drivers/gpu/drm/i915/intel_drv.h |  2 --
+ drivers/gpu/drm/i915/intel_dp.c  |   36 ------------------------------------
+ drivers/gpu/drm/i915/intel_drv.h |    2 --
  2 files changed, 38 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index e69c84b6838b..a9a2ca201fa8 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -52,19 +52,6 @@ static bool is_edp(struct intel_dp *intel_dp)
+@@ -52,19 +52,6 @@ static bool is_edp(struct intel_dp *inte
        return intel_dig_port->base.type == INTEL_OUTPUT_EDP;
  }
  
@@ -38,7 +36,7 @@ index e69c84b6838b..a9a2ca201fa8 100644
  static struct drm_device *intel_dp_to_dev(struct intel_dp *intel_dp)
  {
        struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
-@@ -93,25 +80,6 @@ static struct intel_dp *intel_attached_dp(struct drm_connector *connector)
+@@ -93,25 +80,6 @@ static struct intel_dp *intel_attached_d
        return enc_to_intel_dp(&intel_attached_encoder(connector)->base);
  }
  
@@ -64,7 +62,7 @@ index e69c84b6838b..a9a2ca201fa8 100644
  static void intel_dp_link_down(struct intel_dp *intel_dp);
  
  static int
-@@ -3031,10 +2999,6 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3047,10 +3015,6 @@ intel_dp_init_connector(struct intel_dig
        intel_dp->DP = I915_READ(intel_dp->output_reg);
        intel_dp->attached_connector = intel_connector;
  
@@ -75,8 +73,6 @@ index e69c84b6838b..a9a2ca201fa8 100644
        type = DRM_MODE_CONNECTOR_DisplayPort;
        /*
         * FIXME : We need to initialize built-in panels before external panels.
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index ba12b5b47257..7744595b07e2 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -451,7 +451,6 @@ struct intel_dp {
@@ -87,7 +83,7 @@ index ba12b5b47257..7744595b07e2 100644
        uint8_t train_set[4];
        int panel_power_up_delay;
        int panel_power_down_delay;
-@@ -566,7 +565,6 @@ extern void ironlake_edp_panel_on(struct intel_dp *intel_dp);
+@@ -566,7 +565,6 @@ extern void ironlake_edp_panel_on(struct
  extern void ironlake_edp_panel_off(struct intel_dp *intel_dp);
  extern void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp);
  extern void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync);
@@ -95,6 +91,3 @@ index ba12b5b47257..7744595b07e2 100644
  extern int intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane);
  extern void intel_flush_display_plane(struct drm_i915_private *dev_priv,
                                      enum plane plane);
--- 
-1.8.5.rc3
-
index aa250264b38f8e53eda5306ad6f5cc753c8eec84..c4bccb427723f5efbdfdc0579e102ee798477723 100644 (file)
@@ -8,15 +8,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e7281eab0bb4a5265593866d6f7acea2812fe0ec)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_display.c | 12 +++---------
- drivers/gpu/drm/i915/intel_dp.c      |  4 ++++
+ drivers/gpu/drm/i915/intel_display.c |   12 +++---------
+ drivers/gpu/drm/i915/intel_dp.c      |    4 ++++
  2 files changed, 7 insertions(+), 9 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index b93b2407ab57..66e8ba541084 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -8860,10 +8860,8 @@ static void intel_setup_outputs(struct drm_device *dev)
+@@ -8860,10 +8860,8 @@ static void intel_setup_outputs(struct d
                                intel_hdmi_init(dev, GEN4_HDMIB, PORT_B);
                        }
  
@@ -28,7 +26,7 @@ index b93b2407ab57..66e8ba541084 100644
                }
  
                /* Before G4X SDVOC doesn't have its own detect register */
-@@ -8879,17 +8877,13 @@ static void intel_setup_outputs(struct drm_device *dev)
+@@ -8879,17 +8877,13 @@ static void intel_setup_outputs(struct d
                                DRM_DEBUG_KMS("probing HDMI on SDVOC\n");
                                intel_hdmi_init(dev, GEN4_HDMIC, PORT_C);
                        }
@@ -48,11 +46,9 @@ index b93b2407ab57..66e8ba541084 100644
        } else if (IS_GEN2(dev))
                intel_dvo_init(dev);
  
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index a9a2ca201fa8..58186ba367d1 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3028,6 +3028,10 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3044,6 +3044,10 @@ intel_dp_init_connector(struct intel_dig
        if (type == DRM_MODE_CONNECTOR_eDP)
                intel_encoder->type = INTEL_OUTPUT_EDP;
  
@@ -63,6 +59,3 @@ index a9a2ca201fa8..58186ba367d1 100644
        drm_connector_init(dev, connector, &intel_dp_connector_funcs, type);
        drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs);
  
--- 
-1.8.5.rc3
-
index 1dedd067edbc9a66811172597cda77ee61f87fe8..26d011478412d210c56e1d5a2030ca9ca5e98e08 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1752,10 +1752,10 @@ int i915_driver_unload(struct drm_device
+@@ -1753,10 +1753,10 @@ int i915_driver_unload(struct drm_device
                 * free the memory space allocated for the child device
                 * config parsed from VBT
                 */
@@ -468,7 +468,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        }
  
        for (; bpp >= 6*3; bpp -= 2*3) {
-@@ -2795,11 +2795,11 @@ bool intel_dpd_is_edp(struct drm_device
+@@ -2811,11 +2811,11 @@ bool intel_dpd_is_edp(struct drm_device
        struct child_device_config *p_child;
        int i;
  
@@ -483,7 +483,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
                if (p_child->dvo_port == PORT_IDPD &&
                    p_child->device_type == DEVICE_TYPE_eDP)
-@@ -2877,7 +2877,7 @@ intel_dp_init_panel_power_sequencer(stru
+@@ -2893,7 +2893,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);
  
@@ -492,7 +492,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
        /* 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_dig
+@@ -3163,8 +3163,8 @@ intel_dp_init_connector(struct intel_dig
                }
  
                /* fallback to VBT if available for eDP */
index 8ed8881275efa2fc1cb04c1ec26eba46660dd46e..41659dc458d5bdaaf94d4e10ba202896284bbf35 100644 (file)
@@ -65,8 +65,8 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
        /* The i915 workqueue is primarily used for batched retirement of
         * requests (and thus managing bo) once the task has been completed
-@@ -1694,12 +1670,7 @@ out_gem_unload:
-       intel_teardown_mchbar(dev);
+@@ -1695,12 +1671,7 @@ out_gem_unload:
+       pm_qos_remove_request(&dev_priv->pm_qos);
        destroy_workqueue(dev_priv->wq);
  out_mtrrfree:
 -      if (dev_priv->mm.gtt_mtrr >= 0) {
@@ -79,7 +79,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        io_mapping_free(dev_priv->gtt.mappable);
        dev_priv->gtt.gtt_remove(dev);
  out_rmmap:
-@@ -1734,12 +1705,7 @@ int i915_driver_unload(struct drm_device
+@@ -1735,12 +1706,7 @@ int i915_driver_unload(struct drm_device
        cancel_delayed_work_sync(&dev_priv->mm.retire_work);
  
        io_mapping_free(dev_priv->gtt.mappable);
index d2d52ec2415c938e76006053fa9b3821d23d3eff..e7168a57f376c62ab439ff893fb4a9aea56fb5cc 100644 (file)
@@ -204,7 +204,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  static void intel_disable_dp(struct intel_encoder *encoder)
  {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
-@@ -3204,6 +3226,7 @@ intel_dp_init(struct drm_device *dev, in
+@@ -3220,6 +3242,7 @@ intel_dp_init(struct drm_device *dev, in
        intel_encoder->disable = intel_disable_dp;
        intel_encoder->post_disable = intel_post_disable_dp;
        intel_encoder->get_hw_state = intel_dp_get_hw_state;
index 9ac18963d6dd6320238ebae5e11cc740c27d3df2..996086a1cd47707773027b0a6b7724d12d19c09e 100644 (file)
@@ -28,15 +28,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 90a8864320b2a9f91e5b5d561924a4bb70b90dcc)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h |  3 +++
- drivers/gpu/drm/i915/intel_pm.c | 11 +++--------
+ drivers/gpu/drm/i915/i915_reg.h |    3 +++
+ drivers/gpu/drm/i915/intel_pm.c |   11 +++--------
  2 files changed, 6 insertions(+), 8 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 83cc2e5dbd79..669da48ecca8 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3717,6 +3717,9 @@
+@@ -3721,6 +3721,9 @@
  # define CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE    (1 << 5)
  # define CHICKEN3_DGMG_DONE_FIX_DISABLE               (1 << 2)
  
@@ -46,11 +44,9 @@ index 83cc2e5dbd79..669da48ecca8 100644
  #define DISP_ARB_CTL  0x45000
  #define  DISP_TILE_SURFACE_SWIZZLING  (1<<13)
  #define  DISP_FBC_WM_DIS              (1<<15)
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 42bc0a36caac..f016998ca83c 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -4172,14 +4172,9 @@ static void haswell_init_clock_gating(struct drm_device *dev)
+@@ -4172,14 +4172,9 @@ static void haswell_init_clock_gating(st
        /* WaSwitchSolVfFArbitrationPriority:hsw */
        I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) | HSW_ECOCHK_ARB_PRIO_SOL);
  
@@ -68,6 +64,3 @@ index 42bc0a36caac..f016998ca83c 100644
  
        lpt_init_clock_gating(dev);
  }
--- 
-1.8.5.rc3
-
index 3d0a1d9dbaff28daf5f0402752a8e84e32e48323..9af4e738f39fed902556e9a2ab0967c12851409e 100644 (file)
@@ -8,14 +8,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit edbe1581c5f94f7fba39cd9a5b2facd624aab661)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 3 +--
+ drivers/gpu/drm/i915/intel_dp.c |    3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 73b97a1b2143..093138c2f080 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2531,11 +2531,10 @@ intel_dp_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter)
+@@ -2547,11 +2547,10 @@ intel_dp_get_edid(struct drm_connector *
                        return NULL;
  
                size = (intel_connector->edid->extensions + 1) * EDID_LENGTH;
@@ -28,6 +26,3 @@ index 73b97a1b2143..093138c2f080 100644
                return edid;
        }
  
--- 
-1.8.5.rc3
-
index 62f28978374e73764ab98905dad4a8f4b4487075..7b5cbe1ceec445f28ee37b504915a9c922acd1ba 100644 (file)
@@ -24,12 +24,10 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 5a09ae9fd509d7dded34e0d599e1afa5142c6987)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h       |  93 ++++++++++++++-----------------
- drivers/gpu/drm/i915/intel_sideband.c | 102 +++++++++++++++++-----------------
+ drivers/gpu/drm/i915/i915_reg.h       |   93 ++++++++++++++-----------------
+ drivers/gpu/drm/i915/intel_sideband.c |  102 ++++++++++++++++------------------
  2 files changed, 93 insertions(+), 102 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 669da48ecca8..e29e9b17690c 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -342,27 +342,54 @@
@@ -103,7 +101,7 @@ index 669da48ecca8..e29e9b17690c 100644
  #define DPIO_CTL                      (VLV_DISPLAY_BASE + 0x2110)
  #define  DPIO_MODSEL1                 (1<<3) /* if ref clk b == 27 */
  #define  DPIO_MODSEL0                 (1<<2) /* if ref clk a == 27 */
-@@ -4547,40 +4574,6 @@
+@@ -4551,40 +4578,6 @@
  #define   GEN6_PCODE_FREQ_IA_RATIO_SHIFT      8
  #define   GEN6_PCODE_FREQ_RING_RATIO_SHIFT    16
  
@@ -144,8 +142,6 @@ index 669da48ecca8..e29e9b17690c 100644
  #define GEN6_GT_CORE_STATUS           0x138060
  #define   GEN6_CORE_CPD_STATE_MASK    (7<<4)
  #define   GEN6_RCn_MASK                       7
-diff --git a/drivers/gpu/drm/i915/intel_sideband.c b/drivers/gpu/drm/i915/intel_sideband.c
-index 81af8857857d..a7c4b61e9c30 100644
 --- a/drivers/gpu/drm/i915/intel_sideband.c
 +++ b/drivers/gpu/drm/i915/intel_sideband.c
 @@ -26,42 +26,37 @@
@@ -205,7 +201,7 @@ index 81af8857857d..a7c4b61e9c30 100644
                *val = I915_READ(VLV_IOSF_DATA);
        I915_WRITE(VLV_IOSF_DATA, 0);
  
-@@ -70,57 +65,60 @@ static int vlv_punit_rw(struct drm_i915_private *dev_priv, u32 port, u8 opcode,
+@@ -70,57 +65,60 @@ static int vlv_punit_rw(struct drm_i915_
  
  int valleyview_punit_read(struct drm_i915_private *dev_priv, u8 addr, u32 *val)
  {
@@ -299,6 +295,3 @@ index 81af8857857d..a7c4b61e9c30 100644
  }
  
  /* SBI access */
--- 
-1.8.5.rc3
-
index 99eb266ee345838d4dcc50da1532cac80ed4f77e..3a6065191a66c2c9e3ddcf25decaab1dce820338 100644 (file)
@@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 92cab7345131db7af18f630a799ce6b2e8e624c5)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h         |  2 --
- drivers/gpu/drm/i915/i915_irq.c         | 30 +++++++++++++-----------------
- drivers/gpu/drm/i915/intel_ringbuffer.c |  1 +
- drivers/gpu/drm/i915/intel_ringbuffer.h |  6 ++++++
+ drivers/gpu/drm/i915/i915_drv.h         |    2 --
+ drivers/gpu/drm/i915/i915_irq.c         |   30 +++++++++++++-----------------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    1 +
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    6 ++++++
  4 files changed, 20 insertions(+), 19 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index db0a41cf0d49..16a69b82e865 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -843,8 +843,6 @@ struct i915_gpu_error {
@@ -35,11 +33,9 @@ index db0a41cf0d49..16a69b82e865 100644
  
        /* For reset and error_state handling. */
        spinlock_t lock;
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 3920c26d56ca..ef31d00fbf1e 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -2421,22 +2421,19 @@ void i915_hangcheck_elapsed(unsigned long data)
+@@ -2421,22 +2421,19 @@ void i915_hangcheck_elapsed(unsigned lon
  {
        struct drm_device *dev = (struct drm_device *)data;
        drm_i915_private_t *dev_priv = dev->dev_private;
@@ -66,7 +62,7 @@ index 3920c26d56ca..ef31d00fbf1e 100644
        }
  
        /* If all work is done then ACTHD clearly hasn't advanced. */
-@@ -2452,20 +2449,19 @@ void i915_hangcheck_elapsed(unsigned long data)
+@@ -2452,20 +2449,19 @@ void i915_hangcheck_elapsed(unsigned lon
                return;
        }
  
@@ -96,11 +92,9 @@ index 3920c26d56ca..ef31d00fbf1e 100644
        }
  
  repeat:
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index d99ff99b07b2..df0b7c7ac166 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1513,6 +1513,7 @@ void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno)
+@@ -1517,6 +1517,7 @@ void intel_ring_init_seqno(struct intel_
        }
  
        ring->set_seqno(ring, seqno);
@@ -108,8 +102,6 @@ index d99ff99b07b2..df0b7c7ac166 100644
  }
  
  void intel_ring_advance(struct intel_ring_buffer *ring)
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index dac1614a1bca..ef374a892105 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -37,6 +37,10 @@ struct  intel_hw_status_page {
@@ -132,6 +124,3 @@ index dac1614a1bca..ef374a892105 100644
        void *private;
  };
  
--- 
-1.8.5.rc3
-
index 4a6531de605193d6c08e8099c6fc43f05eb42af0..a437000231996452c9709563a7d618e55e024559 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  cleanup_irq:
        drm_irq_uninstall(dev);
  cleanup_gem_stolen:
-@@ -1754,6 +1755,7 @@ int i915_driver_unload(struct drm_device
+@@ -1755,6 +1756,7 @@ int i915_driver_unload(struct drm_device
                        i915_free_hws(dev);
        }
  
index fe1d00b46e33fa2c50b80433bf3fd231b9af7ccf..34817fc16e52d29f5ecb4b7fb8d19f55b1093f74 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1766,6 +1766,8 @@ int i915_driver_unload(struct drm_device
+@@ -1767,6 +1767,8 @@ int i915_driver_unload(struct drm_device
        destroy_workqueue(dev_priv->wq);
        pm_qos_remove_request(&dev_priv->pm_qos);
  
index 7f83d54ebec6ef1be4d29f5dfa02c9d65cc008e0..6ab2430aa9cc94bf2fc2424ce9df2bcb6b162c5f 100644 (file)
@@ -13,14 +13,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit bc7d38a43ab1af4cad1c235c3aa30426b6c7d6c5)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 49 +++++++++++++++++++++++------------------
+ drivers/gpu/drm/i915/intel_dp.c |   49 ++++++++++++++++++++++------------------
  1 file changed, 27 insertions(+), 22 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index e1d39f2c70fe..63fa72d4a4c6 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -696,6 +696,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
+@@ -696,6 +696,7 @@ intel_dp_compute_config(struct intel_enc
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_display_mode *adjusted_mode = &pipe_config->adjusted_mode;
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
@@ -28,7 +26,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
        struct intel_crtc *intel_crtc = encoder->new_crtc;
        struct intel_connector *intel_connector = intel_dp->attached_connector;
        int lane_count, clock;
-@@ -705,7 +706,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
+@@ -705,7 +706,7 @@ intel_dp_compute_config(struct intel_enc
        static int bws[2] = { DP_LINK_BW_1_62, DP_LINK_BW_2_7 };
        int target_clock, link_avail, link_clock;
  
@@ -37,7 +35,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                pipe_config->has_pch_encoder = true;
  
        pipe_config->has_dp_encoder = true;
-@@ -848,6 +849,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -848,6 +849,7 @@ intel_dp_mode_set(struct drm_encoder *en
        struct drm_device *dev = encoder->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
@@ -45,7 +43,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
        struct drm_crtc *crtc = encoder->crtc;
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
  
-@@ -888,7 +890,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -888,7 +890,7 @@ intel_dp_mode_set(struct drm_encoder *en
  
        /* Split out the IBX/CPU vs CPT settings */
  
@@ -54,7 +52,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC)
                        intel_dp->DP |= DP_SYNC_HS_HIGH;
                if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC)
-@@ -905,7 +907,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -905,7 +907,7 @@ intel_dp_mode_set(struct drm_encoder *en
                        intel_dp->DP |= DP_PLL_FREQ_160MHZ;
                else
                        intel_dp->DP |= DP_PLL_FREQ_270MHZ;
@@ -63,7 +61,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                if (!HAS_PCH_SPLIT(dev) && !IS_VALLEYVIEW(dev))
                        intel_dp->DP |= intel_dp->color_range;
  
-@@ -921,7 +923,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -921,7 +923,7 @@ intel_dp_mode_set(struct drm_encoder *en
                if (intel_crtc->pipe == 1)
                        intel_dp->DP |= DP_PIPEB_SELECT;
  
@@ -72,7 +70,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                        /* don't miss out required setting for eDP */
                        if (adjusted_mode->clock < 200000)
                                intel_dp->DP |= DP_PLL_FREQ_160MHZ;
-@@ -932,7 +934,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -932,7 +934,7 @@ intel_dp_mode_set(struct drm_encoder *en
                intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
        }
  
@@ -81,7 +79,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                ironlake_set_pll_edp(crtc, adjusted_mode->clock);
  }
  
-@@ -1322,6 +1324,7 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder,
+@@ -1322,6 +1324,7 @@ static bool intel_dp_get_hw_state(struct
                                  enum pipe *pipe)
  {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
@@ -89,7 +87,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 tmp = I915_READ(intel_dp->output_reg);
-@@ -1329,9 +1332,9 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder,
+@@ -1329,9 +1332,9 @@ static bool intel_dp_get_hw_state(struct
        if (!(tmp & DP_PORT_EN))
                return false;
  
@@ -101,7 +99,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                *pipe = PORT_TO_PIPE(tmp);
        } else {
                u32 trans_sel;
-@@ -1451,14 +1454,14 @@ static void intel_enable_dp(struct intel_encoder *encoder)
+@@ -1451,14 +1454,14 @@ static void intel_enable_dp(struct intel
  static void intel_pre_enable_dp(struct intel_encoder *encoder)
  {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
@@ -142,7 +140,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
  
        if (HAS_DDI(dev)) {
                switch (voltage_swing & DP_TRAIN_VOLTAGE_SWING_MASK) {
-@@ -1606,7 +1611,7 @@ intel_dp_pre_emphasis_max(struct intel_dp *intel_dp, uint8_t voltage_swing)
+@@ -1606,7 +1611,7 @@ intel_dp_pre_emphasis_max(struct intel_d
                default:
                        return DP_TRAIN_PRE_EMPHASIS_0;
                }
@@ -159,7 +157,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
        struct drm_device *dev = intel_dig_port->base.base.dev;
        uint32_t signal_levels, mask;
        uint8_t train_set = intel_dp->train_set[0];
-@@ -1903,10 +1909,10 @@ intel_dp_set_signal_levels(struct intel_dp *intel_dp, uint32_t *DP)
+@@ -1903,10 +1909,10 @@ intel_dp_set_signal_levels(struct intel_
        } else if (IS_VALLEYVIEW(dev)) {
                signal_levels = intel_vlv_signal_levels(intel_dp);
                mask = 0;
@@ -172,7 +170,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                signal_levels = intel_gen6_edp_signal_levels(train_set);
                mask = EDP_LINK_TRAIN_VOL_EMP_MASK_SNB;
        } else {
-@@ -1956,8 +1962,7 @@ intel_dp_set_link_train(struct intel_dp *intel_dp,
+@@ -1956,8 +1962,7 @@ intel_dp_set_link_train(struct intel_dp
                }
                I915_WRITE(DP_TP_CTL(port), temp);
  
@@ -190,7 +188,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
        struct drm_device *dev = intel_dig_port->base.base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_crtc *intel_crtc =
-@@ -2237,7 +2243,7 @@ intel_dp_link_down(struct intel_dp *intel_dp)
+@@ -2237,7 +2243,7 @@ intel_dp_link_down(struct intel_dp *inte
  
        DRM_DEBUG_KMS("\n");
  
@@ -199,7 +197,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                DP &= ~DP_LINK_TRAIN_MASK_CPT;
                I915_WRITE(intel_dp->output_reg, DP | DP_LINK_TRAIN_PAT_IDLE_CPT);
        } else {
-@@ -2964,9 +2970,6 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev,
+@@ -2980,9 +2986,6 @@ intel_dp_init_panel_power_sequencer_regi
                pp_div_reg = PIPEA_PP_DIVISOR;
        }
  
@@ -209,7 +207,7 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
        /* And finally store the new values in the power sequencer. */
        pp_on = (seq->t1_t3 << PANEL_POWER_UP_DELAY_SHIFT) |
                (seq->t8 << PANEL_LIGHT_ON_DELAY_SHIFT);
-@@ -2980,8 +2983,10 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev,
+@@ -2996,8 +2999,10 @@ intel_dp_init_panel_power_sequencer_regi
  
        /* Haswell doesn't have any port selection bits for the panel
         * power sequencer any more. */
@@ -222,6 +220,3 @@ index e1d39f2c70fe..63fa72d4a4c6 100644
                        port_sel = PANEL_POWER_PORT_DP_A;
                else
                        port_sel = PANEL_POWER_PORT_DP_D;
--- 
-1.8.5.rc3
-
index cda2ca5645e38e55072e4d541ca27597e00ac169..878c930cf24fc790e9ab354d8efecc6f32ce8765 100644 (file)
@@ -20,13 +20,11 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 5586181fce2b2e89a0e281d78ffbdfa103bb0dde)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h         | 12 ++++++------
- drivers/gpu/drm/i915/intel_ringbuffer.c | 18 +++++++++---------
- drivers/gpu/drm/i915/intel_ringbuffer.h |  4 ++--
+ drivers/gpu/drm/i915/i915_reg.h         |   12 ++++++------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   18 +++++++++---------
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    4 ++--
  3 files changed, 17 insertions(+), 17 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index e29e9b17690c..f56c30ef40c8 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -265,12 +265,12 @@
@@ -48,11 +46,9 @@ index e29e9b17690c..f56c30ef40c8 100644
  #define  MI_SEMAPHORE_SYNC_INVALID  (1<<0)
  /*
   * 3D instructions used by the kernel
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 4295400a39ac..ef64bb3e847c 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1682,9 +1682,9 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1686,9 +1686,9 @@ int intel_init_render_ring_buffer(struct
                ring->get_seqno = gen6_ring_get_seqno;
                ring->set_seqno = ring_set_seqno;
                ring->sync_to = gen6_ring_sync;
@@ -65,7 +61,7 @@ index 4295400a39ac..ef64bb3e847c 100644
                ring->signal_mbox[0] = GEN6_VRSYNC;
                ring->signal_mbox[1] = GEN6_BRSYNC;
        } else if (IS_GEN5(dev)) {
-@@ -1841,9 +1841,9 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev)
+@@ -1845,9 +1845,9 @@ int intel_init_bsd_ring_buffer(struct dr
                ring->irq_put = gen6_ring_put_irq;
                ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
                ring->sync_to = gen6_ring_sync;
@@ -78,7 +74,7 @@ index 4295400a39ac..ef64bb3e847c 100644
                ring->signal_mbox[0] = GEN6_RVSYNC;
                ring->signal_mbox[1] = GEN6_BVSYNC;
        } else {
-@@ -1887,9 +1887,9 @@ int intel_init_blt_ring_buffer(struct drm_device *dev)
+@@ -1891,9 +1891,9 @@ int intel_init_blt_ring_buffer(struct dr
        ring->irq_put = gen6_ring_put_irq;
        ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
        ring->sync_to = gen6_ring_sync;
@@ -91,8 +87,6 @@ index 4295400a39ac..ef64bb3e847c 100644
        ring->signal_mbox[0] = GEN6_RBSYNC;
        ring->signal_mbox[1] = GEN6_VBSYNC;
        ring->init = init_ring_common;
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index ef374a892105..24268fbe6855 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -105,8 +105,8 @@ struct  intel_ring_buffer {
@@ -106,6 +100,3 @@ index ef374a892105..24268fbe6855 100644
        u32             signal_mbox[2]; /* mboxes this ring signals to */
        /**
         * List of objects currently involved in rendering from the
--- 
-1.8.5.rc3
-
index 3f8028dfcceefa517064eb25c65540629831f99f..1ecd1896fb5f4432b9edc0f9324a3e5acda50085 100644 (file)
@@ -21,13 +21,11 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ad776f8b09d66e0145479fdbde2a710e5892441f)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h         |  1 +
- drivers/gpu/drm/i915/intel_ringbuffer.c | 43 ++++++++++++++++++++++-----------
- drivers/gpu/drm/i915/intel_ringbuffer.h |  5 +++-
+ drivers/gpu/drm/i915/i915_reg.h         |    1 
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   43 +++++++++++++++++++++-----------
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    5 ++-
  3 files changed, 34 insertions(+), 15 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index f56c30ef40c8..77e201b7bfda 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -593,6 +593,7 @@
@@ -38,8 +36,6 @@ index f56c30ef40c8..77e201b7bfda 100644
  #define GEN6_BVSYNC (RING_SYNC_1(BLT_RING_BASE))
  #define RING_MAX_IDLE(base)   ((base)+0x54)
  #define RING_HWS_PGA(base)    ((base)+0x80)
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index ef64bb3e847c..97555b7d4d0c 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
 @@ -581,9 +581,16 @@ static void
@@ -59,7 +55,7 @@ index ef64bb3e847c..97555b7d4d0c 100644
  }
  
  /**
-@@ -598,19 +605,24 @@ update_mboxes(struct intel_ring_buffer *ring,
+@@ -598,19 +605,24 @@ update_mboxes(struct intel_ring_buffer *
  static int
  gen6_add_request(struct intel_ring_buffer *ring)
  {
@@ -92,7 +88,7 @@ index ef64bb3e847c..97555b7d4d0c 100644
        intel_ring_emit(ring, MI_STORE_DWORD_INDEX);
        intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
        intel_ring_emit(ring, ring->outstanding_lazy_request);
-@@ -1685,8 +1697,9 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1689,8 +1701,9 @@ int intel_init_render_ring_buffer(struct
                ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_INVALID;
                ring->semaphore_register[VCS] = MI_SEMAPHORE_SYNC_RV;
                ring->semaphore_register[BCS] = MI_SEMAPHORE_SYNC_RB;
@@ -104,7 +100,7 @@ index ef64bb3e847c..97555b7d4d0c 100644
        } else if (IS_GEN5(dev)) {
                ring->add_request = pc_render_add_request;
                ring->flush = gen4_render_ring_flush;
-@@ -1844,8 +1857,9 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev)
+@@ -1848,8 +1861,9 @@ int intel_init_bsd_ring_buffer(struct dr
                ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_VR;
                ring->semaphore_register[VCS] = MI_SEMAPHORE_SYNC_INVALID;
                ring->semaphore_register[BCS] = MI_SEMAPHORE_SYNC_VB;
@@ -116,7 +112,7 @@ index ef64bb3e847c..97555b7d4d0c 100644
        } else {
                ring->mmio_base = BSD_RING_BASE;
                ring->flush = bsd_ring_flush;
-@@ -1890,8 +1904,9 @@ int intel_init_blt_ring_buffer(struct drm_device *dev)
+@@ -1894,8 +1908,9 @@ int intel_init_blt_ring_buffer(struct dr
        ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_BR;
        ring->semaphore_register[VCS] = MI_SEMAPHORE_SYNC_BV;
        ring->semaphore_register[BCS] = MI_SEMAPHORE_SYNC_INVALID;
@@ -128,8 +124,6 @@ index ef64bb3e847c..97555b7d4d0c 100644
        ring->init = init_ring_common;
  
        return intel_init_ring_buffer(dev, ring);
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index 24268fbe6855..f55d92eb6c2a 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -105,9 +105,12 @@ struct  intel_ring_buffer {
@@ -146,6 +140,3 @@ index 24268fbe6855..f55d92eb6c2a 100644
        /**
         * List of objects currently involved in rendering from the
         * ringbuffer.
--- 
-1.8.5.rc3
-
index 8574c03bda777f97050df92447829e8b0ecc2d8c..dc596e4db509186a05a23200bafa6c40905fd62f 100644 (file)
@@ -19,12 +19,10 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1950de14fd1b8ea27a411929156c7eccee2ad7c3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h         | 40 ++++++++++++++++++++++-----------
- drivers/gpu/drm/i915/intel_ringbuffer.c |  6 +++++
+ drivers/gpu/drm/i915/i915_reg.h         |   40 +++++++++++++++++++++-----------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    6 ++++
  2 files changed, 33 insertions(+), 13 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 77e201b7bfda..cad62c893fa9 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -265,13 +265,19 @@
@@ -89,11 +87,9 @@ index 77e201b7bfda..cad62c893fa9 100644
  #define RING_MAX_IDLE(base)   ((base)+0x54)
  #define RING_HWS_PGA(base)    ((base)+0x80)
  #define RING_HWS_PGA_GEN6(base)       ((base)+0x2080)
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 4f51e8da8dfe..7a716ec8695d 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1699,9 +1699,11 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1703,9 +1703,11 @@ int intel_init_render_ring_buffer(struct
                ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_INVALID;
                ring->semaphore_register[VCS] = MI_SEMAPHORE_SYNC_RV;
                ring->semaphore_register[BCS] = MI_SEMAPHORE_SYNC_RB;
@@ -105,7 +101,7 @@ index 4f51e8da8dfe..7a716ec8695d 100644
        } else if (IS_GEN5(dev)) {
                ring->add_request = pc_render_add_request;
                ring->flush = gen4_render_ring_flush;
-@@ -1859,9 +1861,11 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev)
+@@ -1863,9 +1865,11 @@ int intel_init_bsd_ring_buffer(struct dr
                ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_VR;
                ring->semaphore_register[VCS] = MI_SEMAPHORE_SYNC_INVALID;
                ring->semaphore_register[BCS] = MI_SEMAPHORE_SYNC_VB;
@@ -117,7 +113,7 @@ index 4f51e8da8dfe..7a716ec8695d 100644
        } else {
                ring->mmio_base = BSD_RING_BASE;
                ring->flush = bsd_ring_flush;
-@@ -1906,9 +1910,11 @@ int intel_init_blt_ring_buffer(struct drm_device *dev)
+@@ -1910,9 +1914,11 @@ int intel_init_blt_ring_buffer(struct dr
        ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_BR;
        ring->semaphore_register[VCS] = MI_SEMAPHORE_SYNC_BV;
        ring->semaphore_register[BCS] = MI_SEMAPHORE_SYNC_INVALID;
@@ -129,6 +125,3 @@ index 4f51e8da8dfe..7a716ec8695d 100644
        ring->init = init_ring_common;
  
        return intel_init_ring_buffer(dev, ring);
--- 
-1.8.5.rc3
-
index 31b58a5fe45f91511a159c95926b580ece929f69..f542c7535c290c42eec6fa9f180921bb6bde6e7f 100644 (file)
@@ -19,14 +19,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ea251324cac6c1e0402db073e5193f33aedd94f3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_ringbuffer.c | 12 ++++++------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 7a716ec8695d..40bf9e699599 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1576,8 +1576,8 @@ static void gen6_bsd_ring_write_tail(struct intel_ring_buffer *ring,
+@@ -1580,8 +1580,8 @@ static void gen6_bsd_ring_write_tail(str
                   _MASKED_BIT_DISABLE(GEN6_BSD_SLEEP_MSG_DISABLE));
  }
  
@@ -37,7 +35,7 @@ index 7a716ec8695d..40bf9e699599 100644
  {
        uint32_t cmd;
        int ret;
-@@ -1648,8 +1648,8 @@ gen6_ring_dispatch_execbuffer(struct intel_ring_buffer *ring,
+@@ -1652,8 +1652,8 @@ gen6_ring_dispatch_execbuffer(struct int
  
  /* Blitter support (SandyBridge+) */
  
@@ -48,7 +46,7 @@ index 7a716ec8695d..40bf9e699599 100644
  {
        uint32_t cmd;
        int ret;
-@@ -1849,7 +1849,7 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev)
+@@ -1853,7 +1853,7 @@ int intel_init_bsd_ring_buffer(struct dr
                /* gen6 bsd needs a special wa for tail updates */
                if (IS_GEN6(dev))
                        ring->write_tail = gen6_bsd_ring_write_tail;
@@ -57,7 +55,7 @@ index 7a716ec8695d..40bf9e699599 100644
                ring->add_request = gen6_add_request;
                ring->get_seqno = gen6_ring_get_seqno;
                ring->set_seqno = ring_set_seqno;
-@@ -1898,7 +1898,7 @@ int intel_init_blt_ring_buffer(struct drm_device *dev)
+@@ -1902,7 +1902,7 @@ int intel_init_blt_ring_buffer(struct dr
  
        ring->mmio_base = BLT_RING_BASE;
        ring->write_tail = ring_write_tail;
@@ -66,6 +64,3 @@ index 7a716ec8695d..40bf9e699599 100644
        ring->add_request = gen6_add_request;
        ring->get_seqno = gen6_ring_get_seqno;
        ring->set_seqno = ring_set_seqno;
--- 
-1.8.5.rc3
-
index 3979fa93a613e30e7d106c9fab635e565479551d..bddad734a012491bb067bdd74f9b2d3f280b8e93 100644 (file)
@@ -12,17 +12,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 9a8a2213a778509b724c8fda04be70528a1f7130)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem.c         | 11 ++++++++++-
- drivers/gpu/drm/i915/i915_reg.h         |  1 +
- drivers/gpu/drm/i915/intel_ringbuffer.c | 35 ++++++++++++++++++++++++++++++++-
- drivers/gpu/drm/i915/intel_ringbuffer.h |  1 +
+ drivers/gpu/drm/i915/i915_gem.c         |   11 +++++++++-
+ drivers/gpu/drm/i915/i915_reg.h         |    1 
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   35 +++++++++++++++++++++++++++++++-
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    1 
  4 files changed, 46 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 03103eb57e32..25f327cc1127 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -4043,12 +4043,21 @@ static int i915_gem_init_rings(struct drm_device *dev)
+@@ -4043,12 +4043,21 @@ static int i915_gem_init_rings(struct dr
                        goto cleanup_bsd_ring;
        }
  
@@ -45,8 +43,6 @@ index 03103eb57e32..25f327cc1127 100644
  cleanup_blt_ring:
        intel_cleanup_ring_buffer(&dev_priv->ring[BCS]);
  cleanup_bsd_ring:
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index cad62c893fa9..4b25cbafc4f2 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -620,6 +620,7 @@
@@ -57,11 +53,9 @@ index cad62c893fa9..4b25cbafc4f2 100644
  #define RING_ACTHD(base)      ((base)+0x74)
  #define RING_NOPID(base)      ((base)+0x94)
  #define RING_IMR(base)                ((base)+0xa8)
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 40bf9e699599..c626a943d9c2 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -915,7 +915,8 @@ void intel_ring_setup_status_page(struct intel_ring_buffer *ring)
+@@ -915,7 +915,8 @@ void intel_ring_setup_status_page(struct
                        mmio = BSD_HWS_PGA_GEN7;
                        break;
                case VECS:
@@ -71,10 +65,12 @@ index 40bf9e699599..c626a943d9c2 100644
                }
        } else if (IS_GEN6(ring->dev)) {
                mmio = RING_HWS_PGA_GEN6(ring->mmio_base);
-@@ -1920,6 +1921,38 @@ int intel_init_blt_ring_buffer(struct drm_device *dev)
-       return intel_init_ring_buffer(dev, ring);
- }
+@@ -1922,6 +1923,38 @@ int intel_init_blt_ring_buffer(struct dr
+       ring->init = init_ring_common;
  
+       return intel_init_ring_buffer(dev, ring);
++}
++
 +int intel_init_vebox_ring_buffer(struct drm_device *dev)
 +{
 +      drm_i915_private_t *dev_priv = dev->dev_private;
@@ -105,16 +101,12 @@ index 40bf9e699599..c626a943d9c2 100644
 +      ring->init = init_ring_common;
 +
 +      return intel_init_ring_buffer(dev, ring);
-+}
-+
+ }
  int
- intel_ring_flush_all_caches(struct intel_ring_buffer *ring)
- {
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index 73619cb34631..1c79520c7e45 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
-@@ -234,6 +234,7 @@ int intel_ring_invalidate_all_caches(struct intel_ring_buffer *ring);
+@@ -234,6 +234,7 @@ int intel_ring_invalidate_all_caches(str
  int intel_init_render_ring_buffer(struct drm_device *dev);
  int intel_init_bsd_ring_buffer(struct drm_device *dev);
  int intel_init_blt_ring_buffer(struct drm_device *dev);
@@ -122,6 +114,3 @@ index 73619cb34631..1c79520c7e45 100644
  
  u32 intel_ring_get_active_head(struct intel_ring_buffer *ring);
  void intel_ring_setup_status_page(struct intel_ring_buffer *ring);
--- 
-1.8.5.rc3
-
index dcef57249e38b8e8d44252c5ec4cae248709820f..26867115d372280a1eef053e430da0ca67796927 100644 (file)
@@ -32,15 +32,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 801bcfffbb0721d7131e930f9a46103e539c43a4)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h |   3 +
- drivers/gpu/drm/i915/intel_pm.c | 342 +++++++++++++++++++++++++++++++++++++---
+ drivers/gpu/drm/i915/i915_reg.h |    3 
+ drivers/gpu/drm/i915/intel_pm.c |  342 +++++++++++++++++++++++++++++++++++++---
  2 files changed, 327 insertions(+), 18 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 4b25cbafc4f2..a2a4bc6dfe57 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4953,6 +4953,9 @@
+@@ -4957,6 +4957,9 @@
  #define  SFUSE_STRAP_DDIC_DETECTED    (1<<1)
  #define  SFUSE_STRAP_DDID_DETECTED    (1<<0)
  
@@ -50,11 +48,9 @@ index 4b25cbafc4f2..a2a4bc6dfe57 100644
  #define WM_DBG                                0x45280
  #define  WM_DBG_DISALLOW_MULTIPLE_LP  (1<<0)
  #define  WM_DBG_DISALLOW_MAXFIFO      (1<<1)
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 6d189cde8591..bbd2a06718b1 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -2072,19 +2072,170 @@ static void ivybridge_update_wm(struct drm_device *dev)
+@@ -2072,19 +2072,170 @@ static void ivybridge_update_wm(struct d
                   cursor_wm);
  }
  
@@ -232,7 +228,7 @@ index 6d189cde8591..bbd2a06718b1 100644
  
        /* The WM are computed with base on how long it takes to fill a single
         * row at the given clock rate, multiplied by 8.
-@@ -2093,29 +2244,184 @@ haswell_update_linetime_wm(struct drm_device *dev, struct drm_crtc *crtc)
+@@ -2093,29 +2244,184 @@ haswell_update_linetime_wm(struct drm_de
        ips_linetime = DIV_ROUND_CLOSEST(mode->htotal * 1000 * 8,
                                         intel_ddi_get_cdclk_freq(dev_priv));
  
@@ -247,18 +243,13 @@ index 6d189cde8591..bbd2a06718b1 100644
 +static void hsw_compute_wm_parameters(struct drm_device *dev,
 +                                    struct hsw_pipe_wm_parameters *params,
 +                                    uint32_t *wm)
- {
-       struct drm_i915_private *dev_priv = dev->dev_private;
-       struct drm_crtc *crtc;
++{
++      struct drm_i915_private *dev_priv = dev->dev_private;
++      struct drm_crtc *crtc;
 +      struct drm_plane *plane;
 +      uint64_t sskpd = I915_READ64(MCH_SSKPD);
-       enum pipe pipe;
--      /* Disable the LP WMs before changine the linetime registers. This is
--       * just a temporary code that will be replaced soon. */
--      I915_WRITE(WM3_LP_ILK, 0);
--      I915_WRITE(WM2_LP_ILK, 0);
--      I915_WRITE(WM1_LP_ILK, 0);
++      enum pipe pipe;
++
 +      if ((sskpd >> 56) & 0xFF)
 +              wm[0] = (sskpd >> 56) & 0xFF;
 +      else
@@ -305,11 +296,16 @@ index 6d189cde8591..bbd2a06718b1 100644
 +                                 struct hsw_pipe_wm_parameters *params,
 +                                 uint32_t *wm,
 +                                 struct hsw_wm_values *results)
-+{
-+      struct drm_i915_private *dev_priv = dev->dev_private;
-+      struct drm_crtc *crtc;
-+      enum pipe pipe;
-+
+ {
+       struct drm_i915_private *dev_priv = dev->dev_private;
+       struct drm_crtc *crtc;
+       enum pipe pipe;
+-      /* Disable the LP WMs before changine the linetime registers. This is
+-       * just a temporary code that will be replaced soon. */
+-      I915_WRITE(WM3_LP_ILK, 0);
+-      I915_WRITE(WM2_LP_ILK, 0);
+-      I915_WRITE(WM1_LP_ILK, 0);
 +      /* No support for LP WMs yet. */
 +      results->wm_lp[2] = 0;
 +      results->wm_lp[1] = 0;
@@ -327,7 +323,7 @@ index 6d189cde8591..bbd2a06718b1 100644
                crtc = dev_priv->pipe_to_crtc_mapping[pipe];
 -              haswell_update_linetime_wm(dev, crtc);
 +              results->wm_linetime[pipe] = hsw_compute_linetime_wm(dev, crtc);
-       }
++      }
 +}
 +
 +/*
@@ -397,8 +393,9 @@ index 6d189cde8591..bbd2a06718b1 100644
 +              else
 +                      val |= WM_MISC_DATA_PARTITION_5_6;
 +              I915_WRITE(WM_MISC, val);
-+      }
-+
+       }
+-      sandybridge_update_wm(dev);
 +      if (previous.wm_lp_spr[0] != results->wm_lp_spr[0])
 +              I915_WRITE(WM1S_LP_ILK, results->wm_lp_spr[0]);
 +      if (previous.wm_lp_spr[1] != results->wm_lp_spr[1])
@@ -420,14 +417,10 @@ index 6d189cde8591..bbd2a06718b1 100644
 +      struct hsw_pipe_wm_parameters params[3];
 +      struct hsw_wm_values results;
 +      uint32_t wm[5];
--      sandybridge_update_wm(dev);
++
 +      hsw_compute_wm_parameters(dev, params, wm);
 +      hsw_compute_wm_results(dev, params, wm, &results);
 +      hsw_write_wm_values(dev_priv, &results, HSW_DATA_BUF_PART_1_2);
  }
  
  static void haswell_update_sprite_wm(struct drm_device *dev, int pipe,
--- 
-1.8.5.rc3
-
index b72c5f47d4e2f8795ba12e695a688baf03f48db5..5294d86db3843be6f15a0dd3b6439c2960dfc558 100644 (file)
@@ -23,15 +23,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit cca32e9ad372172c808b93eebff536459ce37d85)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h |   4 +
- drivers/gpu/drm/i915/intel_pm.c | 179 ++++++++++++++++++++++++++++++++++++----
+ drivers/gpu/drm/i915/i915_reg.h |    4 
+ drivers/gpu/drm/i915/intel_pm.c |  179 +++++++++++++++++++++++++++++++++++-----
  2 files changed, 165 insertions(+), 18 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index a2a4bc6dfe57..8fdafd4619ae 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3106,6 +3106,10 @@
+@@ -3110,6 +3110,10 @@
  #define WM3S_LP_IVB           0x45128
  #define  WM1S_LP_EN           (1<<31)
  
@@ -42,11 +40,9 @@ index a2a4bc6dfe57..8fdafd4619ae 100644
  /* Memory latency timer register */
  #define MLTR_ILK              0x11222
  #define  MLTR_WM1_SHIFT               0
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index bbd2a06718b1..bc476bc15916 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -2129,6 +2129,12 @@ static uint32_t hsw_wm_method2(uint32_t pixel_rate, uint32_t pipe_htotal,
+@@ -2129,6 +2129,12 @@ static uint32_t hsw_wm_method2(uint32_t
        return ret;
  }
  
@@ -126,7 +122,7 @@ index bbd2a06718b1..bc476bc15916 100644
  }
  
  /* For both WM_PIPE and WM_LP. */
-@@ -2201,13 +2238,60 @@ static uint32_t hsw_compute_cur_wm(struct hsw_pipe_wm_parameters *params,
+@@ -2201,13 +2238,60 @@ static uint32_t hsw_compute_cur_wm(struc
                              mem_value);
  }
  
@@ -188,7 +184,7 @@ index bbd2a06718b1..bc476bc15916 100644
        spr_val = hsw_compute_spr_wm(params, mem_value);
        cur_val = hsw_compute_cur_wm(params, mem_value);
  
-@@ -2250,13 +2334,15 @@ hsw_compute_linetime_wm(struct drm_device *dev, struct drm_crtc *crtc)
+@@ -2250,13 +2334,15 @@ hsw_compute_linetime_wm(struct drm_devic
  
  static void hsw_compute_wm_parameters(struct drm_device *dev,
                                      struct hsw_pipe_wm_parameters *params,
@@ -205,7 +201,7 @@ index bbd2a06718b1..bc476bc15916 100644
  
        if ((sskpd >> 56) & 0xFF)
                wm[0] = (sskpd >> 56) & 0xFF;
-@@ -2278,6 +2364,8 @@ static void hsw_compute_wm_parameters(struct drm_device *dev,
+@@ -2278,6 +2364,8 @@ static void hsw_compute_wm_parameters(st
                if (!p->active)
                        continue;
  
@@ -214,14 +210,14 @@ index bbd2a06718b1..bc476bc15916 100644
                p->pipe_htotal = intel_crtc->config.adjusted_mode.htotal;
                p->pixel_rate = hsw_wm_get_pixel_rate(dev, crtc);
                p->pri_bytes_per_pixel = crtc->fb->bits_per_pixel / 8;
-@@ -2297,25 +2385,66 @@ static void hsw_compute_wm_parameters(struct drm_device *dev,
+@@ -2297,25 +2385,66 @@ static void hsw_compute_wm_parameters(st
                p->sprite_enabled = intel_plane->wm.enable;
                p->spr_bytes_per_pixel = intel_plane->wm.bytes_per_pixel;
                p->spr_horiz_pixels = intel_plane->wm.horiz_pixels;
 +
 +              if (p->sprite_enabled)
 +                      sprites_enabled++;
-+      }
+       }
 +
 +      if (pipes_active > 1) {
 +              lp_max_1_2->pri = sprites_enabled ? 128 : 256;
@@ -231,7 +227,7 @@ index bbd2a06718b1..bc476bc15916 100644
 +              lp_max_1_2->pri = sprites_enabled ? 384 : 768;
 +              lp_max_1_2->spr = 384;
 +              lp_max_1_2->cur = 255;
-       }
++      }
 +      lp_max_1_2->fbc = 15;
  }
  
@@ -262,10 +258,6 @@ index bbd2a06718b1..bc476bc15916 100644
 +                      break;
 +              }
 +      }
-+
-+      memset(results, 0, sizeof(*results));
-+      for (wm_lp = 1; wm_lp <= 3; wm_lp++) {
-+              const struct hsw_lp_wm_result *r;
  
 -      /* No support for LP WMs yet. */
 -      results->wm_lp[2] = 0;
@@ -274,6 +266,10 @@ index bbd2a06718b1..bc476bc15916 100644
 -      results->wm_lp_spr[2] = 0;
 -      results->wm_lp_spr[1] = 0;
 -      results->wm_lp_spr[0] = 0;
++      memset(results, 0, sizeof(*results));
++      for (wm_lp = 1; wm_lp <= 3; wm_lp++) {
++              const struct hsw_lp_wm_result *r;
++
 +              level = (max_level == 4 && wm_lp > 1) ? wm_lp + 1 : wm_lp;
 +              if (level > max_level)
 +                      break;
@@ -288,7 +284,7 @@ index bbd2a06718b1..bc476bc15916 100644
  
        for_each_pipe(pipe)
                results->wm_pipe[pipe] = hsw_compute_wm_pipe(dev_priv, wm[0],
-@@ -2339,6 +2468,7 @@ static void hsw_write_wm_values(struct drm_i915_private *dev_priv,
+@@ -2339,6 +2468,7 @@ static void hsw_write_wm_values(struct d
        struct hsw_wm_values previous;
        uint32_t val;
        enum hsw_data_buf_partitioning prev_partitioning;
@@ -296,7 +292,7 @@ index bbd2a06718b1..bc476bc15916 100644
  
        previous.wm_pipe[0] = I915_READ(WM0_PIPEA_ILK);
        previous.wm_pipe[1] = I915_READ(WM0_PIPEB_ILK);
-@@ -2356,6 +2486,8 @@ static void hsw_write_wm_values(struct drm_i915_private *dev_priv,
+@@ -2356,6 +2486,8 @@ static void hsw_write_wm_values(struct d
        prev_partitioning = (I915_READ(WM_MISC) & WM_MISC_DATA_PARTITION_5_6) ?
                            HSW_DATA_BUF_PART_5_6 : HSW_DATA_BUF_PART_1_2;
  
@@ -305,7 +301,7 @@ index bbd2a06718b1..bc476bc15916 100644
        if (memcmp(results->wm_pipe, previous.wm_pipe,
                   sizeof(results->wm_pipe)) == 0 &&
            memcmp(results->wm_lp, previous.wm_lp,
-@@ -2364,7 +2496,8 @@ static void hsw_write_wm_values(struct drm_i915_private *dev_priv,
+@@ -2364,7 +2496,8 @@ static void hsw_write_wm_values(struct d
                   sizeof(results->wm_lp_spr)) == 0 &&
            memcmp(results->wm_linetime, previous.wm_linetime,
                   sizeof(results->wm_linetime)) == 0 &&
@@ -315,7 +311,7 @@ index bbd2a06718b1..bc476bc15916 100644
                return;
  
        if (previous.wm_lp[2] != 0)
-@@ -2397,6 +2530,15 @@ static void hsw_write_wm_values(struct drm_i915_private *dev_priv,
+@@ -2397,6 +2530,15 @@ static void hsw_write_wm_values(struct d
                I915_WRITE(WM_MISC, val);
        }
  
@@ -331,7 +327,7 @@ index bbd2a06718b1..bc476bc15916 100644
        if (previous.wm_lp_spr[0] != results->wm_lp_spr[0])
                I915_WRITE(WM1S_LP_ILK, results->wm_lp_spr[0]);
        if (previous.wm_lp_spr[1] != results->wm_lp_spr[1])
-@@ -2415,12 +2557,13 @@ static void hsw_write_wm_values(struct drm_i915_private *dev_priv,
+@@ -2415,12 +2557,13 @@ static void hsw_write_wm_values(struct d
  static void haswell_update_wm(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -347,6 +343,3 @@ index bbd2a06718b1..bc476bc15916 100644
        hsw_write_wm_values(dev_priv, &results, HSW_DATA_BUF_PART_1_2);
  }
  
--- 
-1.8.5.rc3
-
index 07446d483d247494f9edaf8ce150b90022059725..6ed25279fb87c308b6faa5b57c5b43f2f63814f3 100644 (file)
@@ -46,16 +46,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 4848405cced3b46f4ec7d404b8ed5873171ae10a)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c | 21 +++++++++++----------
- drivers/gpu/drm/i915/i915_reg.h |  2 +-
- drivers/gpu/drm/i915/intel_pm.c | 13 +++++++------
+ drivers/gpu/drm/i915/i915_irq.c |   21 +++++++++++----------
+ drivers/gpu/drm/i915/i915_reg.h |    2 +-
+ drivers/gpu/drm/i915/intel_pm.c |   13 +++++++------
  3 files changed, 19 insertions(+), 17 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index c150f90b5770..19734c719ef8 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -691,10 +691,11 @@ static void gen6_pm_rps_work(struct work_struct *work)
+@@ -691,10 +691,11 @@ static void gen6_pm_rps_work(struct work
        pm_iir = dev_priv->rps.pm_iir;
        dev_priv->rps.pm_iir = 0;
        pm_imr = I915_READ(GEN6_PMIMR);
@@ -69,7 +67,7 @@ index c150f90b5770..19734c719ef8 100644
                return;
  
        mutex_lock(&dev_priv->rps.hw_lock);
-@@ -924,17 +925,17 @@ static void hsw_pm_irq_handler(struct drm_i915_private *dev_priv,
+@@ -924,17 +925,17 @@ static void hsw_pm_irq_handler(struct dr
        unsigned long flags;
  
        spin_lock_irqsave(&dev_priv->rps.lock, flags);
@@ -90,7 +88,7 @@ index c150f90b5770..19734c719ef8 100644
                DRM_ERROR("Unexpected PM interrupted\n");
  }
  
-@@ -1009,7 +1010,7 @@ static irqreturn_t valleyview_irq_handler(int irq, void *arg)
+@@ -1009,7 +1010,7 @@ static irqreturn_t valleyview_irq_handle
                if (pipe_stats[0] & PIPE_GMBUS_INTERRUPT_STATUS)
                        gmbus_irq_handler(dev);
  
@@ -99,7 +97,7 @@ index c150f90b5770..19734c719ef8 100644
                        gen6_queue_rps_work(dev_priv, pm_iir);
  
                I915_WRITE(GTIIR, gt_iir);
-@@ -1250,7 +1251,7 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg)
+@@ -1250,7 +1251,7 @@ static irqreturn_t ivybridge_irq_handler
        if (pm_iir) {
                if (IS_HASWELL(dev))
                        hsw_pm_irq_handler(dev_priv, pm_iir);
@@ -108,7 +106,7 @@ index c150f90b5770..19734c719ef8 100644
                        gen6_queue_rps_work(dev_priv, pm_iir);
                I915_WRITE(GEN6_PMIIR, pm_iir);
                ret = IRQ_HANDLED;
-@@ -1365,7 +1366,7 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg)
+@@ -1365,7 +1366,7 @@ static irqreturn_t ironlake_irq_handler(
        if (IS_GEN5(dev) &&  de_iir & DE_PCU_EVENT)
                ironlake_handle_rps_change(dev);
  
@@ -117,7 +115,7 @@ index c150f90b5770..19734c719ef8 100644
                gen6_queue_rps_work(dev_priv, pm_iir);
  
        I915_WRITE(GTIIR, gt_iir);
-@@ -2753,8 +2754,8 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2753,8 +2754,8 @@ static int ivybridge_irq_postinstall(str
        POSTING_READ(GTIER);
  
        /* Power management */
@@ -128,11 +126,9 @@ index c150f90b5770..19734c719ef8 100644
        POSTING_READ(GEN6_PMIMR);
  
        ibx_irq_postinstall(dev);
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 8fdafd4619ae..30f6cfe91d1b 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4572,7 +4572,7 @@
+@@ -4576,7 +4576,7 @@
  #define  GEN6_PM_RP_DOWN_THRESHOLD            (1<<4)
  #define  GEN6_PM_RP_UP_EI_EXPIRED             (1<<2)
  #define  GEN6_PM_RP_DOWN_EI_EXPIRED           (1<<1)
@@ -141,11 +137,9 @@ index 8fdafd4619ae..30f6cfe91d1b 100644
                                                 GEN6_PM_RP_DOWN_THRESHOLD | \
                                                 GEN6_PM_RP_DOWN_TIMEOUT)
  
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 5890c610db3c..8af5c12e944d 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3116,7 +3116,7 @@ static void gen6_disable_rps(struct drm_device *dev)
+@@ -3116,7 +3116,7 @@ static void gen6_disable_rps(struct drm_
        I915_WRITE(GEN6_RC_CONTROL, 0);
        I915_WRITE(GEN6_RPNSWREQ, 1 << 31);
        I915_WRITE(GEN6_PMINTRMSK, 0xffffffff);
@@ -154,7 +148,7 @@ index 5890c610db3c..8af5c12e944d 100644
        /* Complete PM interrupt masking here doesn't race with the rps work
         * item again unmasking PM interrupts because that is using a different
         * register (PMIMR) to mask PM interrupts. The only risk is in leaving
-@@ -3126,7 +3126,7 @@ static void gen6_disable_rps(struct drm_device *dev)
+@@ -3126,7 +3126,7 @@ static void gen6_disable_rps(struct drm_
        dev_priv->rps.pm_iir = 0;
        spin_unlock_irq(&dev_priv->rps.lock);
  
@@ -163,7 +157,7 @@ index 5890c610db3c..8af5c12e944d 100644
  }
  
  static void valleyview_disable_rps(struct drm_device *dev)
-@@ -3307,14 +3307,15 @@ static void gen6_enable_rps(struct drm_device *dev)
+@@ -3307,14 +3307,15 @@ static void gen6_enable_rps(struct drm_d
        gen6_set_rps(dev_priv->dev, (gt_perf_status & 0xff00) >> 8);
  
        /* requires MSI enabled */
@@ -182,7 +176,7 @@ index 5890c610db3c..8af5c12e944d 100644
        I915_WRITE(GEN6_PMINTRMSK, 0);
  
        rc6vids = 0;
-@@ -3577,7 +3578,7 @@ static void valleyview_enable_rps(struct drm_device *dev)
+@@ -3577,7 +3578,7 @@ static void valleyview_enable_rps(struct
        valleyview_set_rps(dev_priv->dev, rpe);
  
        /* requires MSI enabled */
@@ -191,6 +185,3 @@ index 5890c610db3c..8af5c12e944d 100644
        spin_lock_irq(&dev_priv->rps.lock);
        WARN_ON(dev_priv->rps.pm_iir != 0);
        I915_WRITE(GEN6_PMIMR, 0);
--- 
-1.8.5.rc3
-
index 0be817f8ee79fde9658df8026b66203ed18f0fc0..44419f5de0f455dad3a88c30613b7e577e35502b 100644 (file)
@@ -26,16 +26,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit cc609d5da5c78c92a2e2565604b2603a0965b494)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c         |  61 ++++++++++---------
- drivers/gpu/drm/i915/i915_reg.h         | 101 ++++++++++++++------------------
- drivers/gpu/drm/i915/intel_ringbuffer.c |  21 ++++---
+ drivers/gpu/drm/i915/i915_irq.c         |   61 +++++++++----------
+ drivers/gpu/drm/i915/i915_reg.h         |  101 +++++++++++++-------------------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   21 +++---
  3 files changed, 85 insertions(+), 98 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 19734c719ef8..7eabe79680c7 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -771,7 +771,7 @@ static void ivybridge_parity_work(struct work_struct *work)
+@@ -771,7 +771,7 @@ static void ivybridge_parity_work(struct
        I915_WRITE(GEN7_MISCCPCTL, misccpctl);
  
        spin_lock_irqsave(&dev_priv->irq_lock, flags);
@@ -44,7 +42,7 @@ index 19734c719ef8..7eabe79680c7 100644
        I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
        spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
  
-@@ -803,7 +803,7 @@ static void ivybridge_handle_parity_error(struct drm_device *dev)
+@@ -803,7 +803,7 @@ static void ivybridge_handle_parity_erro
                return;
  
        spin_lock_irqsave(&dev_priv->irq_lock, flags);
@@ -53,7 +51,7 @@ index 19734c719ef8..7eabe79680c7 100644
        I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
        spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
  
-@@ -815,22 +815,22 @@ static void snb_gt_irq_handler(struct drm_device *dev,
+@@ -815,22 +815,22 @@ static void snb_gt_irq_handler(struct dr
                               u32 gt_iir)
  {
  
@@ -84,7 +82,7 @@ index 19734c719ef8..7eabe79680c7 100644
                ivybridge_handle_parity_error(dev);
  }
  
-@@ -1274,9 +1274,10 @@ static void ilk_gt_irq_handler(struct drm_device *dev,
+@@ -1274,9 +1274,10 @@ static void ilk_gt_irq_handler(struct dr
                               struct drm_i915_private *dev_priv,
                               u32 gt_iir)
  {
@@ -97,7 +95,7 @@ index 19734c719ef8..7eabe79680c7 100644
                notify_ring(dev, &dev_priv->ring[VCS]);
  }
  
-@@ -2677,7 +2678,7 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
+@@ -2677,7 +2678,7 @@ static int ironlake_irq_postinstall(stru
                           DE_PLANEA_FLIP_DONE | DE_PLANEB_FLIP_DONE |
                           DE_AUX_CHANNEL_A | DE_PIPEB_FIFO_UNDERRUN |
                           DE_PIPEA_FIFO_UNDERRUN | DE_POISON;
@@ -106,7 +104,7 @@ index 19734c719ef8..7eabe79680c7 100644
  
        dev_priv->irq_mask = ~display_mask;
  
-@@ -2692,17 +2693,15 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
+@@ -2692,17 +2693,15 @@ static int ironlake_irq_postinstall(stru
        I915_WRITE(GTIIR, I915_READ(GTIIR));
        I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
  
@@ -131,7 +129,7 @@ index 19734c719ef8..7eabe79680c7 100644
        POSTING_READ(GTIER);
  
        ibx_irq_postinstall(dev);
-@@ -2728,7 +2727,7 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2728,7 +2727,7 @@ static int ivybridge_irq_postinstall(str
                DE_PLANEA_FLIP_DONE_IVB |
                DE_AUX_CHANNEL_A_IVB |
                DE_ERR_INT_IVB;
@@ -140,7 +138,7 @@ index 19734c719ef8..7eabe79680c7 100644
  
        dev_priv->irq_mask = ~display_mask;
  
-@@ -2743,14 +2742,14 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2743,14 +2742,14 @@ static int ivybridge_irq_postinstall(str
                   DE_PIPEA_VBLANK_IVB);
        POSTING_READ(DEIER);
  
@@ -159,7 +157,7 @@ index 19734c719ef8..7eabe79680c7 100644
        POSTING_READ(GTIER);
  
        /* Power management */
-@@ -2766,9 +2765,9 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2766,9 +2765,9 @@ static int ivybridge_irq_postinstall(str
  static int valleyview_irq_postinstall(struct drm_device *dev)
  {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
@@ -170,7 +168,7 @@ index 19734c719ef8..7eabe79680c7 100644
  
        enable_mask = I915_DISPLAY_PORT_INTERRUPT;
        enable_mask |= I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
-@@ -2804,9 +2803,9 @@ static int valleyview_irq_postinstall(struct drm_device *dev)
+@@ -2804,9 +2803,9 @@ static int valleyview_irq_postinstall(st
        I915_WRITE(GTIIR, I915_READ(GTIIR));
        I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
  
@@ -183,8 +181,6 @@ index 19734c719ef8..7eabe79680c7 100644
        POSTING_READ(GTIER);
  
        /* ack & enable invalid PTE error interrupts */
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 30f6cfe91d1b..ef1c471b1909 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -742,24 +742,6 @@
@@ -294,7 +290,7 @@ index 30f6cfe91d1b..ef1c471b1909 100644
  
  #define GEN6_BSD_RNCID                        0x12198
  
-@@ -3720,21 +3720,6 @@
+@@ -3724,21 +3724,6 @@
  #define DEIIR   0x44008
  #define DEIER   0x4400c
  
@@ -316,11 +312,9 @@ index 30f6cfe91d1b..ef1c471b1909 100644
  #define GTISR   0x44010
  #define GTIMR   0x44014
  #define GTIIR   0x44018
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 8246213ffada..5ce12be4faeb 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -556,7 +556,7 @@ static int init_render_ring(struct intel_ring_buffer *ring)
+@@ -556,7 +556,7 @@ static int init_render_ring(struct intel
                I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
  
        if (HAS_L3_GPU_CACHE(dev))
@@ -329,7 +323,7 @@ index 8246213ffada..5ce12be4faeb 100644
  
        return ret;
  }
-@@ -993,8 +993,9 @@ gen6_ring_get_irq(struct intel_ring_buffer *ring)
+@@ -993,8 +993,9 @@ gen6_ring_get_irq(struct intel_ring_buff
        spin_lock_irqsave(&dev_priv->irq_lock, flags);
        if (ring->irq_refcount.gt++ == 0) {
                if (HAS_L3_GPU_CACHE(dev) && ring->id == RCS)
@@ -341,7 +335,7 @@ index 8246213ffada..5ce12be4faeb 100644
                else
                        I915_WRITE_IMR(ring, ~ring->irq_enable_mask);
                dev_priv->gt_irq_mask &= ~ring->irq_enable_mask;
-@@ -1016,7 +1017,8 @@ gen6_ring_put_irq(struct intel_ring_buffer *ring)
+@@ -1016,7 +1017,8 @@ gen6_ring_put_irq(struct intel_ring_buff
        spin_lock_irqsave(&dev_priv->irq_lock, flags);
        if (--ring->irq_refcount.gt == 0) {
                if (HAS_L3_GPU_CACHE(dev) && ring->id == RCS)
@@ -351,7 +345,7 @@ index 8246213ffada..5ce12be4faeb 100644
                else
                        I915_WRITE_IMR(ring, ~0);
                dev_priv->gt_irq_mask |= ring->irq_enable_mask;
-@@ -1693,7 +1695,7 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1697,7 +1699,7 @@ int intel_init_render_ring_buffer(struct
                        ring->flush = gen6_render_ring_flush;
                ring->irq_get = gen6_ring_get_irq;
                ring->irq_put = gen6_ring_put_irq;
@@ -360,7 +354,7 @@ index 8246213ffada..5ce12be4faeb 100644
                ring->get_seqno = gen6_ring_get_seqno;
                ring->set_seqno = ring_set_seqno;
                ring->sync_to = gen6_ring_sync;
-@@ -1712,7 +1714,8 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1716,7 +1718,8 @@ int intel_init_render_ring_buffer(struct
                ring->set_seqno = pc_render_set_seqno;
                ring->irq_get = gen5_ring_get_irq;
                ring->irq_put = gen5_ring_put_irq;
@@ -370,7 +364,7 @@ index 8246213ffada..5ce12be4faeb 100644
        } else {
                ring->add_request = i9xx_add_request;
                if (INTEL_INFO(dev)->gen < 4)
-@@ -1854,7 +1857,7 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev)
+@@ -1858,7 +1861,7 @@ int intel_init_bsd_ring_buffer(struct dr
                ring->add_request = gen6_add_request;
                ring->get_seqno = gen6_ring_get_seqno;
                ring->set_seqno = ring_set_seqno;
@@ -379,7 +373,7 @@ index 8246213ffada..5ce12be4faeb 100644
                ring->irq_get = gen6_ring_get_irq;
                ring->irq_put = gen6_ring_put_irq;
                ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
-@@ -1874,7 +1877,7 @@ int intel_init_bsd_ring_buffer(struct drm_device *dev)
+@@ -1878,7 +1881,7 @@ int intel_init_bsd_ring_buffer(struct dr
                ring->get_seqno = ring_get_seqno;
                ring->set_seqno = ring_set_seqno;
                if (IS_GEN5(dev)) {
@@ -388,7 +382,7 @@ index 8246213ffada..5ce12be4faeb 100644
                        ring->irq_get = gen5_ring_get_irq;
                        ring->irq_put = gen5_ring_put_irq;
                } else {
-@@ -1903,7 +1906,7 @@ int intel_init_blt_ring_buffer(struct drm_device *dev)
+@@ -1907,7 +1910,7 @@ int intel_init_blt_ring_buffer(struct dr
        ring->add_request = gen6_add_request;
        ring->get_seqno = gen6_ring_get_seqno;
        ring->set_seqno = ring_set_seqno;
@@ -397,6 +391,3 @@ index 8246213ffada..5ce12be4faeb 100644
        ring->irq_get = gen6_ring_get_irq;
        ring->irq_put = gen6_ring_put_irq;
        ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
--- 
-1.8.5.rc3
-
index f57b076a1dd289ad931d37f40429d69346d83c43..43aaedd8e169ab370a9966888d9b3ce68c5b41a6 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit a19d2933cbc4c7b8e3d72e9fd2d48847c25bb41d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_ringbuffer.c | 46 +++++++++++++++++++++++++++++++--
- drivers/gpu/drm/i915/intel_ringbuffer.h |  5 ++--
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   46 ++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    5 ++-
  2 files changed, 47 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 5ce12be4faeb..81a397bb2424 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1030,6 +1030,48 @@ gen6_ring_put_irq(struct intel_ring_buffer *ring)
+@@ -1030,6 +1030,48 @@ gen6_ring_put_irq(struct intel_ring_buff
        gen6_gt_force_wake_put(dev_priv);
  }
  
@@ -70,7 +68,7 @@ index 5ce12be4faeb..81a397bb2424 100644
  static int
  i965_dispatch_execbuffer(struct intel_ring_buffer *ring,
                         u32 offset, u32 length,
-@@ -1939,8 +1981,8 @@ int intel_init_vebox_ring_buffer(struct drm_device *dev)
+@@ -1943,8 +1985,8 @@ int intel_init_vebox_ring_buffer(struct
        ring->get_seqno = gen6_ring_get_seqno;
        ring->set_seqno = ring_set_seqno;
        ring->irq_enable_mask = 0;
@@ -81,8 +79,6 @@ index 5ce12be4faeb..81a397bb2424 100644
        ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
        ring->sync_to = gen6_ring_sync;
        ring->semaphore_register[RCS] = MI_SEMAPHORE_SYNC_VER;
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index 153b87f67aae..022d07e43d12 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -73,8 +73,9 @@ struct  intel_ring_buffer {
@@ -97,6 +93,3 @@ index 153b87f67aae..022d07e43d12 100644
        u32             irq_enable_mask;        /* bitmask to enable ring interrupt */
        u32             trace_irq_seqno;
        u32             sync_seqno[I915_NUM_RINGS-1];
--- 
-1.8.5.rc3
-
index 66cf2db00d292cb1a1d3be8b64cff3c7e11906d9..a9fe609331d97c984f1d1a468bc9a3baa55c1f35 100644 (file)
@@ -19,16 +19,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 12638c57f31952127c734c26315e1348fa1334c2)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c         | 31 +++++++++++++++++++++++++------
- drivers/gpu/drm/i915/i915_reg.h         |  3 +++
- drivers/gpu/drm/i915/intel_ringbuffer.c |  3 ++-
+ drivers/gpu/drm/i915/i915_irq.c         |   31 +++++++++++++++++++++++++------
+ drivers/gpu/drm/i915/i915_reg.h         |    3 +++
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    3 ++-
  3 files changed, 30 insertions(+), 7 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 7eabe79680c7..ea396518baab 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -935,8 +935,15 @@ static void hsw_pm_irq_handler(struct drm_i915_private *dev_priv,
+@@ -935,8 +935,15 @@ static void hsw_pm_irq_handler(struct dr
        }
        spin_unlock_irqrestore(&dev_priv->rps.lock, flags);
  
@@ -46,7 +44,7 @@ index 7eabe79680c7..ea396518baab 100644
  }
  
  static irqreturn_t valleyview_irq_handler(int irq, void *arg)
-@@ -2727,6 +2734,7 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2727,6 +2734,7 @@ static int ivybridge_irq_postinstall(str
                DE_PLANEA_FLIP_DONE_IVB |
                DE_AUX_CHANNEL_A_IVB |
                DE_ERR_INT_IVB;
@@ -54,7 +52,7 @@ index 7eabe79680c7..ea396518baab 100644
        u32 gt_irqs;
  
        dev_priv->irq_mask = ~display_mask;
-@@ -2752,10 +2760,21 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2752,10 +2760,21 @@ static int ivybridge_irq_postinstall(str
        I915_WRITE(GTIER, gt_irqs);
        POSTING_READ(GTIER);
  
@@ -80,8 +78,6 @@ index 7eabe79680c7..ea396518baab 100644
  
        ibx_irq_postinstall(dev);
  
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index ef1c471b1909..aabc67104272 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -888,6 +888,9 @@
@@ -94,11 +90,9 @@ index ef1c471b1909..aabc67104272 100644
  /* These are all the "old" interrupts */
  #define ILK_BSD_USER_INTERRUPT                                (1<<5)
  #define I915_PIPE_CONTROL_NOTIFY_INTERRUPT            (1<<18)
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 81a397bb2424..cd2daf2f5dd7 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1980,7 +1980,8 @@ int intel_init_vebox_ring_buffer(struct drm_device *dev)
+@@ -1984,7 +1984,8 @@ int intel_init_vebox_ring_buffer(struct
        ring->add_request = gen6_add_request;
        ring->get_seqno = gen6_ring_get_seqno;
        ring->set_seqno = ring_set_seqno;
@@ -108,6 +102,3 @@ index 81a397bb2424..cd2daf2f5dd7 100644
        ring->irq_get = hsw_vebox_get_irq;
        ring->irq_put = hsw_vebox_put_irq;
        ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
--- 
-1.8.5.rc3
-
index 54864070847d4f476fb326e4d924b418bb1d7c1a..da190d9e46778bd0b19eafa4fd7a81bcfa7df903 100644 (file)
@@ -26,13 +26,11 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 42db64efcd95014570835c7b0a08277c60486f07)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      | 11 +++++
- drivers/gpu/drm/i915/intel_display.c | 78 ++++++++++++++++++++++++++++++++++--
- drivers/gpu/drm/i915/intel_drv.h     |  2 +
+ drivers/gpu/drm/i915/i915_reg.h      |   11 ++++
+ drivers/gpu/drm/i915/intel_display.c |   78 +++++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/i915/intel_drv.h     |    2 
  3 files changed, 88 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index aabc67104272..13d4d5e21ce0 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -1025,6 +1025,8 @@
@@ -44,7 +42,7 @@ index aabc67104272..13d4d5e21ce0 100644
  
  #define _HSW_PIPE_SLICE_CHICKEN_1_A   0x420B0
  #define _HSW_PIPE_SLICE_CHICKEN_1_B   0x420B4
-@@ -3672,6 +3674,15 @@
+@@ -3676,6 +3678,15 @@
  #define _LGC_PALETTE_B           0x4a800
  #define LGC_PALETTE(pipe) _PIPE(pipe, _LGC_PALETTE_A, _LGC_PALETTE_B)
  
@@ -60,11 +58,9 @@ index aabc67104272..13d4d5e21ce0 100644
  /* interrupts */
  #define DE_MASTER_IRQ_CONTROL   (1 << 31)
  #define DE_SPRITEB_FLIP_DONE    (1 << 29)
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index b16c95720f7b..20fa85137060 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -3242,6 +3242,42 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
+@@ -3242,6 +3242,42 @@ static void ironlake_crtc_enable(struct
        intel_wait_for_vblank(dev, intel_crtc->pipe);
  }
  
@@ -107,7 +103,7 @@ index b16c95720f7b..20fa85137060 100644
  static void haswell_crtc_enable(struct drm_crtc *crtc)
  {
        struct drm_device *dev = crtc->dev;
-@@ -3289,6 +3325,8 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
+@@ -3289,6 +3325,8 @@ static void haswell_crtc_enable(struct d
                          intel_crtc->config.has_pch_encoder);
        intel_enable_plane(dev_priv, plane, pipe);
  
@@ -116,7 +112,7 @@ index b16c95720f7b..20fa85137060 100644
        if (intel_crtc->config.has_pch_encoder)
                lpt_pch_enable(crtc);
  
-@@ -3431,6 +3469,8 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
+@@ -3431,6 +3469,8 @@ static void haswell_crtc_disable(struct
        if (dev_priv->cfb_plane == plane)
                intel_disable_fbc(dev);
  
@@ -145,7 +141,7 @@ index b16c95720f7b..20fa85137060 100644
  
        if (HAS_PCH_SPLIT(dev)) {
                /* FDI link clock is fixed at 2.7G */
-@@ -4021,8 +4069,11 @@ static int intel_crtc_compute_config(struct drm_crtc *crtc,
+@@ -4021,8 +4069,11 @@ static int intel_crtc_compute_config(str
                pipe_config->pipe_bpp = 8*3;
        }
  
@@ -158,7 +154,7 @@ index b16c95720f7b..20fa85137060 100644
  
        return 0;
  }
-@@ -5932,6 +5983,9 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
+@@ -5932,6 +5983,9 @@ static bool haswell_get_pipe_config(stru
        if (intel_display_power_enabled(dev, pfit_domain))
                ironlake_get_pfit_config(crtc, pipe_config);
  
@@ -168,7 +164,7 @@ index b16c95720f7b..20fa85137060 100644
        return true;
  }
  
-@@ -6236,8 +6290,10 @@ void intel_crtc_load_lut(struct drm_crtc *crtc)
+@@ -6236,8 +6290,10 @@ void intel_crtc_load_lut(struct drm_crtc
        struct drm_device *dev = crtc->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
@@ -180,7 +176,7 @@ index b16c95720f7b..20fa85137060 100644
  
        /* The clocks have to be on to load the palette. */
        if (!crtc->enabled || !intel_crtc->active)
-@@ -6245,7 +6301,17 @@ void intel_crtc_load_lut(struct drm_crtc *crtc)
+@@ -6245,7 +6301,17 @@ void intel_crtc_load_lut(struct drm_crtc
  
        /* use legacy palette for Ironlake */
        if (HAS_PCH_SPLIT(dev))
@@ -199,7 +195,7 @@ index b16c95720f7b..20fa85137060 100644
  
        for (i = 0; i < 256; i++) {
                I915_WRITE(palreg + 4 * i,
-@@ -6253,6 +6319,9 @@ void intel_crtc_load_lut(struct drm_crtc *crtc)
+@@ -6253,6 +6319,9 @@ void intel_crtc_load_lut(struct drm_crtc
                           (intel_crtc->lut_g[i] << 8) |
                           intel_crtc->lut_b[i]);
        }
@@ -209,7 +205,7 @@ index b16c95720f7b..20fa85137060 100644
  }
  
  static void i845_update_cursor(struct drm_crtc *crtc, u32 base)
-@@ -7684,6 +7753,7 @@ static void intel_dump_pipe_config(struct intel_crtc *crtc,
+@@ -7684,6 +7753,7 @@ static void intel_dump_pipe_config(struc
        DRM_DEBUG_KMS("pch pfit: pos: 0x%08x, size: 0x%08x\n",
                      pipe_config->pch_pfit.pos,
                      pipe_config->pch_pfit.size);
@@ -217,7 +213,7 @@ index b16c95720f7b..20fa85137060 100644
  }
  
  static struct intel_crtc_config *
-@@ -8000,6 +8070,8 @@ intel_pipe_config_compare(struct drm_device *dev,
+@@ -8000,6 +8070,8 @@ intel_pipe_config_compare(struct drm_dev
        PIPE_CONF_CHECK_I(pch_pfit.pos);
        PIPE_CONF_CHECK_I(pch_pfit.size);
  
@@ -226,8 +222,6 @@ index b16c95720f7b..20fa85137060 100644
  #undef PIPE_CONF_CHECK_I
  #undef PIPE_CONF_CHECK_FLAGS
  
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index c02bc97e350d..b81cc4512c0a 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -268,6 +268,8 @@ struct intel_crtc_config {
@@ -239,6 +233,3 @@ index c02bc97e350d..b81cc4512c0a 100644
  };
  
  struct intel_crtc {
--- 
-1.8.5.rc3
-
index 03652575967991b94babcb867811eedb898823a2..0c60d0692f3a906f78406d4f48dd5e3ac2d1eb35 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        if (drm_core_check_feature(dev, DRIVER_MODESET)) {
                ret = i915_load_modeset_init(dev);
                if (ret < 0) {
-@@ -1693,6 +1696,9 @@ int i915_driver_unload(struct drm_device
+@@ -1694,6 +1697,9 @@ int i915_driver_unload(struct drm_device
  
        intel_gpu_ips_teardown();
  
index cf36c5897702c43e03402732add4936f8452541a..5b2f6332621048b5180063eb7208a440d86e4c62 100644 (file)
@@ -37,13 +37,11 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit fd3da6c95b6d865446fa9b29df6edff4343e385a)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h         |  4 ++++
- drivers/gpu/drm/i915/intel_pm.c         |  2 +-
- drivers/gpu/drm/i915/intel_ringbuffer.c | 29 +++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/i915_reg.h         |    4 ++++
+ drivers/gpu/drm/i915/intel_pm.c         |    2 +-
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   29 +++++++++++++++++++++++++++++
  3 files changed, 34 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 65547c1f1001..225a28d67060 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -1022,6 +1022,10 @@
@@ -57,11 +55,9 @@ index 65547c1f1001..225a28d67060 100644
  #define _HSW_PIPE_SLICE_CHICKEN_1_A   0x420B0
  #define _HSW_PIPE_SLICE_CHICKEN_1_B   0x420B4
  #define   HSW_BYPASS_FBC_QUEUE                (1<<22)
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index b5959c49a6f4..681699671893 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -274,7 +274,7 @@ static void gen7_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
+@@ -274,7 +274,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);
  
@@ -70,11 +66,9 @@ index b5959c49a6f4..681699671893 100644
  
        I915_WRITE(ILK_DPFC_CONTROL, DPFC_CTL_EN | DPFC_CTL_LIMIT_1X |
                   IVB_DPFC_CTL_FENCE_EN |
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index cd2daf2f5dd7..07a949c042f2 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -280,6 +280,27 @@ gen7_render_ring_cs_stall_wa(struct intel_ring_buffer *ring)
+@@ -280,6 +280,27 @@ gen7_render_ring_cs_stall_wa(struct inte
        return 0;
  }
  
@@ -102,7 +96,7 @@ index cd2daf2f5dd7..07a949c042f2 100644
  static int
  gen7_render_ring_flush(struct intel_ring_buffer *ring,
                       u32 invalidate_domains, u32 flush_domains)
-@@ -336,6 +357,9 @@ gen7_render_ring_flush(struct intel_ring_buffer *ring,
+@@ -336,6 +357,9 @@ gen7_render_ring_flush(struct intel_ring
        intel_ring_emit(ring, 0);
        intel_ring_advance(ring);
  
@@ -112,7 +106,7 @@ index cd2daf2f5dd7..07a949c042f2 100644
        return 0;
  }
  
-@@ -1696,6 +1720,7 @@ gen6_ring_dispatch_execbuffer(struct intel_ring_buffer *ring,
+@@ -1700,6 +1724,7 @@ gen6_ring_dispatch_execbuffer(struct int
  static int gen6_ring_flush(struct intel_ring_buffer *ring,
                           u32 invalidate, u32 flush)
  {
@@ -120,7 +114,7 @@ index cd2daf2f5dd7..07a949c042f2 100644
        uint32_t cmd;
        int ret;
  
-@@ -1718,6 +1743,10 @@ static int gen6_ring_flush(struct intel_ring_buffer *ring,
+@@ -1722,6 +1747,10 @@ static int gen6_ring_flush(struct intel_
        intel_ring_emit(ring, 0);
        intel_ring_emit(ring, MI_NOOP);
        intel_ring_advance(ring);
@@ -131,6 +125,3 @@ index cd2daf2f5dd7..07a949c042f2 100644
        return 0;
  }
  
--- 
-1.8.5.rc3
-
index b6c986b7e1c4582f6b0a2d2b8a6d396828b053a8..bb8d94edcf42d8a6501ff512ac03b1e9a8d2ec83 100644 (file)
@@ -15,15 +15,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1188739757d0e78810de5fe83dbe0128f624b9e8)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      | 12 +++---------
- drivers/gpu/drm/i915/intel_display.c | 32 +++-----------------------------
+ drivers/gpu/drm/i915/i915_reg.h      |   12 +++---------
+ drivers/gpu/drm/i915/intel_display.c |   32 +++-----------------------------
  2 files changed, 6 insertions(+), 38 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 225a28d67060..776ef89cda14 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3984,15 +3984,9 @@
+@@ -3988,15 +3988,9 @@
  #define PCH_SSC4_AUX_PARMS      0xc6214
  
  #define PCH_DPLL_SEL          0xc7000
@@ -42,11 +40,9 @@ index 225a28d67060..776ef89cda14 100644
  
  /* transcoder */
  
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 0fdb80517545..887b7e6f5025 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -2986,21 +2986,8 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
+@@ -2986,21 +2986,8 @@ static void ironlake_pch_enable(struct d
                u32 sel;
  
                temp = I915_READ(PCH_DPLL_SEL);
@@ -70,7 +66,7 @@ index 0fdb80517545..887b7e6f5025 100644
                if (intel_crtc->config.shared_dpll == DPLL_ID_PCH_PLL_B)
                        temp |= sel;
                else
-@@ -3480,20 +3467,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
+@@ -3480,20 +3467,7 @@ static void ironlake_crtc_disable(struct
  
                        /* disable DPLL_SEL */
                        temp = I915_READ(PCH_DPLL_SEL);
@@ -92,6 +88,3 @@ index 0fdb80517545..887b7e6f5025 100644
                        I915_WRITE(PCH_DPLL_SEL, temp);
                }
  
--- 
-1.8.5.rc3
-
index 7f1dbf6b965ecf43e86b353993b7e86ef453f3e0..99a2bf045760f9012b69449b6dc780ae1292b9c1 100644 (file)
@@ -14,14 +14,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit e9a632a578e0205c1fb015bb01af49c2ae71d6f2)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h      |  3 ---
- drivers/gpu/drm/i915/i915_reg.h      |  6 +++---
- drivers/gpu/drm/i915/i915_ums.c      |  2 +-
- drivers/gpu/drm/i915/intel_display.c | 35 ++++++++++++++++-------------------
+ drivers/gpu/drm/i915/i915_drv.h      |    3 ---
+ drivers/gpu/drm/i915/i915_reg.h      |    6 +++---
+ drivers/gpu/drm/i915/i915_ums.c      |    2 +-
+ drivers/gpu/drm/i915/intel_display.c |   35 ++++++++++++++++-------------------
  4 files changed, 20 insertions(+), 26 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 7e3d3b349bf6..c0779fe39576 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -147,9 +147,6 @@ struct intel_shared_dpll {
@@ -34,11 +32,9 @@ index 7e3d3b349bf6..c0779fe39576 100644
  };
  
  /* Used by dp and fdi links */
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 776ef89cda14..f21d0f5dc9f2 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3936,15 +3936,15 @@
+@@ -3940,15 +3940,15 @@
  
  #define _PCH_DPLL_A              0xc6014
  #define _PCH_DPLL_B              0xc6018
@@ -57,11 +53,9 @@ index 776ef89cda14..f21d0f5dc9f2 100644
  
  #define PCH_DPLL_TEST           0xc606c
  
-diff --git a/drivers/gpu/drm/i915/i915_ums.c b/drivers/gpu/drm/i915/i915_ums.c
-index 5ef30b2e6bc6..967da4772c44 100644
 --- a/drivers/gpu/drm/i915/i915_ums.c
 +++ b/drivers/gpu/drm/i915/i915_ums.c
-@@ -41,7 +41,7 @@ static bool i915_pipe_enabled(struct drm_device *dev, enum pipe pipe)
+@@ -41,7 +41,7 @@ static bool i915_pipe_enabled(struct drm
                return false;
  
        if (HAS_PCH_SPLIT(dev))
@@ -70,11 +64,9 @@ index 5ef30b2e6bc6..967da4772c44 100644
        else
                dpll_reg = (pipe == PIPE_A) ? _DPLL_A : _DPLL_B;
  
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 3e5eeb0b5dec..cbe2a077a822 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -938,7 +938,7 @@ static void assert_shared_dpll(struct drm_i915_private *dev_priv,
+@@ -938,7 +938,7 @@ static void assert_shared_dpll(struct dr
                  "asserting DPLL %s with no DPLL\n", state_string(state)))
                return;
  
@@ -83,7 +75,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
        cur_state = !!(val & DPLL_VCO_ENABLE);
        WARN(cur_state != state,
             "%s assertion failure (expected %s, current %s), val=%08x\n",
-@@ -949,14 +949,14 @@ static void assert_shared_dpll(struct drm_i915_private *dev_priv,
+@@ -949,14 +949,14 @@ static void assert_shared_dpll(struct dr
                u32 pch_dpll;
  
                pch_dpll = I915_READ(PCH_DPLL_SEL);
@@ -100,7 +92,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
                             state_string(state),
                             pipe_name(crtc->pipe),
                             val);
-@@ -1446,7 +1446,7 @@ static void ironlake_enable_shared_dpll(struct intel_crtc *crtc)
+@@ -1446,7 +1446,7 @@ static void ironlake_enable_shared_dpll(
  
        DRM_DEBUG_KMS("enabling %s\n", pll->name);
  
@@ -109,7 +101,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
        val = I915_READ(reg);
        val |= DPLL_VCO_ENABLE;
        I915_WRITE(reg, val);
-@@ -1490,7 +1490,7 @@ static void intel_disable_shared_dpll(struct intel_crtc *crtc)
+@@ -1490,7 +1490,7 @@ static void intel_disable_shared_dpll(st
        /* Make sure transcoder isn't still depending on us */
        assert_pch_transcoder_disabled(dev_priv, crtc->pipe);
  
@@ -118,7 +110,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
        val = I915_READ(reg);
        val &= ~DPLL_VCO_ENABLE;
        I915_WRITE(reg, val);
-@@ -3107,8 +3107,8 @@ static struct intel_shared_dpll *intel_get_shared_dpll(struct intel_crtc *crtc,
+@@ -3107,8 +3107,8 @@ static struct intel_shared_dpll *intel_g
                if (pll->refcount == 0)
                        continue;
  
@@ -146,7 +138,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
        }
        pll->refcount++;
  
-@@ -5785,10 +5785,10 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
+@@ -5785,10 +5785,10 @@ static int ironlake_crtc_mode_set(struct
        if (intel_crtc->config.has_pch_encoder) {
                pll = intel_crtc_to_shared_dpll(intel_crtc);
  
@@ -159,7 +151,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
                udelay(150);
  
                /* The pixel multiplier can only be updated once the
-@@ -5796,13 +5796,13 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
+@@ -5796,13 +5796,13 @@ static int ironlake_crtc_mode_set(struct
                 *
                 * So write it again.
                 */
@@ -176,7 +168,7 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
                }
        }
  
-@@ -8771,9 +8771,6 @@ static void ibx_pch_dpll_init(struct drm_device *dev)
+@@ -8771,9 +8771,6 @@ static void ibx_pch_dpll_init(struct drm
        for (i = 0; i < dev_priv->num_shared_dpll; i++) {
                dev_priv->shared_dplls[i].id = i;
                dev_priv->shared_dplls[i].name = ibx_pch_dpll_names[i];
@@ -186,6 +178,3 @@ index 3e5eeb0b5dec..cbe2a077a822 100644
        }
  }
  
--- 
-1.8.5.rc3
-
index 98406176eb939dfa376cc057a7e2966212467b23..469939d6dc936c6f5589cb31383fb71b303a295c 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1790,7 +1790,7 @@ int i915_driver_open(struct drm_device *
+@@ -1791,7 +1791,7 @@ int i915_driver_open(struct drm_device *
        struct drm_i915_file_private *file_priv;
  
        DRM_DEBUG_DRIVER("\n");
index caef9d4002aff62e3b37b661ebd7c51335014c9e..0de913e4224e68b9402a64a1a7b2fbd05b7c28cc 100644 (file)
@@ -22,15 +22,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 3eff4faa9f59c581538663e3f42b9e16210cafd0)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      | 6 +++---
- drivers/gpu/drm/i915/intel_display.c | 7 ++++---
+ drivers/gpu/drm/i915/i915_reg.h      |    6 +++---
+ drivers/gpu/drm/i915/intel_display.c |    7 ++++---
  2 files changed, 7 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index da456bc4c35a..a2fe7efe0701 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3678,9 +3678,9 @@
+@@ -3682,9 +3682,9 @@
  #define _GAMMA_MODE_B         0x4ac80
  #define GAMMA_MODE(pipe) _PIPE(pipe, _GAMMA_MODE_A, _GAMMA_MODE_B)
  #define GAMMA_MODE_MODE_MASK  (3 << 0)
@@ -43,11 +41,9 @@ index da456bc4c35a..a2fe7efe0701 100644
  #define GAMMA_MODE_MODE_SPLIT (3 << 0)
  
  /* interrupts */
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 0d23d7bfc884..24c8384228b6 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -5437,13 +5437,11 @@ static void haswell_set_pipeconf(struct drm_crtc *crtc)
+@@ -5437,13 +5437,11 @@ static void haswell_set_pipeconf(struct
        enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder;
        uint32_t val;
  
@@ -62,7 +58,7 @@ index 0d23d7bfc884..24c8384228b6 100644
        if (intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE)
                val |= PIPECONF_INTERLACED_ILK;
        else
-@@ -5451,6 +5449,9 @@ static void haswell_set_pipeconf(struct drm_crtc *crtc)
+@@ -5451,6 +5449,9 @@ static void haswell_set_pipeconf(struct
  
        I915_WRITE(PIPECONF(cpu_transcoder), val);
        POSTING_READ(PIPECONF(cpu_transcoder));
@@ -72,6 +68,3 @@ index 0d23d7bfc884..24c8384228b6 100644
  }
  
  static bool ironlake_compute_clocks(struct drm_crtc *crtc,
--- 
-1.8.5.rc3
-
index 6944195b85edfd99c6f674d4a777bbcedc14f117..f3c87de3adbaffd77e8e9671adb8f4913fc73ee2 100644 (file)
@@ -18,14 +18,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit acd8db100ed5220fe8043f91cdc20155325542a9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 5 +++--
+ drivers/gpu/drm/i915/intel_dp.c |    5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 0066c2314e1f..532197981bd7 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2694,13 +2694,14 @@ done:
+@@ -2710,13 +2710,14 @@ done:
  static void
  intel_dp_destroy(struct drm_connector *connector)
  {
@@ -42,6 +40,3 @@ index 0066c2314e1f..532197981bd7 100644
                intel_panel_fini(&intel_connector->panel);
  
        drm_sysfs_connector_remove(connector);
--- 
-1.8.5.rc3
-
index d5048a42b4138c8719df031276f134d7f800aa33..18b7c810991a3b6122d49e14b62f560932494352 100644 (file)
@@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ed92f0b239ac971edc509169ae3d6955fbe0a188)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 151 ++++++++++++++++++++++------------------
+ drivers/gpu/drm/i915/intel_dp.c |  151 +++++++++++++++++++++-------------------
  1 file changed, 82 insertions(+), 69 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 532197981bd7..b307befdbdb0 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2966,6 +2966,86 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev,
+@@ -2982,6 +2982,86 @@ intel_dp_init_panel_power_sequencer_regi
                      I915_READ(pp_div_reg));
  }
  
@@ -106,7 +104,7 @@ index 532197981bd7..b307befdbdb0 100644
  void
  intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
                        struct intel_connector *intel_connector)
-@@ -2975,8 +3055,6 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -2991,8 +3071,6 @@ intel_dp_init_connector(struct intel_dig
        struct intel_encoder *intel_encoder = &intel_dig_port->base;
        struct drm_device *dev = intel_encoder->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -115,7 +113,7 @@ index 532197981bd7..b307befdbdb0 100644
        enum port port = intel_dig_port->port;
        const char *name = NULL;
        int type;
-@@ -3077,75 +3155,10 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3093,75 +3171,10 @@ intel_dp_init_connector(struct intel_dig
                BUG();
        }
  
@@ -193,6 +191,3 @@ index 532197981bd7..b307befdbdb0 100644
  
        intel_dp_add_properties(intel_dp, connector);
  
--- 
-1.8.5.rc3
-
index 9a40f34287ca0ca8495494dea6e2d3f817977ddd..01723dc760c0c0a41cbed8fce1c508ced1c00256 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
                hdmi_connector = kzalloc(sizeof(struct intel_connector),
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3046,7 +3046,7 @@ static bool intel_edp_init_connector(str
+@@ -3062,7 +3062,7 @@ static bool intel_edp_init_connector(str
        return true;
  }
  
@@ -51,7 +51,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
                        struct intel_connector *intel_connector)
  {
-@@ -3158,7 +3158,7 @@ intel_dp_init_connector(struct intel_dig
+@@ -3174,7 +3174,7 @@ intel_dp_init_connector(struct intel_dig
        intel_dp_i2c_init(intel_dp, intel_connector, name);
  
        if (!intel_edp_init_connector(intel_dp, intel_connector))
@@ -60,7 +60,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
        intel_dp_add_properties(intel_dp, connector);
  
-@@ -3170,6 +3170,8 @@ intel_dp_init_connector(struct intel_dig
+@@ -3186,6 +3186,8 @@ intel_dp_init_connector(struct intel_dig
                u32 temp = I915_READ(PEG_BAND_GAP_DATA);
                I915_WRITE(PEG_BAND_GAP_DATA, (temp & ~0xf) | 0xd);
        }
index 7d01f5b68d5095cfc595af0318532206ce079178..530798721622f190408d5f466a6897b0b634f16d 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
                hdmi_connector = kzalloc(sizeof(struct intel_connector),
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2998,7 +2998,6 @@ static bool intel_edp_init_connector(str
+@@ -3014,7 +3014,6 @@ static bool intel_edp_init_connector(str
                /* if this fails, presume the device is a ghost */
                DRM_INFO("failed to retrieve link info, disabling eDP\n");
                intel_dp_encoder_destroy(&intel_dig_port->base.base);
@@ -55,7 +55,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
                return false;
        }
  
-@@ -3157,8 +3156,11 @@ intel_dp_init_connector(struct intel_dig
+@@ -3173,8 +3172,11 @@ intel_dp_init_connector(struct intel_dig
  
        intel_dp_i2c_init(intel_dp, intel_connector, name);
  
@@ -68,7 +68,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
        intel_dp_add_properties(intel_dp, connector);
  
-@@ -3217,5 +3219,6 @@ intel_dp_init(struct drm_device *dev, in
+@@ -3233,5 +3235,6 @@ intel_dp_init(struct drm_device *dev, in
        intel_encoder->cloneable = false;
        intel_encoder->hot_plug = intel_dp_hot_plug;
  
index 0bae0607b510a801c5ad49c25894e3d8dd5c9945..c127a2e10e6459eaec6a62074500ec8919a7ef9a 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        }
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2997,7 +2997,6 @@ static bool intel_edp_init_connector(str
+@@ -3013,7 +3013,6 @@ static bool intel_edp_init_connector(str
        } else {
                /* if this fails, presume the device is a ghost */
                DRM_INFO("failed to retrieve link info, disabling eDP\n");
@@ -55,7 +55,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
                return false;
        }
  
-@@ -3157,6 +3156,13 @@ intel_dp_init_connector(struct intel_dig
+@@ -3173,6 +3172,13 @@ intel_dp_init_connector(struct intel_dig
        intel_dp_i2c_init(intel_dp, intel_connector, name);
  
        if (!intel_edp_init_connector(intel_dp, intel_connector)) {
@@ -69,7 +69,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
                drm_sysfs_connector_remove(connector);
                drm_connector_cleanup(connector);
                return false;
-@@ -3219,6 +3225,9 @@ intel_dp_init(struct drm_device *dev, in
+@@ -3235,6 +3241,9 @@ intel_dp_init(struct drm_device *dev, in
        intel_encoder->cloneable = false;
        intel_encoder->hot_plug = intel_dp_hot_plug;
  
index c079d1b39213262945e8b9d054cc93247ae3793a..2b601d7f17a0205407da492223f19a953ff7b4e0 100644 (file)
@@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b2a1475561d59e8d182ba8cc4b7e78b662a3f533)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 6 ++++--
+ drivers/gpu/drm/i915/intel_dp.c |    6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 0cd390ef6f0e..ddc06bef70e5 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3055,7 +3055,7 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3071,7 +3071,7 @@ intel_dp_init_connector(struct intel_dig
        struct drm_i915_private *dev_priv = dev->dev_private;
        enum port port = intel_dig_port->port;
        const char *name = NULL;
@@ -28,7 +26,7 @@ index 0cd390ef6f0e..ddc06bef70e5 100644
  
        /* Preserve the current hw state. */
        intel_dp->DP = I915_READ(intel_dp->output_reg);
-@@ -3153,7 +3153,9 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3169,7 +3169,9 @@ intel_dp_init_connector(struct intel_dig
                BUG();
        }
  
@@ -39,6 +37,3 @@ index 0cd390ef6f0e..ddc06bef70e5 100644
  
        if (!intel_edp_init_connector(intel_dp, intel_connector)) {
                i2c_del_adapter(&intel_dp->adapter);
--- 
-1.8.5.rc3
-
index 0c6157f7dd1b65457a87b5568e3dd9e6efb65067..e7658e2066d1f68bd4ca5ed5aac160df656766a7 100644 (file)
@@ -14,14 +14,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 73845adf3357c3c71da25e18f44e5a9924d666d5)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 4 ++--
+ drivers/gpu/drm/i915/intel_dp.c |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index ddc06bef70e5..0f7e9094098d 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2692,7 +2692,7 @@ done:
+@@ -2708,7 +2708,7 @@ done:
  }
  
  static void
@@ -30,7 +28,7 @@ index ddc06bef70e5..0f7e9094098d 100644
  {
        struct intel_connector *intel_connector = to_intel_connector(connector);
  
-@@ -2735,7 +2735,7 @@ static const struct drm_connector_funcs intel_dp_connector_funcs = {
+@@ -2751,7 +2751,7 @@ static const struct drm_connector_funcs
        .detect = intel_dp_detect,
        .fill_modes = drm_helper_probe_single_connector_modes,
        .set_property = intel_dp_set_property,
@@ -39,6 +37,3 @@ index ddc06bef70e5..0f7e9094098d 100644
  };
  
  static const struct drm_connector_helper_funcs intel_dp_connector_helper_funcs = {
--- 
-1.8.5.rc3
-
index 7954c8ee110ff113347ea87170509347ab261a54..984272a5f679a012a6db3e4734df3175c1534e29 100644 (file)
@@ -15,14 +15,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 921c3b677bf6340cd92800fb99350532674dea29)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 50 ++++++++++++++++++++---------------------
- 1 file changed, 25 insertions(+), 25 deletions(-)
+ drivers/gpu/drm/i915/i915_reg.h |   48 ++++++++++++++++++++--------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 13dd0731dbd7..342f1f336168 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3494,7 +3494,7 @@
+@@ -3498,7 +3498,7 @@
  #define SPRGAMC(pipe) _PIPE(pipe, _SPRA_GAMC, _SPRB_GAMC)
  #define SPRSURFLIVE(pipe) _PIPE(pipe, _SPRA_SURFLIVE, _SPRB_SURFLIVE)
  
@@ -31,7 +29,7 @@ index 13dd0731dbd7..342f1f336168 100644
  #define   SP_ENABLE                   (1<<31)
  #define   SP_GEAMMA_ENABLE            (1<<30)
  #define   SP_PIXFORMAT_MASK           (0xf<<26)
-@@ -3513,30 +3513,30 @@
+@@ -3517,30 +3517,30 @@
  #define   SP_YUV_ORDER_YVYU           (2<<16)
  #define   SP_YUV_ORDER_VYUY           (3<<16)
  #define   SP_TILED                    (1<<10)
@@ -46,7 +44,18 @@ index 13dd0731dbd7..342f1f336168 100644
 -#define _SPATILEOFF           0x721a4
 -#define _SPACONSTALPHA                0x721a8
 -#define _SPAGAMC              0x721f4
--
++#define _SPALINOFF            (VLV_DISPLAY_BASE + 0x72184)
++#define _SPASTRIDE            (VLV_DISPLAY_BASE + 0x72188)
++#define _SPAPOS                       (VLV_DISPLAY_BASE + 0x7218c)
++#define _SPASIZE              (VLV_DISPLAY_BASE + 0x72190)
++#define _SPAKEYMINVAL         (VLV_DISPLAY_BASE + 0x72194)
++#define _SPAKEYMSK            (VLV_DISPLAY_BASE + 0x72198)
++#define _SPASURF              (VLV_DISPLAY_BASE + 0x7219c)
++#define _SPAKEYMAXVAL         (VLV_DISPLAY_BASE + 0x721a0)
++#define _SPATILEOFF           (VLV_DISPLAY_BASE + 0x721a4)
++#define _SPACONSTALPHA                (VLV_DISPLAY_BASE + 0x721a8)
++#define _SPAGAMC              (VLV_DISPLAY_BASE + 0x721f4)
 -#define _SPBCNTR              0x72280
 -#define _SPBLINOFF            0x72284
 -#define _SPBSTRIDE            0x72288
@@ -59,18 +68,6 @@ index 13dd0731dbd7..342f1f336168 100644
 -#define _SPBTILEOFF           0x722a4
 -#define _SPBCONSTALPHA                0x722a8
 -#define _SPBGAMC              0x722f4
-+#define _SPALINOFF            (VLV_DISPLAY_BASE + 0x72184)
-+#define _SPASTRIDE            (VLV_DISPLAY_BASE + 0x72188)
-+#define _SPAPOS                       (VLV_DISPLAY_BASE + 0x7218c)
-+#define _SPASIZE              (VLV_DISPLAY_BASE + 0x72190)
-+#define _SPAKEYMINVAL         (VLV_DISPLAY_BASE + 0x72194)
-+#define _SPAKEYMSK            (VLV_DISPLAY_BASE + 0x72198)
-+#define _SPASURF              (VLV_DISPLAY_BASE + 0x7219c)
-+#define _SPAKEYMAXVAL         (VLV_DISPLAY_BASE + 0x721a0)
-+#define _SPATILEOFF           (VLV_DISPLAY_BASE + 0x721a4)
-+#define _SPACONSTALPHA                (VLV_DISPLAY_BASE + 0x721a8)
-+#define _SPAGAMC              (VLV_DISPLAY_BASE + 0x721f4)
-+
 +#define _SPBCNTR              (VLV_DISPLAY_BASE + 0x72280)
 +#define _SPBLINOFF            (VLV_DISPLAY_BASE + 0x72284)
 +#define _SPBSTRIDE            (VLV_DISPLAY_BASE + 0x72288)
@@ -86,6 +83,3 @@ index 13dd0731dbd7..342f1f336168 100644
  
  #define SPCNTR(pipe, plane) _PIPE(pipe * 2 + plane, _SPACNTR, _SPBCNTR)
  #define SPLINOFF(pipe, plane) _PIPE(pipe * 2 + plane, _SPALINOFF, _SPBLINOFF)
--- 
-1.8.5.rc3
-
index 4f3a57528ce7f87f0df9c6b5c74cacb87db1e2ab..88855cba560bfddceafcdbaeac280333ac0bdb0f 100644 (file)
@@ -29,14 +29,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 035dc1e0f9008b48630e02bf0eaa7cc547416d1d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_ringbuffer.c | 29 +++++++++++++++++++----------
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   29 +++++++++++++++++++----------
  1 file changed, 19 insertions(+), 10 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index a81647023139..079ef0129e74 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -379,6 +379,17 @@ u32 intel_ring_get_active_head(struct intel_ring_buffer *ring)
+@@ -379,6 +379,17 @@ u32 intel_ring_get_active_head(struct in
        return I915_READ(acthd_reg);
  }
  
@@ -54,7 +52,7 @@ index a81647023139..079ef0129e74 100644
  static int init_ring_common(struct intel_ring_buffer *ring)
  {
        struct drm_device *dev = ring->dev;
-@@ -390,6 +401,11 @@ static int init_ring_common(struct intel_ring_buffer *ring)
+@@ -390,6 +401,11 @@ static int init_ring_common(struct intel
        if (HAS_FORCE_WAKE(dev))
                gen6_gt_force_wake_get(dev_priv);
  
@@ -66,7 +64,7 @@ index a81647023139..079ef0129e74 100644
        /* Stop the ring if it's running. */
        I915_WRITE_CTL(ring, 0);
        I915_WRITE_HEAD(ring, 0);
-@@ -1234,7 +1250,6 @@ static int init_status_page(struct intel_ring_buffer *ring)
+@@ -1234,7 +1250,6 @@ static int init_status_page(struct intel
        ring->status_page.obj = obj;
        memset(ring->status_page.page_addr, 0, PAGE_SIZE);
  
@@ -86,7 +84,7 @@ index a81647023139..079ef0129e74 100644
  
        if (!dev_priv->status_page_dmah) {
                dev_priv->status_page_dmah =
-@@ -1260,11 +1274,6 @@ static int init_phys_hws_pga(struct intel_ring_buffer *ring)
+@@ -1260,11 +1274,6 @@ static int init_phys_hws_pga(struct inte
                        return -ENOMEM;
        }
  
@@ -98,7 +96,7 @@ index a81647023139..079ef0129e74 100644
        ring->status_page.page_addr = dev_priv->status_page_dmah->vaddr;
        memset(ring->status_page.page_addr, 0, PAGE_SIZE);
  
-@@ -1292,7 +1301,7 @@ static int intel_init_ring_buffer(struct drm_device *dev,
+@@ -1292,7 +1301,7 @@ static int intel_init_ring_buffer(struct
                        return ret;
        } else {
                BUG_ON(ring->id != RCS);
@@ -107,7 +105,7 @@ index a81647023139..079ef0129e74 100644
                if (ret)
                        return ret;
        }
-@@ -1904,7 +1913,7 @@ int intel_render_ring_init_dri(struct drm_device *dev, u64 start, u32 size)
+@@ -1908,7 +1917,7 @@ int intel_render_ring_init_dri(struct dr
        }
  
        if (!I915_NEED_GFX_HWS(dev)) {
@@ -116,6 +114,3 @@ index a81647023139..079ef0129e74 100644
                if (ret)
                        return ret;
        }
--- 
-1.8.5.rc3
-
index 4c5edbcb50dfd6e613e4484fd05827b0f0697d17..cbf11a078629a307b09a1fbf214b287337bed903 100644 (file)
@@ -30,8 +30,8 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
        /* The i915 workqueue is primarily used for batched retirement of
         * requests (and thus managing bo) once the task has been completed
-@@ -1677,7 +1677,7 @@ out_gem_unload:
-       intel_teardown_mchbar(dev);
+@@ -1678,7 +1678,7 @@ out_gem_unload:
+       pm_qos_remove_request(&dev_priv->pm_qos);
        destroy_workqueue(dev_priv->wq);
  out_mtrrfree:
 -      arch_phys_wc_del(dev_priv->mm.gtt_mtrr);
@@ -39,7 +39,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        io_mapping_free(dev_priv->gtt.mappable);
        dev_priv->gtt.gtt_remove(dev);
  out_rmmap:
-@@ -1715,7 +1715,7 @@ int i915_driver_unload(struct drm_device
+@@ -1716,7 +1716,7 @@ int i915_driver_unload(struct drm_device
        cancel_delayed_work_sync(&dev_priv->mm.retire_work);
  
        io_mapping_free(dev_priv->gtt.mappable);
index eb1aa1f3900184643dc928e48efe01a672b37023..9d7797a7312cd94df9ccb260da7fdce8b1110a58 100644 (file)
@@ -48,15 +48,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1dd246fb165819d31119e988c2887934c255fadc)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c | 17 +++++++++++++----
- drivers/gpu/drm/i915/i915_reg.h |  1 +
+ drivers/gpu/drm/i915/i915_irq.c |   17 +++++++++++++----
+ drivers/gpu/drm/i915/i915_reg.h |    1 +
  2 files changed, 14 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 079408a56c4e..d41b7a87c129 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -217,16 +217,25 @@ static void cpt_set_fifo_underrun_reporting(struct drm_device *dev,
+@@ -217,16 +217,25 @@ static void cpt_set_fifo_underrun_report
        struct drm_i915_private *dev_priv = dev->dev_private;
  
        if (enable) {
@@ -86,11 +84,9 @@ index 079408a56c4e..d41b7a87c129 100644
        }
  }
  
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 0f604881a3b4..beb5d119b7e6 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3890,6 +3890,7 @@
+@@ -3894,6 +3894,7 @@
  #define  SERR_INT_TRANS_C_FIFO_UNDERRUN       (1<<6)
  #define  SERR_INT_TRANS_B_FIFO_UNDERRUN       (1<<3)
  #define  SERR_INT_TRANS_A_FIFO_UNDERRUN       (1<<0)
@@ -98,6 +94,3 @@ index 0f604881a3b4..beb5d119b7e6 100644
  
  /* digital port hotplug */
  #define PCH_PORT_HOTPLUG        0xc4030               /* SHOTPLUG_CTL */
--- 
-1.8.5.rc3
-
index dffb21cacb39b902d1c09acc27f2e3d2a6a1b5d9..c81899eab216066b63def5cac5fc90c1b5e32a85 100644 (file)
@@ -25,15 +25,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit c0d6a3dd61d46a640ead0a9d38b78ca22d37a304)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c         | 3 +--
- drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +--
+ drivers/gpu/drm/i915/i915_irq.c         |    3 +--
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    3 +--
  2 files changed, 2 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 2da9e68db4f3..f77e87365480 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -2860,8 +2860,7 @@ static int ivybridge_irq_postinstall(struct drm_device *dev)
+@@ -2860,8 +2860,7 @@ static int ivybridge_irq_postinstall(str
  
        I915_WRITE(GEN6_PMIIR, I915_READ(GEN6_PMIIR));
        if (HAS_VEBOX(dev))
@@ -43,11 +41,9 @@ index 2da9e68db4f3..f77e87365480 100644
  
        /* Our enable/disable rps functions may touch these registers so
         * make sure to set a known state for only the non-RPS bits.
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index e97a7a0455c2..bc78c794ae81 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -2020,8 +2020,7 @@ int intel_init_vebox_ring_buffer(struct drm_device *dev)
+@@ -2024,8 +2024,7 @@ int intel_init_vebox_ring_buffer(struct
        ring->add_request = gen6_add_request;
        ring->get_seqno = gen6_ring_get_seqno;
        ring->set_seqno = ring_set_seqno;
@@ -57,6 +53,3 @@ index e97a7a0455c2..bc78c794ae81 100644
        ring->irq_get = hsw_vebox_get_irq;
        ring->irq_put = hsw_vebox_put_irq;
        ring->dispatch_execbuffer = gen6_ring_dispatch_execbuffer;
--- 
-1.8.5.rc3
-
index 215603f8a54d698ffa52eb6c8af3680856b31181..98a00e201ab435f7c6d088217a11fca0c6571976 100644 (file)
@@ -12,12 +12,10 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 05e21cc43da5a1a58b34a2cfad13d22bcfeb1f2b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem.c | 4 ++--
- drivers/gpu/drm/i915/i915_reg.h | 4 ++++
+ drivers/gpu/drm/i915/i915_gem.c |    4 ++--
+ drivers/gpu/drm/i915/i915_reg.h |    4 ++++
  2 files changed, 6 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 5846134574f1..a7039e69395b 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
 @@ -4131,8 +4131,8 @@ i915_gem_init_hw(struct drm_device *dev)
@@ -31,11 +29,9 @@ index 5846134574f1..a7039e69395b 100644
  
        if (HAS_PCH_NOP(dev)) {
                u32 temp = I915_READ(GEN7_MSG_CTL);
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index b131773190f3..9fb32dfbfeb9 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4480,6 +4480,10 @@
+@@ -4484,6 +4484,10 @@
  #define  GT_FIFO_FREE_ENTRIES                 0x120008
  #define    GT_FIFO_NUM_RESERVED_ENTRIES               20
  
@@ -46,6 +42,3 @@ index b131773190f3..9fb32dfbfeb9 100644
  #define GEN6_UCGCTL1                          0x9400
  # define GEN6_BLBUNIT_CLOCK_GATE_DISABLE              (1 << 5)
  # define GEN6_CSUNIT_CLOCK_GATE_DISABLE                       (1 << 7)
--- 
-1.8.5.rc3
-
index 239a4f438c6361e581c71732206e245e964b0eef..3673d62a21f7ffa6c4c96176f52655eae57b998a 100644 (file)
@@ -52,7 +52,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        list_for_each_entry_reverse(file, &dev->filelist, lhead) {
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1683,7 +1683,7 @@ out_gem_unload:
+@@ -1684,7 +1684,7 @@ out_gem_unload:
  out_mtrrfree:
        arch_phys_wc_del(dev_priv->gtt.mtrr);
        io_mapping_free(dev_priv->gtt.mappable);
@@ -61,7 +61,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  out_rmmap:
        pci_iounmap(dev->pdev, dev_priv->regs);
  put_bridge:
-@@ -1778,7 +1778,7 @@ int i915_driver_unload(struct drm_device
+@@ -1779,7 +1779,7 @@ int i915_driver_unload(struct drm_device
        destroy_workqueue(dev_priv->wq);
        pm_qos_remove_request(&dev_priv->pm_qos);
  
index 03de74b708998bab71f91e06df1dc9fc5cf39351..6da9ed57323708b328b35e44cf827cf7f7dd358a 100644 (file)
@@ -38,7 +38,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  cleanup_irq:
        drm_irq_uninstall(dev);
  cleanup_gem_stolen:
-@@ -1768,7 +1768,7 @@ int i915_driver_unload(struct drm_device
+@@ -1769,7 +1769,7 @@ int i915_driver_unload(struct drm_device
                        i915_free_hws(dev);
        }
  
index b56569b0856aa63ada0969330038a50ae67f667e..c0801df0c9ef30228e98c55d9df19497a1d70046 100644 (file)
@@ -35,7 +35,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        if (i915_get_bridge_dev(dev)) {
                ret = -EIO;
                goto free_priv;
-@@ -1768,6 +1772,8 @@ int i915_driver_unload(struct drm_device
+@@ -1769,6 +1773,8 @@ int i915_driver_unload(struct drm_device
                        i915_free_hws(dev);
        }
  
index fd2b56012c68b93bab639ce0f37ad73149dbf06e..a96d1e2c40dc95817ff18c94109dbd5f0c47dc14 100644 (file)
@@ -41,13 +41,11 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 2b28bb1b6440fadececc4cf8f29c55d510c6db09)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h  |  42 +++++++++++
- drivers/gpu/drm/i915/intel_dp.c  | 149 +++++++++++++++++++++++++++++++++++++++
- drivers/gpu/drm/i915/intel_drv.h |   4 ++
+ drivers/gpu/drm/i915/i915_reg.h  |   42 ++++++++++
+ drivers/gpu/drm/i915/intel_dp.c  |  149 +++++++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/intel_drv.h |    4 +
  3 files changed, 195 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 9fb32dfbfeb9..780a5dc9c131 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -1781,6 +1781,47 @@
@@ -98,7 +96,7 @@ index 9fb32dfbfeb9..780a5dc9c131 100644
  /* VGA port control */
  #define ADPA                  0x61100
  #define PCH_ADPA                0xe1100
-@@ -2056,6 +2097,7 @@
+@@ -2060,6 +2101,7 @@
   * (Haswell and newer) to see which VIDEO_DIP_DATA byte corresponds to each byte
   * of the infoframe structure specified by CEA-861. */
  #define   VIDEO_DIP_DATA_SIZE 32
@@ -106,11 +104,9 @@ index 9fb32dfbfeb9..780a5dc9c131 100644
  #define VIDEO_DIP_CTL         0x61170
  /* Pre HSW: */
  #define   VIDEO_DIP_ENABLE            (1 << 31)
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index be6b47140e09..6f2e558b475c 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1394,6 +1394,153 @@ static bool is_edp_psr(struct intel_dp *intel_dp)
+@@ -1394,6 +1394,153 @@ static bool is_edp_psr(struct intel_dp *
                intel_dp->psr_dpcd[0] & DP_PSR_IS_SUPPORTED;
  }
  
@@ -264,7 +260,7 @@ index be6b47140e09..6f2e558b475c 100644
  static void intel_disable_dp(struct intel_encoder *encoder)
  {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
-@@ -3205,6 +3352,8 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
+@@ -3221,6 +3368,8 @@ intel_dp_init_connector(struct intel_dig
        WARN(error, "intel_dp_i2c_init failed with error %d for port %c\n",
             error, port_name(port));
  
@@ -273,8 +269,6 @@ index be6b47140e09..6f2e558b475c 100644
        if (!intel_edp_init_connector(intel_dp, intel_connector)) {
                i2c_del_adapter(&intel_dp->adapter);
                if (is_edp(intel_dp)) {
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index fdb71b445bf9..9b0ac47a565e 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -499,6 +499,7 @@ struct intel_dp {
@@ -285,7 +279,7 @@ index fdb71b445bf9..9b0ac47a565e 100644
        struct intel_connector *attached_connector;
  };
  
-@@ -834,4 +835,7 @@ extern bool intel_set_pch_fifo_underrun_reporting(struct drm_device *dev,
+@@ -834,4 +835,7 @@ extern bool intel_set_pch_fifo_underrun_
                                                 enum transcoder pch_transcoder,
                                                 bool enable);
  
@@ -293,6 +287,3 @@ index fdb71b445bf9..9b0ac47a565e 100644
 +extern void intel_edp_psr_disable(struct intel_dp *intel_dp);
 +
  #endif /* __INTEL_DRV_H__ */
--- 
-1.8.5.rc3
-
index ad1644525fb394848b337bf6ca2253f7d92ecfe2..1679a8476a3aced1905f448a2d9a805afc3ad6b1 100644 (file)
@@ -24,17 +24,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 3f51e4713fc57ab0fc225c3f0e67578a53c24a11)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_debugfs.c | 42 ++++++++++++++++++++---
- drivers/gpu/drm/i915/i915_drv.h     | 13 +++++++
- drivers/gpu/drm/i915/i915_reg.h     |  7 ++++
- drivers/gpu/drm/i915/intel_dp.c     | 67 ++++++++++++++++++++++++++++++++++++-
+ drivers/gpu/drm/i915/i915_debugfs.c |   42 +++++++++++++++++++---
+ drivers/gpu/drm/i915/i915_drv.h     |   13 ++++++
+ drivers/gpu/drm/i915/i915_reg.h     |    7 +++
+ drivers/gpu/drm/i915/intel_dp.c     |   67 +++++++++++++++++++++++++++++++++++-
  4 files changed, 123 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 65619e6fde86..973f2727d703 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -1550,17 +1550,49 @@ static int i915_edp_psr_status(struct seq_file *m, void *data)
+@@ -1550,17 +1550,49 @@ static int i915_edp_psr_status(struct se
        struct drm_info_node *node = m->private;
        struct drm_device *dev = node->minor->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -89,8 +87,6 @@ index 65619e6fde86..973f2727d703 100644
        psrstat = I915_READ(EDP_PSR_STATUS_CTL);
  
        seq_puts(m, "PSR Current State: ");
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index d972025bff14..6d8dc7475536 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -593,6 +593,17 @@ struct i915_fbc {
@@ -120,11 +116,9 @@ index d972025bff14..6d8dc7475536 100644
        struct i915_gpu_error gpu_error;
  
        struct drm_i915_gem_object *vlv_pctx;
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 918597035b62..6f2df01d8562 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4158,6 +4158,13 @@
+@@ -4162,6 +4162,13 @@
  #define HSW_TVIDEO_DIP_VSC_DATA(trans) \
         _TRANSCODER(trans, HSW_VIDEO_DIP_VSC_DATA_A, HSW_VIDEO_DIP_VSC_DATA_B)
  
@@ -138,11 +132,9 @@ index 918597035b62..6f2df01d8562 100644
  #define _PCH_TRANS_HTOTAL_B          0xe1000
  #define _PCH_TRANS_HBLANK_B          0xe1004
  #define _PCH_TRANS_HSYNC_B           0xe1008
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 6f2e558b475c..070dc55c10d4 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1508,11 +1508,76 @@ static void intel_edp_psr_enable_source(struct intel_dp *intel_dp)
+@@ -1508,11 +1508,76 @@ static void intel_edp_psr_enable_source(
                   EDP_PSR_ENABLE);
  }
  
@@ -220,6 +212,3 @@ index 6f2e558b475c..070dc55c10d4 100644
                return;
  
        /* Setup PSR once */
--- 
-1.8.5.rc3
-
index 38223b274d22c274abbf66ad08edf4dfbb1deb10..16ab2cda08eb6cc4b988d228d946b2105c0cb393 100644 (file)
@@ -14,15 +14,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b518421f5f91365a08ebe55497b32fe6d90ef4df)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_irq.c | 41 ++++++++---------------------------------
- drivers/gpu/drm/i915/i915_reg.h |  3 +++
+ drivers/gpu/drm/i915/i915_irq.c |   41 +++++++---------------------------------
+ drivers/gpu/drm/i915/i915_reg.h |    3 ++
  2 files changed, 11 insertions(+), 33 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index a2bcfa2908ab..31a13fdec7a7 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -1704,29 +1704,14 @@ static int ironlake_enable_vblank(struct drm_device *dev, int pipe)
+@@ -1704,29 +1704,14 @@ static int ironlake_enable_vblank(struct
  {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
        unsigned long irqflags;
@@ -55,7 +53,7 @@ index a2bcfa2908ab..31a13fdec7a7 100644
        spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
  
        return 0;
-@@ -1777,21 +1762,11 @@ static void ironlake_disable_vblank(struct drm_device *dev, int pipe)
+@@ -1777,21 +1762,11 @@ static void ironlake_disable_vblank(stru
  {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
        unsigned long irqflags;
@@ -80,7 +78,7 @@ index a2bcfa2908ab..31a13fdec7a7 100644
        spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
  }
  
-@@ -3117,8 +3092,8 @@ void intel_irq_init(struct drm_device *dev)
+@@ -3117,8 +3092,8 @@ void intel_irq_init(struct drm_device *d
                dev->driver->irq_preinstall = ironlake_irq_preinstall;
                dev->driver->irq_postinstall = ivybridge_irq_postinstall;
                dev->driver->irq_uninstall = ironlake_irq_uninstall;
@@ -91,11 +89,9 @@ index a2bcfa2908ab..31a13fdec7a7 100644
                dev_priv->display.hpd_irq_setup = ibx_hpd_irq_setup;
        } else if (HAS_PCH_SPLIT(dev)) {
                dev->driver->irq_handler = ironlake_irq_handler;
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 6f2df01d8562..1fa35798a94d 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3795,6 +3795,9 @@
+@@ -3799,6 +3799,9 @@
  #define DE_PLANEA_FLIP_DONE_IVB               (1<<3)
  #define DE_PIPEA_VBLANK_IVB           (1<<0)
  
@@ -105,6 +101,3 @@ index 6f2df01d8562..1fa35798a94d 100644
  #define VLV_MASTER_IER                        0x4400c /* Gunit master IER */
  #define   MASTER_INTERRUPT_ENABLE     (1<<31)
  
--- 
-1.8.5.rc3
-
index d753e4bae61c252db39d3a346228887ee391b7ac..6b31df46bee1c2e8dd5089106d751f3ba172a890 100644 (file)
@@ -14,20 +14,18 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 164c8598450657d01fa75d6c997e95eb35672eef)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_crt.c  | 4 ++++
- drivers/gpu/drm/i915/intel_dp.c   | 3 +++
- drivers/gpu/drm/i915/intel_dvo.c  | 2 ++
- drivers/gpu/drm/i915/intel_hdmi.c | 3 +++
- drivers/gpu/drm/i915/intel_lvds.c | 3 +++
- drivers/gpu/drm/i915/intel_sdvo.c | 3 +++
- drivers/gpu/drm/i915/intel_tv.c   | 4 ++++
+ drivers/gpu/drm/i915/intel_crt.c  |    4 ++++
+ drivers/gpu/drm/i915/intel_dp.c   |    3 +++
+ drivers/gpu/drm/i915/intel_dvo.c  |    2 ++
+ drivers/gpu/drm/i915/intel_hdmi.c |    3 +++
+ drivers/gpu/drm/i915/intel_lvds.c |    3 +++
+ drivers/gpu/drm/i915/intel_sdvo.c |    3 +++
+ drivers/gpu/drm/i915/intel_tv.c   |    4 ++++
  7 files changed, 22 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index 3acec8c48166..0c0d4e8d768e 100644
 --- a/drivers/gpu/drm/i915/intel_crt.c
 +++ b/drivers/gpu/drm/i915/intel_crt.c
-@@ -613,6 +613,10 @@ intel_crt_detect(struct drm_connector *connector, bool force)
+@@ -613,6 +613,10 @@ intel_crt_detect(struct drm_connector *c
        enum drm_connector_status status;
        struct intel_load_detect_pipe tmp;
  
@@ -38,11 +36,9 @@ index 3acec8c48166..0c0d4e8d768e 100644
        if (I915_HAS_HOTPLUG(dev)) {
                /* We can not rely on the HPD pin always being correctly wired
                 * up, for example many KVM do not pass it through, and so
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index db9cb317f5ce..ccf3b6f0c9a9 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2831,6 +2831,9 @@ intel_dp_detect(struct drm_connector *connector, bool force)
+@@ -2847,6 +2847,9 @@ intel_dp_detect(struct drm_connector *co
        enum drm_connector_status status;
        struct edid *edid = NULL;
  
@@ -52,8 +48,6 @@ index db9cb317f5ce..ccf3b6f0c9a9 100644
        intel_dp->has_audio = false;
  
        if (HAS_PCH_SPLIT(dev))
-diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
-index cbbc49dc03be..8b4ad27791f3 100644
 --- a/drivers/gpu/drm/i915/intel_dvo.c
 +++ b/drivers/gpu/drm/i915/intel_dvo.c
 @@ -332,6 +332,8 @@ static enum drm_connector_status
@@ -65,11 +59,9 @@ index cbbc49dc03be..8b4ad27791f3 100644
        return intel_dvo->dev.dev_ops->detect(&intel_dvo->dev);
  }
  
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index 2fd3fd5b943e..044d11d05944 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -879,6 +879,9 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
+@@ -879,6 +879,9 @@ intel_hdmi_detect(struct drm_connector *
        struct edid *edid;
        enum drm_connector_status status = connector_status_disconnected;
  
@@ -79,11 +71,9 @@ index 2fd3fd5b943e..044d11d05944 100644
        intel_hdmi->has_hdmi_sink = false;
        intel_hdmi->has_audio = false;
        intel_hdmi->rgb_quant_range_selectable = false;
-diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index 57ecc57a6fa4..176891679ae9 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
-@@ -343,6 +343,9 @@ intel_lvds_detect(struct drm_connector *connector, bool force)
+@@ -343,6 +343,9 @@ intel_lvds_detect(struct drm_connector *
        struct drm_device *dev = connector->dev;
        enum drm_connector_status status;
  
@@ -93,11 +83,9 @@ index 57ecc57a6fa4..176891679ae9 100644
        status = intel_panel_detect(dev);
        if (status != connector_status_unknown)
                return status;
-diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
-index 798df114cfd3..c3b59b8593b9 100644
 --- a/drivers/gpu/drm/i915/intel_sdvo.c
 +++ b/drivers/gpu/drm/i915/intel_sdvo.c
-@@ -1696,6 +1696,9 @@ intel_sdvo_detect(struct drm_connector *connector, bool force)
+@@ -1696,6 +1696,9 @@ intel_sdvo_detect(struct drm_connector *
        struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector);
        enum drm_connector_status ret;
  
@@ -107,11 +95,9 @@ index 798df114cfd3..c3b59b8593b9 100644
        if (!intel_sdvo_get_value(intel_sdvo,
                                  SDVO_CMD_GET_ATTACHED_DISPLAYS,
                                  &response, 2))
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index d7fe4f89f7fc..685017000087 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1313,6 +1313,10 @@ intel_tv_detect(struct drm_connector *connector, bool force)
+@@ -1313,6 +1313,10 @@ intel_tv_detect(struct drm_connector *co
        struct intel_tv *intel_tv = intel_attached_tv(connector);
        int type;
  
@@ -122,6 +108,3 @@ index d7fe4f89f7fc..685017000087 100644
        mode = reported_modes[0];
  
        if (force) {
--- 
-1.8.5.rc3
-
index a62b7160ce735c85ec6f80808a334d174d260437..3a6167c3e01934624b2b7355196f34730a3af22b 100644 (file)
@@ -18,15 +18,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 2fa86a1fea14c3019b2de16ea47e1a5363c60905)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  3 ++-
- drivers/gpu/drm/i915/intel_display.c | 43 +++++++++++++++++++++++++-----------
- 2 files changed, 32 insertions(+), 14 deletions(-)
+ drivers/gpu/drm/i915/i915_reg.h      |    3 +-
+ drivers/gpu/drm/i915/intel_display.c |   45 ++++++++++++++++++++++++-----------
+ 2 files changed, 33 insertions(+), 15 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 1fa35798a94d..cf42bd61b420 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4950,7 +4950,8 @@
+@@ -4954,7 +4954,8 @@
  #define  SBI_SSCAUXDIV6                               0x0610
  #define   SBI_SSCAUXDIV_FINALDIV2SEL(x)               ((x)<<4)
  #define  SBI_DBUFF0                           0x2a00
@@ -36,11 +34,9 @@ index 1fa35798a94d..cf42bd61b420 100644
  
  /* LPT PIXCLK_GATE */
  #define PIXCLK_GATE                   0xC6020
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index bf450d725fc3..216de8639c70 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -5260,11 +5260,23 @@ static void lpt_program_fdi_mphy(struct drm_i915_private *dev_priv)
+@@ -5260,11 +5260,23 @@ static void lpt_program_fdi_mphy(struct
        intel_sbi_write(dev_priv, 0x21EC, tmp, SBI_MPHY);
  }
  
@@ -67,20 +63,21 @@ index bf450d725fc3..216de8639c70 100644
  
        mutex_lock(&dev_priv->dpio_lock);
  
-@@ -5275,17 +5287,22 @@ static void lpt_enable_clkout_dp(struct drm_device *dev)
+@@ -5275,17 +5287,22 @@ static void lpt_enable_clkout_dp(struct
  
        udelay(24);
  
 -      tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK);
 -      tmp &= ~SBI_SSCCTL_PATHALT;
 -      intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK);
+-
+-      lpt_reset_fdi_mphy(dev_priv);
+-      lpt_program_fdi_mphy(dev_priv);
 +      if (with_spread) {
 +              tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK);
 +              tmp &= ~SBI_SSCCTL_PATHALT;
 +              intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK);
--      lpt_reset_fdi_mphy(dev_priv);
--      lpt_program_fdi_mphy(dev_priv);
++
 +              if (with_fdi) {
 +                      lpt_reset_fdi_mphy(dev_priv);
 +                      lpt_program_fdi_mphy(dev_priv);
@@ -99,7 +96,7 @@ index bf450d725fc3..216de8639c70 100644
  
        mutex_unlock(&dev_priv->dpio_lock);
  }
-@@ -5307,7 +5324,7 @@ static void lpt_init_pch_refclk(struct drm_device *dev)
+@@ -5307,7 +5324,7 @@ static void lpt_init_pch_refclk(struct d
        if (!has_vga)
                return;
  
@@ -108,6 +105,3 @@ index bf450d725fc3..216de8639c70 100644
  }
  
  /*
--- 
-1.8.5.rc3
-
index 8d52a756e2d19e82e9d362a7693cbfd4038d3769..e4229e52f047db2d1c634f53e89057e48c2ad770 100644 (file)
@@ -35,16 +35,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit be256dc70284c028d0dd828b18b8f804e310507b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  15 ++++
- drivers/gpu/drm/i915/intel_display.c | 136 +++++++++++++++++++++++++++++++++++
- drivers/gpu/drm/i915/intel_drv.h     |   3 +
+ drivers/gpu/drm/i915/i915_reg.h      |   15 +++
+ drivers/gpu/drm/i915/intel_display.c |  136 +++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/intel_drv.h     |    3 
  3 files changed, 154 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index cf42bd61b420..fbe585da44d9 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2269,6 +2269,8 @@
+@@ -2273,6 +2273,8 @@
  #define BLC_PWM_CPU_CTL2      0x48250
  #define BLC_PWM_CPU_CTL               0x48254
  
@@ -53,7 +51,7 @@ index cf42bd61b420..fbe585da44d9 100644
  /* PCH CTL1 is totally different, all but the below bits are reserved. CTL2 is
   * like the normal CTL from gen4 and earlier. Hooray for confusing naming. */
  #define BLC_PWM_PCH_CTL1      0xc8250
-@@ -2277,6 +2279,12 @@
+@@ -2281,6 +2283,12 @@
  #define   BLM_PCH_POLARITY                    (1 << 29)
  #define BLC_PWM_PCH_CTL2      0xc8254
  
@@ -66,7 +64,7 @@ index cf42bd61b420..fbe585da44d9 100644
  /* TV port control */
  #define TV_CTL                        0x68000
  /** Enables the TV encoder */
-@@ -5017,7 +5025,14 @@
+@@ -5021,7 +5029,14 @@
  #define  LCPLL_CLK_FREQ_450           (0<<26)
  #define  LCPLL_CD_CLOCK_DISABLE               (1<<25)
  #define  LCPLL_CD2X_CLOCK_DISABLE     (1<<23)
@@ -81,11 +79,9 @@ index cf42bd61b420..fbe585da44d9 100644
  
  /* Pipe WM_LINETIME - watermark line time */
  #define PIPE_WM_LINETIME_A            0x45270
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 4da60eebdf96..73965dfbf149 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -5922,6 +5922,142 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
+@@ -5922,6 +5922,142 @@ static bool ironlake_get_pipe_config(str
        return true;
  }
  
@@ -228,11 +224,9 @@ index 4da60eebdf96..73965dfbf149 100644
  static void haswell_modeset_global_resources(struct drm_device *dev)
  {
        bool enable = false;
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 31087ff6d871..3fbe80bc36bb 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -838,5 +838,8 @@ extern bool intel_set_pch_fifo_underrun_reporting(struct drm_device *dev,
+@@ -838,5 +838,8 @@ extern bool intel_set_pch_fifo_underrun_
  extern void intel_edp_psr_enable(struct intel_dp *intel_dp);
  extern void intel_edp_psr_disable(struct intel_dp *intel_dp);
  extern void intel_edp_psr_update(struct drm_device *dev);
@@ -241,6 +235,3 @@ index 31087ff6d871..3fbe80bc36bb 100644
 +extern void hsw_restore_lcpll(struct drm_i915_private *dev_priv);
  
  #endif /* __INTEL_DRV_H__ */
--- 
-1.8.5.rc3
-
index cea739c564a979e3e08fa8aec9033d994e5b0061..7cf45b2791535085899c2935c27dd674049e5265 100644 (file)
@@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b934223d7abae2f52d22b4734a02b9a0867eafe3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 19 +++++++------------
+ drivers/gpu/drm/i915/intel_dp.c |   19 +++++++------------
  1 file changed, 7 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 42ddfd457ca6..44972a679517 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -844,15 +844,14 @@ static void ironlake_set_pll_cpu_edp(struct intel_dp *intel_dp)
+@@ -844,15 +844,14 @@ static void ironlake_set_pll_cpu_edp(str
        udelay(500);
  }
  
@@ -40,7 +38,7 @@ index 42ddfd457ca6..44972a679517 100644
  
        /*
         * There are four kinds of DP registers:
-@@ -884,7 +883,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
+@@ -884,7 +883,7 @@ intel_dp_mode_set(struct drm_encoder *en
                DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
                                 pipe_name(crtc->pipe));
                intel_dp->DP |= DP_AUDIO_OUTPUT_ENABLE;
@@ -49,7 +47,7 @@ index 42ddfd457ca6..44972a679517 100644
        }
  
        intel_dp_init_link_config(intel_dp);
-@@ -3046,10 +3045,6 @@ void intel_dp_encoder_destroy(struct drm_encoder *encoder)
+@@ -3062,10 +3061,6 @@ void intel_dp_encoder_destroy(struct drm
        kfree(intel_dig_port);
  }
  
@@ -60,7 +58,7 @@ index 42ddfd457ca6..44972a679517 100644
  static const struct drm_connector_funcs intel_dp_connector_funcs = {
        .dpms = intel_connector_dpms,
        .detect = intel_dp_detect,
-@@ -3529,9 +3524,9 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
+@@ -3545,9 +3540,9 @@ intel_dp_init(struct drm_device *dev, in
  
        drm_encoder_init(dev, &intel_encoder->base, &intel_dp_enc_funcs,
                         DRM_MODE_ENCODER_TMDS);
@@ -71,6 +69,3 @@ index 42ddfd457ca6..44972a679517 100644
        intel_encoder->enable = intel_enable_dp;
        intel_encoder->pre_enable = intel_pre_enable_dp;
        intel_encoder->disable = intel_disable_dp;
--- 
-1.8.5.rc3
-
index 58c00fe5dc330fe1250f063d61bce80372c81763..cccd123c9e0931e85bbb7185a235645ca686db4e 100644 (file)
@@ -29,14 +29,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ab1f90f9662482021fddd0e7868005401f62866f)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 73 ++++++++++++++++++++++-------------------
- 1 file changed, 39 insertions(+), 34 deletions(-)
+ drivers/gpu/drm/i915/intel_dp.c |   75 +++++++++++++++++++++-------------------
+ 1 file changed, 40 insertions(+), 35 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 57d9b979a846..9e22bfd850df 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1711,49 +1711,50 @@ static void intel_enable_dp(struct intel_encoder *encoder)
+@@ -1711,49 +1711,50 @@ static void intel_enable_dp(struct intel
        intel_dp_complete_link_train(intel_dp);
        intel_dp_stop_link_train(intel_dp);
        ironlake_edp_backlight_on(intel_dp);
@@ -93,6 +91,13 @@ index 57d9b979a846..9e22bfd850df 100644
 -                      val &= ~(1<<21);
 -              val |= 0x001000c4;
 -              vlv_dpio_write(dev_priv, DPIO_DATA_CHANNEL(port), val);
+-
+-              vlv_dpio_write(dev_priv, DPIO_PCS_CLOCKBUF0(port),
+-                               0x00760018);
+-              vlv_dpio_write(dev_priv, DPIO_PCS_CLOCKBUF8(port),
+-                               0x00400888);
+-              mutex_unlock(&dev_priv->dpio_lock);
+-      }
 +      val = vlv_dpio_read(dev_priv, DPIO_DATA_LANE_A(port));
 +      val = 0;
 +      if (pipe)
@@ -103,13 +108,7 @@ index 57d9b979a846..9e22bfd850df 100644
 +      vlv_dpio_write(dev_priv, DPIO_DATA_CHANNEL(port), val);
 +      vlv_dpio_write(dev_priv, DPIO_PCS_CLOCKBUF0(port), 0x00760018);
 +      vlv_dpio_write(dev_priv, DPIO_PCS_CLOCKBUF8(port), 0x00400888);
--              vlv_dpio_write(dev_priv, DPIO_PCS_CLOCKBUF0(port),
--                               0x00760018);
--              vlv_dpio_write(dev_priv, DPIO_PCS_CLOCKBUF8(port),
--                               0x00400888);
--              mutex_unlock(&dev_priv->dpio_lock);
--      }
++
 +      mutex_unlock(&dev_priv->dpio_lock);
 +
 +      intel_enable_dp(encoder);
@@ -118,7 +117,7 @@ index 57d9b979a846..9e22bfd850df 100644
  }
  
  static void intel_dp_pre_pll_enable(struct intel_encoder *encoder)
-@@ -3533,14 +3534,18 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
+@@ -3549,14 +3550,18 @@ intel_dp_init(struct drm_device *dev, in
  
        intel_encoder->compute_config = intel_dp_compute_config;
        intel_encoder->mode_set = intel_dp_mode_set;
@@ -140,6 +139,3 @@ index 57d9b979a846..9e22bfd850df 100644
  
        intel_dig_port->port = port;
        intel_dig_port->dp.output_reg = output_reg;
--- 
-1.8.5.rc3
-
index 9f5ccf1de15fb66401c6d790f59e5d447eff570b..50265e43f8962c6bbf507cdae6f1a772acd39aaa 100644 (file)
@@ -183,7 +183,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        if (ret)
                goto err_unref;
  
-@@ -1840,7 +1840,7 @@ int intel_init_render_ring_buffer(struct
+@@ -1844,7 +1844,7 @@ int intel_init_render_ring_buffer(struct
                        return -ENOMEM;
                }
  
index e4804cd46049091a485fb910c34997d6c9eba7e6..760887cb46b698bcb1cc93ff21007eaecd0669c3 100644 (file)
@@ -17,15 +17,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b0aea5dca064176a626dc2a83727c60ace31ee6d)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h |  9 -------
- drivers/gpu/drm/i915/intel_pm.c | 57 +++++++++++++++++++----------------------
+ drivers/gpu/drm/i915/i915_reg.h |    9 ------
+ drivers/gpu/drm/i915/intel_pm.c |   57 ++++++++++++++++++----------------------
  2 files changed, 27 insertions(+), 39 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 615d66717016..11800316799f 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3204,9 +3204,6 @@
+@@ -3208,9 +3208,6 @@
  #define  MLTR_WM2_SHIFT               8
  /* the unit of memory self-refresh latency time is 0.5us */
  #define  ILK_SRLT_MASK                0x3f
@@ -35,7 +33,7 @@ index 615d66717016..11800316799f 100644
  
  /* define the fifo size on Ironlake */
  #define ILK_DISPLAY_FIFO      128
-@@ -3253,12 +3250,6 @@
+@@ -3257,12 +3254,6 @@
  #define SSKPD_WM2_SHIFT               16
  #define SSKPD_WM3_SHIFT               24
  
@@ -48,11 +46,9 @@ index 615d66717016..11800316799f 100644
  /*
   * The two pipe frame counter registers are not synchronized, so
   * reading a stable value is somewhat tricky. The following code
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 42f541671236..0254e620ba05 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -1680,9 +1680,6 @@ static void i830_update_wm(struct drm_device *dev)
+@@ -1680,9 +1680,6 @@ static void i830_update_wm(struct drm_de
        I915_WRITE(FW_BLC, fwater_lo);
  }
  
@@ -62,7 +58,7 @@ index 42f541671236..0254e620ba05 100644
  /*
   * Check the wm result.
   *
-@@ -1797,9 +1794,9 @@ static void ironlake_update_wm(struct drm_device *dev)
+@@ -1797,9 +1794,9 @@ static void ironlake_update_wm(struct dr
        enabled = 0;
        if (g4x_compute_wm0(dev, PIPE_A,
                            &ironlake_display_wm_info,
@@ -74,7 +70,7 @@ index 42f541671236..0254e620ba05 100644
                            &plane_wm, &cursor_wm)) {
                I915_WRITE(WM0_PIPEA_ILK,
                           (plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm);
-@@ -1811,9 +1808,9 @@ static void ironlake_update_wm(struct drm_device *dev)
+@@ -1811,9 +1808,9 @@ static void ironlake_update_wm(struct dr
  
        if (g4x_compute_wm0(dev, PIPE_B,
                            &ironlake_display_wm_info,
@@ -86,7 +82,7 @@ index 42f541671236..0254e620ba05 100644
                            &plane_wm, &cursor_wm)) {
                I915_WRITE(WM0_PIPEB_ILK,
                           (plane_wm << WM0_PIPE_PLANE_SHIFT) | cursor_wm);
-@@ -1837,7 +1834,7 @@ static void ironlake_update_wm(struct drm_device *dev)
+@@ -1837,7 +1834,7 @@ static void ironlake_update_wm(struct dr
  
        /* WM1 */
        if (!ironlake_compute_srwm(dev, 1, enabled,
@@ -95,7 +91,7 @@ index 42f541671236..0254e620ba05 100644
                                   &ironlake_display_srwm_info,
                                   &ironlake_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -1845,14 +1842,14 @@ static void ironlake_update_wm(struct drm_device *dev)
+@@ -1845,14 +1842,14 @@ static void ironlake_update_wm(struct dr
  
        I915_WRITE(WM1_LP_ILK,
                   WM1_LP_SR_EN |
@@ -112,7 +108,7 @@ index 42f541671236..0254e620ba05 100644
                                   &ironlake_display_srwm_info,
                                   &ironlake_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -1860,7 +1857,7 @@ static void ironlake_update_wm(struct drm_device *dev)
+@@ -1860,7 +1857,7 @@ static void ironlake_update_wm(struct dr
  
        I915_WRITE(WM2_LP_ILK,
                   WM2_LP_EN |
@@ -121,7 +117,7 @@ index 42f541671236..0254e620ba05 100644
                   (fbc_wm << WM1_LP_FBC_SHIFT) |
                   (plane_wm << WM1_LP_SR_SHIFT) |
                   cursor_wm);
-@@ -1874,7 +1871,7 @@ static void ironlake_update_wm(struct drm_device *dev)
+@@ -1874,7 +1871,7 @@ static void ironlake_update_wm(struct dr
  static void sandybridge_update_wm(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -130,7 +126,7 @@ index 42f541671236..0254e620ba05 100644
        u32 val;
        int fbc_wm, plane_wm, cursor_wm;
        unsigned int enabled;
-@@ -1929,7 +1926,7 @@ static void sandybridge_update_wm(struct drm_device *dev)
+@@ -1929,7 +1926,7 @@ static void sandybridge_update_wm(struct
  
        /* WM1 */
        if (!ironlake_compute_srwm(dev, 1, enabled,
@@ -139,7 +135,7 @@ index 42f541671236..0254e620ba05 100644
                                   &sandybridge_display_srwm_info,
                                   &sandybridge_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -1937,14 +1934,14 @@ static void sandybridge_update_wm(struct drm_device *dev)
+@@ -1937,14 +1934,14 @@ static void sandybridge_update_wm(struct
  
        I915_WRITE(WM1_LP_ILK,
                   WM1_LP_SR_EN |
@@ -156,7 +152,7 @@ index 42f541671236..0254e620ba05 100644
                                   &sandybridge_display_srwm_info,
                                   &sandybridge_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -1952,14 +1949,14 @@ static void sandybridge_update_wm(struct drm_device *dev)
+@@ -1952,14 +1949,14 @@ static void sandybridge_update_wm(struct
  
        I915_WRITE(WM2_LP_ILK,
                   WM2_LP_EN |
@@ -173,7 +169,7 @@ index 42f541671236..0254e620ba05 100644
                                   &sandybridge_display_srwm_info,
                                   &sandybridge_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -1967,7 +1964,7 @@ static void sandybridge_update_wm(struct drm_device *dev)
+@@ -1967,7 +1964,7 @@ static void sandybridge_update_wm(struct
  
        I915_WRITE(WM3_LP_ILK,
                   WM3_LP_EN |
@@ -182,7 +178,7 @@ index 42f541671236..0254e620ba05 100644
                   (fbc_wm << WM1_LP_FBC_SHIFT) |
                   (plane_wm << WM1_LP_SR_SHIFT) |
                   cursor_wm);
-@@ -1976,7 +1973,7 @@ static void sandybridge_update_wm(struct drm_device *dev)
+@@ -1976,7 +1973,7 @@ static void sandybridge_update_wm(struct
  static void ivybridge_update_wm(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -191,7 +187,7 @@ index 42f541671236..0254e620ba05 100644
        u32 val;
        int fbc_wm, plane_wm, cursor_wm;
        int ignore_fbc_wm, ignore_plane_wm, ignore_cursor_wm;
-@@ -2046,7 +2043,7 @@ static void ivybridge_update_wm(struct drm_device *dev)
+@@ -2046,7 +2043,7 @@ static void ivybridge_update_wm(struct d
  
        /* WM1 */
        if (!ironlake_compute_srwm(dev, 1, enabled,
@@ -200,7 +196,7 @@ index 42f541671236..0254e620ba05 100644
                                   &sandybridge_display_srwm_info,
                                   &sandybridge_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -2054,14 +2051,14 @@ static void ivybridge_update_wm(struct drm_device *dev)
+@@ -2054,14 +2051,14 @@ static void ivybridge_update_wm(struct d
  
        I915_WRITE(WM1_LP_ILK,
                   WM1_LP_SR_EN |
@@ -217,7 +213,7 @@ index 42f541671236..0254e620ba05 100644
                                   &sandybridge_display_srwm_info,
                                   &sandybridge_cursor_srwm_info,
                                   &fbc_wm, &plane_wm, &cursor_wm))
-@@ -2069,19 +2066,19 @@ static void ivybridge_update_wm(struct drm_device *dev)
+@@ -2069,19 +2066,19 @@ static void ivybridge_update_wm(struct d
  
        I915_WRITE(WM2_LP_ILK,
                   WM2_LP_EN |
@@ -240,7 +236,7 @@ index 42f541671236..0254e620ba05 100644
                                   &sandybridge_display_srwm_info,
                                   &sandybridge_cursor_srwm_info,
                                   &ignore_fbc_wm, &ignore_plane_wm, &cursor_wm))
-@@ -2089,7 +2086,7 @@ static void ivybridge_update_wm(struct drm_device *dev)
+@@ -2089,7 +2086,7 @@ static void ivybridge_update_wm(struct d
  
        I915_WRITE(WM3_LP_ILK,
                   WM3_LP_EN |
@@ -249,7 +245,7 @@ index 42f541671236..0254e620ba05 100644
                   (fbc_wm << WM1_LP_FBC_SHIFT) |
                   (plane_wm << WM1_LP_SR_SHIFT) |
                   cursor_wm);
-@@ -2833,7 +2830,7 @@ static void sandybridge_update_sprite_wm(struct drm_device *dev, int pipe,
+@@ -2833,7 +2830,7 @@ static void sandybridge_update_sprite_wm
                                         bool enable, bool scaled)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -258,7 +254,7 @@ index 42f541671236..0254e620ba05 100644
        u32 val;
        int sprite_wm, reg;
        int ret;
-@@ -2873,7 +2870,7 @@ static void sandybridge_update_sprite_wm(struct drm_device *dev, int pipe,
+@@ -2873,7 +2870,7 @@ static void sandybridge_update_sprite_wm
        ret = sandybridge_compute_sprite_srwm(dev, pipe, sprite_width,
                                              pixel_size,
                                              &sandybridge_display_srwm_info,
@@ -267,7 +263,7 @@ index 42f541671236..0254e620ba05 100644
                                              &sprite_wm);
        if (!ret) {
                DRM_DEBUG_KMS("failed to compute sprite lp1 wm on pipe %c\n",
-@@ -2889,7 +2886,7 @@ static void sandybridge_update_sprite_wm(struct drm_device *dev, int pipe,
+@@ -2889,7 +2886,7 @@ static void sandybridge_update_sprite_wm
        ret = sandybridge_compute_sprite_srwm(dev, pipe, sprite_width,
                                              pixel_size,
                                              &sandybridge_display_srwm_info,
@@ -276,7 +272,7 @@ index 42f541671236..0254e620ba05 100644
                                              &sprite_wm);
        if (!ret) {
                DRM_DEBUG_KMS("failed to compute sprite lp2 wm on pipe %c\n",
-@@ -2901,7 +2898,7 @@ static void sandybridge_update_sprite_wm(struct drm_device *dev, int pipe,
+@@ -2901,7 +2898,7 @@ static void sandybridge_update_sprite_wm
        ret = sandybridge_compute_sprite_srwm(dev, pipe, sprite_width,
                                              pixel_size,
                                              &sandybridge_display_srwm_info,
@@ -285,6 +281,3 @@ index 42f541671236..0254e620ba05 100644
                                              &sprite_wm);
        if (!ret) {
                DRM_DEBUG_KMS("failed to compute sprite lp3 wm on pipe %c\n",
--- 
-1.8.5.rc3
-
index c632cec609bea9da2c1524043725d773dcf3c88b..552984aade0f5956300992e0bf5d4751638c162f 100644 (file)
@@ -109,7 +109,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  #define I810_BASE(reg)                ((unsigned long) \
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1843,7 +1843,7 @@ void i915_driver_postclose(struct drm_de
+@@ -1844,7 +1844,7 @@ void i915_driver_postclose(struct drm_de
        kfree(file_priv);
  }
  
index 660815380d1216205f0dea23ac32854095dbad9a..bf587ecdadb93b293774c76334fbfcd8051a74a8 100644 (file)
@@ -31,14 +31,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 5020150b3b8d2912466e28572f25b3cc56722aec)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 89a9c908c99d..a1aa3bc48dcc 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -1606,6 +1606,8 @@ void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno)
+@@ -1610,6 +1610,8 @@ void intel_ring_init_seqno(struct intel_
        if (INTEL_INFO(ring->dev)->gen >= 6) {
                I915_WRITE(RING_SYNC_0(ring->mmio_base), 0);
                I915_WRITE(RING_SYNC_1(ring->mmio_base), 0);
@@ -47,6 +45,3 @@ index 89a9c908c99d..a1aa3bc48dcc 100644
        }
  
        ring->set_seqno(ring, seqno);
--- 
-1.8.5.rc3
-
index 850e53f457ce9c906ea00547320909fe313ee7d3..23b6318469ec5bd28f5a44673d61bce305524a84 100644 (file)
@@ -13,16 +13,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 6aedd1f539f51b7b0c3d6be0088c3541f9d2c294)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  4 ++--
- drivers/gpu/drm/i915/intel_display.c |  2 +-
- drivers/gpu/drm/i915/intel_pm.c      | 13 +++++++------
+ drivers/gpu/drm/i915/i915_reg.h      |    4 ++--
+ drivers/gpu/drm/i915/intel_display.c |    2 +-
+ drivers/gpu/drm/i915/intel_pm.c      |   13 +++++++------
  3 files changed, 10 insertions(+), 9 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 11800316799f..019fd1f9d286 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4833,8 +4833,8 @@
+@@ -4837,8 +4837,8 @@
  #define HSW_PWR_WELL_DRIVER                   0x45404 /* CTL2 */
  #define HSW_PWR_WELL_KVMR                     0x45408 /* CTL3 */
  #define HSW_PWR_WELL_DEBUG                    0x4540C /* CTL4 */
@@ -33,11 +31,9 @@ index 11800316799f..019fd1f9d286 100644
  #define HSW_PWR_WELL_CTL5                     0x45410
  #define   HSW_PWR_WELL_ENABLE_SINGLE_STEP     (1<<31)
  #define   HSW_PWR_WELL_PWR_GATE_OVERRIDE      (1<<20)
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 8f4dceef5480..cec940eb0147 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10118,7 +10118,7 @@ void i915_redisable_vga(struct drm_device *dev)
+@@ -10118,7 +10118,7 @@ void i915_redisable_vga(struct drm_devic
         * follow the "don't touch the power well if we don't need it" policy
         * the rest of the driver uses. */
        if (HAS_POWER_WELL(dev) &&
@@ -46,11 +42,9 @@ index 8f4dceef5480..cec940eb0147 100644
                return;
  
        if (I915_READ(vga_reg) != VGA_DISP_DISABLE) {
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index d593c2dd7031..d82d70588d11 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -5285,7 +5285,7 @@ bool intel_display_power_enabled(struct drm_device *dev,
+@@ -5285,7 +5285,7 @@ bool intel_display_power_enabled(struct
        case POWER_DOMAIN_TRANSCODER_B:
        case POWER_DOMAIN_TRANSCODER_C:
                return I915_READ(HSW_PWR_WELL_DRIVER) ==
@@ -59,7 +53,7 @@ index d593c2dd7031..d82d70588d11 100644
        default:
                BUG();
        }
-@@ -5298,17 +5298,18 @@ static void __intel_set_power_well(struct drm_device *dev, bool enable)
+@@ -5298,17 +5298,18 @@ static void __intel_set_power_well(struc
        uint32_t tmp;
  
        tmp = I915_READ(HSW_PWR_WELL_DRIVER);
@@ -82,7 +76,7 @@ index d593c2dd7031..d82d70588d11 100644
                                DRM_ERROR("Timeout enabling power well\n");
                }
        } else {
-@@ -5428,7 +5429,7 @@ void intel_init_power_well(struct drm_device *dev)
+@@ -5428,7 +5429,7 @@ void intel_init_power_well(struct drm_de
  
        /* We're taking over the BIOS, so clear any requests made by it since
         * the driver is in charge now. */
@@ -91,6 +85,3 @@ index d593c2dd7031..d82d70588d11 100644
                I915_WRITE(HSW_PWR_WELL_BIOS, 0);
  }
  
--- 
-1.8.5.rc3
-
index 96ee9ddb36267b64895c726918243de58ea246ea..5323666140c179c222dbb0ab972f7f82c88e62f0 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1696,8 +1696,13 @@ int i915_driver_unload(struct drm_device
+@@ -1697,8 +1697,13 @@ int i915_driver_unload(struct drm_device
  
        intel_gpu_ips_teardown();
  
index db9afa6d1fd41334e45fc0c86f02667d071eef81..bc3d4f02a7265ac2deefb5f529248a03b7d2c340 100644 (file)
@@ -73,7 +73,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        i915_dump_device_info(dev_priv);
  
        /* Not all pre-production machines fall into this category, only the
-@@ -1748,6 +1756,8 @@ int i915_driver_unload(struct drm_device
+@@ -1749,6 +1757,8 @@ int i915_driver_unload(struct drm_device
        cancel_work_sync(&dev_priv->gpu_error.work);
        i915_destroy_error_state(dev);
  
index fc20f4a8588e3e7a472c23b9bf6c0d177e7df409..3c676a838a2f182ab454975b059be960ef2a4574 100644 (file)
@@ -16,15 +16,13 @@ Signed-off-by: Dave Airlie <airlied@gmail.com>
 (cherry picked from commit c8bb75afff8eaed89476a00f733c666e1b44115b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h   |  2 ++
- drivers/gpu/drm/i915/intel_hdmi.c | 28 ++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/i915_reg.h   |    2 ++
+ drivers/gpu/drm/i915/intel_hdmi.c |   28 ++++++++++++++++++++++++++++
  2 files changed, 30 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 8e51ecf2a6f9..b6a58f720f9a 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4168,6 +4168,8 @@
+@@ -4172,6 +4172,8 @@
         _TRANSCODER(trans, HSW_VIDEO_DIP_CTL_A, HSW_VIDEO_DIP_CTL_B)
  #define HSW_TVIDEO_DIP_AVI_DATA(trans) \
         _TRANSCODER(trans, HSW_VIDEO_DIP_AVI_DATA_A, HSW_VIDEO_DIP_AVI_DATA_B)
@@ -33,11 +31,9 @@ index 8e51ecf2a6f9..b6a58f720f9a 100644
  #define HSW_TVIDEO_DIP_SPD_DATA(trans) \
         _TRANSCODER(trans, HSW_VIDEO_DIP_SPD_DATA_A, HSW_VIDEO_DIP_SPD_DATA_B)
  #define HSW_TVIDEO_DIP_GCP(trans) \
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index a619d9435107..4148cc85bf7f 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -74,6 +74,8 @@ static u32 g4x_infoframe_index(enum hdmi_infoframe_type type)
+@@ -74,6 +74,8 @@ static u32 g4x_infoframe_index(enum hdmi
                return VIDEO_DIP_SELECT_AVI;
        case HDMI_INFOFRAME_TYPE_SPD:
                return VIDEO_DIP_SELECT_SPD;
@@ -46,7 +42,7 @@ index a619d9435107..4148cc85bf7f 100644
        default:
                DRM_DEBUG_DRIVER("unknown info frame type %d\n", type);
                return 0;
-@@ -87,6 +89,8 @@ static u32 g4x_infoframe_enable(enum hdmi_infoframe_type type)
+@@ -87,6 +89,8 @@ static u32 g4x_infoframe_enable(enum hdm
                return VIDEO_DIP_ENABLE_AVI;
        case HDMI_INFOFRAME_TYPE_SPD:
                return VIDEO_DIP_ENABLE_SPD;
@@ -55,7 +51,7 @@ index a619d9435107..4148cc85bf7f 100644
        default:
                DRM_DEBUG_DRIVER("unknown info frame type %d\n", type);
                return 0;
-@@ -100,6 +104,8 @@ static u32 hsw_infoframe_enable(enum hdmi_infoframe_type type)
+@@ -100,6 +104,8 @@ static u32 hsw_infoframe_enable(enum hdm
                return VIDEO_DIP_ENABLE_AVI_HSW;
        case HDMI_INFOFRAME_TYPE_SPD:
                return VIDEO_DIP_ENABLE_SPD_HSW;
@@ -64,7 +60,7 @@ index a619d9435107..4148cc85bf7f 100644
        default:
                DRM_DEBUG_DRIVER("unknown info frame type %d\n", type);
                return 0;
-@@ -114,6 +120,8 @@ static u32 hsw_infoframe_data_reg(enum hdmi_infoframe_type type,
+@@ -114,6 +120,8 @@ static u32 hsw_infoframe_data_reg(enum h
                return HSW_TVIDEO_DIP_AVI_DATA(cpu_transcoder);
        case HDMI_INFOFRAME_TYPE_SPD:
                return HSW_TVIDEO_DIP_SPD_DATA(cpu_transcoder);
@@ -73,7 +69,7 @@ index a619d9435107..4148cc85bf7f 100644
        default:
                DRM_DEBUG_DRIVER("unknown info frame type %d\n", type);
                return 0;
-@@ -392,6 +400,21 @@ static void intel_hdmi_set_spd_infoframe(struct drm_encoder *encoder)
+@@ -392,6 +400,21 @@ static void intel_hdmi_set_spd_infoframe
        intel_write_infoframe(encoder, &frame);
  }
  
@@ -95,7 +91,7 @@ index a619d9435107..4148cc85bf7f 100644
  static void g4x_set_infoframes(struct drm_encoder *encoder,
                               struct drm_display_mode *adjusted_mode)
  {
-@@ -454,6 +477,7 @@ static void g4x_set_infoframes(struct drm_encoder *encoder,
+@@ -454,6 +477,7 @@ static void g4x_set_infoframes(struct dr
  
        intel_hdmi_set_avi_infoframe(encoder, adjusted_mode);
        intel_hdmi_set_spd_infoframe(encoder);
@@ -103,7 +99,7 @@ index a619d9435107..4148cc85bf7f 100644
  }
  
  static void ibx_set_infoframes(struct drm_encoder *encoder,
-@@ -515,6 +539,7 @@ static void ibx_set_infoframes(struct drm_encoder *encoder,
+@@ -515,6 +539,7 @@ static void ibx_set_infoframes(struct dr
  
        intel_hdmi_set_avi_infoframe(encoder, adjusted_mode);
        intel_hdmi_set_spd_infoframe(encoder);
@@ -111,7 +107,7 @@ index a619d9435107..4148cc85bf7f 100644
  }
  
  static void cpt_set_infoframes(struct drm_encoder *encoder,
-@@ -550,6 +575,7 @@ static void cpt_set_infoframes(struct drm_encoder *encoder,
+@@ -550,6 +575,7 @@ static void cpt_set_infoframes(struct dr
  
        intel_hdmi_set_avi_infoframe(encoder, adjusted_mode);
        intel_hdmi_set_spd_infoframe(encoder);
@@ -119,7 +115,7 @@ index a619d9435107..4148cc85bf7f 100644
  }
  
  static void vlv_set_infoframes(struct drm_encoder *encoder,
-@@ -584,6 +610,7 @@ static void vlv_set_infoframes(struct drm_encoder *encoder,
+@@ -584,6 +610,7 @@ static void vlv_set_infoframes(struct dr
  
        intel_hdmi_set_avi_infoframe(encoder, adjusted_mode);
        intel_hdmi_set_spd_infoframe(encoder);
@@ -127,7 +123,7 @@ index a619d9435107..4148cc85bf7f 100644
  }
  
  static void hsw_set_infoframes(struct drm_encoder *encoder,
-@@ -611,6 +638,7 @@ static void hsw_set_infoframes(struct drm_encoder *encoder,
+@@ -611,6 +638,7 @@ static void hsw_set_infoframes(struct dr
  
        intel_hdmi_set_avi_infoframe(encoder, adjusted_mode);
        intel_hdmi_set_spd_infoframe(encoder);
@@ -135,6 +131,3 @@ index a619d9435107..4148cc85bf7f 100644
  }
  
  static void intel_hdmi_mode_set(struct intel_encoder *encoder)
--- 
-1.8.5.rc3
-
index bc88ec89337c27ebe69c9991b183e53534003962..c0e1647d5e9ab24d4f8036d2630d85c9af56253c 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1876,7 +1876,7 @@ const struct drm_ioctl_desc i915_ioctls[
+@@ -1877,7 +1877,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),
@@ -33,7 +33,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        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),
-@@ -1889,35 +1889,35 @@ const struct drm_ioctl_desc i915_ioctls[
+@@ -1890,35 +1890,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),
index fce3fd8f0e1d6c67d22cf5a4abdcb8f198e9f183..27948756923247555c7febcb673c5f7a18dcd391 100644 (file)
@@ -14,16 +14,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 0d1aacac36530fce058d7a0db3da7befd5765417)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gpu_error.c   |  2 +-
- drivers/gpu/drm/i915/intel_ringbuffer.c | 99 ++++++++++-----------------------
- drivers/gpu/drm/i915/intel_ringbuffer.h |  6 +-
+ drivers/gpu/drm/i915/i915_gpu_error.c   |    2 
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   99 +++++++++-----------------------
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    6 +
  3 files changed, 35 insertions(+), 72 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
-index 558e568d5b45..aba9d7498996 100644
 --- a/drivers/gpu/drm/i915/i915_gpu_error.c
 +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
-@@ -641,7 +641,7 @@ i915_error_first_batchbuffer(struct drm_i915_private *dev_priv,
+@@ -641,7 +641,7 @@ i915_error_first_batchbuffer(struct drm_
                if (WARN_ON(ring->id != RCS))
                        return NULL;
  
@@ -32,8 +30,6 @@ index 558e568d5b45..aba9d7498996 100644
                if (acthd >= i915_gem_obj_ggtt_offset(obj) &&
                    acthd < i915_gem_obj_ggtt_offset(obj) + obj->base.size)
                        return i915_error_object_create(dev_priv, obj);
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index f05cceac5a52..460ee1026fca 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
 @@ -33,16 +33,6 @@
@@ -53,7 +49,7 @@ index f05cceac5a52..460ee1026fca 100644
  static inline int ring_space(struct intel_ring_buffer *ring)
  {
        int space = (ring->head & HEAD_ADDR) - (ring->tail + I915_RING_FREE_SPACE);
-@@ -175,8 +165,7 @@ gen4_render_ring_flush(struct intel_ring_buffer *ring,
+@@ -175,8 +165,7 @@ gen4_render_ring_flush(struct intel_ring
  static int
  intel_emit_post_sync_nonzero_flush(struct intel_ring_buffer *ring)
  {
@@ -63,7 +59,7 @@ index f05cceac5a52..460ee1026fca 100644
        int ret;
  
  
-@@ -213,8 +202,7 @@ gen6_render_ring_flush(struct intel_ring_buffer *ring,
+@@ -213,8 +202,7 @@ gen6_render_ring_flush(struct intel_ring
                           u32 invalidate_domains, u32 flush_domains)
  {
        u32 flags = 0;
@@ -73,7 +69,7 @@ index f05cceac5a52..460ee1026fca 100644
        int ret;
  
        /* Force SNB workarounds for PIPE_CONTROL flushes */
-@@ -306,8 +294,7 @@ gen7_render_ring_flush(struct intel_ring_buffer *ring,
+@@ -306,8 +294,7 @@ gen7_render_ring_flush(struct intel_ring
                       u32 invalidate_domains, u32 flush_domains)
  {
        u32 flags = 0;
@@ -163,7 +159,7 @@ index f05cceac5a52..460ee1026fca 100644
  static int init_render_ring(struct intel_ring_buffer *ring)
  {
        struct drm_device *dev = ring->dev;
-@@ -607,16 +569,16 @@ static void render_ring_cleanup(struct intel_ring_buffer *ring)
+@@ -607,16 +569,16 @@ static void render_ring_cleanup(struct i
  {
        struct drm_device *dev = ring->dev;
  
@@ -197,7 +193,7 @@ index f05cceac5a52..460ee1026fca 100644
        int ret;
  
        /* For Ironlake, MI_USER_INTERRUPT was deprecated and apparently
-@@ -761,7 +722,7 @@ pc_render_add_request(struct intel_ring_buffer *ring)
+@@ -761,7 +722,7 @@ pc_render_add_request(struct intel_ring_
        intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE |
                        PIPE_CONTROL_WRITE_FLUSH |
                        PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE);
@@ -206,7 +202,7 @@ index f05cceac5a52..460ee1026fca 100644
        intel_ring_emit(ring, ring->outstanding_lazy_request);
        intel_ring_emit(ring, 0);
        PIPE_CONTROL_FLUSH(ring, scratch_addr);
-@@ -780,7 +741,7 @@ pc_render_add_request(struct intel_ring_buffer *ring)
+@@ -780,7 +741,7 @@ pc_render_add_request(struct intel_ring_
                        PIPE_CONTROL_WRITE_FLUSH |
                        PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
                        PIPE_CONTROL_NOTIFY);
@@ -215,7 +211,7 @@ index f05cceac5a52..460ee1026fca 100644
        intel_ring_emit(ring, ring->outstanding_lazy_request);
        intel_ring_emit(ring, 0);
        intel_ring_advance(ring);
-@@ -814,15 +775,13 @@ ring_set_seqno(struct intel_ring_buffer *ring, u32 seqno)
+@@ -814,15 +775,13 @@ ring_set_seqno(struct intel_ring_buffer
  static u32
  pc_render_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency)
  {
@@ -233,7 +229,7 @@ index f05cceac5a52..460ee1026fca 100644
  }
  
  static bool
-@@ -1141,8 +1100,7 @@ i830_dispatch_execbuffer(struct intel_ring_buffer *ring,
+@@ -1141,8 +1100,7 @@ i830_dispatch_execbuffer(struct intel_ri
                intel_ring_emit(ring, MI_NOOP);
                intel_ring_advance(ring);
        } else {
@@ -243,7 +239,7 @@ index f05cceac5a52..460ee1026fca 100644
  
                if (len > I830_BATCH_LIMIT)
                        return -ENOSPC;
-@@ -1835,7 +1793,8 @@ int intel_init_render_ring_buffer(struct drm_device *dev)
+@@ -1839,7 +1797,8 @@ int intel_init_render_ring_buffer(struct
                        return ret;
                }
  
@@ -253,8 +249,6 @@ index f05cceac5a52..460ee1026fca 100644
        }
  
        return intel_init_ring_buffer(dev, ring);
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index 432ad5311ba6..68b1ca974d59 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -155,7 +155,11 @@ struct  intel_ring_buffer {
@@ -270,6 +264,3 @@ index 432ad5311ba6..68b1ca974d59 100644
  };
  
  static inline bool
--- 
-1.8.5.rc3
-
index 2131ba9559f2caa2c84dfa62ce791d5dea18ad62..266cf4eb880f7517a5a80b050b1e250d83af66b7 100644 (file)
@@ -19,17 +19,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1f5d76dbb636c73912c9ff1c90ff46dd2273f098)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  1 +
- drivers/gpu/drm/i915/intel_display.c | 10 +++++++---
- drivers/gpu/drm/i915/intel_pm.c      |  2 --
- drivers/gpu/drm/i915/intel_sprite.c  |  7 +++++--
+ drivers/gpu/drm/i915/i915_reg.h      |    1 +
+ drivers/gpu/drm/i915/intel_display.c |   10 +++++++---
+ drivers/gpu/drm/i915/intel_pm.c      |    2 --
+ drivers/gpu/drm/i915/intel_sprite.c  |    7 +++++--
  4 files changed, 13 insertions(+), 7 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index dcc58ea157fe..c159e1a6810f 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3313,6 +3313,7 @@
+@@ -3317,6 +3317,7 @@
  #define   MCURSOR_PIPE_A      0x00
  #define   MCURSOR_PIPE_B      (1 << 28)
  #define   MCURSOR_GAMMA_ENABLE  (1 << 26)
@@ -37,11 +35,9 @@ index dcc58ea157fe..c159e1a6810f 100644
  #define _CURABASE             (dev_priv->info->display_mmio_offset + 0x70084)
  #define _CURAPOS              (dev_priv->info->display_mmio_offset + 0x70088)
  #define   CURSOR_POS_MASK       0x007FF
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index b27738d0b49d..2fd611ac91ba 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -2077,8 +2077,10 @@ static int ironlake_update_plane(struct drm_crtc *crtc,
+@@ -2077,8 +2077,10 @@ static int ironlake_update_plane(struct
        else
                dspcntr &= ~DISPPLANE_TILED;
  
@@ -54,7 +50,7 @@ index b27738d0b49d..2fd611ac91ba 100644
  
        I915_WRITE(reg, dspcntr);
  
-@@ -6764,8 +6766,10 @@ static void ivb_update_cursor(struct drm_crtc *crtc, u32 base)
+@@ -6764,8 +6766,10 @@ static void ivb_update_cursor(struct drm
                        cntl &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE);
                        cntl |= CURSOR_MODE_DISABLE;
                }
@@ -66,11 +62,9 @@ index b27738d0b49d..2fd611ac91ba 100644
                I915_WRITE(CURCNTR_IVB(pipe), cntl);
  
                intel_crtc->cursor_visible = visible;
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 6b1d00389952..0c115cc4899f 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -4960,8 +4960,6 @@ static void haswell_init_clock_gating(struct drm_device *dev)
+@@ -4960,8 +4960,6 @@ static void haswell_init_clock_gating(st
                        I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) |
                        GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB);
  
@@ -79,11 +73,9 @@ index 6b1d00389952..0c115cc4899f 100644
        /* WaVSRefCountFullforceMissDisable:hsw */
        gen7_setup_fixed_func_scheduler(dev_priv);
  
-diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
-index 78b621cdd108..ad6ec4b39005 100644
 --- a/drivers/gpu/drm/i915/intel_sprite.c
 +++ b/drivers/gpu/drm/i915/intel_sprite.c
-@@ -260,8 +260,11 @@ ivb_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
+@@ -260,8 +260,11 @@ ivb_update_plane(struct drm_plane *plane
        if (obj->tiling_mode != I915_TILING_NONE)
                sprctl |= SPRITE_TILED;
  
@@ -97,6 +89,3 @@ index 78b621cdd108..ad6ec4b39005 100644
        sprctl |= SPRITE_ENABLE;
  
        if (IS_HASWELL(dev))
--- 
-1.8.5.rc3
-
index 2ff25d1e1002913f041c798a840f5d1d13fe201c..9bafe87a72b7dbc2858aea7582ff30927739bdf9 100644 (file)
@@ -14,14 +14,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit b6ec10b36566c3eb330f4c03c1b00a02c974fd21)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 1 +
+ drivers/gpu/drm/i915/i915_reg.h |    1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 8f4c8b69ebc1..7a7b9c2f84cb 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2986,6 +2986,7 @@
+@@ -2990,6 +2990,7 @@
  #define   PIPECONF_DISABLE    0
  #define   PIPECONF_DOUBLE_WIDE        (1<<30)
  #define   I965_PIPECONF_ACTIVE        (1<<30)
@@ -29,6 +27,3 @@ index 8f4c8b69ebc1..7a7b9c2f84cb 100644
  #define   PIPECONF_FRAME_START_DELAY_MASK (3<<27)
  #define   PIPECONF_SINGLE_WIDE        0
  #define   PIPECONF_PIPE_UNLOCKED 0
--- 
-1.8.5.rc3
-
index 6b0e8090a5ad178f1d68dba4294859db8297d04f..466ca90b2246868f49e6b3721004e0231d1ea0fe 100644 (file)
@@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 3230bf14c14e04d49525d172db53a55e153447a7)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 410 ++++++++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/i915_reg.h |  410 ++++++++++++++++++++++++++++++++++++++++
  1 file changed, 410 insertions(+)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 7a7b9c2f84cb..b26cf9b5b1e4 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -5121,4 +5121,414 @@
+@@ -5125,4 +5125,414 @@
  #define PIPE_CSC_POSTOFF_ME(pipe) _PIPE(pipe, _PIPE_A_CSC_POSTOFF_ME, _PIPE_B_CSC_POSTOFF_ME)
  #define PIPE_CSC_POSTOFF_LO(pipe) _PIPE(pipe, _PIPE_A_CSC_POSTOFF_LO, _PIPE_B_CSC_POSTOFF_LO)
  
@@ -438,6 +436,3 @@ index 7a7b9c2f84cb..b26cf9b5b1e4 100644
 +#define  READ_DATA_VALID(n)                           (1 << (n))
 +
  #endif /* _I915_REG_H_ */
--- 
-1.8.5.rc3
-
index dc4c75491bcb5aef41e4edddcc2eac2ed05547bd..9db5923344608eb36452207c13ae5a3c2c0c1a43 100644 (file)
@@ -12,16 +12,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1823521d2b2fa614e7ad95fdc8a0f59e571f37ce)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_gem.c         |  4 ++--
- drivers/gpu/drm/i915/intel_ringbuffer.c | 18 +++++++++---------
- drivers/gpu/drm/i915/intel_ringbuffer.h |  6 +++---
+ drivers/gpu/drm/i915/i915_gem.c         |    4 ++--
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   18 +++++++++---------
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    6 +++---
  3 files changed, 14 insertions(+), 14 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index fdeecae058e1..858e78886637 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -964,7 +964,7 @@ i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno)
+@@ -964,7 +964,7 @@ i915_gem_check_olr(struct intel_ring_buf
        BUG_ON(!mutex_is_locked(&ring->dev->struct_mutex));
  
        ret = 0;
@@ -30,7 +28,7 @@ index fdeecae058e1..858e78886637 100644
                ret = i915_add_request(ring, NULL);
  
        return ret;
-@@ -2094,7 +2094,7 @@ int __i915_add_request(struct intel_ring_buffer *ring,
+@@ -2094,7 +2094,7 @@ int __i915_add_request(struct intel_ring
        }
  
        trace_i915_gem_request_add(ring, request->seqno);
@@ -39,11 +37,9 @@ index fdeecae058e1..858e78886637 100644
  
        if (!dev_priv->ums.mm_suspended) {
                i915_queue_hangcheck(ring->dev);
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 460ee1026fca..a83ff1863a5e 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -593,7 +593,7 @@ update_mboxes(struct intel_ring_buffer *ring,
+@@ -593,7 +593,7 @@ update_mboxes(struct intel_ring_buffer *
  #define MBOX_UPDATE_DWORDS 4
        intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
        intel_ring_emit(ring, mmio_offset);
@@ -52,7 +48,7 @@ index 460ee1026fca..a83ff1863a5e 100644
        intel_ring_emit(ring, MI_NOOP);
  }
  
-@@ -629,7 +629,7 @@ gen6_add_request(struct intel_ring_buffer *ring)
+@@ -629,7 +629,7 @@ gen6_add_request(struct intel_ring_buffe
  
        intel_ring_emit(ring, MI_STORE_DWORD_INDEX);
        intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
@@ -61,7 +57,7 @@ index 460ee1026fca..a83ff1863a5e 100644
        intel_ring_emit(ring, MI_USER_INTERRUPT);
        intel_ring_advance(ring);
  
-@@ -723,7 +723,7 @@ pc_render_add_request(struct intel_ring_buffer *ring)
+@@ -723,7 +723,7 @@ pc_render_add_request(struct intel_ring_
                        PIPE_CONTROL_WRITE_FLUSH |
                        PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE);
        intel_ring_emit(ring, ring->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
@@ -70,7 +66,7 @@ index 460ee1026fca..a83ff1863a5e 100644
        intel_ring_emit(ring, 0);
        PIPE_CONTROL_FLUSH(ring, scratch_addr);
        scratch_addr += 128; /* write to separate cachelines */
-@@ -742,7 +742,7 @@ pc_render_add_request(struct intel_ring_buffer *ring)
+@@ -742,7 +742,7 @@ pc_render_add_request(struct intel_ring_
                        PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
                        PIPE_CONTROL_NOTIFY);
        intel_ring_emit(ring, ring->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
@@ -79,7 +75,7 @@ index 460ee1026fca..a83ff1863a5e 100644
        intel_ring_emit(ring, 0);
        intel_ring_advance(ring);
  
-@@ -963,7 +963,7 @@ i9xx_add_request(struct intel_ring_buffer *ring)
+@@ -963,7 +963,7 @@ i9xx_add_request(struct intel_ring_buffe
  
        intel_ring_emit(ring, MI_STORE_DWORD_INDEX);
        intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
@@ -88,7 +84,7 @@ index 460ee1026fca..a83ff1863a5e 100644
        intel_ring_emit(ring, MI_USER_INTERRUPT);
        intel_ring_advance(ring);
  
-@@ -1475,7 +1475,7 @@ int intel_ring_idle(struct intel_ring_buffer *ring)
+@@ -1475,7 +1475,7 @@ int intel_ring_idle(struct intel_ring_bu
        int ret;
  
        /* We need to add any requests required to flush the objects and ring */
@@ -97,7 +93,7 @@ index 460ee1026fca..a83ff1863a5e 100644
                ret = i915_add_request(ring, NULL);
                if (ret)
                        return ret;
-@@ -1495,10 +1495,10 @@ int intel_ring_idle(struct intel_ring_buffer *ring)
+@@ -1495,10 +1495,10 @@ int intel_ring_idle(struct intel_ring_bu
  static int
  intel_ring_alloc_seqno(struct intel_ring_buffer *ring)
  {
@@ -109,8 +105,8 @@ index 460ee1026fca..a83ff1863a5e 100644
 +      return i915_gem_get_seqno(ring->dev, &ring->outstanding_lazy_seqno);
  }
  
- static int __intel_ring_begin(struct intel_ring_buffer *ring,
-@@ -1545,7 +1545,7 @@ void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno)
+ static int __intel_ring_prepare(struct intel_ring_buffer *ring,
+@@ -1549,7 +1549,7 @@ void intel_ring_init_seqno(struct intel_
  {
        struct drm_i915_private *dev_priv = ring->dev->dev_private;
  
@@ -119,8 +115,6 @@ index 460ee1026fca..a83ff1863a5e 100644
  
        if (INTEL_INFO(ring->dev)->gen >= 6) {
                I915_WRITE(RING_SYNC_0(ring->mmio_base), 0);
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index 68b1ca974d59..c6aa2b3c8c26 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
 @@ -140,7 +140,7 @@ struct  intel_ring_buffer {
@@ -132,7 +126,7 @@ index 68b1ca974d59..c6aa2b3c8c26 100644
        bool gpu_caches_dirty;
        bool fbc_dirty;
  
-@@ -258,8 +258,8 @@ static inline u32 intel_ring_get_tail(struct intel_ring_buffer *ring)
+@@ -258,8 +258,8 @@ static inline u32 intel_ring_get_tail(st
  
  static inline u32 intel_ring_get_seqno(struct intel_ring_buffer *ring)
  {
@@ -143,6 +137,3 @@ index 68b1ca974d59..c6aa2b3c8c26 100644
  }
  
  static inline void i915_trace_irq_get(struct intel_ring_buffer *ring, u32 seqno)
--- 
-1.8.5.rc3
-
index 1b283562f49ed64a166d6d9823064e6ba23668ef..c033511945bb789dacaab0ba2f70e7e35e8eb3fd 100644 (file)
@@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit ecff4f3bafaf4ce814b491f580bdc1221b07a85b)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 18 ++++++++++--------
+ drivers/gpu/drm/i915/intel_dp.c |   18 ++++++++++--------
  1 file changed, 10 insertions(+), 8 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index a210160f7eb1..8d0389745aff 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1731,11 +1731,16 @@ static void intel_enable_dp(struct intel_encoder *encoder)
+@@ -1731,11 +1731,16 @@ static void intel_enable_dp(struct intel
        ironlake_edp_backlight_on(intel_dp);
  }
  
@@ -41,7 +39,7 @@ index a210160f7eb1..8d0389745aff 100644
  {
        struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
        struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
-@@ -1775,7 +1780,7 @@ static void vlv_pre_enable_dp(struct intel_encoder *encoder)
+@@ -1775,7 +1780,7 @@ static void vlv_pre_enable_dp(struct int
        vlv_wait_port_ready(dev_priv, port);
  }
  
@@ -50,7 +48,7 @@ index a210160f7eb1..8d0389745aff 100644
  {
        struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
        struct drm_device *dev = encoder->base.dev;
-@@ -1785,9 +1790,6 @@ static void intel_dp_pre_pll_enable(struct intel_encoder *encoder)
+@@ -1785,9 +1790,6 @@ static void intel_dp_pre_pll_enable(stru
        int port = vlv_dport_to_channel(dport);
        int pipe = intel_crtc->pipe;
  
@@ -60,7 +58,7 @@ index a210160f7eb1..8d0389745aff 100644
        /* Program Tx lane resets to default */
        mutex_lock(&dev_priv->dpio_lock);
        vlv_dpio_write(dev_priv, pipe, DPIO_PCS_TX(port),
-@@ -3560,12 +3562,12 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
+@@ -3576,12 +3578,12 @@ intel_dp_init(struct drm_device *dev, in
        intel_encoder->get_hw_state = intel_dp_get_hw_state;
        intel_encoder->get_config = intel_dp_get_config;
        if (IS_VALLEYVIEW(dev)) {
@@ -76,6 +74,3 @@ index a210160f7eb1..8d0389745aff 100644
        }
  
        intel_dig_port->port = port;
--- 
-1.8.5.rc3
-
index d92407a11e579a4d339ffa9b7bd1040f3f62e775..cbeaf7a0fb7efa8c23744ac590ce072c5be03520 100644 (file)
@@ -16,15 +16,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit a24c144cc92c0cb573677ebb67c2fb946562242e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 8 ++------
- drivers/gpu/drm/i915/intel_dp.c | 4 ++--
+ drivers/gpu/drm/i915/i915_reg.h |    8 ++------
+ drivers/gpu/drm/i915/intel_dp.c |    4 ++--
  2 files changed, 4 insertions(+), 8 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index c7f2da36f4a8..bcee89b7c43e 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4449,6 +4449,8 @@
+@@ -4453,6 +4453,8 @@
  #define PIPEA_PP_STATUS         (VLV_DISPLAY_BASE + 0x61200)
  #define PIPEA_PP_CONTROL        (VLV_DISPLAY_BASE + 0x61204)
  #define PIPEA_PP_ON_DELAYS      (VLV_DISPLAY_BASE + 0x61208)
@@ -33,7 +31,7 @@ index c7f2da36f4a8..bcee89b7c43e 100644
  #define PIPEA_PP_OFF_DELAYS     (VLV_DISPLAY_BASE + 0x6120c)
  #define PIPEA_PP_DIVISOR        (VLV_DISPLAY_BASE + 0x61210)
  
-@@ -4480,7 +4482,6 @@
+@@ -4484,7 +4486,6 @@
  #define  PANEL_PORT_SELECT_MASK       (3 << 30)
  #define  PANEL_PORT_SELECT_LVDS       (0 << 30)
  #define  PANEL_PORT_SELECT_DPA        (1 << 30)
@@ -41,7 +39,7 @@ index c7f2da36f4a8..bcee89b7c43e 100644
  #define  PANEL_PORT_SELECT_DPC        (2 << 30)
  #define  PANEL_PORT_SELECT_DPD        (3 << 30)
  #define  PANEL_POWER_UP_DELAY_MASK    (0x1fff0000)
-@@ -4489,11 +4490,6 @@
+@@ -4493,11 +4494,6 @@
  #define  PANEL_LIGHT_ON_DELAY_SHIFT   0
  
  #define PCH_PP_OFF_DELAYS     0xc720c
@@ -53,11 +51,9 @@ index c7f2da36f4a8..bcee89b7c43e 100644
  #define  PANEL_POWER_DOWN_DELAY_MASK  (0x1fff0000)
  #define  PANEL_POWER_DOWN_DELAY_SHIFT 16
  #define  PANEL_LIGHT_OFF_DELAY_MASK   (0x1fff)
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index e8ee1df1463a..7a66f4125fac 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3299,9 +3299,9 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev,
+@@ -3315,9 +3315,9 @@ intel_dp_init_panel_power_sequencer_regi
                port_sel = I915_READ(pp_on_reg) & 0xc0000000;
        } else if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) {
                if (dp_to_dig_port(intel_dp)->port == PORT_A)
@@ -69,6 +65,3 @@ index e8ee1df1463a..7a66f4125fac 100644
        }
  
        pp_on |= port_sel;
--- 
-1.8.5.rc3
-
index ba22402d480381337352b600757dde3c9b4fb1f7..9e43b0e7279481000fafc05d255d572ae22eda86 100644 (file)
@@ -24,11 +24,9 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit bf13e81b904a37d94d83dd6c3b53a147719a3ead)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 142 ++++++++++++++++++++++++++++------------
+ drivers/gpu/drm/i915/intel_dp.c |  142 ++++++++++++++++++++++++++++------------
  1 file changed, 100 insertions(+), 42 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 7a66f4125fac..61e5c76c2376 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
 @@ -237,24 +237,77 @@ intel_hrawclk(struct drm_device *dev)
@@ -115,7 +113,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  }
  
  static void
-@@ -262,19 +315,15 @@ intel_dp_check_edp(struct intel_dp *intel_dp)
+@@ -262,19 +315,15 @@ intel_dp_check_edp(struct intel_dp *inte
  {
        struct drm_device *dev = intel_dp_to_dev(intel_dp);
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -137,7 +135,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        }
  }
  
-@@ -959,8 +1008,8 @@ static void ironlake_wait_panel_status(struct intel_dp *intel_dp,
+@@ -959,8 +1008,8 @@ static void ironlake_wait_panel_status(s
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 pp_stat_reg, pp_ctrl_reg;
  
@@ -148,7 +146,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
        DRM_DEBUG_KMS("mask %08x value %08x status %08x control %08x\n",
                        mask, value,
-@@ -1002,11 +1051,8 @@ static  u32 ironlake_get_pp_control(struct intel_dp *intel_dp)
+@@ -1002,11 +1051,8 @@ static  u32 ironlake_get_pp_control(stru
        struct drm_device *dev = intel_dp_to_dev(intel_dp);
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 control;
@@ -161,7 +159,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        control &= ~PANEL_UNLOCK_MASK;
        control |= PANEL_UNLOCK_REGS;
        return control;
-@@ -1039,8 +1085,8 @@ void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp)
+@@ -1039,8 +1085,8 @@ void ironlake_edp_panel_vdd_on(struct in
        pp = ironlake_get_pp_control(intel_dp);
        pp |= EDP_FORCE_VDD;
  
@@ -172,7 +170,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
        I915_WRITE(pp_ctrl_reg, pp);
        POSTING_READ(pp_ctrl_reg);
-@@ -1068,8 +1114,8 @@ static void ironlake_panel_vdd_off_sync(struct intel_dp *intel_dp)
+@@ -1068,8 +1114,8 @@ static void ironlake_panel_vdd_off_sync(
                pp = ironlake_get_pp_control(intel_dp);
                pp &= ~EDP_FORCE_VDD;
  
@@ -183,7 +181,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
                I915_WRITE(pp_ctrl_reg, pp);
                POSTING_READ(pp_ctrl_reg);
-@@ -1134,20 +1180,19 @@ void ironlake_edp_panel_on(struct intel_dp *intel_dp)
+@@ -1134,20 +1180,19 @@ void ironlake_edp_panel_on(struct intel_
  
        ironlake_wait_panel_power_cycle(intel_dp);
  
@@ -207,7 +205,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        I915_WRITE(pp_ctrl_reg, pp);
        POSTING_READ(pp_ctrl_reg);
  
-@@ -1155,8 +1200,8 @@ void ironlake_edp_panel_on(struct intel_dp *intel_dp)
+@@ -1155,8 +1200,8 @@ void ironlake_edp_panel_on(struct intel_
  
        if (IS_GEN5(dev)) {
                pp |= PANEL_POWER_RESET; /* restore panel reset bit */
@@ -218,7 +216,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        }
  }
  
-@@ -1179,7 +1224,7 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp)
+@@ -1179,7 +1224,7 @@ void ironlake_edp_panel_off(struct intel
         * panels get very unhappy and cease to work. */
        pp &= ~(POWER_TARGET_ON | EDP_FORCE_VDD | PANEL_POWER_RESET | EDP_BLC_ENABLE);
  
@@ -227,7 +225,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
        I915_WRITE(pp_ctrl_reg, pp);
        POSTING_READ(pp_ctrl_reg);
-@@ -1212,7 +1257,7 @@ void ironlake_edp_backlight_on(struct intel_dp *intel_dp)
+@@ -1212,7 +1257,7 @@ void ironlake_edp_backlight_on(struct in
        pp = ironlake_get_pp_control(intel_dp);
        pp |= EDP_BLC_ENABLE;
  
@@ -236,7 +234,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
        I915_WRITE(pp_ctrl_reg, pp);
        POSTING_READ(pp_ctrl_reg);
-@@ -1236,7 +1281,7 @@ void ironlake_edp_backlight_off(struct intel_dp *intel_dp)
+@@ -1236,7 +1281,7 @@ void ironlake_edp_backlight_off(struct i
        pp = ironlake_get_pp_control(intel_dp);
        pp &= ~EDP_BLC_ENABLE;
  
@@ -245,7 +243,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
        I915_WRITE(pp_ctrl_reg, pp);
        POSTING_READ(pp_ctrl_reg);
-@@ -1763,6 +1808,7 @@ static void vlv_pre_enable_dp(struct intel_encoder *encoder)
+@@ -1763,6 +1808,7 @@ static void vlv_pre_enable_dp(struct int
        struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
        int port = vlv_dport_to_channel(dport);
        int pipe = intel_crtc->pipe;
@@ -253,7 +251,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        u32 val;
  
        mutex_lock(&dev_priv->dpio_lock);
-@@ -1780,6 +1826,11 @@ static void vlv_pre_enable_dp(struct intel_encoder *encoder)
+@@ -1780,6 +1826,11 @@ static void vlv_pre_enable_dp(struct int
  
        mutex_unlock(&dev_priv->dpio_lock);
  
@@ -265,7 +263,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        intel_enable_dp(encoder);
  
        vlv_wait_port_ready(dev_priv, port);
-@@ -3172,24 +3223,26 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
+@@ -3188,24 +3239,26 @@ intel_dp_init_panel_power_sequencer(stru
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct edp_power_seq cur, vbt, spec, final;
        u32 pp_on, pp_off, pp_div, pp;
@@ -299,7 +297,7 @@ index 7a66f4125fac..61e5c76c2376 100644
  
        pp_on = I915_READ(pp_on_reg);
        pp_off = I915_READ(pp_off_reg);
-@@ -3277,9 +3330,11 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev,
+@@ -3293,9 +3346,11 @@ intel_dp_init_panel_power_sequencer_regi
                pp_off_reg = PCH_PP_OFF_DELAYS;
                pp_div_reg = PCH_PP_DIVISOR;
        } else {
@@ -314,7 +312,7 @@ index 7a66f4125fac..61e5c76c2376 100644
        }
  
        /* And finally store the new values in the power sequencer. */
-@@ -3296,7 +3351,10 @@ intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev,
+@@ -3312,7 +3367,10 @@ intel_dp_init_panel_power_sequencer_regi
        /* Haswell doesn't have any port selection bits for the panel
         * power sequencer any more. */
        if (IS_VALLEYVIEW(dev)) {
@@ -326,6 +324,3 @@ index 7a66f4125fac..61e5c76c2376 100644
        } else if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev)) {
                if (dp_to_dig_port(intel_dp)->port == PORT_A)
                        port_sel = PANEL_PORT_SELECT_DPA;
--- 
-1.8.5.rc3
-
index 2f4db0b06d856b50a3b8d5d693c44dcf1f62ef00..3fcc713320aab43f0ff6889a712152bde1f338ed 100644 (file)
@@ -30,14 +30,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 092467327c45edbfce6c2bb71ee842bec16b9a60)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_dma.c         |  2 +-
- drivers/gpu/drm/i915/intel_display.c    | 10 +++++-----
- drivers/gpu/drm/i915/intel_ringbuffer.c | 30 ++++++++++++++++--------------
- drivers/gpu/drm/i915/intel_ringbuffer.h |  7 ++++++-
+ drivers/gpu/drm/i915/i915_dma.c         |    2 +-
+ drivers/gpu/drm/i915/intel_display.c    |   10 +++++-----
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   30 ++++++++++++++++--------------
+ drivers/gpu/drm/i915/intel_ringbuffer.h |    7 ++++++-
  4 files changed, 28 insertions(+), 21 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 9b265a4c6a3d..be5120f702cc 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -52,7 +52,7 @@
@@ -49,11 +47,9 @@ index 9b265a4c6a3d..be5120f702cc 100644
  
  /**
   * Lock test for when it's just for synchronization of ring access.
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index c3fa87bf0175..6fb975ea2bee 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -7703,7 +7703,7 @@ static int intel_gen2_queue_flip(struct drm_device *dev,
+@@ -7703,7 +7703,7 @@ static int intel_gen2_queue_flip(struct
        intel_ring_emit(ring, 0); /* aux display base address, unused */
  
        intel_mark_page_flip_active(intel_crtc);
@@ -62,7 +58,7 @@ index c3fa87bf0175..6fb975ea2bee 100644
        return 0;
  
  err_unpin:
-@@ -7745,7 +7745,7 @@ static int intel_gen3_queue_flip(struct drm_device *dev,
+@@ -7745,7 +7745,7 @@ static int intel_gen3_queue_flip(struct
        intel_ring_emit(ring, MI_NOOP);
  
        intel_mark_page_flip_active(intel_crtc);
@@ -71,7 +67,7 @@ index c3fa87bf0175..6fb975ea2bee 100644
        return 0;
  
  err_unpin:
-@@ -7794,7 +7794,7 @@ static int intel_gen4_queue_flip(struct drm_device *dev,
+@@ -7794,7 +7794,7 @@ static int intel_gen4_queue_flip(struct
        intel_ring_emit(ring, pf | pipesrc);
  
        intel_mark_page_flip_active(intel_crtc);
@@ -80,7 +76,7 @@ index c3fa87bf0175..6fb975ea2bee 100644
        return 0;
  
  err_unpin:
-@@ -7839,7 +7839,7 @@ static int intel_gen6_queue_flip(struct drm_device *dev,
+@@ -7839,7 +7839,7 @@ static int intel_gen6_queue_flip(struct
        intel_ring_emit(ring, pf | pipesrc);
  
        intel_mark_page_flip_active(intel_crtc);
@@ -89,7 +85,7 @@ index c3fa87bf0175..6fb975ea2bee 100644
        return 0;
  
  err_unpin:
-@@ -7918,7 +7918,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
+@@ -7918,7 +7918,7 @@ static int intel_gen7_queue_flip(struct
        intel_ring_emit(ring, (MI_NOOP));
  
        intel_mark_page_flip_active(intel_crtc);
@@ -98,11 +94,9 @@ index c3fa87bf0175..6fb975ea2bee 100644
        return 0;
  
  err_unpin:
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 284afaf5d6ff..686e5b23481d 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -41,6 +41,16 @@ static inline int ring_space(struct intel_ring_buffer *ring)
+@@ -41,6 +41,16 @@ static inline int ring_space(struct inte
        return space;
  }
  
@@ -119,7 +113,7 @@ index 284afaf5d6ff..686e5b23481d 100644
  static int
  gen2_render_ring_flush(struct intel_ring_buffer *ring,
                       u32      invalidate_domains,
-@@ -631,7 +641,7 @@ gen6_add_request(struct intel_ring_buffer *ring)
+@@ -631,7 +641,7 @@ gen6_add_request(struct intel_ring_buffe
        intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
        intel_ring_emit(ring, ring->outstanding_lazy_seqno);
        intel_ring_emit(ring, MI_USER_INTERRUPT);
@@ -128,7 +122,7 @@ index 284afaf5d6ff..686e5b23481d 100644
  
        return 0;
  }
-@@ -744,7 +754,7 @@ pc_render_add_request(struct intel_ring_buffer *ring)
+@@ -744,7 +754,7 @@ pc_render_add_request(struct intel_ring_
        intel_ring_emit(ring, ring->scratch.gtt_offset | PIPE_CONTROL_GLOBAL_GTT);
        intel_ring_emit(ring, ring->outstanding_lazy_seqno);
        intel_ring_emit(ring, 0);
@@ -137,7 +131,7 @@ index 284afaf5d6ff..686e5b23481d 100644
  
        return 0;
  }
-@@ -965,7 +975,7 @@ i9xx_add_request(struct intel_ring_buffer *ring)
+@@ -965,7 +975,7 @@ i9xx_add_request(struct intel_ring_buffe
        intel_ring_emit(ring, I915_GEM_HWS_INDEX << MI_STORE_DWORD_INDEX_SHIFT);
        intel_ring_emit(ring, ring->outstanding_lazy_seqno);
        intel_ring_emit(ring, MI_USER_INTERRUPT);
@@ -146,7 +140,7 @@ index 284afaf5d6ff..686e5b23481d 100644
  
        return 0;
  }
-@@ -1414,6 +1424,9 @@ static int ring_wait_for_space(struct intel_ring_buffer *ring, int n)
+@@ -1414,6 +1424,9 @@ static int ring_wait_for_space(struct in
        if (ret != -ENOSPC)
                return ret;
  
@@ -156,7 +150,7 @@ index 284afaf5d6ff..686e5b23481d 100644
        trace_i915_ring_wait_begin(ring);
        /* With GEM the hangcheck timer should kick us out of the loop,
         * leaving it early runs the risk of corrupting GEM state (due
-@@ -1568,17 +1581,6 @@ void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno)
+@@ -1572,17 +1585,6 @@ void intel_ring_init_seqno(struct intel_
        ring->hangcheck.seqno = seqno;
  }
  
@@ -174,11 +168,9 @@ index 284afaf5d6ff..686e5b23481d 100644
  static void gen6_bsd_ring_write_tail(struct intel_ring_buffer *ring,
                                     u32 value)
  {
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
-index b5aac5702085..71a73f4fe252 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
-@@ -239,7 +239,12 @@ static inline void intel_ring_emit(struct intel_ring_buffer *ring,
+@@ -239,7 +239,12 @@ static inline void intel_ring_emit(struc
        iowrite32(data, ring->virtual_start + ring->tail);
        ring->tail += 4;
  }
@@ -192,6 +184,3 @@ index b5aac5702085..71a73f4fe252 100644
  int __must_check intel_ring_idle(struct intel_ring_buffer *ring);
  void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno);
  int intel_ring_flush_all_caches(struct intel_ring_buffer *ring);
--- 
-1.8.5.rc3
-
index a6a7a5e3df54aed091a67e51a7286c130690ac40..69413e65306c16a24ef695d01f22a85c381afec4 100644 (file)
@@ -43,20 +43,18 @@ Conflicts:
        (context changes)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h      |  1 -
- drivers/gpu/drm/i915/i915_reg.h      |  1 +
- drivers/gpu/drm/i915/intel_crt.c     |  8 ++++
- drivers/gpu/drm/i915/intel_display.c | 74 ++++++++++++++++++------------------
- drivers/gpu/drm/i915/intel_dp.c      | 11 +++++-
- drivers/gpu/drm/i915/intel_drv.h     |  2 +
- drivers/gpu/drm/i915/intel_dvo.c     |  2 +
- drivers/gpu/drm/i915/intel_hdmi.c    | 11 ++++++
- drivers/gpu/drm/i915/intel_lvds.c    |  8 ++++
- drivers/gpu/drm/i915/intel_sdvo.c    |  8 ++++
- 10 files changed, 86 insertions(+), 40 deletions(-)
+ drivers/gpu/drm/i915/i915_drv.h      |    1 
+ drivers/gpu/drm/i915/i915_reg.h      |    1 
+ drivers/gpu/drm/i915/intel_crt.c     |    8 +++
+ drivers/gpu/drm/i915/intel_display.c |   76 +++++++++++++++++------------------
+ drivers/gpu/drm/i915/intel_dp.c      |   11 ++++-
+ drivers/gpu/drm/i915/intel_drv.h     |    2 
+ drivers/gpu/drm/i915/intel_dvo.c     |    2 
+ drivers/gpu/drm/i915/intel_hdmi.c    |   11 +++++
+ drivers/gpu/drm/i915/intel_lvds.c    |    8 +++
+ drivers/gpu/drm/i915/intel_sdvo.c    |    8 +++
+ 10 files changed, 87 insertions(+), 41 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 7caf71d52abe..8b16d47280f9 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -371,7 +371,6 @@ struct drm_i915_display_funcs {
@@ -67,11 +65,9 @@ index 7caf71d52abe..8b16d47280f9 100644
        int (*crtc_mode_set)(struct drm_crtc *crtc,
                             int x, int y,
                             struct drm_framebuffer *old_fb);
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index bcee89b7c43e..384adfba3983 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -2071,6 +2071,7 @@
+@@ -2075,6 +2075,7 @@
  
  /* Gen 4 SDVO/HDMI bits: */
  #define   SDVO_COLOR_FORMAT_8bpc              (0 << 26)
@@ -79,11 +75,9 @@ index bcee89b7c43e..384adfba3983 100644
  #define   SDVO_ENCODING_SDVO                  (0 << 10)
  #define   SDVO_ENCODING_HDMI                  (2 << 10)
  #define   HDMI_MODE_SELECT_HDMI                       (1 << 9) /* HDMI only */
-diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index f5f89c31d71e..6f101d5620e4 100644
 --- a/drivers/gpu/drm/i915/intel_crt.c
 +++ b/drivers/gpu/drm/i915/intel_crt.c
-@@ -89,6 +89,7 @@ static void intel_crt_get_config(struct intel_encoder *encoder,
+@@ -89,6 +89,7 @@ static void intel_crt_get_config(struct
        struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
        struct intel_crt *crt = intel_encoder_to_crt(encoder);
        u32 tmp, flags = 0;
@@ -91,7 +85,7 @@ index f5f89c31d71e..6f101d5620e4 100644
  
        tmp = I915_READ(crt->adpa_reg);
  
-@@ -103,6 +104,13 @@ static void intel_crt_get_config(struct intel_encoder *encoder,
+@@ -103,6 +104,13 @@ static void intel_crt_get_config(struct
                flags |= DRM_MODE_FLAG_NVSYNC;
  
        pipe_config->adjusted_mode.flags |= flags;
@@ -105,11 +99,9 @@ index f5f89c31d71e..6f101d5620e4 100644
  }
  
  /* Note: The caller is required to filter out dpms modes not supported by the
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index dfc021de2eed..0a3cc984ba35 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -47,8 +47,8 @@ static void intel_crtc_update_cursor(struct drm_crtc *crtc, bool on);
+@@ -47,8 +47,8 @@ static void intel_crtc_update_cursor(str
  
  static void i9xx_crtc_clock_get(struct intel_crtc *crtc,
                                struct intel_crtc_config *pipe_config);
@@ -120,7 +112,7 @@ index dfc021de2eed..0a3cc984ba35 100644
  
  static int intel_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode,
                          int x, int y, struct drm_framebuffer *old_fb);
-@@ -5068,6 +5068,8 @@ static bool i9xx_get_pipe_config(struct intel_crtc *crtc,
+@@ -5068,6 +5068,8 @@ static bool i9xx_get_pipe_config(struct
                                                     DPLL_PORTB_READY_MASK);
        }
  
@@ -129,7 +121,7 @@ index dfc021de2eed..0a3cc984ba35 100644
        return true;
  }
  
-@@ -6027,6 +6029,8 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
+@@ -6027,6 +6029,8 @@ static bool ironlake_get_pipe_config(str
                pipe_config->pixel_multiplier =
                        ((tmp & PLL_REF_SDVO_HDMI_MULTIPLIER_MASK)
                         >> PLL_REF_SDVO_HDMI_MULTIPLIER_SHIFT) + 1;
@@ -138,7 +130,7 @@ index dfc021de2eed..0a3cc984ba35 100644
        } else {
                pipe_config->pixel_multiplier = 1;
        }
-@@ -7438,7 +7442,12 @@ static void i9xx_crtc_clock_get(struct intel_crtc *crtc,
+@@ -7438,7 +7442,12 @@ static void i9xx_crtc_clock_get(struct i
                i9xx_clock(refclk, &clock);
        }
  
@@ -152,7 +144,7 @@ index dfc021de2eed..0a3cc984ba35 100644
  }
  
  int intel_dotclock_calculate(int link_freq,
-@@ -7460,31 +7469,23 @@ int intel_dotclock_calculate(int link_freq,
+@@ -7460,31 +7469,23 @@ int intel_dotclock_calculate(int link_fr
        return div_u64((u64)m_n->link_m * link_freq, m_n->link_n);
  }
  
@@ -163,25 +155,20 @@ index dfc021de2eed..0a3cc984ba35 100644
  {
        struct drm_device *dev = crtc->base.dev;
 -      int link_freq;
-+
-+      /* read out port_clock from the DPLL */
-+      i9xx_crtc_clock_get(crtc, pipe_config);
  
-       /*
+-      /*
 -       * We need to get the FDI or DP link clock here to derive
 -       * the M/N dividers.
 -       *
 -       * For FDI, we read it from the BIOS or use a fixed 2.7GHz.
 -       * For DP, it's either 1.62GHz or 2.7GHz.
 -       * We do our calculations in 10*MHz since we don't need much precison.
-+       * This value does not include pixel_multiplier.
-+       * We will check that port_clock and adjusted_mode.clock
-+       * agree once we know their relationship in the encoder's
-+       * get_config() function.
-        */
+-       */
 -      if (pipe_config->has_pch_encoder) {
 -              link_freq = intel_fdi_link_freq(dev) * 10000;
--
++      /* read out port_clock from the DPLL */
++      i9xx_crtc_clock_get(crtc, pipe_config);
 -              pipe_config->adjusted_mode.clock =
 -                      intel_dotclock_calculate(link_freq, &pipe_config->fdi_m_n);
 -      } else {
@@ -190,6 +177,12 @@ index dfc021de2eed..0a3cc984ba35 100644
 -              pipe_config->adjusted_mode.clock =
 -                      intel_dotclock_calculate(link_freq, &pipe_config->dp_m_n);
 -      }
++      /*
++       * This value does not include pixel_multiplier.
++       * We will check that port_clock and adjusted_mode.clock
++       * agree once we know their relationship in the encoder's
++       * get_config() function.
++       */
 +      pipe_config->adjusted_mode.clock =
 +              intel_dotclock_calculate(intel_fdi_link_freq(dev) * 10000,
 +                                       &pipe_config->fdi_m_n);
@@ -206,7 +199,7 @@ index dfc021de2eed..0a3cc984ba35 100644
                WARN(crtc->active != active,
                     "crtc active state doesn't match with hw state "
                     "(expected %i, found %i)\n", crtc->active, active);
-@@ -8981,6 +8979,18 @@ intel_modeset_check_state(struct drm_device *dev)
+@@ -8981,6 +8979,18 @@ intel_modeset_check_state(struct drm_dev
        check_shared_dpll_state(dev);
  }
  
@@ -225,7 +218,7 @@ index dfc021de2eed..0a3cc984ba35 100644
  static int __intel_set_mode(struct drm_crtc *crtc,
                            struct drm_display_mode *mode,
                            int x, int y, struct drm_framebuffer *fb)
-@@ -9932,7 +9942,6 @@ static void intel_init_display(struct drm_device *dev)
+@@ -9932,7 +9942,6 @@ static void intel_init_display(struct dr
                dev_priv->display.update_plane = ironlake_update_plane;
        } else if (HAS_PCH_SPLIT(dev)) {
                dev_priv->display.get_pipe_config = ironlake_get_pipe_config;
@@ -233,7 +226,7 @@ index dfc021de2eed..0a3cc984ba35 100644
                dev_priv->display.crtc_mode_set = ironlake_crtc_mode_set;
                dev_priv->display.crtc_enable = ironlake_crtc_enable;
                dev_priv->display.crtc_disable = ironlake_crtc_disable;
-@@ -9940,7 +9949,6 @@ static void intel_init_display(struct drm_device *dev)
+@@ -9940,7 +9949,6 @@ static void intel_init_display(struct dr
                dev_priv->display.update_plane = ironlake_update_plane;
        } else if (IS_VALLEYVIEW(dev)) {
                dev_priv->display.get_pipe_config = i9xx_get_pipe_config;
@@ -241,7 +234,7 @@ index dfc021de2eed..0a3cc984ba35 100644
                dev_priv->display.crtc_mode_set = i9xx_crtc_mode_set;
                dev_priv->display.crtc_enable = valleyview_crtc_enable;
                dev_priv->display.crtc_disable = i9xx_crtc_disable;
-@@ -9948,7 +9956,6 @@ static void intel_init_display(struct drm_device *dev)
+@@ -9948,7 +9956,6 @@ static void intel_init_display(struct dr
                dev_priv->display.update_plane = i9xx_update_plane;
        } else {
                dev_priv->display.get_pipe_config = i9xx_get_pipe_config;
@@ -249,7 +242,7 @@ index dfc021de2eed..0a3cc984ba35 100644
                dev_priv->display.crtc_mode_set = i9xx_crtc_mode_set;
                dev_priv->display.crtc_enable = i9xx_crtc_enable;
                dev_priv->display.crtc_disable = i9xx_crtc_disable;
-@@ -10567,15 +10574,6 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
+@@ -10567,15 +10574,6 @@ static void intel_modeset_readout_hw_sta
                              pipe);
        }
  
@@ -265,11 +258,9 @@ index dfc021de2eed..0a3cc984ba35 100644
        list_for_each_entry(connector, &dev->mode_config.connector_list,
                            base.head) {
                if (connector->get_hw_state(connector)) {
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index afd055e21b90..16337f752ecb 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1428,6 +1428,7 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
+@@ -1428,6 +1428,7 @@ static void intel_dp_get_config(struct i
        struct drm_i915_private *dev_priv = dev->dev_private;
        enum port port = dp_to_dig_port(intel_dp)->port;
        struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
@@ -277,7 +268,7 @@ index afd055e21b90..16337f752ecb 100644
  
        if ((port == PORT_A) || !HAS_PCH_CPT(dev)) {
                tmp = I915_READ(intel_dp->output_reg);
-@@ -1459,12 +1460,20 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
+@@ -1459,12 +1460,20 @@ static void intel_dp_get_config(struct i
  
        intel_dp_get_m_n(crtc, pipe_config);
  
@@ -299,11 +290,9 @@ index afd055e21b90..16337f752ecb 100644
  }
  
  static bool is_edp_psr(struct intel_dp *intel_dp)
-diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
-index 494c2fa007fd..2597027001db 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
-@@ -806,6 +806,8 @@ extern void intel_dp_get_m_n(struct intel_crtc *crtc,
+@@ -806,6 +806,8 @@ extern void intel_dp_get_m_n(struct inte
                             struct intel_crtc_config *pipe_config);
  extern int intel_dotclock_calculate(int link_freq,
                                    const struct intel_link_m_n *m_n);
@@ -312,11 +301,9 @@ index 494c2fa007fd..2597027001db 100644
  extern void i915_disable_vga_mem(struct drm_device *dev);
  
  #endif /* __INTEL_DRV_H__ */
-diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
-index 55cec3871b04..ff86c366218c 100644
 --- a/drivers/gpu/drm/i915/intel_dvo.c
 +++ b/drivers/gpu/drm/i915/intel_dvo.c
-@@ -153,6 +153,8 @@ static void intel_dvo_get_config(struct intel_encoder *encoder,
+@@ -153,6 +153,8 @@ static void intel_dvo_get_config(struct
                flags |= DRM_MODE_FLAG_NVSYNC;
  
        pipe_config->adjusted_mode.flags |= flags;
@@ -325,11 +312,9 @@ index 55cec3871b04..ff86c366218c 100644
  }
  
  static void intel_disable_dvo(struct intel_encoder *encoder)
-diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
-index 70c716ed8350..17b2d7e948b6 100644
 --- a/drivers/gpu/drm/i915/intel_hdmi.c
 +++ b/drivers/gpu/drm/i915/intel_hdmi.c
-@@ -713,6 +713,7 @@ static void intel_hdmi_get_config(struct intel_encoder *encoder,
+@@ -713,6 +713,7 @@ static void intel_hdmi_get_config(struct
        struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
        struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
        u32 tmp, flags = 0;
@@ -337,7 +322,7 @@ index 70c716ed8350..17b2d7e948b6 100644
  
        tmp = I915_READ(intel_hdmi->hdmi_reg);
  
-@@ -727,6 +728,16 @@ static void intel_hdmi_get_config(struct intel_encoder *encoder,
+@@ -727,6 +728,16 @@ static void intel_hdmi_get_config(struct
                flags |= DRM_MODE_FLAG_NVSYNC;
  
        pipe_config->adjusted_mode.flags |= flags;
@@ -354,11 +339,9 @@ index 70c716ed8350..17b2d7e948b6 100644
  }
  
  static void intel_enable_hdmi(struct intel_encoder *encoder)
-diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index b8af94a5be39..1ba9998add08 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
-@@ -92,6 +92,7 @@ static void intel_lvds_get_config(struct intel_encoder *encoder,
+@@ -92,6 +92,7 @@ static void intel_lvds_get_config(struct
        struct drm_device *dev = encoder->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 lvds_reg, tmp, flags = 0;
@@ -366,7 +349,7 @@ index b8af94a5be39..1ba9998add08 100644
  
        if (HAS_PCH_SPLIT(dev))
                lvds_reg = PCH_LVDS;
-@@ -116,6 +117,13 @@ static void intel_lvds_get_config(struct intel_encoder *encoder,
+@@ -116,6 +117,13 @@ static void intel_lvds_get_config(struct
  
                pipe_config->gmch_pfit.control |= tmp & PANEL_8TO6_DITHER_ENABLE;
        }
@@ -380,11 +363,9 @@ index b8af94a5be39..1ba9998add08 100644
  }
  
  /* The LVDS pin pair needs to be on before the DPLLs are enabled.
-diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
-index ebfd5138178f..91aea9e1ab6f 100644
 --- a/drivers/gpu/drm/i915/intel_sdvo.c
 +++ b/drivers/gpu/drm/i915/intel_sdvo.c
-@@ -1325,6 +1325,7 @@ static void intel_sdvo_get_config(struct intel_encoder *encoder,
+@@ -1325,6 +1325,7 @@ static void intel_sdvo_get_config(struct
        struct intel_sdvo *intel_sdvo = to_sdvo(encoder);
        struct intel_sdvo_dtd dtd;
        int encoder_pixel_multiplier = 0;
@@ -392,7 +373,7 @@ index ebfd5138178f..91aea9e1ab6f 100644
        u32 flags = 0, sdvox;
        u8 val;
        bool ret;
-@@ -1363,6 +1364,13 @@ static void intel_sdvo_get_config(struct intel_encoder *encoder,
+@@ -1363,6 +1364,13 @@ static void intel_sdvo_get_config(struct
                         >> SDVO_PORT_MULTIPLY_SHIFT) + 1;
        }
  
@@ -406,6 +387,3 @@ index ebfd5138178f..91aea9e1ab6f 100644
        /* Cross check the port pixel multiplier with the sdvo encoder state. */
        if (intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_CLOCK_RATE_MULT,
                                 &val, 1)) {
--- 
-1.8.5.rc3
-
index c4ca3a620b3d2035f13f54cc03190af29f15a90d..6b7576a183178a676ffefa61685e3f94ecb9c893 100644 (file)
@@ -18,12 +18,10 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 515b239269fb67fd167676d335a56ef0c13e53d5)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h      |  4 ++++
- drivers/gpu/drm/i915/intel_display.c | 10 ++++++++--
+ drivers/gpu/drm/i915/i915_reg.h      |    4 ++++
+ drivers/gpu/drm/i915/intel_display.c |   10 ++++++++--
  2 files changed, 12 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 384adfba3983..af6f93ca7296 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -1441,6 +1441,8 @@
@@ -35,7 +33,7 @@ index 384adfba3983..af6f93ca7296 100644
   */
  #define MCHBAR_MIRROR_BASE    0x10000
  
-@@ -4724,6 +4726,8 @@
+@@ -4728,6 +4730,8 @@
  #define   GEN6_PCODE_READ_MIN_FREQ_TABLE      0x9
  #define         GEN6_PCODE_WRITE_RC6VIDS              0x4
  #define         GEN6_PCODE_READ_RC6VIDS               0x5
@@ -44,11 +42,9 @@ index 384adfba3983..af6f93ca7296 100644
  #define   GEN6_ENCODE_RC6_VID(mv)             (((mv) - 245) / 5)
  #define   GEN6_DECODE_RC6_VID(vids)           (((vids) * 5) + 245)
  #define GEN6_PCODE_DATA                               0x138128
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 1e3c14b5a891..07f26a9e6957 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -6135,7 +6135,10 @@ void hsw_disable_lcpll(struct drm_i915_private *dev_priv,
+@@ -6135,7 +6135,10 @@ void hsw_disable_lcpll(struct drm_i915_p
  
        val = I915_READ(D_COMP);
        val |= D_COMP_COMP_DISABLE;
@@ -60,7 +56,7 @@ index 1e3c14b5a891..07f26a9e6957 100644
        POSTING_READ(D_COMP);
        ndelay(100);
  
-@@ -6177,7 +6180,10 @@ void hsw_restore_lcpll(struct drm_i915_private *dev_priv)
+@@ -6177,7 +6180,10 @@ void hsw_restore_lcpll(struct drm_i915_p
        val = I915_READ(D_COMP);
        val |= D_COMP_COMP_FORCE;
        val &= ~D_COMP_COMP_DISABLE;
@@ -72,6 +68,3 @@ index 1e3c14b5a891..07f26a9e6957 100644
        POSTING_READ(D_COMP);
  
        val = I915_READ(LCPLL_CTL);
--- 
-1.8.5.rc3
-
index 55dd4437781f6750a6f28341fac016ffa73f9c62..729bbf261a52bbd5068cd12d692683beb8b28edc 100644 (file)
@@ -31,17 +31,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 35a85ac60618521d41cfdb14f3fbfc8ad7329e9e)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h         |  7 ++-
- drivers/gpu/drm/i915/i915_gem.c         | 26 +++++-----
- drivers/gpu/drm/i915/i915_irq.c         | 89 +++++++++++++++++++++------------
- drivers/gpu/drm/i915/i915_reg.h         |  7 +++
- drivers/gpu/drm/i915/i915_sysfs.c       | 34 ++++++++++---
- drivers/gpu/drm/i915/intel_ringbuffer.c |  7 ++-
- include/uapi/drm/i915_drm.h             |  8 +--
- 7 files changed, 117 insertions(+), 61 deletions(-)
+ drivers/gpu/drm/i915/i915_drv.h         |    7 +-
+ drivers/gpu/drm/i915/i915_gem.c         |   26 ++++-----
+ drivers/gpu/drm/i915/i915_irq.c         |   91 ++++++++++++++++++++------------
+ drivers/gpu/drm/i915/i915_reg.h         |    7 ++
+ drivers/gpu/drm/i915/i915_sysfs.c       |   34 +++++++++--
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    7 +-
+ include/uapi/drm/i915_drm.h             |    8 +-
+ 7 files changed, 118 insertions(+), 62 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 8b16d47280f9..c6e8df737566 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -917,9 +917,11 @@ struct i915_ums_state {
@@ -65,7 +63,7 @@ index 8b16d47280f9..c6e8df737566 100644
  
  #define GT_FREQUENCY_MULTIPLIER 50
  
-@@ -1946,7 +1949,7 @@ bool i915_gem_clflush_object(struct drm_i915_gem_object *obj, bool force);
+@@ -1946,7 +1949,7 @@ bool i915_gem_clflush_object(struct drm_
  int __must_check i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj);
  int __must_check i915_gem_init(struct drm_device *dev);
  int __must_check i915_gem_init_hw(struct drm_device *dev);
@@ -74,8 +72,6 @@ index 8b16d47280f9..c6e8df737566 100644
  void i915_gem_init_swizzling(struct drm_device *dev);
  void i915_gem_cleanup_ringbuffer(struct drm_device *dev);
  int __must_check i915_gpu_idle(struct drm_device *dev);
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 3d3de6eba1e8..66bf75dce783 100644
 --- a/drivers/gpu/drm/i915/i915_gem.c
 +++ b/drivers/gpu/drm/i915/i915_gem.c
 @@ -4252,16 +4252,15 @@ i915_gem_idle(struct drm_device *dev)
@@ -99,7 +95,7 @@ index 3d3de6eba1e8..66bf75dce783 100644
                return;
  
        misccpctl = I915_READ(GEN7_MISCCPCTL);
-@@ -4269,17 +4268,17 @@ void i915_gem_l3_remap(struct drm_device *dev)
+@@ -4269,17 +4268,17 @@ void i915_gem_l3_remap(struct drm_device
        POSTING_READ(GEN7_MISCCPCTL);
  
        for (i = 0; i < GEN7_L3LOG_SIZE; i += 4) {
@@ -142,11 +138,9 @@ index 3d3de6eba1e8..66bf75dce783 100644
  
        i915_gem_init_swizzling(dev);
  
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index a42f30b9cdba..1c7f6abe0bc5 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -888,9 +888,10 @@ static void ivybridge_parity_work(struct work_struct *work)
+@@ -888,9 +888,10 @@ static void ivybridge_parity_work(struct
        drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t,
                                                    l3_parity.error_work);
        u32 error_status, row, bank, subbank;
@@ -158,7 +152,7 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
  
        /* We must turn off DOP level clock gating to access the L3 registers.
         * In order to prevent a get/put style interface, acquire struct mutex
-@@ -898,45 +899,64 @@ static void ivybridge_parity_work(struct work_struct *work)
+@@ -898,45 +899,64 @@ static void ivybridge_parity_work(struct
         */
        mutex_lock(&dev_priv->dev->struct_mutex);
  
@@ -174,25 +168,31 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
 -      row = GEN7_PARITY_ERROR_ROW(error_status);
 -      bank = GEN7_PARITY_ERROR_BANK(error_status);
 -      subbank = GEN7_PARITY_ERROR_SUBBANK(error_status);
-+      while ((slice = ffs(dev_priv->l3_parity.which_slice)) != 0) {
-+              u32 reg;
+-
 -      I915_WRITE(GEN7_L3CDERRST1, GEN7_PARITY_ERROR_VALID |
 -                                  GEN7_L3CDERRST1_ENABLE);
 -      POSTING_READ(GEN7_L3CDERRST1);
++      while ((slice = ffs(dev_priv->l3_parity.which_slice)) != 0) {
++              u32 reg;
+-      I915_WRITE(GEN7_MISCCPCTL, misccpctl);
 +              slice--;
 +              if (WARN_ON_ONCE(slice >= NUM_L3_SLICES(dev_priv->dev)))
 +                      break;
  
--      I915_WRITE(GEN7_MISCCPCTL, misccpctl);
-+              dev_priv->l3_parity.which_slice &= ~(1<<slice);
 -      spin_lock_irqsave(&dev_priv->irq_lock, flags);
 -      ilk_enable_gt_irq(dev_priv, GT_RENDER_L3_PARITY_ERROR_INTERRUPT);
 -      spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
-+              reg = GEN7_L3CDERRST1 + (slice * 0x200);
++              dev_priv->l3_parity.which_slice &= ~(1<<slice);
  
 -      mutex_unlock(&dev_priv->dev->struct_mutex);
++              reg = GEN7_L3CDERRST1 + (slice * 0x200);
+-      parity_event[0] = I915_L3_PARITY_UEVENT "=1";
+-      parity_event[1] = kasprintf(GFP_KERNEL, "ROW=%d", row);
+-      parity_event[2] = kasprintf(GFP_KERNEL, "BANK=%d", bank);
+-      parity_event[3] = kasprintf(GFP_KERNEL, "SUBBANK=%d", subbank);
+-      parity_event[4] = NULL;
 +              error_status = I915_READ(reg);
 +              row = GEN7_PARITY_ERROR_ROW(error_status);
 +              bank = GEN7_PARITY_ERROR_BANK(error_status);
@@ -210,36 +210,31 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
 +
 +              kobject_uevent_env(&dev_priv->dev->primary->kdev.kobj,
 +                                 KOBJ_CHANGE, parity_event);
--      parity_event[0] = I915_L3_PARITY_UEVENT "=1";
--      parity_event[1] = kasprintf(GFP_KERNEL, "ROW=%d", row);
--      parity_event[2] = kasprintf(GFP_KERNEL, "BANK=%d", bank);
--      parity_event[3] = kasprintf(GFP_KERNEL, "SUBBANK=%d", subbank);
--      parity_event[4] = NULL;
++
 +              DRM_DEBUG("Parity error: Slice = %d, Row = %d, Bank = %d, Sub bank = %d.\n",
 +                        slice, row, bank, subbank);
--      kobject_uevent_env(&dev_priv->dev->primary->kdev.kobj,
--                         KOBJ_CHANGE, parity_event);
++
 +              kfree(parity_event[4]);
 +              kfree(parity_event[3]);
 +              kfree(parity_event[2]);
 +              kfree(parity_event[1]);
 +      }
  
--      DRM_DEBUG("Parity error: Row = %d, Bank = %d, Sub bank = %d.\n",
--                row, bank, subbank);
+-      kobject_uevent_env(&dev_priv->dev->primary->kdev.kobj,
+-                         KOBJ_CHANGE, parity_event);
 +      I915_WRITE(GEN7_MISCCPCTL, misccpctl);
  
--      kfree(parity_event[3]);
--      kfree(parity_event[2]);
--      kfree(parity_event[1]);
+-      DRM_DEBUG("Parity error: Row = %d, Bank = %d, Sub bank = %d.\n",
+-                row, bank, subbank);
 +out:
 +      WARN_ON(dev_priv->l3_parity.which_slice);
 +      spin_lock_irqsave(&dev_priv->irq_lock, flags);
 +      ilk_enable_gt_irq(dev_priv, GT_PARITY_ERROR(dev_priv->dev));
 +      spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
-+
+-      kfree(parity_event[3]);
+-      kfree(parity_event[2]);
+-      kfree(parity_event[1]);
 +      mutex_unlock(&dev_priv->dev->struct_mutex);
  }
  
@@ -248,7 +243,7 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
  {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
  
-@@ -944,9 +964,16 @@ static void ivybridge_parity_error_irq_handler(struct drm_device *dev)
+@@ -944,9 +964,16 @@ static void ivybridge_parity_error_irq_h
                return;
  
        spin_lock(&dev_priv->irq_lock);
@@ -266,7 +261,7 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
        queue_work(dev_priv->wq, &dev_priv->l3_parity.error_work);
  }
  
-@@ -981,8 +1008,8 @@ static void snb_gt_irq_handler(struct drm_device *dev,
+@@ -981,8 +1008,8 @@ static void snb_gt_irq_handler(struct dr
                i915_handle_error(dev, false);
        }
  
@@ -277,7 +272,7 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
  }
  
  #define HPD_STORM_DETECT_PERIOD 1000
-@@ -2267,8 +2294,8 @@ static void gen5_gt_irq_postinstall(struct drm_device *dev)
+@@ -2267,8 +2294,8 @@ static void gen5_gt_irq_postinstall(stru
        dev_priv->gt_irq_mask = ~0;
        if (HAS_L3_GPU_CACHE(dev)) {
                /* L3 parity interrupt is always unmasked. */
@@ -288,8 +283,6 @@ index a42f30b9cdba..1c7f6abe0bc5 100644
        }
  
        gt_irqs |= GT_RENDER_USER_INTERRUPT;
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index af6f93ca7296..c4f9bef6d073 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
 @@ -927,6 +927,7 @@
@@ -311,7 +304,7 @@ index af6f93ca7296..c4f9bef6d073 100644
  /* These are all the "old" interrupts */
  #define ILK_BSD_USER_INTERRUPT                                (1<<5)
  #define I915_PIPE_CONTROL_NOTIFY_INTERRUPT            (1<<18)
-@@ -4747,6 +4752,7 @@
+@@ -4751,6 +4756,7 @@
  
  /* IVYBRIDGE DPF */
  #define GEN7_L3CDERRST1                       0xB008 /* L3CD Error Status 1 */
@@ -319,7 +312,7 @@ index af6f93ca7296..c4f9bef6d073 100644
  #define   GEN7_L3CDERRST1_ROW_MASK    (0x7ff<<14)
  #define   GEN7_PARITY_ERROR_VALID     (1<<13)
  #define   GEN7_L3CDERRST1_BANK_MASK   (3<<11)
-@@ -4760,6 +4766,7 @@
+@@ -4764,6 +4770,7 @@
  #define   GEN7_L3CDERRST1_ENABLE      (1<<7)
  
  #define GEN7_L3LOG_BASE                       0xB070
@@ -327,11 +320,9 @@ index af6f93ca7296..c4f9bef6d073 100644
  #define GEN7_L3LOG_SIZE                       0x80
  
  #define GEN7_HALF_SLICE_CHICKEN1      0xe100 /* IVB GT1 + VLV */
-diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
-index 71f6de24444e..3a8bf0c9b5ce 100644
 --- a/drivers/gpu/drm/i915/i915_sysfs.c
 +++ b/drivers/gpu/drm/i915/i915_sysfs.c
-@@ -119,6 +119,7 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
+@@ -119,6 +119,7 @@ i915_l3_read(struct file *filp, struct k
        struct drm_device *drm_dev = dminor->dev;
        struct drm_i915_private *dev_priv = drm_dev->dev_private;
        uint32_t misccpctl;
@@ -339,7 +330,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
        int i, ret;
  
        count = round_down(count, 4);
-@@ -134,9 +135,9 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
+@@ -134,9 +135,9 @@ i915_l3_read(struct file *filp, struct k
                return ret;
  
        if (IS_HASWELL(drm_dev)) {
@@ -351,7 +342,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
                               count);
                else
                        memset(buf, 0, count);
-@@ -168,6 +169,7 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
+@@ -168,6 +169,7 @@ i915_l3_write(struct file *filp, struct
        struct drm_device *drm_dev = dminor->dev;
        struct drm_i915_private *dev_priv = drm_dev->dev_private;
        u32 *temp = NULL; /* Just here to make handling failures easy */
@@ -359,7 +350,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
        int ret;
  
        ret = l3_access_valid(drm_dev, offset);
-@@ -178,7 +180,7 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
+@@ -178,7 +180,7 @@ i915_l3_write(struct file *filp, struct
        if (ret)
                return ret;
  
@@ -368,7 +359,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
                temp = kzalloc(GEN7_L3LOG_SIZE, GFP_KERNEL);
                if (!temp) {
                        mutex_unlock(&drm_dev->struct_mutex);
-@@ -198,11 +200,11 @@ i915_l3_write(struct file *filp, struct kobject *kobj,
+@@ -198,11 +200,11 @@ i915_l3_write(struct file *filp, struct
         * at this point it is left as a TODO.
        */
        if (temp)
@@ -383,7 +374,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
  
        mutex_unlock(&drm_dev->struct_mutex);
  
-@@ -214,7 +216,17 @@ static struct bin_attribute dpf_attrs = {
+@@ -214,7 +216,17 @@ static struct bin_attribute dpf_attrs =
        .size = GEN7_L3LOG_SIZE,
        .read = i915_l3_read,
        .write = i915_l3_write,
@@ -402,7 +393,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
  };
  
  static ssize_t gt_cur_freq_mhz_show(struct device *kdev,
-@@ -525,6 +537,13 @@ void i915_setup_sysfs(struct drm_device *dev)
+@@ -525,6 +537,13 @@ void i915_setup_sysfs(struct drm_device
                ret = device_create_bin_file(&dev->primary->kdev, &dpf_attrs);
                if (ret)
                        DRM_ERROR("l3 parity sysfs setup failed\n");
@@ -416,7 +407,7 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
        }
  
        ret = 0;
-@@ -548,6 +567,7 @@ void i915_teardown_sysfs(struct drm_device *dev)
+@@ -548,6 +567,7 @@ void i915_teardown_sysfs(struct drm_devi
                sysfs_remove_files(&dev->primary->kdev.kobj, vlv_attrs);
        else
                sysfs_remove_files(&dev->primary->kdev.kobj, gen6_attrs);
@@ -424,11 +415,9 @@ index 71f6de24444e..3a8bf0c9b5ce 100644
        device_remove_bin_file(&dev->primary->kdev,  &dpf_attrs);
  #ifdef CONFIG_PM
        sysfs_unmerge_group(&dev->primary->kdev.kobj, &rc6_attr_group);
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 686e5b23481d..958b7d8fea8b 100644
 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
 +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -570,7 +570,7 @@ static int init_render_ring(struct intel_ring_buffer *ring)
+@@ -570,7 +570,7 @@ static int init_render_ring(struct intel
                I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
  
        if (HAS_L3_GPU_CACHE(dev))
@@ -437,7 +426,7 @@ index 686e5b23481d..958b7d8fea8b 100644
  
        return ret;
  }
-@@ -1000,7 +1000,7 @@ gen6_ring_get_irq(struct intel_ring_buffer *ring)
+@@ -1000,7 +1000,7 @@ gen6_ring_get_irq(struct intel_ring_buff
                if (HAS_L3_GPU_CACHE(dev) && ring->id == RCS)
                        I915_WRITE_IMR(ring,
                                       ~(ring->irq_enable_mask |
@@ -446,7 +435,7 @@ index 686e5b23481d..958b7d8fea8b 100644
                else
                        I915_WRITE_IMR(ring, ~ring->irq_enable_mask);
                ilk_enable_gt_irq(dev_priv, ring->irq_enable_mask);
-@@ -1020,8 +1020,7 @@ gen6_ring_put_irq(struct intel_ring_buffer *ring)
+@@ -1020,8 +1020,7 @@ gen6_ring_put_irq(struct intel_ring_buff
        spin_lock_irqsave(&dev_priv->irq_lock, flags);
        if (--ring->irq_refcount == 0) {
                if (HAS_L3_GPU_CACHE(dev) && ring->id == RCS)
@@ -456,8 +445,6 @@ index 686e5b23481d..958b7d8fea8b 100644
                else
                        I915_WRITE_IMR(ring, ~0);
                ilk_disable_gt_irq(dev_priv, ring->irq_enable_mask);
-diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
-index 55bb5729bd78..3a4e97bd8607 100644
 --- a/include/uapi/drm/i915_drm.h
 +++ b/include/uapi/drm/i915_drm.h
 @@ -38,10 +38,10 @@
@@ -475,6 +462,3 @@ index 55bb5729bd78..3a4e97bd8607 100644
   *
   * I915_ERROR_UEVENT - Generated upon error detection, currently only via
   *    hangcheck. The error detection event is a good indicator of when things
--- 
-1.8.5.rc3
-
index 3b29bcb90b20eac22372c19ff23beb2055e7d57d..8db3eb5a2b34c2014200bc78ba3bb2b078f8bd6e 100644 (file)
@@ -132,7 +132,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
 --- 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, in
+@@ -3649,11 +3649,11 @@ intel_dp_init(struct drm_device *dev, in
        struct drm_encoder *encoder;
        struct intel_connector *intel_connector;
  
index bd460f1cb535dd080f7ef8bc49f472d430b8e82b..f145ba5f293bf28827ae1fc308fb45dc96608a96 100644 (file)
@@ -21,16 +21,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 768f69c9fe601af39dfeb377f45909896f201444)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h   |  2 +-
- drivers/gpu/drm/i915/intel_bios.c | 36 ++++++++++++++++++------------------
- drivers/gpu/drm/i915/intel_bios.h | 33 +++++++++++++++++++++++++++++++--
- drivers/gpu/drm/i915/intel_dp.c   |  6 +++---
- drivers/gpu/drm/i915/intel_lvds.c |  3 ++-
- drivers/gpu/drm/i915/intel_tv.c   |  8 ++++----
+ drivers/gpu/drm/i915/i915_drv.h   |    2 +-
+ drivers/gpu/drm/i915/intel_bios.c |   36 ++++++++++++++++++------------------
+ drivers/gpu/drm/i915/intel_bios.h |   33 +++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/i915/intel_dp.c   |    6 +++---
+ drivers/gpu/drm/i915/intel_lvds.c |    3 ++-
+ drivers/gpu/drm/i915/intel_tv.c   |    8 ++++----
  6 files changed, 59 insertions(+), 29 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 8c52cbdb76f3..9868a66ef59c 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -1090,7 +1090,7 @@ struct intel_vbt_data {
@@ -42,11 +40,9 @@ index 8c52cbdb76f3..9868a66ef59c 100644
  };
  
  enum intel_ddb_partitioning {
-diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
-index 6668873fb3a8..33003b97f1f0 100644
 --- a/drivers/gpu/drm/i915/intel_bios.c
 +++ b/drivers/gpu/drm/i915/intel_bios.c
-@@ -389,7 +389,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
+@@ -389,7 +389,7 @@ parse_sdvo_device_mapping(struct drm_i91
  {
        struct sdvo_device_mapping *p_mapping;
        struct bdb_general_definitions *p_defs;
@@ -55,7 +51,7 @@ index 6668873fb3a8..33003b97f1f0 100644
        int i, child_device_num, count;
        u16     block_size;
  
-@@ -416,36 +416,36 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
+@@ -416,36 +416,36 @@ parse_sdvo_device_mapping(struct drm_i91
        count = 0;
        for (i = 0; i < child_device_num; i++) {
                p_child = &(p_defs->devices[i]);
@@ -105,7 +101,7 @@ index 6668873fb3a8..33003b97f1f0 100644
                        p_mapping->initialized = 1;
                        DRM_DEBUG_KMS("SDVO device: dvo=%x, addr=%x, wiring=%d, ddc_pin=%d, i2c_pin=%d\n",
                                      p_mapping->dvo_port,
-@@ -457,7 +457,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
+@@ -457,7 +457,7 @@ parse_sdvo_device_mapping(struct drm_i91
                        DRM_DEBUG_KMS("Maybe one SDVO port is shared by "
                                         "two SDVO device.\n");
                }
@@ -114,7 +110,7 @@ index 6668873fb3a8..33003b97f1f0 100644
                        /* Maybe this is a SDVO device with multiple inputs */
                        /* And the mapping info is not added */
                        DRM_DEBUG_KMS("there exists the slave2_addr. Maybe this"
-@@ -588,7 +588,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
+@@ -588,7 +588,7 @@ parse_device_mapping(struct drm_i915_pri
                       struct bdb_header *bdb)
  {
        struct bdb_general_definitions *p_defs;
@@ -123,7 +119,7 @@ index 6668873fb3a8..33003b97f1f0 100644
        int i, child_device_num, count;
        u16     block_size;
  
-@@ -616,7 +616,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
+@@ -616,7 +616,7 @@ parse_device_mapping(struct drm_i915_pri
        /* get the number of child device that is present */
        for (i = 0; i < child_device_num; i++) {
                p_child = &(p_defs->devices[i]);
@@ -132,7 +128,7 @@ index 6668873fb3a8..33003b97f1f0 100644
                        /* skip the device block if device type is invalid */
                        continue;
                }
-@@ -636,7 +636,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv,
+@@ -636,7 +636,7 @@ parse_device_mapping(struct drm_i915_pri
        count = 0;
        for (i = 0; i < child_device_num; i++) {
                p_child = &(p_defs->devices[i]);
@@ -141,8 +137,6 @@ index 6668873fb3a8..33003b97f1f0 100644
                        /* skip the device block if device type is invalid */
                        continue;
                }
-diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h
-index 6e9250eb9c2c..1da2bf208299 100644
 --- a/drivers/gpu/drm/i915/intel_bios.h
 +++ b/drivers/gpu/drm/i915/intel_bios.h
 @@ -202,7 +202,10 @@ struct bdb_general_features {
@@ -199,11 +193,9 @@ index 6e9250eb9c2c..1da2bf208299 100644
  } __attribute__((packed));
  
  struct bdb_lvds_options {
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 2f3d67f12a88..1b26c610d21a 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -3211,7 +3211,7 @@ intel_trans_dp_port_sel(struct drm_crtc *crtc)
+@@ -3227,7 +3227,7 @@ intel_trans_dp_port_sel(struct drm_crtc
  bool intel_dpd_is_edp(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -212,7 +204,7 @@ index 2f3d67f12a88..1b26c610d21a 100644
        int i;
  
        if (!dev_priv->vbt.child_dev_num)
-@@ -3220,8 +3220,8 @@ bool intel_dpd_is_edp(struct drm_device *dev)
+@@ -3236,8 +3236,8 @@ bool intel_dpd_is_edp(struct drm_device
        for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
                p_child = dev_priv->vbt.child_dev + i;
  
@@ -223,11 +215,9 @@ index 2f3d67f12a88..1b26c610d21a 100644
                        return true;
        }
        return false;
-diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
-index 87d5a769b3ae..33994f2677ff 100644
 --- a/drivers/gpu/drm/i915/intel_lvds.c
 +++ b/drivers/gpu/drm/i915/intel_lvds.c
-@@ -810,7 +810,8 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev,
+@@ -810,7 +810,8 @@ static bool lvds_is_present_in_vbt(struc
                return true;
  
        for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
@@ -237,11 +227,9 @@ index 87d5a769b3ae..33994f2677ff 100644
  
                /* If the device type is not LFP, continue.
                 * We have to check both the new identifiers as well as the
-diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index e6e93ce34f7b..11c15fbf9e55 100644
 --- a/drivers/gpu/drm/i915/intel_tv.c
 +++ b/drivers/gpu/drm/i915/intel_tv.c
-@@ -1518,7 +1518,7 @@ static const struct drm_encoder_funcs intel_tv_enc_funcs = {
+@@ -1518,7 +1518,7 @@ static const struct drm_encoder_funcs in
  static int tv_is_present_in_vbt(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -250,7 +238,7 @@ index e6e93ce34f7b..11c15fbf9e55 100644
        int i, ret;
  
        if (!dev_priv->vbt.child_dev_num)
-@@ -1530,13 +1530,13 @@ static int tv_is_present_in_vbt(struct drm_device *dev)
+@@ -1530,13 +1530,13 @@ static int tv_is_present_in_vbt(struct d
                /*
                 * If the device type is not TV, continue.
                 */
@@ -267,6 +255,3 @@ index e6e93ce34f7b..11c15fbf9e55 100644
                        ret = 1;
                        break;
                }
--- 
-1.8.5.rc3
-
index e32d47575ca02d34b2b3d4bb2467b32e3aef7229..16a620c8cfbd23d24630e832d7595017da8138e0 100644 (file)
@@ -40,7 +40,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1800,8 +1800,6 @@ int i915_driver_unload(struct drm_device
+@@ -1801,8 +1801,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);
@@ -49,7 +49,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
        intel_teardown_gmbus(dev);
        intel_teardown_mchbar(dev);
-@@ -1811,6 +1809,10 @@ int i915_driver_unload(struct drm_device
+@@ -1812,6 +1810,10 @@ int i915_driver_unload(struct drm_device
  
        dev_priv->gtt.base.cleanup(&dev_priv->gtt.base);
  
index a8192b3ac09e8ed50bb0c69da21b387f7c58099b..827ac661f1cf8d82b3d971ff279d4c36db059ec4 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 49798eb2fe7240900d0a22a4e8d2b8e2f2ea6684)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 4 ++++
- drivers/gpu/drm/i915/intel_pm.c | 5 ++++-
+ drivers/gpu/drm/i915/i915_reg.h |    4 ++++
+ drivers/gpu/drm/i915/intel_pm.c |    5 ++++-
  2 files changed, 8 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 33bb4750516a..c15cc749ca2c 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4729,6 +4729,10 @@
+@@ -4733,6 +4733,10 @@
                                                 GEN6_PM_RP_DOWN_TIMEOUT)
  
  #define GEN6_GT_GFX_RC6_LOCKED                        0x138104
@@ -32,11 +30,9 @@ index 33bb4750516a..c15cc749ca2c 100644
  #define GEN6_GT_GFX_RC6                               0x138108
  #define GEN6_GT_GFX_RC6p                      0x13810C
  #define GEN6_GT_GFX_RC6pp                     0x138110
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 2ac1c2fd58bb..102fc498a12f 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3837,7 +3837,10 @@ static void valleyview_enable_rps(struct drm_device *dev)
+@@ -3837,7 +3837,10 @@ static void valleyview_enable_rps(struct
        I915_WRITE(GEN6_RC6_THRESHOLD, 0xc350);
  
        /* allows RC6 residency counter to work */
@@ -48,6 +44,3 @@ index 2ac1c2fd58bb..102fc498a12f 100644
        if (intel_enable_rc6(dev) & INTEL_RC6_ENABLE)
                rc6_mode = GEN7_RC_CTL_TO_MODE;
        I915_WRITE(GEN6_RC_CONTROL, rc6_mode);
--- 
-1.8.5.rc3
-
index e3567398538fdcdb16e68485d236e5b5d26d2f62..42d11464b7248ef0bebdf148390e994e327d9008 100644 (file)
@@ -80,7 +80,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        intel_cleanup_overlay(dev);
 --- 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_co
+@@ -3213,7 +3213,6 @@ intel_dp_connector_destroy(struct drm_co
        if (connector->connector_type == DRM_MODE_CONNECTOR_eDP)
                intel_panel_fini(&intel_connector->panel);
  
index f121012b57e3e7c96dcac07cb68f11f7d514af94..225b96cdacf35fc8723f0540c27d206d5cab1b40 100644 (file)
@@ -56,7 +56,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  out_gem_unload:
        if (dev_priv->mm.inactive_shrinker.shrink)
                unregister_shrinker(&dev_priv->mm.inactive_shrinker);
-@@ -1705,12 +1709,17 @@ out_gem_unload:
+@@ -1706,12 +1710,17 @@ out_gem_unload:
  out_mtrrfree:
        arch_phys_wc_del(dev_priv->gtt.mtrr);
        io_mapping_free(dev_priv->gtt.mappable);
@@ -75,7 +75,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        kfree(dev_priv);
        return ret;
  }
-@@ -1801,6 +1810,8 @@ int i915_driver_unload(struct drm_device
+@@ -1802,6 +1811,8 @@ int i915_driver_unload(struct drm_device
        WARN_ON(!list_empty(&dev_priv->vm_list));
        drm_mm_takedown(&dev_priv->gtt.base.mm);
  
index 9af81bf16d9e3906fed2ecb2aed4527e0ad3c1e5..b1be78ea5cc6d34dc56367f2e5c2d7dcd5086203 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1835,19 +1835,11 @@ int i915_driver_unload(struct drm_device
+@@ -1836,19 +1836,11 @@ int i915_driver_unload(struct drm_device
  
  int i915_driver_open(struct drm_device *dev, struct drm_file *file)
  {
index b02e46147fc624b95def5e9f4a0aceeb8ddc4f4d..2431f2f3f66475619756a20d333111a7e512bcaf 100644 (file)
@@ -47,14 +47,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit dd75fdc8c69587c91bd68a6ed7c726b5e70f9399)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_drv.h |   5 ++
- drivers/gpu/drm/i915/i915_irq.c |  46 ++++++++++----
- drivers/gpu/drm/i915/i915_reg.h |   2 +-
- drivers/gpu/drm/i915/intel_pm.c | 137 ++++++++++++++++++++++++++++++----------
+ drivers/gpu/drm/i915/i915_drv.h |    5 +
+ drivers/gpu/drm/i915/i915_irq.c |   46 +++++++++----
+ drivers/gpu/drm/i915/i915_reg.h |    2 
+ drivers/gpu/drm/i915/intel_pm.c |  137 ++++++++++++++++++++++++++++++----------
  4 files changed, 143 insertions(+), 47 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index d1c6b92edae0..5118ac300c42 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -850,8 +850,13 @@ struct intel_gen6_power_mgmt {
@@ -71,11 +69,9 @@ index d1c6b92edae0..5118ac300c42 100644
        struct delayed_work delayed_resume_work;
  
        /*
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 6ee557280e11..418ad642c742 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -818,7 +818,7 @@ static void gen6_pm_rps_work(struct work_struct *work)
+@@ -818,7 +818,7 @@ static void gen6_pm_rps_work(struct work
        drm_i915_private_t *dev_priv = container_of(work, drm_i915_private_t,
                                                    rps.work);
        u32 pm_iir;
@@ -84,7 +80,7 @@ index 6ee557280e11..418ad642c742 100644
  
        spin_lock_irq(&dev_priv->irq_lock);
        pm_iir = dev_priv->rps.pm_iir;
-@@ -835,29 +835,49 @@ static void gen6_pm_rps_work(struct work_struct *work)
+@@ -835,29 +835,49 @@ static void gen6_pm_rps_work(struct work
  
        mutex_lock(&dev_priv->rps.hw_lock);
  
@@ -146,11 +142,9 @@ index 6ee557280e11..418ad642c742 100644
  
        mutex_unlock(&dev_priv->rps.hw_lock);
  }
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 96fd2ce6aa02..daaabe788f21 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -4687,7 +4687,7 @@
+@@ -4691,7 +4691,7 @@
  #define   GEN6_RP_UP_IDLE_MIN                 (0x1<<3)
  #define   GEN6_RP_UP_BUSY_AVG                 (0x2<<3)
  #define   GEN6_RP_UP_BUSY_CONT                        (0x4<<3)
@@ -159,11 +153,9 @@ index 96fd2ce6aa02..daaabe788f21 100644
  #define   GEN6_RP_DOWN_IDLE_CONT              (0x1<<0)
  #define GEN6_RP_UP_THRESHOLD                  0xA02C
  #define GEN6_RP_DOWN_THRESHOLD                        0xA030
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index ca063c25ad32..b08a96cd9c94 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -3312,6 +3312,98 @@ static u32 gen6_rps_limits(struct drm_i915_private *dev_priv, u8 *val)
+@@ -3312,6 +3312,98 @@ static u32 gen6_rps_limits(struct drm_i9
        return limits;
  }
  
@@ -262,7 +254,7 @@ index ca063c25ad32..b08a96cd9c94 100644
  void gen6_set_rps(struct drm_device *dev, u8 val)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
-@@ -3324,6 +3416,8 @@ void gen6_set_rps(struct drm_device *dev, u8 val)
+@@ -3324,6 +3416,8 @@ void gen6_set_rps(struct drm_device *dev
        if (val == dev_priv->rps.cur_delay)
                return;
  
@@ -271,7 +263,7 @@ index ca063c25ad32..b08a96cd9c94 100644
        if (IS_HASWELL(dev))
                I915_WRITE(GEN6_RPNSWREQ,
                           HSW_FREQUENCY(val));
-@@ -3352,6 +3446,7 @@ void gen6_rps_idle(struct drm_i915_private *dev_priv)
+@@ -3352,6 +3446,7 @@ void gen6_rps_idle(struct drm_i915_priva
                valleyview_set_rps(dev_priv->dev, dev_priv->rps.min_delay);
        else
                gen6_set_rps(dev_priv->dev, dev_priv->rps.min_delay);
@@ -279,7 +271,7 @@ index ca063c25ad32..b08a96cd9c94 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  }
  
-@@ -3362,6 +3457,7 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv)
+@@ -3362,6 +3457,7 @@ void gen6_rps_boost(struct drm_i915_priv
                valleyview_set_rps(dev_priv->dev, dev_priv->rps.max_delay);
        else
                gen6_set_rps(dev_priv->dev, dev_priv->rps.max_delay);
@@ -287,7 +279,7 @@ index ca063c25ad32..b08a96cd9c94 100644
        mutex_unlock(&dev_priv->rps.hw_lock);
  }
  
-@@ -3546,7 +3642,10 @@ static void gen6_enable_rps(struct drm_device *dev)
+@@ -3546,7 +3642,10 @@ static void gen6_enable_rps(struct drm_d
  
        /* In units of 50MHz */
        dev_priv->rps.hw_max = dev_priv->rps.max_delay = rp_state_cap & 0xff;
@@ -299,7 +291,7 @@ index ca063c25ad32..b08a96cd9c94 100644
        dev_priv->rps.cur_delay = 0;
  
        /* disable the counters and set deterministic thresholds */
-@@ -3594,38 +3693,9 @@ static void gen6_enable_rps(struct drm_device *dev)
+@@ -3594,38 +3693,9 @@ static void gen6_enable_rps(struct drm_d
                   GEN6_RC_CTL_EI_MODE(1) |
                   GEN6_RC_CTL_HW_ENABLE);
  
@@ -340,7 +332,7 @@ index ca063c25ad32..b08a96cd9c94 100644
  
        ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, 0);
        if (!ret) {
-@@ -3641,7 +3711,8 @@ static void gen6_enable_rps(struct drm_device *dev)
+@@ -3641,7 +3711,8 @@ static void gen6_enable_rps(struct drm_d
                DRM_DEBUG_DRIVER("Failed to set the min frequency\n");
        }
  
@@ -350,6 +342,3 @@ index ca063c25ad32..b08a96cd9c94 100644
  
        gen6_enable_rps_interrupts(dev);
  
--- 
-1.8.5.rc3
-
index b8a6fc422fd3cdb86e863799c3b4bdd2a4bbcd8c..28200724eda737f17ffac87e8627ee4e05be33eb 100644 (file)
@@ -10,14 +10,12 @@ Signed-off-by: Dave Airlie <airlied@redhat.com>
 (cherry picked from commit 55e9edeb57ed9dd9be6773c5230187d701b14a46)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/intel_dp.c | 10 +---------
+ drivers/gpu/drm/i915/intel_dp.c |   10 +---------
  1 file changed, 1 insertion(+), 9 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 5f8a4f2c3c74..0c9f4764ed92 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -2972,19 +2972,11 @@ intel_dp_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter)
+@@ -2988,19 +2988,11 @@ intel_dp_get_edid(struct drm_connector *
  
        /* use cached edid if we have one */
        if (intel_connector->edid) {
@@ -38,6 +36,3 @@ index 5f8a4f2c3c74..0c9f4764ed92 100644
        }
  
        return drm_get_edid(connector, adapter);
--- 
-1.8.5.rc3
-
index 06c6a9f9d45f4533661937ca58f4fe5b462c3b67..e8b382266ef6f33ec90f5c732ee9b22cf20b0316 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
        intel_uncore_sanitize(dev);
  
        /* Try to make sure MCHBAR is enabled before poking at it */
-@@ -1697,6 +1698,7 @@ out_gtt:
+@@ -1698,6 +1699,7 @@ out_gtt:
        drm_mm_takedown(&dev_priv->gtt.base.mm);
        dev_priv->gtt.base.cleanup(&dev_priv->gtt.base);
  out_regs:
index 90811c91b4463a202ed6529cabea37db940fd42d..f697dc75a276c7075156bed713ff785c340bed44 100644 (file)
@@ -18,14 +18,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 25a2e2d0f35e3297c7c8c6daf12d35fca7a51e44)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 16 ++++++++--------
+ drivers/gpu/drm/i915/i915_reg.h |   16 ++++++++--------
  1 file changed, 8 insertions(+), 8 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 95385023e0ba..35c9d868b893 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3348,17 +3348,17 @@
+@@ -3352,17 +3352,17 @@
   *  } while (high1 != high2);
   *  frame = (high1 << 8) | low1;
   */
@@ -47,7 +45,7 @@ index 95385023e0ba..35c9d868b893 100644
  #define PIPE_FRMCOUNT_GM45(pipe) _PIPE(pipe, _PIPEA_FRMCOUNT_GM45, _PIPEB_FRMCOUNT_GM45)
  
  /* Cursor A & B regs */
-@@ -3489,10 +3489,10 @@
+@@ -3493,10 +3493,10 @@
  #define _PIPEBDSL             (dev_priv->info->display_mmio_offset + 0x71000)
  #define _PIPEBCONF            (dev_priv->info->display_mmio_offset + 0x71008)
  #define _PIPEBSTAT            (dev_priv->info->display_mmio_offset + 0x71024)
@@ -62,6 +60,3 @@ index 95385023e0ba..35c9d868b893 100644
  
  
  /* Display B control */
--- 
-1.8.5.rc3
-
index 257e021b105a1e5c487dff8f4d262c75fb3e9233..6d22cf978f45323456436fcd7716ac47fbdb7bc4 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Darren Hart <dvhart@linux.intel.com>
  
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1861,7 +1861,7 @@ void i915_driver_lastclose(struct drm_de
+@@ -1862,7 +1862,7 @@ void i915_driver_lastclose(struct drm_de
                return;
  
        if (drm_core_check_feature(dev, DRIVER_MODESET)) {
index 209fcdcb5a20569002c7c24e29ba91330f625705..c7e904e6294578aeb6fdff8d7f111f60f8a83a9e 100644 (file)
@@ -19,14 +19,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 (cherry picked from commit 1996d624403483aa8b4192f39584b0d9421ed6a9)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/gpu/drm/i915/i915_reg.h | 10 +++++-----
+ drivers/gpu/drm/i915/i915_reg.h |   10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 35c9d868b893..88f76714dba3 100644
 --- a/drivers/gpu/drm/i915/i915_reg.h
 +++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -3251,11 +3251,11 @@
+@@ -3255,11 +3255,11 @@
  
  /* define the Watermark register on Ironlake */
  #define WM0_PIPEA_ILK         0x45100
@@ -41,7 +39,7 @@ index 35c9d868b893..88f76714dba3 100644
  
  #define WM0_PIPEB_ILK         0x45104
  #define WM0_PIPEC_IVB         0x45200
-@@ -3265,9 +3265,9 @@
+@@ -3269,9 +3269,9 @@
  #define  WM1_LP_LATENCY_MASK  (0x7f<<24)
  #define  WM1_LP_FBC_MASK      (0xf<<20)
  #define  WM1_LP_FBC_SHIFT     20
@@ -53,6 +51,3 @@ index 35c9d868b893..88f76714dba3 100644
  #define WM2_LP_ILK            0x4510c
  #define  WM2_LP_EN            (1<<31)
  #define WM3_LP_ILK            0x45110
--- 
-1.8.5.rc3
-
index 251cdbc90ff2e9bdd25599ab865dffb86d89dde6..78146c545343fca8d3743007f7c05ef491bc15b8 100644 (file)
@@ -12,18 +12,15 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
 (cherry picked from commit 560746eb79d3124a278452c8dd968682b521cc82)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- .../devicetree/bindings/i2c/i2c-vt8500.txt         |  24 ++
- MAINTAINERS                                        |   1 +
- drivers/i2c/busses/Kconfig                         |  10 +
- drivers/i2c/busses/Makefile                        |   1 +
- drivers/i2c/busses/i2c-wmt.c                       | 479 +++++++++++++++++++++
+ Documentation/devicetree/bindings/i2c/i2c-vt8500.txt |   24 
+ MAINTAINERS                                          |    1 
+ drivers/i2c/busses/Kconfig                           |   10 
+ drivers/i2c/busses/Makefile                          |    1 
+ drivers/i2c/busses/i2c-wmt.c                         |  479 +++++++++++++++++++
  5 files changed, 515 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/i2c/i2c-vt8500.txt
  create mode 100644 drivers/i2c/busses/i2c-wmt.c
 
-diff --git a/Documentation/devicetree/bindings/i2c/i2c-vt8500.txt b/Documentation/devicetree/bindings/i2c/i2c-vt8500.txt
-new file mode 100644
-index 000000000000..94a425eaa6c7
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/i2c/i2c-vt8500.txt
 @@ -0,0 +1,24 @@
@@ -51,8 +48,6 @@ index 000000000000..94a425eaa6c7
 +              clocks = <&clki2c0>;
 +              clock-frequency = <400000>;
 +      };
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 48c748080c96..30287b8a223a 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -1285,6 +1285,7 @@ S:       Maintained
@@ -63,11 +58,9 @@ index 48c748080c96..30287b8a223a 100644
  F:    drivers/mmc/host/wmt-sdmmc.c
  F:    drivers/pwm/pwm-vt8500.c
  F:    drivers/rtc/rtc-vt8500.c
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 4faf02b3657d..0ca51f805a06 100644
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -725,6 +725,16 @@ config I2C_VERSATILE
+@@ -726,6 +726,16 @@ config I2C_VERSATILE
          This driver can also be built as a module.  If so, the module
          will be called i2c-versatile.
  
@@ -84,8 +77,6 @@ index 4faf02b3657d..0ca51f805a06 100644
  config I2C_OCTEON
        tristate "Cavium OCTEON I2C bus support"
        depends on CPU_CAVIUM_OCTEON
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index 8f4fc23b85b1..3ba94a99e18d 100644
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
 @@ -71,6 +71,7 @@ obj-$(CONFIG_I2C_SIRF)               += i2c-sirf.o
@@ -96,9 +87,6 @@ index 8f4fc23b85b1..3ba94a99e18d 100644
  obj-$(CONFIG_I2C_OCTEON)      += i2c-octeon.o
  obj-$(CONFIG_I2C_XILINX)      += i2c-xiic.o
  obj-$(CONFIG_I2C_XLR)         += i2c-xlr.o
-diff --git a/drivers/i2c/busses/i2c-wmt.c b/drivers/i2c/busses/i2c-wmt.c
-new file mode 100644
-index 000000000000..baaa7d15b73e
 --- /dev/null
 +++ b/drivers/i2c/busses/i2c-wmt.c
 @@ -0,0 +1,479 @@
@@ -581,6 +569,3 @@ index 000000000000..baaa7d15b73e
 +MODULE_AUTHOR("Tony Prisk <linux@prisktech.co.nz>");
 +MODULE_LICENSE("GPL");
 +MODULE_DEVICE_TABLE(of, wmt_i2c_dt_ids);
--- 
-1.8.5.rc3
-
index 89788d1b5b13f9f779f1a46fb2c6cbcfebac56ef..4f534715cfc83dbf0cb00da9b60c95048e58cfc3 100644 (file)
@@ -13,15 +13,13 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
 (cherry picked from commit 3d66ac7d81ac70dfaab8a573f7ad2be94f7d6da3)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- drivers/i2c/busses/Kconfig       |  3 ++-
- drivers/i2c/busses/i2c-mv64xxx.c | 11 +++++++++++
+ drivers/i2c/busses/Kconfig       |    3 ++-
+ drivers/i2c/busses/i2c-mv64xxx.c |   11 +++++++++++
  2 files changed, 13 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 0ca51f805a06..5748a04c971f 100644
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -508,10 +508,11 @@ config I2C_MPC
+@@ -509,10 +509,11 @@ config I2C_MPC
  
  config I2C_MV64XXX
        tristate "Marvell mv64xxx I2C Controller"
@@ -34,11 +32,9 @@ index 0ca51f805a06..5748a04c971f 100644
  
          This driver can also be built as a module.  If so, the module
          will be called i2c-mv64xxx.
-diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
-index 7ba9bac18478..7a0e39b7f928 100644
 --- a/drivers/i2c/busses/i2c-mv64xxx.c
 +++ b/drivers/i2c/busses/i2c-mv64xxx.c
-@@ -129,6 +129,16 @@ static struct mv64xxx_i2c_regs mv64xxx_i2c_regs_mv64xxx = {
+@@ -129,6 +129,16 @@ static struct mv64xxx_i2c_regs mv64xxx_i
        .soft_reset     = 0x1c,
  };
  
@@ -55,7 +51,7 @@ index 7ba9bac18478..7a0e39b7f928 100644
  static void
  mv64xxx_i2c_prepare_for_io(struct mv64xxx_i2c_data *drv_data,
        struct i2c_msg *msg)
-@@ -509,6 +519,7 @@ static const struct i2c_algorithm mv64xxx_i2c_algo = {
+@@ -509,6 +519,7 @@ static const struct i2c_algorithm mv64xx
   *****************************************************************************
   */
  static const struct of_device_id mv64xxx_i2c_of_match_table[] = {
@@ -63,6 +59,3 @@ index 7ba9bac18478..7a0e39b7f928 100644
        { .compatible = "marvell,mv64xxx-i2c", .data = &mv64xxx_i2c_regs_mv64xxx},
        {}
  };
--- 
-1.8.5.rc3
-
index adf2cdaef7217f363e8ec82a38a2f834f61bf015..b52ab9c1b0d331772cd72d5fc530f79c96e78ffa 100644 (file)
@@ -13,59 +13,57 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
 (cherry picked from commit 687b81d083c082bc1e853032e3a2a54f8c251d27)
 Signed-off-by: Darren Hart <dvhart@linux.intel.com>
 ---
- Documentation/acpi/enumeration.txt              |   1 -
- arch/powerpc/platforms/44x/warp.c               |   1 -
- drivers/gpu/drm/tilcdc/tilcdc_slave.c           |   1 -
- drivers/gpu/drm/tilcdc/tilcdc_tfp410.c          |   1 -
- drivers/gpu/host1x/drm/output.c                 |   2 +-
- drivers/i2c/busses/i2c-at91.c                   |   3 -
- drivers/i2c/busses/i2c-cpm.c                    |   6 --
- drivers/i2c/busses/i2c-davinci.c                |   2 -
- drivers/i2c/busses/i2c-designware-platdrv.c     |   2 -
- drivers/i2c/busses/i2c-gpio.c                   |   3 -
- drivers/i2c/busses/i2c-i801.c                   |   2 -
- drivers/i2c/busses/i2c-ibm_iic.c                |   4 -
- drivers/i2c/busses/i2c-imx.c                    |   3 -
- drivers/i2c/busses/i2c-mpc.c                    |   2 -
- drivers/i2c/busses/i2c-mv64xxx.c                |   3 -
- drivers/i2c/busses/i2c-mxs.c                    |   3 -
- drivers/i2c/busses/i2c-nomadik.c                |   3 -
- drivers/i2c/busses/i2c-ocores.c                 |   3 -
- drivers/i2c/busses/i2c-octeon.c                 |   3 -
- drivers/i2c/busses/i2c-omap.c                   |   3 -
- drivers/i2c/busses/i2c-pnx.c                    |   3 -
- drivers/i2c/busses/i2c-powermac.c               |   9 +-
- drivers/i2c/busses/i2c-pxa.c                    |   2 -
- drivers/i2c/busses/i2c-s3c2410.c                |   2 -
- drivers/i2c/busses/i2c-sh_mobile.c              |   2 -
- drivers/i2c/busses/i2c-sirf.c                   |   3 -
- drivers/i2c/busses/i2c-stu300.c                 |   2 -
- drivers/i2c/busses/i2c-tegra.c                  |   3 -
- drivers/i2c/busses/i2c-versatile.c              |   2 -
- drivers/i2c/busses/i2c-wmt.c                    |   3 -
- drivers/i2c/busses/i2c-xiic.c                   |   3 -
- drivers/i2c/i2c-core.c                          | 109 +++++++++++++++++++++-
- drivers/i2c/i2c-mux.c                           |   3 -
- drivers/i2c/muxes/i2c-arb-gpio-challenge.c      |   1 -
- drivers/i2c/muxes/i2c-mux-gpio.c                |   1 -
- drivers/i2c/muxes/i2c-mux-pinctrl.c             |   1 -
- drivers/media/platform/exynos4-is/fimc-is-i2c.c |   4 +-
- drivers/media/platform/exynos4-is/fimc-is.c     |   2 +-
- drivers/media/platform/exynos4-is/media-dev.c   |   1 -
- drivers/of/Kconfig                              |   6 --
- drivers/of/Makefile                             |   1 -
- drivers/of/of_i2c.c                             | 114 ------------------------
- drivers/staging/imx-drm/imx-tve.c               |   2 +-
- include/linux/i2c.h                             |  20 +++++
- include/linux/of_i2c.h                          |  46 ----------
- sound/soc/fsl/imx-sgtl5000.c                    |   2 +-
- sound/soc/fsl/imx-wm8962.c                      |   2 +-
+ Documentation/acpi/enumeration.txt              |    1 
+ arch/powerpc/platforms/44x/warp.c               |    1 
+ drivers/gpu/drm/tilcdc/tilcdc_slave.c           |    1 
+ drivers/gpu/drm/tilcdc/tilcdc_tfp410.c          |    1 
+ drivers/gpu/host1x/drm/output.c                 |    2 
+ drivers/i2c/busses/i2c-at91.c                   |    3 
+ drivers/i2c/busses/i2c-cpm.c                    |    6 -
+ drivers/i2c/busses/i2c-davinci.c                |    2 
+ drivers/i2c/busses/i2c-designware-platdrv.c     |    2 
+ drivers/i2c/busses/i2c-gpio.c                   |    3 
+ drivers/i2c/busses/i2c-i801.c                   |    2 
+ drivers/i2c/busses/i2c-ibm_iic.c                |    4 
+ drivers/i2c/busses/i2c-imx.c                    |    3 
+ drivers/i2c/busses/i2c-mpc.c                    |    2 
+ drivers/i2c/busses/i2c-mv64xxx.c                |    3 
+ drivers/i2c/busses/i2c-mxs.c                    |    3 
+ drivers/i2c/busses/i2c-nomadik.c                |    3 
+ drivers/i2c/busses/i2c-ocores.c                 |    3 
+ drivers/i2c/busses/i2c-octeon.c                 |    3 
+ drivers/i2c/busses/i2c-omap.c                   |    3 
+ drivers/i2c/busses/i2c-pnx.c                    |    3 
+ drivers/i2c/busses/i2c-powermac.c               |    9 +
+ drivers/i2c/busses/i2c-pxa.c                    |    2 
+ drivers/i2c/busses/i2c-s3c2410.c                |    2 
+ drivers/i2c/busses/i2c-sh_mobile.c              |    2 
+ drivers/i2c/busses/i2c-sirf.c                   |    3 
+ drivers/i2c/busses/i2c-stu300.c                 |    2 
+ drivers/i2c/busses/i2c-tegra.c                  |    3 
+ drivers/i2c/busses/i2c-versatile.c              |    2 
+ drivers/i2c/busses/i2c-wmt.c                    |    3 
+ drivers/i2c/busses/i2c-xiic.c                   |    3 
+ drivers/i2c/i2c-core.c                          |  109 ++++++++++++++++++++++
+ drivers/i2c/i2c-mux.c                           |    3 
+ drivers/i2c/muxes/i2c-arb-gpio-challenge.c      |    1 
+ drivers/i2c/muxes/i2c-mux-gpio.c                |    1 
+ drivers/i2c/muxes/i2c-mux-pinctrl.c             |    1 
+ drivers/media/platform/exynos4-is/fimc-is-i2c.c |    4 
+ drivers/media/platform/exynos4-is/fimc-is.c     |    2 
+ drivers/media/platform/exynos4-is/media-dev.c   |    1 
+ drivers/of/Kconfig                              |    6 -
+ drivers/of/Makefile                             |    1 
+ drivers/of/of_i2c.c                             |  114 ------------------------
+ drivers/staging/imx-drm/imx-tve.c               |    2 
+ include/linux/i2c.h                             |   20 ++++
+ include/linux/of_i2c.h                          |   46 ---------
+ sound/soc/fsl/imx-sgtl5000.c                    |    2 
+ sound/soc/fsl/imx-wm8962.c                      |    2 
  47 files changed, 138 insertions(+), 262 deletions(-)
  delete mode 100644 drivers/of/of_i2c.c
  delete mode 100644 include/linux/of_i2c.h
 
-diff --git a/Documentation/acpi/enumeration.txt b/Documentation/acpi/enumeration.txt
-index d9be7a97dff3..958266efcc20 100644
 --- a/Documentation/acpi/enumeration.txt
 +++ b/Documentation/acpi/enumeration.txt
 @@ -238,7 +238,6 @@ An I2C bus (controller) driver does:
@@ -76,8 +74,6 @@ index d9be7a97dff3..958266efcc20 100644
        /* Enumerate the slave devices behind this bus via ACPI */
        acpi_i2c_register_devices(adapter);
  
-diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c
-index 4cfa49901c02..534574a97ec9 100644
 --- a/arch/powerpc/platforms/44x/warp.c
 +++ b/arch/powerpc/platforms/44x/warp.c
 @@ -16,7 +16,6 @@
@@ -88,8 +84,6 @@ index 4cfa49901c02..534574a97ec9 100644
  #include <linux/slab.h>
  #include <linux/export.h>
  
-diff --git a/drivers/gpu/drm/tilcdc/tilcdc_slave.c b/drivers/gpu/drm/tilcdc/tilcdc_slave.c
-index db1d2fc9dfb5..acc47668fcae 100644
 --- a/drivers/gpu/drm/tilcdc/tilcdc_slave.c
 +++ b/drivers/gpu/drm/tilcdc/tilcdc_slave.c
 @@ -16,7 +16,6 @@
@@ -100,8 +94,6 @@ index db1d2fc9dfb5..acc47668fcae 100644
  #include <linux/pinctrl/pinmux.h>
  #include <linux/pinctrl/consumer.h>
  #include <drm/drm_encoder_slave.h>
-diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
-index a36788fbcd98..6237a1896765 100644
 --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
 +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
 @@ -16,7 +16,6 @@
@@ -112,8 +104,6 @@ index a36788fbcd98..6237a1896765 100644
  #include <linux/gpio.h>
  #include <linux/of_gpio.h>
  #include <linux/pinctrl/pinmux.h>
-diff --git a/drivers/gpu/host1x/drm/output.c b/drivers/gpu/host1x/drm/output.c
-index 8140fc6c34d8..137ae81ab80e 100644
 --- a/drivers/gpu/host1x/drm/output.c
 +++ b/drivers/gpu/host1x/drm/output.c
 @@ -9,7 +9,7 @@
@@ -125,8 +115,6 @@ index 8140fc6c34d8..137ae81ab80e 100644
  
  #include "drm.h"
  
-diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
-index 6bb839b688be..fd059308affa 100644
 --- a/drivers/i2c/busses/i2c-at91.c
 +++ b/drivers/i2c/busses/i2c-at91.c
 @@ -28,7 +28,6 @@
@@ -137,7 +125,7 @@ index 6bb839b688be..fd059308affa 100644
  #include <linux/platform_device.h>
  #include <linux/slab.h>
  #include <linux/platform_data/dma-atmel.h>
-@@ -775,8 +774,6 @@ static int at91_twi_probe(struct platform_device *pdev)
+@@ -775,8 +774,6 @@ static int at91_twi_probe(struct platfor
                return rc;
        }
  
@@ -146,8 +134,6 @@ index 6bb839b688be..fd059308affa 100644
        dev_info(dev->dev, "AT91 i2c bus driver.\n");
        return 0;
  }
-diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c
-index 3823623baa48..9528c4658893 100644
 --- a/drivers/i2c/busses/i2c-cpm.c
 +++ b/drivers/i2c/busses/i2c-cpm.c
 @@ -42,7 +42,6 @@
@@ -158,7 +144,7 @@ index 3823623baa48..9528c4658893 100644
  #include <sysdev/fsl_soc.h>
  #include <asm/cpm.h>
  
-@@ -673,11 +672,6 @@ static int cpm_i2c_probe(struct platform_device *ofdev)
+@@ -673,11 +672,6 @@ static int cpm_i2c_probe(struct platform
        dev_dbg(&ofdev->dev, "hw routines for %s registered.\n",
                cpm->adap.name);
  
@@ -170,8 +156,6 @@ index 3823623baa48..9528c4658893 100644
        return 0;
  out_shut:
        cpm_i2c_shutdown(cpm);
-diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
-index 14c53cccdcf0..a71da45bf280 100644
 --- a/drivers/i2c/busses/i2c-davinci.c
 +++ b/drivers/i2c/busses/i2c-davinci.c
 @@ -38,7 +38,6 @@
@@ -182,7 +166,7 @@ index 14c53cccdcf0..a71da45bf280 100644
  #include <linux/of_device.h>
  
  #include <mach/hardware.h>
-@@ -728,7 +727,6 @@ static int davinci_i2c_probe(struct platform_device *pdev)
+@@ -728,7 +727,6 @@ static int davinci_i2c_probe(struct plat
                dev_err(&pdev->dev, "failure adding adapter\n");
                goto err_unuse_clocks;
        }
@@ -190,8 +174,6 @@ index 14c53cccdcf0..a71da45bf280 100644
  
        return 0;
  
-diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
-index 64ffb908641c..ded77c3bd59c 100644
 --- a/drivers/i2c/busses/i2c-designware-platdrv.c
 +++ b/drivers/i2c/busses/i2c-designware-platdrv.c
 @@ -35,7 +35,6 @@
@@ -202,7 +184,7 @@ index 64ffb908641c..ded77c3bd59c 100644
  #include <linux/platform_device.h>
  #include <linux/pm.h>
  #include <linux/pm_runtime.h>
-@@ -172,7 +171,6 @@ static int dw_i2c_probe(struct platform_device *pdev)
+@@ -172,7 +171,6 @@ static int dw_i2c_probe(struct platform_
                dev_err(&pdev->dev, "failure adding adapter\n");
                return r;
        }
@@ -210,8 +192,6 @@ index 64ffb908641c..ded77c3bd59c 100644
        acpi_i2c_register_devices(adap);
  
        pm_runtime_set_autosuspend_delay(&pdev->dev, 1000);
-diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
-index 8cdb4f743e19..bfa02c6c2dda 100644
 --- a/drivers/i2c/busses/i2c-gpio.c
 +++ b/drivers/i2c/busses/i2c-gpio.c
 @@ -16,7 +16,6 @@
@@ -222,7 +202,7 @@ index 8cdb4f743e19..bfa02c6c2dda 100644
  
  struct i2c_gpio_private_data {
        struct i2c_adapter adap;
-@@ -224,8 +223,6 @@ static int i2c_gpio_probe(struct platform_device *pdev)
+@@ -224,8 +223,6 @@ static int i2c_gpio_probe(struct platfor
        if (ret)
                goto err_add_bus;
  
@@ -231,11 +211,9 @@ index 8cdb4f743e19..bfa02c6c2dda 100644
        platform_set_drvdata(pdev, priv);
  
        dev_info(&pdev->dev, "using pins %u (SDA) and %u (SCL%s)\n",
-diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
-index 3a6903f63913..8763b224bede 100644
 --- a/drivers/i2c/busses/i2c-i801.c
 +++ b/drivers/i2c/busses/i2c-i801.c
-@@ -86,7 +86,6 @@
+@@ -87,7 +87,6 @@
  #include <linux/slab.h>
  #include <linux/wait.h>
  #include <linux/err.h>
@@ -243,7 +221,7 @@ index 3a6903f63913..8763b224bede 100644
  
  #if (defined CONFIG_I2C_MUX_GPIO || defined CONFIG_I2C_MUX_GPIO_MODULE) && \
                defined CONFIG_DMI
-@@ -1227,7 +1226,6 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -1230,7 +1229,6 @@ static int i801_probe(struct pci_dev *de
                goto exit_free_irq;
        }
  
@@ -251,8 +229,6 @@ index 3a6903f63913..8763b224bede 100644
        i801_probe_optional_slaves(priv);
        /* We ignore errors - multiplexing is optional */
        i801_add_mux(priv);
-diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
-index 405a2e240454..eddd4656a9f4 100644
 --- a/drivers/i2c/busses/i2c-ibm_iic.c
 +++ b/drivers/i2c/busses/i2c-ibm_iic.c
 @@ -42,7 +42,6 @@
@@ -263,7 +239,7 @@ index 405a2e240454..eddd4656a9f4 100644
  
  #include "i2c-ibm_iic.h"
  
-@@ -759,9 +758,6 @@ static int iic_probe(struct platform_device *ofdev)
+@@ -759,9 +758,6 @@ static int iic_probe(struct platform_dev
        dev_info(&ofdev->dev, "using %s mode\n",
                 dev->fast_mode ? "fast (400 kHz)" : "standard (100 kHz)");
  
@@ -273,8 +249,6 @@ index 405a2e240454..eddd4656a9f4 100644
        return 0;
  
  error_cleanup:
-diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
-index a231d2fd91ce..ccf46656bdad 100644
 --- a/drivers/i2c/busses/i2c-imx.c
 +++ b/drivers/i2c/busses/i2c-imx.c
 @@ -52,7 +52,6 @@
@@ -285,7 +259,7 @@ index a231d2fd91ce..ccf46656bdad 100644
  #include <linux/platform_data/i2c-imx.h>
  
  /** Defines ********************************************************************
-@@ -682,8 +681,6 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
+@@ -682,8 +681,6 @@ static int __init i2c_imx_probe(struct p
                return ret;
        }
  
@@ -294,8 +268,6 @@ index a231d2fd91ce..ccf46656bdad 100644
        /* Set up platform driver data */
        platform_set_drvdata(pdev, i2c_imx);
        clk_disable_unprepare(i2c_imx->clk);
-diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
-index 5e705ee02f4a..efe62c63f646 100644
 --- a/drivers/i2c/busses/i2c-mpc.c
 +++ b/drivers/i2c/busses/i2c-mpc.c
 @@ -18,7 +18,6 @@
@@ -306,7 +278,7 @@ index 5e705ee02f4a..efe62c63f646 100644
  #include <linux/slab.h>
  
  #include <linux/io.h>
-@@ -691,7 +690,6 @@ static int fsl_i2c_probe(struct platform_device *op)
+@@ -691,7 +690,6 @@ static int fsl_i2c_probe(struct platform
                dev_err(i2c->dev, "failed to add adapter\n");
                goto fail_add;
        }
@@ -314,8 +286,6 @@ index 5e705ee02f4a..efe62c63f646 100644
  
        return result;
  
-diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
-index bc60f9ac7c04..7f3a47443494 100644
 --- a/drivers/i2c/busses/i2c-mv64xxx.c
 +++ b/drivers/i2c/busses/i2c-mv64xxx.c
 @@ -21,7 +21,6 @@
@@ -326,7 +296,7 @@ index bc60f9ac7c04..7f3a47443494 100644
  #include <linux/clk.h>
  #include <linux/err.h>
  #include <linux/delay.h>
-@@ -871,8 +870,6 @@ mv64xxx_i2c_probe(struct platform_device *pd)
+@@ -871,8 +870,6 @@ mv64xxx_i2c_probe(struct platform_device
                goto exit_free_irq;
        }
  
@@ -335,8 +305,6 @@ index bc60f9ac7c04..7f3a47443494 100644
        return 0;
  
  exit_free_irq:
-diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
-index 6d8094d44987..a37160671d32 100644
 --- a/drivers/i2c/busses/i2c-mxs.c
 +++ b/drivers/i2c/busses/i2c-mxs.c
 @@ -28,7 +28,6 @@
@@ -347,7 +315,7 @@ index 6d8094d44987..a37160671d32 100644
  #include <linux/dma-mapping.h>
  #include <linux/dmaengine.h>
  
-@@ -707,8 +706,6 @@ static int mxs_i2c_probe(struct platform_device *pdev)
+@@ -707,8 +706,6 @@ static int mxs_i2c_probe(struct platform
                return err;
        }
  
@@ -356,8 +324,6 @@ index 6d8094d44987..a37160671d32 100644
        return 0;
  }
  
-diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c
-index 9eb5852512d4..09da0ec4d560 100644
 --- a/drivers/i2c/busses/i2c-nomadik.c
 +++ b/drivers/i2c/busses/i2c-nomadik.c
 @@ -25,7 +25,6 @@
@@ -368,7 +334,7 @@ index 9eb5852512d4..09da0ec4d560 100644
  #include <linux/pinctrl/consumer.h>
  
  #define DRIVER_NAME "nmk-i2c"
-@@ -1092,8 +1091,6 @@ static int nmk_i2c_probe(struct amba_device *adev, const struct amba_id *id)
+@@ -1092,8 +1091,6 @@ static int nmk_i2c_probe(struct amba_dev
                goto err_add_adap;
        }
  
@@ -377,8 +343,6 @@ index 9eb5852512d4..09da0ec4d560 100644
        pm_runtime_put(&adev->dev);
  
        return 0;
-diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
-index 289960812efc..27d640a3f93f 100644
 --- a/drivers/i2c/busses/i2c-ocores.c
 +++ b/drivers/i2c/busses/i2c-ocores.c
 @@ -24,7 +24,6 @@
@@ -389,7 +353,7 @@ index 289960812efc..27d640a3f93f 100644
  #include <linux/log2.h>
  
  struct ocores_i2c {
-@@ -435,8 +434,6 @@ static int ocores_i2c_probe(struct platform_device *pdev)
+@@ -435,8 +434,6 @@ static int ocores_i2c_probe(struct platf
        if (pdata) {
                for (i = 0; i < pdata->num_devices; i++)
                        i2c_new_device(&i2c->adap, pdata->devices + i);
@@ -398,8 +362,6 @@ index 289960812efc..27d640a3f93f 100644
        }
  
        return 0;
-diff --git a/drivers/i2c/busses/i2c-octeon.c b/drivers/i2c/busses/i2c-octeon.c
-index 956fe320f313..b929ba271b47 100644
 --- a/drivers/i2c/busses/i2c-octeon.c
 +++ b/drivers/i2c/busses/i2c-octeon.c
 @@ -15,7 +15,6 @@
@@ -410,7 +372,7 @@ index 956fe320f313..b929ba271b47 100644
  #include <linux/delay.h>
  #include <linux/sched.h>
  #include <linux/slab.h>
-@@ -599,8 +598,6 @@ static int octeon_i2c_probe(struct platform_device *pdev)
+@@ -599,8 +598,6 @@ static int octeon_i2c_probe(struct platf
        }
        dev_info(i2c->dev, "version %s\n", DRV_VERSION);
  
@@ -419,8 +381,6 @@ index 956fe320f313..b929ba271b47 100644
        return 0;
  
  out:
-diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
-index 9a844003696b..82741a33d785 100644
 --- a/drivers/i2c/busses/i2c-omap.c
 +++ b/drivers/i2c/busses/i2c-omap.c
 @@ -38,7 +38,6 @@
@@ -431,7 +391,7 @@ index 9a844003696b..82741a33d785 100644
  #include <linux/of_device.h>
  #include <linux/slab.h>
  #include <linux/i2c-omap.h>
-@@ -1245,8 +1244,6 @@ omap_i2c_probe(struct platform_device *pdev)
+@@ -1245,8 +1244,6 @@ omap_i2c_probe(struct platform_device *p
        dev_info(dev->dev, "bus %d rev%d.%d at %d kHz\n", adap->nr,
                 major, minor, dev->speed);
  
@@ -440,8 +400,6 @@ index 9a844003696b..82741a33d785 100644
        pm_runtime_mark_last_busy(dev->dev);
        pm_runtime_put_autosuspend(dev->dev);
  
-diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
-index 5f39c6d8117a..7b57d679ce00 100644
 --- a/drivers/i2c/busses/i2c-pnx.c
 +++ b/drivers/i2c/busses/i2c-pnx.c
 @@ -23,7 +23,6 @@
@@ -452,7 +410,7 @@ index 5f39c6d8117a..7b57d679ce00 100644
  
  #define I2C_PNX_TIMEOUT_DEFAULT               10 /* msec */
  #define I2C_PNX_SPEED_KHZ_DEFAULT     100
-@@ -741,8 +740,6 @@ static int i2c_pnx_probe(struct platform_device *pdev)
+@@ -741,8 +740,6 @@ static int i2c_pnx_probe(struct platform
                goto out_irq;
        }
  
@@ -461,11 +419,9 @@ index 5f39c6d8117a..7b57d679ce00 100644
        dev_dbg(&pdev->dev, "%s: Master at %#8x, irq %d.\n",
                alg_data->adapter.name, res->start, alg_data->irq);
  
-diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c
-index 5a88364a542b..0b97e170e266 100644
 --- a/drivers/i2c/busses/i2c-powermac.c
 +++ b/drivers/i2c/busses/i2c-powermac.c
-@@ -440,7 +440,9 @@ static int i2c_powermac_probe(struct platform_device *dev)
+@@ -440,7 +440,9 @@ static int i2c_powermac_probe(struct pla
        adapter->algo = &i2c_powermac_algorithm;
        i2c_set_adapdata(adapter, bus);
        adapter->dev.parent = &dev->dev;
@@ -476,7 +432,7 @@ index 5a88364a542b..0b97e170e266 100644
        rc = i2c_add_adapter(adapter);
        if (rc) {
                printk(KERN_ERR "i2c-powermac: Adapter %s registration "
-@@ -450,9 +452,8 @@ static int i2c_powermac_probe(struct platform_device *dev)
+@@ -450,9 +452,8 @@ static int i2c_powermac_probe(struct pla
  
        printk(KERN_INFO "PowerMac i2c bus %s registered\n", adapter->name);
  
@@ -488,8 +444,6 @@ index 5a88364a542b..0b97e170e266 100644
        i2c_powermac_register_devices(adapter, bus);
  
        return rc;
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index 5e8e04273b78..fdae3248c204 100644
 --- a/drivers/i2c/busses/i2c-pxa.c
 +++ b/drivers/i2c/busses/i2c-pxa.c
 @@ -31,7 +31,6 @@
@@ -500,7 +454,7 @@ index 5e8e04273b78..fdae3248c204 100644
  #include <linux/platform_device.h>
  #include <linux/err.h>
  #include <linux/clk.h>
-@@ -1185,7 +1184,6 @@ static int i2c_pxa_probe(struct platform_device *dev)
+@@ -1185,7 +1184,6 @@ static int i2c_pxa_probe(struct platform
                printk(KERN_INFO "I2C: Failed to add bus\n");
                goto eadapt;
        }
@@ -508,8 +462,6 @@ index 5e8e04273b78..fdae3248c204 100644
  
        platform_set_drvdata(dev, i2c);
  
-diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
-index 0a077b1ef94f..3535f3c0f7b4 100644
 --- a/drivers/i2c/busses/i2c-s3c2410.c
 +++ b/drivers/i2c/busses/i2c-s3c2410.c
 @@ -36,7 +36,6 @@
@@ -520,7 +472,7 @@ index 0a077b1ef94f..3535f3c0f7b4 100644
  #include <linux/of_gpio.h>
  #include <linux/pinctrl/consumer.h>
  
-@@ -1154,7 +1153,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
+@@ -1154,7 +1153,6 @@ static int s3c24xx_i2c_probe(struct plat
                return ret;
        }
  
@@ -528,8 +480,6 @@ index 0a077b1ef94f..3535f3c0f7b4 100644
        platform_set_drvdata(pdev, i2c);
  
        pm_runtime_enable(&pdev->dev);
-diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
-index 4e86a3190d46..55110ddbed1f 100644
 --- a/drivers/i2c/busses/i2c-sh_mobile.c
 +++ b/drivers/i2c/busses/i2c-sh_mobile.c
 @@ -27,7 +27,6 @@
@@ -540,7 +490,7 @@ index 4e86a3190d46..55110ddbed1f 100644
  #include <linux/err.h>
  #include <linux/pm_runtime.h>
  #include <linux/clk.h>
-@@ -758,7 +757,6 @@ static int sh_mobile_i2c_probe(struct platform_device *dev)
+@@ -758,7 +757,6 @@ static int sh_mobile_i2c_probe(struct pl
                 "I2C adapter %d with bus speed %lu Hz (L/H=%x/%x)\n",
                 adap->nr, pd->bus_speed, pd->iccl, pd->icch);
  
@@ -548,8 +498,6 @@ index 4e86a3190d46..55110ddbed1f 100644
        return 0;
  
   err_all:
-diff --git a/drivers/i2c/busses/i2c-sirf.c b/drivers/i2c/busses/i2c-sirf.c
-index a63c7d506836..0ff22e29e7df 100644
 --- a/drivers/i2c/busses/i2c-sirf.c
 +++ b/drivers/i2c/busses/i2c-sirf.c
 @@ -12,7 +12,6 @@
@@ -560,7 +508,7 @@ index a63c7d506836..0ff22e29e7df 100644
  #include <linux/clk.h>
  #include <linux/err.h>
  #include <linux/io.h>
-@@ -366,8 +365,6 @@ static int i2c_sirfsoc_probe(struct platform_device *pdev)
+@@ -366,8 +365,6 @@ static int i2c_sirfsoc_probe(struct plat
  
        clk_disable(clk);
  
@@ -569,8 +517,6 @@ index a63c7d506836..0ff22e29e7df 100644
        dev_info(&pdev->dev, " I2C adapter ready to operate\n");
  
        return 0;
-diff --git a/drivers/i2c/busses/i2c-stu300.c b/drivers/i2c/busses/i2c-stu300.c
-index 3d4d8b6ced4a..30fb69553545 100644
 --- a/drivers/i2c/busses/i2c-stu300.c
 +++ b/drivers/i2c/busses/i2c-stu300.c
 @@ -17,7 +17,6 @@
@@ -581,7 +527,7 @@ index 3d4d8b6ced4a..30fb69553545 100644
  
  /* the name of this kernel module */
  #define NAME "stu300"
-@@ -936,7 +935,6 @@ stu300_probe(struct platform_device *pdev)
+@@ -936,7 +935,6 @@ stu300_probe(struct platform_device *pde
        platform_set_drvdata(pdev, dev);
        dev_info(&pdev->dev, "ST DDC I2C @ %p, irq %d\n",
                 dev->virtbase, dev->irq);
@@ -589,8 +535,6 @@ index 3d4d8b6ced4a..30fb69553545 100644
  
        return 0;
  }
-diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
-index 9aa1b60f7fdd..c457cb447c66 100644
 --- a/drivers/i2c/busses/i2c-tegra.c
 +++ b/drivers/i2c/busses/i2c-tegra.c
 @@ -25,7 +25,6 @@
@@ -601,7 +545,7 @@ index 9aa1b60f7fdd..c457cb447c66 100644
  #include <linux/of_device.h>
  #include <linux/module.h>
  #include <linux/clk/tegra.h>
-@@ -802,8 +801,6 @@ static int tegra_i2c_probe(struct platform_device *pdev)
+@@ -802,8 +801,6 @@ static int tegra_i2c_probe(struct platfo
                return ret;
        }
  
@@ -610,8 +554,6 @@ index 9aa1b60f7fdd..c457cb447c66 100644
        return 0;
  }
  
-diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
-index f3a8790a07e8..6bb3a89a440f 100644
 --- a/drivers/i2c/busses/i2c-versatile.c
 +++ b/drivers/i2c/busses/i2c-versatile.c
 @@ -16,7 +16,6 @@
@@ -622,7 +564,7 @@ index f3a8790a07e8..6bb3a89a440f 100644
  
  #define I2C_CONTROL   0x00
  #define I2C_CONTROLS  0x00
-@@ -108,7 +107,6 @@ static int i2c_versatile_probe(struct platform_device *dev)
+@@ -108,7 +107,6 @@ static int i2c_versatile_probe(struct pl
        ret = i2c_bit_add_numbered_bus(&i2c->adap);
        if (ret >= 0) {
                platform_set_drvdata(dev, i2c);
@@ -630,8 +572,6 @@ index f3a8790a07e8..6bb3a89a440f 100644
                return 0;
        }
  
-diff --git a/drivers/i2c/busses/i2c-wmt.c b/drivers/i2c/busses/i2c-wmt.c
-index baaa7d15b73e..c65da3d913a0 100644
 --- a/drivers/i2c/busses/i2c-wmt.c
 +++ b/drivers/i2c/busses/i2c-wmt.c
 @@ -21,7 +21,6 @@
@@ -642,7 +582,7 @@ index baaa7d15b73e..c65da3d913a0 100644
  #include <linux/of_irq.h>
  #include <linux/platform_device.h>
  
-@@ -439,8 +438,6 @@ static int wmt_i2c_probe(struct platform_device *pdev)
+@@ -439,8 +438,6 @@ static int wmt_i2c_probe(struct platform
  
        platform_set_drvdata(pdev, i2c_dev);
  
@@ -651,8 +591,6 @@ index baaa7d15b73e..c65da3d913a0 100644
        return 0;
  }
  
-diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
-index 433f377b3869..4c8b368d463b 100644
 --- a/drivers/i2c/busses/i2c-xiic.c
 +++ b/drivers/i2c/busses/i2c-xiic.c
 @@ -40,7 +40,6 @@
@@ -663,7 +601,7 @@ index 433f377b3869..4c8b368d463b 100644
  
  #define DRIVER_NAME "xiic-i2c"
  
-@@ -752,8 +751,6 @@ static int xiic_i2c_probe(struct platform_device *pdev)
+@@ -752,8 +751,6 @@ static int xiic_i2c_probe(struct platfor
                        i2c_new_device(&i2c->adap, pdata->devices + i);
        }
  
@@ -672,8 +610,6 @@ index 433f377b3869..4c8b368d463b 100644
        return 0;
  
  add_adapter_failed:
-diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
-index 48e31ed69dbf..18bdc74fc9ea 100644
 --- a/drivers/i2c/i2c-core.c
 +++ b/drivers/i2c/i2c-core.c
 @@ -23,7 +23,11 @@
@@ -699,7 +635,7 @@ index 48e31ed69dbf..18bdc74fc9ea 100644
  #include <linux/completion.h>
  #include <linux/hardirq.h>
  #include <linux/irqflags.h>
-@@ -954,6 +960,104 @@ static void i2c_scan_static_board_info(struct i2c_adapter *adapter)
+@@ -954,6 +960,104 @@ static void i2c_scan_static_board_info(s
        up_read(&__i2c_board_lock);
  }
  
@@ -804,7 +740,7 @@ index 48e31ed69dbf..18bdc74fc9ea 100644
  static int i2c_do_add_adapter(struct i2c_driver *driver,
                              struct i2c_adapter *adap)
  {
-@@ -1058,6 +1162,8 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
+@@ -1058,6 +1162,8 @@ static int i2c_register_adapter(struct i
  
  exit_recovery:
        /* create pre-declared device nodes */
@@ -813,7 +749,7 @@ index 48e31ed69dbf..18bdc74fc9ea 100644
        if (adap->nr < __i2c_first_dynamic_bus_num)
                i2c_scan_static_board_info(adap);
  
-@@ -1282,7 +1388,6 @@ void i2c_del_adapter(struct i2c_adapter *adap)
+@@ -1282,7 +1388,6 @@ void i2c_del_adapter(struct i2c_adapter
  }
  EXPORT_SYMBOL(i2c_del_adapter);
  
@@ -821,8 +757,6 @@ index 48e31ed69dbf..18bdc74fc9ea 100644
  /* ------------------------------------------------------------------------- */
  
  int i2c_for_each_dev(void *data, int (*fn)(struct device *, void *))
-diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c
-index 7409ebb33c47..797e3117bef7 100644
 --- a/drivers/i2c/i2c-mux.c
 +++ b/drivers/i2c/i2c-mux.c
 @@ -25,7 +25,6 @@
@@ -833,7 +767,7 @@ index 7409ebb33c47..797e3117bef7 100644
  
  /* multiplexer per channel data */
  struct i2c_mux_priv {
-@@ -185,8 +184,6 @@ struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent,
+@@ -185,8 +184,6 @@ struct i2c_adapter *i2c_add_mux_adapter(
        dev_info(&parent->dev, "Added multiplexed i2c bus %d\n",
                 i2c_adapter_id(&priv->adap));
  
@@ -842,8 +776,6 @@ index 7409ebb33c47..797e3117bef7 100644
        return &priv->adap;
  }
  EXPORT_SYMBOL_GPL(i2c_add_mux_adapter);
-diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
-index f7bf24375f81..74b41ae690f3 100644
 --- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
 +++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
 @@ -21,7 +21,6 @@
@@ -854,8 +786,6 @@ index f7bf24375f81..74b41ae690f3 100644
  #include <linux/of_gpio.h>
  #include <linux/platform_device.h>
  #include <linux/slab.h>
-diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
-index 774b9cc4601c..a63d7d21eff7 100644
 --- a/drivers/i2c/muxes/i2c-mux-gpio.c
 +++ b/drivers/i2c/muxes/i2c-mux-gpio.c
 @@ -16,7 +16,6 @@
@@ -866,8 +796,6 @@ index 774b9cc4601c..a63d7d21eff7 100644
  #include <linux/of_gpio.h>
  
  struct gpiomux {
-diff --git a/drivers/i2c/muxes/i2c-mux-pinctrl.c b/drivers/i2c/muxes/i2c-mux-pinctrl.c
-index 0d082027c29a..69a91732ae65 100644
 --- a/drivers/i2c/muxes/i2c-mux-pinctrl.c
 +++ b/drivers/i2c/muxes/i2c-mux-pinctrl.c
 @@ -20,7 +20,6 @@
@@ -878,8 +806,6 @@ index 0d082027c29a..69a91732ae65 100644
  #include <linux/pinctrl/consumer.h>
  #include <linux/i2c-mux-pinctrl.h>
  #include <linux/platform_device.h>
-diff --git a/drivers/media/platform/exynos4-is/fimc-is-i2c.c b/drivers/media/platform/exynos4-is/fimc-is-i2c.c
-index c397777d7cbb..b13ff866b52e 100644
 --- a/drivers/media/platform/exynos4-is/fimc-is-i2c.c
 +++ b/drivers/media/platform/exynos4-is/fimc-is-i2c.c
 @@ -12,7 +12,7 @@
@@ -891,7 +817,7 @@ index c397777d7cbb..b13ff866b52e 100644
  #include <linux/platform_device.h>
  #include <linux/pm_runtime.h>
  #include <linux/slab.h>
-@@ -67,8 +67,6 @@ static int fimc_is_i2c_probe(struct platform_device *pdev)
+@@ -67,8 +67,6 @@ static int fimc_is_i2c_probe(struct plat
        pm_runtime_enable(&pdev->dev);
        pm_runtime_enable(&i2c_adap->dev);
  
@@ -900,8 +826,6 @@ index c397777d7cbb..b13ff866b52e 100644
        return 0;
  }
  
-diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
-index 0741945b79ed..bcd2b78c7b5d 100644
 --- a/drivers/media/platform/exynos4-is/fimc-is.c
 +++ b/drivers/media/platform/exynos4-is/fimc-is.c
 @@ -21,7 +21,7 @@
@@ -913,8 +837,6 @@ index 0741945b79ed..bcd2b78c7b5d 100644
  #include <linux/of_irq.h>
  #include <linux/of_address.h>
  #include <linux/of_platform.h>
-diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c
-index b5b480befcc3..b52f8e269e52 100644
 --- a/drivers/media/platform/exynos4-is/media-dev.c
 +++ b/drivers/media/platform/exynos4-is/media-dev.c
 @@ -20,7 +20,6 @@
@@ -925,8 +847,6 @@ index b5b480befcc3..b52f8e269e52 100644
  #include <linux/platform_device.h>
  #include <linux/pm_runtime.h>
  #include <linux/types.h>
-diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
-index 80e5c13b930d..78cc76053328 100644
 --- a/drivers/of/Kconfig
 +++ b/drivers/of/Kconfig
 @@ -48,12 +48,6 @@ config OF_IRQ
@@ -942,8 +862,6 @@ index 80e5c13b930d..78cc76053328 100644
  config OF_NET
        depends on NETDEVICES
        def_bool y
-diff --git a/drivers/of/Makefile b/drivers/of/Makefile
-index 1f9c0c492ef9..efd05102c405 100644
 --- a/drivers/of/Makefile
 +++ b/drivers/of/Makefile
 @@ -3,7 +3,6 @@ obj-$(CONFIG_OF_FLATTREE) += fdt.o
@@ -954,9 +872,6 @@ index 1f9c0c492ef9..efd05102c405 100644
  obj-$(CONFIG_OF_NET)  += of_net.o
  obj-$(CONFIG_OF_SELFTEST) += selftest.o
  obj-$(CONFIG_OF_MDIO) += of_mdio.o
-diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
-deleted file mode 100644
-index b667264222cc..000000000000
 --- a/drivers/of/of_i2c.c
 +++ /dev/null
 @@ -1,114 +0,0 @@
@@ -1074,8 +989,6 @@ index b667264222cc..000000000000
 -EXPORT_SYMBOL(of_find_i2c_adapter_by_node);
 -
 -MODULE_LICENSE("GPL");
-diff --git a/drivers/staging/imx-drm/imx-tve.c b/drivers/staging/imx-drm/imx-tve.c
-index 42f141eb183d..d83470b50d00 100644
 --- a/drivers/staging/imx-drm/imx-tve.c
 +++ b/drivers/staging/imx-drm/imx-tve.c
 @@ -21,7 +21,7 @@
@@ -1087,11 +1000,9 @@ index 42f141eb183d..d83470b50d00 100644
  #include <linux/regmap.h>
  #include <linux/regulator/consumer.h>
  #include <linux/spinlock.h>
-diff --git a/include/linux/i2c.h b/include/linux/i2c.h
-index e988fa935b3c..21891898ced0 100644
 --- a/include/linux/i2c.h
 +++ b/include/linux/i2c.h
-@@ -542,6 +542,26 @@ static inline int i2c_adapter_id(struct i2c_adapter *adap)
+@@ -542,6 +542,26 @@ static inline int i2c_adapter_id(struct
  
  #endif /* I2C */
  
@@ -1118,9 +1029,6 @@ index e988fa935b3c..21891898ced0 100644
  #if IS_ENABLED(CONFIG_ACPI_I2C)
  extern void acpi_i2c_register_devices(struct i2c_adapter *adap);
  #else
-diff --git a/include/linux/of_i2c.h b/include/linux/of_i2c.h
-deleted file mode 100644
-index cfb545cd86b5..000000000000
 --- a/include/linux/of_i2c.h
 +++ /dev/null
 @@ -1,46 +0,0 @@
@@ -1170,8 +1078,6 @@ index cfb545cd86b5..000000000000
 -#endif /* CONFIG_OF_I2C */
 -
 -#endif /* __LINUX_OF_I2C_H */
-diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c
-index 9584e78858df..ad8c4e18f171 100644
 --- a/sound/soc/fsl/imx-sgtl5000.c
 +++ b/sound/soc/fsl/imx-sgtl5000.c
 @@ -13,7 +13,7 @@
@@ -1183,8 +1089,6 @@ index 9584e78858df..ad8c4e18f171 100644
  #include <linux/clk.h>
  #include <sound/soc.h>
  
-diff --git a/sound/soc/fsl/imx-wm8962.c b/sound/soc/fsl/imx-wm8962.c
-index 1d70e278e915..722afe69169e 100644
 --- a/sound/soc/fsl/imx-wm8962.c
 +++ b/sound/soc/fsl/imx-wm8962.c
 @@ -15,7 +15,7 @@
@@ -1196,6 +1100,3 @@ index 1d70e278e915..722afe69169e 100644
  #include <linux/slab.h>
  #include <linux/clk.h>
  #include <sound/soc.h>
--- 
-1.8.5.rc3
-
index 673bad8dc048fe487f188179c3d52268f531b90d..f957b82dc7244b003b3c1ee64e8b01decadc9cb3 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 @@ -1,7 +1,7 @@
  VERSION = 3
  PATCHLEVEL = 10
- SUBLEVEL = 28
+ SUBLEVEL = 30
 -EXTRAVERSION =
 +EXTRAVERSION = -ltsi
  NAME = TOSSUG Baby Fish
index bebab9d5868099ea75ed30a516c5eea1d9fa2d33..a8715fb0918219220469d2aa3fd5660fda74aba3 100644 (file)
@@ -59,7 +59,7 @@ Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
        mmc_remove_host(host->mmc);
 --- a/drivers/mmc/host/atmel-mci.c
 +++ b/drivers/mmc/host/atmel-mci.c
-@@ -2484,8 +2484,6 @@ static int __exit atmci_remove(struct pl
+@@ -2495,8 +2495,6 @@ static int __exit atmci_remove(struct pl
        struct atmel_mci        *host = platform_get_drvdata(pdev);
        unsigned int            i;
  
index 4ac7dbe898fdc897d2a58a44b172051111a77316..bc5213ae582e88b72ab68950853970d96db8d2e7 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp>
 
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -736,6 +736,15 @@ config I2C_WMT
+@@ -737,6 +737,15 @@ config I2C_WMT
          This driver can also be built as a module. If so, the module will be
          called i2c-wmt.
  
index bef62e715c2b0790df72f6d3ba8bbaad8f697c07..4686f90509c8fab0103b932cd60cc6eba92a099c 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp>
        default y if MACH_LOONGSON1
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -1685,7 +1685,11 @@ static int hub_probe(struct usb_interfac
+@@ -1689,7 +1689,11 @@ static int hub_probe(struct usb_interfac
        pm_runtime_set_autosuspend_delay(&hdev->dev, 0);
  
        /* Hubs have proper suspend/resume support. */