diff --git a/0001-Revert-epoll-use-freezable-blocking-call.patch b/0001-Revert-epoll-use-freezable-blocking-call.patch deleted file mode 100644 index eda58ee..0000000 --- a/0001-Revert-epoll-use-freezable-blocking-call.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c511851de162e8ec03d62e7d7feecbdf590d881d Mon Sep 17 00:00:00 2001 -From: "Rafael J. Wysocki" -Date: Tue, 29 Oct 2013 13:12:56 +0100 -Subject: [PATCH] Revert "epoll: use freezable blocking call" - -This reverts commit 1c441e921201 (epoll: use freezable blocking call) -which is reported to cause user space memory corruption to happen -after suspend to RAM. - -Since it appears to be extremely difficult to root cause this -problem, it is best to revert the offending commit and try to address -the original issue in a better way later. - -References: https://bugzilla.kernel.org/show_bug.cgi?id=61781 -Reported-by: Natrio -Reported-by: Jeff Pohlmeyer -Bisected-by: Leo Wolf -Fixes: 1c441e921201 (epoll: use freezable blocking call) -Signed-off-by: Rafael J. Wysocki -Cc: 3.11+ # 3.11+ ---- - fs/eventpoll.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/fs/eventpoll.c b/fs/eventpoll.c -index 473e09d..810c28f 100644 ---- a/fs/eventpoll.c -+++ b/fs/eventpoll.c -@@ -34,7 +34,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -1605,8 +1604,7 @@ fetch_events: - } - - spin_unlock_irqrestore(&ep->lock, flags); -- if (!freezable_schedule_hrtimeout_range(to, slack, -- HRTIMER_MODE_ABS)) -+ if (!schedule_hrtimeout_range(to, slack, HRTIMER_MODE_ABS)) - timed_out = 1; - - spin_lock_irqsave(&ep->lock, flags); --- -1.8.3.1 - diff --git a/0001-Revert-select-use-freezable-blocking-call.patch b/0001-Revert-select-use-freezable-blocking-call.patch deleted file mode 100644 index 0ab5152..0000000 --- a/0001-Revert-select-use-freezable-blocking-call.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 59612d187912750f416fbffe0c00bc0811c54ab5 Mon Sep 17 00:00:00 2001 -From: "Rafael J. Wysocki" -Date: Tue, 29 Oct 2013 23:43:08 +0100 -Subject: [PATCH] Revert "select: use freezable blocking call" - -This reverts commit 9745cdb36da8 (select: use freezable blocking call) -that triggers problems during resume from suspend to RAM on Paul Bolle's -32-bit x86 machines. Paul says: - - Ever since I tried running (release candidates of) v3.11 on the two - working i686s I still have lying around I ran into issues on resuming - from suspend. Reverting 9745cdb36da8 (select: use freezable blocking - call) resolves those issues. - - Resuming from suspend on i686 on (release candidates of) v3.11 and - later triggers issues like: - - traps: systemd[1] general protection ip:b738e490 sp:bf882fc0 error:0 in libc-2.16.so[b731c000+1b0000] - - and - - traps: rtkit-daemon[552] general protection ip:804d6e5 sp:b6cb32f0 error:0 in rtkit-daemon[8048000+d000] - - Once I hit the systemd error I can only get out of the mess that the - system is at that point by power cycling it. - -Since we are reverting another freezer-related change causing similar -problems to happen, this one should be reverted as well. - -References: https://lkml.org/lkml/2013/10/29/583 -Reported-by: Paul Bolle -Fixes: 9745cdb36da8 (select: use freezable blocking call) -Signed-off-by: Rafael J. Wysocki -Cc: 3.11+ # 3.11+ ---- - fs/select.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/fs/select.c b/fs/select.c -index 35d4adc7..dfd5cb1 100644 ---- a/fs/select.c -+++ b/fs/select.c -@@ -238,8 +238,7 @@ int poll_schedule_timeout(struct poll_wqueues *pwq, int state, - - set_current_state(state); - if (!pwq->triggered) -- rc = freezable_schedule_hrtimeout_range(expires, slack, -- HRTIMER_MODE_ABS); -+ rc = schedule_hrtimeout_range(expires, slack, HRTIMER_MODE_ABS); - __set_current_state(TASK_RUNNING); - - /* --- -1.8.3.1 - diff --git a/Revert-rt2x00pci-Use-PCI-MSIs-whenever-possible.patch b/Revert-rt2x00pci-Use-PCI-MSIs-whenever-possible.patch deleted file mode 100644 index 4e48620..0000000 --- a/Revert-rt2x00pci-Use-PCI-MSIs-whenever-possible.patch +++ /dev/null @@ -1,59 +0,0 @@ -This reverts commit 9483f40d8d01918b399b4e24d0c1111db0afffeb. - -Some devices stop to connect with above commit, see: -https://bugzilla.kernel.org/show_bug.cgi?id=61621 - -Since there is no clear benefit of having MSI enabled, just revert -change to fix the problem. - -Cc: stable@vger.kernel.org # 3.11+ -Signed-off-by: Stanislaw Gruszka ---- - drivers/net/wireless/rt2x00/rt2x00pci.c | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c -index 76d95de..dc49e52 100644 ---- a/drivers/net/wireless/rt2x00/rt2x00pci.c -+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c -@@ -105,13 +105,11 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops) - goto exit_release_regions; - } - -- pci_enable_msi(pci_dev); -- - hw = ieee80211_alloc_hw(sizeof(struct rt2x00_dev), ops->hw); - if (!hw) { - rt2x00_probe_err("Failed to allocate hardware\n"); - retval = -ENOMEM; -- goto exit_disable_msi; -+ goto exit_release_regions; - } - - pci_set_drvdata(pci_dev, hw); -@@ -152,9 +150,6 @@ exit_free_reg: - exit_free_device: - ieee80211_free_hw(hw); - --exit_disable_msi: -- pci_disable_msi(pci_dev); -- - exit_release_regions: - pci_release_regions(pci_dev); - -@@ -179,8 +174,6 @@ void rt2x00pci_remove(struct pci_dev *pci_dev) - rt2x00pci_free_reg(rt2x00dev); - ieee80211_free_hw(hw); - -- pci_disable_msi(pci_dev); -- - /* - * Free the PCI device data. - */ --- -1.8.3.1 - --- -To unsubscribe from this list: send the line "unsubscribe linux-wireless" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file diff --git a/fix-buslogic.patch b/fix-buslogic.patch deleted file mode 100644 index 0862d00..0000000 --- a/fix-buslogic.patch +++ /dev/null @@ -1,121 +0,0 @@ -This fixes an oops caused by buslogic driver when initializing a BusLogic -MultiMaster adapter. Initialization code used scope of a variable -incorrectly which created a NULL pointer. Oops message is below: - -BUG: unable to handle kernel NULL pointer dereference at 0000000c -IP: [] blogic_init_mm_probeinfo.isra.17+0x20a/0x583 -*pde = 00000000 -Oops: 002 [#1] PREEMPT SMP -Modules linked in: -CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.11.1.puz1 #1 -Hardware name: /Canterwood, BIOS 6.00 PG 05/16/2003 -task: f7050000 ti: f7054000 task.ti: f7054000 -EIP: 0060:[] EFLAGS: 00010246 CPU:1 -EIP is at blogic_init_mm_probeinfo.isra.17+0x20a/0x583 -EAX: 00000013 EBX: 00000000 ECX: 00000000 EDX: f8001000 -ESI: f71cb800 EDI: f7388000 EBP: 00007800 ESP: f7055c84 - DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 -CR0: 8005003b CR2: 0000000c CR3: 0154f000 CR4: 000007d0 -Stack: - 0000001c 00000000 c11a59f6 f7055c98 00008130 ffffffff ffffffff 00000000 - 00000003 00000000 00000000 00000000 00000013 f8001000 00000001 000003d0 - 00000000 00000000 00000000 c14e3f84 f78803c8 00000000 f738c000 000000e9 -Call Trace: - [] ? pci_get_subsys+0x33/0x38 - [] ? blogic_init_probeinfo_list+0x4b/0x19e - [] ? __alloc_pages_nodemask+0xe3/0x623 - [] ? __alloc_pages_nodemask+0xe3/0x623 - [] ? sysfs_link_sibling+0x61/0x8d - [] ? kmem_cache_alloc+0x8b/0xb5 - [] ? blogic_init+0xa1/0x10e8 - [] ? sysfs_add_one+0x10/0x9d - [] ? sysfs_addrm_finish+0x12/0x85 - [] ? sysfs_do_create_link_sd+0x9d/0x1b4 - [] ? blk_register_queue+0x69/0xb3 - [] ? sysfs_create_link+0x1a/0x2c - [] ? add_disk+0x1a1/0x3c7 - [] ? klist_next+0x60/0xc3 - [] ? scsi_dh_detach+0x68/0x68 - [] ? bus_for_each_dev+0x51/0x61 - [] ? do_one_initcall+0x22/0x12c - [] ? __proc_create+0x8c/0xba - [] ? blogic_setup+0x5f6/0x5f6 - [] ? repair_env_string+0xf/0x4d - [] ? do_early_param+0x71/0x71 - [] ? parse_args+0x21f/0x33d - [] ? kernel_init_freeable+0xdf/0x17d - [] ? do_early_param+0x71/0x71 - [] ? kernel_init+0x8/0xc0 - [] ? ret_from_kernel_thread+0x6/0x28 - [] ? ret_from_kernel_thread+0x1b/0x28 - [] ? rest_init+0x6c/0x6c -Code: 89 44 24 10 0f b6 44 24 3d 89 44 24 0c c7 44 24 08 00 00 00 00 c7 44 24 04 38 62 46 c1 c7 04 24 02 00 00 00 e8 78 13 d2 ff 31 db <89> 6b 0c b0 20 89 ea ee - c7 44 24 08 04 00 00 00 8d 44 24 4c 89 -EIP: [] blogic_init_mm_probeinfo.isra.17+0x20a/0x583 SS:ESP 0068:f7055c84 -CR2: 000000000000000c ----[ end trace 17f45f5196d40487 ]--- -Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 - -Signed-off-by: Khalid Aziz -Cc: # 3.11.x -Cc: Khalid Aziz -Reported-by: Pierre Uszynski -Tested-by: Pierre Uszynski ---- - drivers/scsi/BusLogic.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c -index feab3a5..757eb07 100644 ---- a/drivers/scsi/BusLogic.c -+++ b/drivers/scsi/BusLogic.c -@@ -696,7 +696,7 @@ static int __init blogic_init_mm_probeinfo(struct blogic_adapter *adapter) - while ((pci_device = pci_get_device(PCI_VENDOR_ID_BUSLOGIC, - PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER, - pci_device)) != NULL) { -- struct blogic_adapter *adapter = adapter; -+ struct blogic_adapter *host_adapter = adapter; - struct blogic_adapter_info adapter_info; - enum blogic_isa_ioport mod_ioaddr_req; - unsigned char bus; -@@ -744,9 +744,9 @@ static int __init blogic_init_mm_probeinfo(struct blogic_adapter *adapter) - known and enabled, note that the particular Standard ISA I/O - Address should not be probed. - */ -- adapter->io_addr = io_addr; -- blogic_intreset(adapter); -- if (blogic_cmd(adapter, BLOGIC_INQ_PCI_INFO, NULL, 0, -+ host_adapter->io_addr = io_addr; -+ blogic_intreset(host_adapter); -+ if (blogic_cmd(host_adapter, BLOGIC_INQ_PCI_INFO, NULL, 0, - &adapter_info, sizeof(adapter_info)) == - sizeof(adapter_info)) { - if (adapter_info.isa_port < 6) -@@ -762,7 +762,7 @@ static int __init blogic_init_mm_probeinfo(struct blogic_adapter *adapter) - I/O Address assigned at system initialization. - */ - mod_ioaddr_req = BLOGIC_IO_DISABLE; -- blogic_cmd(adapter, BLOGIC_MOD_IOADDR, &mod_ioaddr_req, -+ blogic_cmd(host_adapter, BLOGIC_MOD_IOADDR, &mod_ioaddr_req, - sizeof(mod_ioaddr_req), NULL, 0); - /* - For the first MultiMaster Host Adapter enumerated, -@@ -779,12 +779,12 @@ static int __init blogic_init_mm_probeinfo(struct blogic_adapter *adapter) - - fetch_localram.offset = BLOGIC_AUTOSCSI_BASE + 45; - fetch_localram.count = sizeof(autoscsi_byte45); -- blogic_cmd(adapter, BLOGIC_FETCH_LOCALRAM, -+ blogic_cmd(host_adapter, BLOGIC_FETCH_LOCALRAM, - &fetch_localram, sizeof(fetch_localram), - &autoscsi_byte45, - sizeof(autoscsi_byte45)); -- blogic_cmd(adapter, BLOGIC_GET_BOARD_ID, NULL, 0, &id, -- sizeof(id)); -+ blogic_cmd(host_adapter, BLOGIC_GET_BOARD_ID, NULL, 0, -+ &id, sizeof(id)); - if (id.fw_ver_digit1 == '5') - force_scan_order = - autoscsi_byte45.force_scan_order; --- -1.7.10.4 - diff --git a/intel-3.12-stable-fixes.patch b/intel-3.12-stable-fixes.patch index 3533542..24a80dc 100644 --- a/intel-3.12-stable-fixes.patch +++ b/intel-3.12-stable-fixes.patch @@ -1,254 +1,3 @@ -From 39bb622a9804de9fa51cae31f07104a19067483a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= -Date: Mon, 21 Oct 2013 10:52:06 +0300 -Subject: [PATCH 1/5] drm/i915: Add support for pipe_bpp readout -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On CTG+ read out the pipe bpp setting from hardware and fill it into -pipe config. Also check it appropriately. - -v2: Don't do the pipe_bpp extraction inside the PCH only code block on - ILK+. - Avoid the PIPECONF read as we already have read it for the - PIPECONF_EANBLE check. - -Note: This is already in drm-intel-next-queued as -commit 42571aefafb1d330ef84eb29418832f72e7dfb4c -Author: Ville Syrjälä -Date: Fri Sep 6 23:29:00 2013 +0300 - - drm/i915: Add support for pipe_bpp readout - -but is needed for the following bugfix. - -Signed-off-by: Ville Syrjälä -Reviewed-by: Jani Nikula -Cc: stable@vger.kernel.org -Signed-off-by: Daniel Vetter ---- - drivers/gpu/drm/i915/intel_ddi.c | 17 +++++++++++++++++ - drivers/gpu/drm/i915/intel_display.c | 36 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 53 insertions(+) - -diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c -index b042ee5..83e413b 100644 ---- a/drivers/gpu/drm/i915/intel_ddi.c -+++ b/drivers/gpu/drm/i915/intel_ddi.c -@@ -1280,6 +1280,23 @@ static void intel_ddi_get_config(struct intel_encoder *encoder, - flags |= DRM_MODE_FLAG_NVSYNC; - - pipe_config->adjusted_mode.flags |= flags; -+ -+ switch (temp & TRANS_DDI_BPC_MASK) { -+ case TRANS_DDI_BPC_6: -+ pipe_config->pipe_bpp = 18; -+ break; -+ case TRANS_DDI_BPC_8: -+ pipe_config->pipe_bpp = 24; -+ break; -+ case TRANS_DDI_BPC_10: -+ pipe_config->pipe_bpp = 30; -+ break; -+ case TRANS_DDI_BPC_12: -+ pipe_config->pipe_bpp = 36; -+ break; -+ default: -+ break; -+ } - } - - static void intel_ddi_destroy(struct drm_encoder *encoder) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 90a7c17..4aaccd3 100644 ---- a/drivers/gpu/drm/i915/intel_display.c -+++ b/drivers/gpu/drm/i915/intel_display.c -@@ -4943,6 +4943,22 @@ static bool i9xx_get_pipe_config(struct intel_crtc *crtc, - if (!(tmp & PIPECONF_ENABLE)) - return false; - -+ if (IS_G4X(dev) || IS_VALLEYVIEW(dev)) { -+ switch (tmp & PIPECONF_BPC_MASK) { -+ case PIPECONF_6BPC: -+ pipe_config->pipe_bpp = 18; -+ break; -+ case PIPECONF_8BPC: -+ pipe_config->pipe_bpp = 24; -+ break; -+ case PIPECONF_10BPC: -+ pipe_config->pipe_bpp = 30; -+ break; -+ default: -+ break; -+ } -+ } -+ - intel_get_pipe_timings(crtc, pipe_config); - - i9xx_get_pfit_config(crtc, pipe_config); -@@ -5821,6 +5837,23 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc, - if (!(tmp & PIPECONF_ENABLE)) - return false; - -+ switch (tmp & PIPECONF_BPC_MASK) { -+ case PIPECONF_6BPC: -+ pipe_config->pipe_bpp = 18; -+ break; -+ case PIPECONF_8BPC: -+ pipe_config->pipe_bpp = 24; -+ break; -+ case PIPECONF_10BPC: -+ pipe_config->pipe_bpp = 30; -+ break; -+ case PIPECONF_12BPC: -+ pipe_config->pipe_bpp = 36; -+ break; -+ default: -+ break; -+ } -+ - if (I915_READ(PCH_TRANSCONF(crtc->pipe)) & TRANS_ENABLE) { - struct intel_shared_dpll *pll; - -@@ -8147,6 +8180,9 @@ intel_pipe_config_compare(struct drm_device *dev, - PIPE_CONF_CHECK_X(dpll_hw_state.fp0); - PIPE_CONF_CHECK_X(dpll_hw_state.fp1); - -+ if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5) -+ PIPE_CONF_CHECK_I(pipe_bpp); -+ - #undef PIPE_CONF_CHECK_X - #undef PIPE_CONF_CHECK_I - #undef PIPE_CONF_CHECK_FLAGS --- -1.8.3.1 - - -From b59da942a708f7cf1c421a7cb666f98fd8172208 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= -Date: Tue, 24 Sep 2013 14:24:05 +0300 -Subject: [PATCH 2/5] drm/i915: Add HSW CRT output readout support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Call intel_ddi_get_config() to get the pipe_bpp settings from -DDI. - -The sync polarity settings from DDI are irrelevant for CRT -output, so override them with data from the ADPA register. - -Note: This is already merged in drm-intel-next-queued as - -commit 6801c18c0a43386bb44712cbc028a7e05adb9f0d -Author: Ville Syrjälä -Date: Tue Sep 24 14:24:05 2013 +0300 - - drm/i915: Add HSW CRT output readout support - -but is required for the following edp bpp bugfix. - -v2: Extract intel_crt_get_flags() - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69691 -Tested-by: Qingshuai Tian -Signed-off-by: Ville Syrjälä -Cc: stable@vger.kernel.org -Signed-off-by: Daniel Vetter ---- - drivers/gpu/drm/i915/intel_crt.c | 30 ++++++++++++++++++++++++++---- - drivers/gpu/drm/i915/intel_ddi.c | 4 ++-- - drivers/gpu/drm/i915/intel_drv.h | 2 ++ - 3 files changed, 30 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c -index 3acec8c..6aa6ebd 100644 ---- a/drivers/gpu/drm/i915/intel_crt.c -+++ b/drivers/gpu/drm/i915/intel_crt.c -@@ -84,8 +84,7 @@ static bool intel_crt_get_hw_state(struct intel_encoder *encoder, - return true; - } - --static void intel_crt_get_config(struct intel_encoder *encoder, -- struct intel_crtc_config *pipe_config) -+static unsigned int intel_crt_get_flags(struct intel_encoder *encoder) - { - struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; - struct intel_crt *crt = intel_encoder_to_crt(encoder); -@@ -103,7 +102,27 @@ static void intel_crt_get_config(struct intel_encoder *encoder, - else - flags |= DRM_MODE_FLAG_NVSYNC; - -- pipe_config->adjusted_mode.flags |= flags; -+ return flags; -+} -+ -+static void intel_crt_get_config(struct intel_encoder *encoder, -+ struct intel_crtc_config *pipe_config) -+{ -+ struct drm_device *dev = encoder->base.dev; -+ -+ pipe_config->adjusted_mode.flags |= intel_crt_get_flags(encoder); -+} -+ -+static void hsw_crt_get_config(struct intel_encoder *encoder, -+ struct intel_crtc_config *pipe_config) -+{ -+ intel_ddi_get_config(encoder, pipe_config); -+ -+ pipe_config->adjusted_mode.flags &= ~(DRM_MODE_FLAG_PHSYNC | -+ DRM_MODE_FLAG_NHSYNC | -+ DRM_MODE_FLAG_PVSYNC | -+ DRM_MODE_FLAG_NVSYNC); -+ pipe_config->adjusted_mode.flags |= intel_crt_get_flags(encoder); - } - - /* Note: The caller is required to filter out dpms modes not supported by the -@@ -802,7 +821,10 @@ void intel_crt_init(struct drm_device *dev) - crt->base.compute_config = intel_crt_compute_config; - crt->base.disable = intel_disable_crt; - crt->base.enable = intel_enable_crt; -- crt->base.get_config = intel_crt_get_config; -+ if (IS_HASWELL(dev)) -+ crt->base.get_config = hsw_crt_get_config; -+ else -+ crt->base.get_config = intel_crt_get_config; - if (I915_HAS_HOTPLUG(dev)) - crt->base.hpd_pin = HPD_CRT; - if (HAS_DDI(dev)) -diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c -index 83e413b..5a6368d 100644 ---- a/drivers/gpu/drm/i915/intel_ddi.c -+++ b/drivers/gpu/drm/i915/intel_ddi.c -@@ -1261,8 +1261,8 @@ static void intel_ddi_hot_plug(struct intel_encoder *intel_encoder) - intel_dp_check_link_status(intel_dp); - } - --static void intel_ddi_get_config(struct intel_encoder *encoder, -- struct intel_crtc_config *pipe_config) -+void intel_ddi_get_config(struct intel_encoder *encoder, -+ struct intel_crtc_config *pipe_config) - { - struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; - struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index b7d6e09..ddf7e2f 100644 ---- a/drivers/gpu/drm/i915/intel_drv.h -+++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -816,6 +816,8 @@ extern void intel_ddi_prepare_link_retrain(struct drm_encoder *encoder); - extern bool - intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector); - extern void intel_ddi_fdi_disable(struct drm_crtc *crtc); -+extern void intel_ddi_get_config(struct intel_encoder *encoder, -+ struct intel_crtc_config *pipe_config); - - extern void intel_display_handle_reset(struct drm_device *dev); - extern bool intel_set_cpu_fifo_underrun_reporting(struct drm_device *dev, --- -1.8.3.1 - - From 92c64493f41092185230c552c277b42bf6113140 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Mon, 21 Oct 2013 10:52:07 +0300 @@ -335,240 +84,3 @@ index 3aed1fe..07eb447 100644 static void intel_disable_dp(struct intel_encoder *encoder) -- 1.8.3.1 - - -From 1e5ec9a5628cfd23443a91f80dea2118efb21afd Mon Sep 17 00:00:00 2001 -From: Rob Pearce -Date: Sun, 27 Oct 2013 16:13:42 +0000 -Subject: [PATCH 4/5] drm/i915: No LVDS hardware on Intel D410PT and D425KT - -The Intel D410PT(LW) and D425KT Mini-ITX desktop boards both show up as -having LVDS but the hardware is not populated. This patch adds them to -the list of such systems. Patch is against 3.11.4 - -v2: Patch revised to match the D425KT exactly as the D425KTW does have -LVDS. According to Intel's documentation, the D410PTL and D410PLTW -don't. - -Signed-off-by: Rob Pearce -Cc: stable@vger.kernel.org -[danvet: Pimp commit message to my liking and add cc: stable.] -Signed-off-by: Daniel Vetter ---- - drivers/gpu/drm/i915/intel_lvds.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c -index 61348ea..44533dd 100644 ---- a/drivers/gpu/drm/i915/intel_lvds.c -+++ b/drivers/gpu/drm/i915/intel_lvds.c -@@ -696,6 +696,22 @@ static const struct dmi_system_id intel_no_lvds[] = { - }, - { - .callback = intel_no_lvds_dmi_callback, -+ .ident = "Intel D410PT", -+ .matches = { -+ DMI_MATCH(DMI_BOARD_VENDOR, "Intel"), -+ DMI_MATCH(DMI_BOARD_NAME, "D410PT"), -+ }, -+ }, -+ { -+ .callback = intel_no_lvds_dmi_callback, -+ .ident = "Intel D425KT", -+ .matches = { -+ DMI_MATCH(DMI_BOARD_VENDOR, "Intel"), -+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "D425KT"), -+ }, -+ }, -+ { -+ .callback = intel_no_lvds_dmi_callback, - .ident = "Intel D510MO", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "Intel"), --- -1.8.3.1 - - -From 239319357b4a2d085e5f5c27b46aab5f612c5036 Mon Sep 17 00:00:00 2001 -From: Daniel Vetter -Date: Tue, 29 Oct 2013 12:04:08 +0100 -Subject: [PATCH 5/5] drm/i915: Fix the PPT fdi lane bifurcate state handling - on ivb -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Originally I've thought that this is leftover hw state dirt from the -BIOS. But after way too much helpless flailing around on my part I've -noticed that the actual bug is when we change the state of an already -active pipe. - -For example when we change the fdi lines from 2 to 3 without switching -off outputs in-between we'll never see the crucial on->off transition -in the ->modeset_global_resources hook the current logic relies on. - -Patch version 2 got this right by instead also checking whether the -pipe is indeed active. But that in turn broke things when pipes have -been turned off through dpms since the bifurcate enabling is done in -the ->crtc_mode_set callback. - -To address this issues discussed with Ville in the patch review move -the setting of the bifurcate bit into the ->crtc_enable hook. That way -we won't wreak havoc with this state when userspace puts all other -outputs into dpms off state. This also moves us forward with our -overall goal to unify the modeset and dpms on paths (which we need to -have to allow runtime pm in the dpms off state). - -Unfortunately this requires us to move the bifurcate helpers around a -bit. - -Also update the commit message, I've misanalyzed the bug rather badly. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70507 -Tested-by: Jan-Michael Brummer -Cc: stable@vger.kernel.org -Cc: Ville Syrjälä -Reviewed-by: Ville Syrjälä -Signed-off-by: Daniel Vetter ---- - drivers/gpu/drm/i915/intel_display.c | 95 ++++++++++++++++++------------------ - 1 file changed, 48 insertions(+), 47 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 4aaccd3..ad2a258 100644 ---- a/drivers/gpu/drm/i915/intel_display.c -+++ b/drivers/gpu/drm/i915/intel_display.c -@@ -2251,9 +2251,10 @@ static void intel_fdi_normal_train(struct drm_crtc *crtc) - FDI_FE_ERRC_ENABLE); - } - --static bool pipe_has_enabled_pch(struct intel_crtc *intel_crtc) -+static bool pipe_has_enabled_pch(struct intel_crtc *crtc) - { -- return intel_crtc->base.enabled && intel_crtc->config.has_pch_encoder; -+ return crtc->base.enabled && crtc->active && -+ crtc->config.has_pch_encoder; - } - - static void ivb_modeset_global_resources(struct drm_device *dev) -@@ -2901,6 +2902,48 @@ static void ironlake_pch_transcoder_set_timings(struct intel_crtc *crtc, - I915_READ(VSYNCSHIFT(cpu_transcoder))); - } - -+static void cpt_enable_fdi_bc_bifurcation(struct drm_device *dev) -+{ -+ struct drm_i915_private *dev_priv = dev->dev_private; -+ uint32_t temp; -+ -+ temp = I915_READ(SOUTH_CHICKEN1); -+ if (temp & FDI_BC_BIFURCATION_SELECT) -+ return; -+ -+ WARN_ON(I915_READ(FDI_RX_CTL(PIPE_B)) & FDI_RX_ENABLE); -+ WARN_ON(I915_READ(FDI_RX_CTL(PIPE_C)) & FDI_RX_ENABLE); -+ -+ temp |= FDI_BC_BIFURCATION_SELECT; -+ DRM_DEBUG_KMS("enabling fdi C rx\n"); -+ I915_WRITE(SOUTH_CHICKEN1, temp); -+ POSTING_READ(SOUTH_CHICKEN1); -+} -+ -+static void ivybridge_update_fdi_bc_bifurcation(struct intel_crtc *intel_crtc) -+{ -+ struct drm_device *dev = intel_crtc->base.dev; -+ struct drm_i915_private *dev_priv = dev->dev_private; -+ -+ switch (intel_crtc->pipe) { -+ case PIPE_A: -+ break; -+ case PIPE_B: -+ if (intel_crtc->config.fdi_lanes > 2) -+ WARN_ON(I915_READ(SOUTH_CHICKEN1) & FDI_BC_BIFURCATION_SELECT); -+ else -+ cpt_enable_fdi_bc_bifurcation(dev); -+ -+ break; -+ case PIPE_C: -+ cpt_enable_fdi_bc_bifurcation(dev); -+ -+ break; -+ default: -+ BUG(); -+ } -+} -+ - /* - * Enable PCH resources required for PCH ports: - * - PCH PLLs -@@ -2919,6 +2962,9 @@ static void ironlake_pch_enable(struct drm_crtc *crtc) - - assert_pch_transcoder_disabled(dev_priv, pipe); - -+ if (IS_IVYBRIDGE(dev)) -+ ivybridge_update_fdi_bc_bifurcation(intel_crtc); -+ - /* Write the TU size bits before fdi link training, so that error - * detection works. */ - I915_WRITE(FDI_RX_TUSIZE1(pipe), -@@ -5512,48 +5558,6 @@ static bool ironlake_compute_clocks(struct drm_crtc *crtc, - return true; - } - --static void cpt_enable_fdi_bc_bifurcation(struct drm_device *dev) --{ -- struct drm_i915_private *dev_priv = dev->dev_private; -- uint32_t temp; -- -- temp = I915_READ(SOUTH_CHICKEN1); -- if (temp & FDI_BC_BIFURCATION_SELECT) -- return; -- -- WARN_ON(I915_READ(FDI_RX_CTL(PIPE_B)) & FDI_RX_ENABLE); -- WARN_ON(I915_READ(FDI_RX_CTL(PIPE_C)) & FDI_RX_ENABLE); -- -- temp |= FDI_BC_BIFURCATION_SELECT; -- DRM_DEBUG_KMS("enabling fdi C rx\n"); -- I915_WRITE(SOUTH_CHICKEN1, temp); -- POSTING_READ(SOUTH_CHICKEN1); --} -- --static void ivybridge_update_fdi_bc_bifurcation(struct intel_crtc *intel_crtc) --{ -- struct drm_device *dev = intel_crtc->base.dev; -- struct drm_i915_private *dev_priv = dev->dev_private; -- -- switch (intel_crtc->pipe) { -- case PIPE_A: -- break; -- case PIPE_B: -- if (intel_crtc->config.fdi_lanes > 2) -- WARN_ON(I915_READ(SOUTH_CHICKEN1) & FDI_BC_BIFURCATION_SELECT); -- else -- cpt_enable_fdi_bc_bifurcation(dev); -- -- break; -- case PIPE_C: -- cpt_enable_fdi_bc_bifurcation(dev); -- -- break; -- default: -- BUG(); -- } --} -- - int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp) - { - /* -@@ -5768,9 +5772,6 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc, - &intel_crtc->config.fdi_m_n); - } - -- if (IS_IVYBRIDGE(dev)) -- ivybridge_update_fdi_bc_bifurcation(intel_crtc); -- - ironlake_set_pipeconf(crtc); - - /* Set up the display plane register */ --- -1.8.3.1 - diff --git a/kernel.spec b/kernel.spec index eba97f3..bf2d4ec 100644 --- a/kernel.spec +++ b/kernel.spec @@ -74,7 +74,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 7 +%define stable_update 8 # Is it a -stable RC? %define stable_rc 0 # Set rpm version accordingly @@ -742,9 +742,6 @@ Patch25106: bonding-driver-alb-learning.patch #rhbz 985522 Patch25107: ntp-Make-periodic-RTC-update-more-reliable.patch -#rhbz 1010431 -Patch25108: Revert-rt2x00pci-Use-PCI-MSIs-whenever-possible.patch - #rhbz 902012 Patch25114: elevator-Fix-a-race-in-elevator-switching-and-md.patch Patch25115: elevator-acquire-q-sysfs_lock-in-elevator_change.patch @@ -780,9 +777,6 @@ Patch25131: btrfs-relocate-csums-properly-with-prealloc-ext.patch #rhbz 984696 Patch25132: rt2800usb-slow-down-TX-status-polling.patch -#rhbz 1015558 -Patch25133: fix-buslogic.patch - #rhbz 1023413 Patch25135: alps-Support-for-Dell-XT2-model.patch @@ -795,10 +789,6 @@ Patch25138: intel-3.12-stable-fixes.patch #CVE-2013-4348 rhbz 1007939 1025647 Patch25139: net-flow_dissector-fail-on-evil-iph-ihl.patch -#rhbz 1010603 -Patch25140: 0001-Revert-epoll-use-freezable-blocking-call.patch -Patch25141: 0001-Revert-select-use-freezable-blocking-call.patch - #rhbz 1025769 Patch25142: iwlwifi-dvm-dont-override-mac80211-queue-setting.patch @@ -1482,9 +1472,6 @@ ApplyPatch ansi_cprng-Fix-off-by-one-error-in-non-block-size-request.patch #rhbz 985522 ApplyPatch ntp-Make-periodic-RTC-update-more-reliable.patch -#rhbz 1010431 -ApplyPatch Revert-rt2x00pci-Use-PCI-MSIs-whenever-possible.patch - #rhbz 971893 ApplyPatch bonding-driver-alb-learning.patch @@ -1523,9 +1510,6 @@ ApplyPatch btrfs-relocate-csums-properly-with-prealloc-ext.patch #rhbz 984696 ApplyPatch rt2800usb-slow-down-TX-status-polling.patch -#rhbz 1015558 -ApplyPatch fix-buslogic.patch - #rhbz 1023413 ApplyPatch alps-Support-for-Dell-XT2-model.patch @@ -1538,10 +1522,6 @@ ApplyPatch intel-3.12-stable-fixes.patch #CVE-2013-4348 rhbz 1007939 1025647 ApplyPatch net-flow_dissector-fail-on-evil-iph-ihl.patch -#rhbz 1010603 -ApplyPatch 0001-Revert-epoll-use-freezable-blocking-call.patch -ApplyPatch 0001-Revert-select-use-freezable-blocking-call.patch - #rhbz 1025769 ApplyPatch iwlwifi-dvm-dont-override-mac80211-queue-setting.patch @@ -2390,6 +2370,9 @@ fi # ||----w | # || || %changelog +* Wed Nov 13 2013 Justin M. Forbes - 3.11.8-100 +- Linux v3.11.8 + * Sat Nov 09 2013 Josh Boyer - Add patch from Daniel Stone to avoid high order allocations in evdev - Add qxl backport fixes from Dave Airlie diff --git a/sources b/sources index 585450e..4a81743 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ fea363551ff45fbe4cb88497b863b261 linux-3.11.tar.xz -42361474ed56948d8f52e72958b2cdf0 patch-3.11.7.xz +e6c14ecc86eab4cfaf498ba3c70b3f04 patch-3.11.8.xz