From: Greg Kroah-Hartman Date: Sun, 8 Jun 2014 01:50:09 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.14.7~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7571cb3353cbb47fd2293a2e49d1bee885ab95fa;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: documentation-fix-docbooks-...-building.patch drm-gf119-disp-fix-nasty-bug-which-can-clobber-sor0-s-clock-setup.patch drm-radeon-also-try-gart-for-cpu-accessed-buffers.patch drm-radeon-handle-non-vga-class-pci-devices-with-atrm.patch hwmon-ntc_thermistor-fix-dependencies.patch hwmon-ntc_thermistor-fix-of-device-id-mapping.patch --- diff --git a/queue-3.10/documentation-fix-docbooks-...-building.patch b/queue-3.10/documentation-fix-docbooks-...-building.patch new file mode 100644 index 00000000000..a35137bc9a9 --- /dev/null +++ b/queue-3.10/documentation-fix-docbooks-...-building.patch @@ -0,0 +1,44 @@ +From e60cbeedc48d80689c249ab5dcc3c31ad0452dea Mon Sep 17 00:00:00 2001 +From: Johannes Berg +Date: Thu, 22 May 2014 11:54:23 -0700 +Subject: Documentation: fix DOCBOOKS=... building + +From: Johannes Berg + +commit e60cbeedc48d80689c249ab5dcc3c31ad0452dea upstream. + +Prior to commit 4266129964b8 ("[media] DocBook: Move all media docbook +stuff into its own directory") it was possible to build only a single +(or more) book(s) by calling, for example + + make htmldocs DOCBOOKS=80211.xml + +This now fails: + + cp: target `.../Documentation/DocBook//media_api' is not a directory + +Ignore errors from that copy to make this possible again. + +Fixes: 4266129964b8 ("[media] DocBook: Move all media docbook stuff into its own directory") +Signed-off-by: Johannes Berg +Acked-by: Randy Dunlap +Cc: Mauro Carvalho Chehab +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + Documentation/DocBook/media/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/Documentation/DocBook/media/Makefile ++++ b/Documentation/DocBook/media/Makefile +@@ -195,7 +195,7 @@ DVB_DOCUMENTED = \ + # + + install_media_images = \ +- $(Q)cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api ++ $(Q)-cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api + + $(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64 + $(Q)base64 -d $< >$@ diff --git a/queue-3.10/drm-gf119-disp-fix-nasty-bug-which-can-clobber-sor0-s-clock-setup.patch b/queue-3.10/drm-gf119-disp-fix-nasty-bug-which-can-clobber-sor0-s-clock-setup.patch new file mode 100644 index 00000000000..d0d24af530e --- /dev/null +++ b/queue-3.10/drm-gf119-disp-fix-nasty-bug-which-can-clobber-sor0-s-clock-setup.patch @@ -0,0 +1,30 @@ +From 0f1d360b2ee3a2a0f510d3f1bcd3f5ebe5d41265 Mon Sep 17 00:00:00 2001 +From: Ben Skeggs +Date: Tue, 20 May 2014 16:13:54 +1000 +Subject: drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup + +From: Ben Skeggs + +commit 0f1d360b2ee3a2a0f510d3f1bcd3f5ebe5d41265 upstream. + +Fixes a LVDS bleed issue on Lenovo W530 that can occur under a +number of circumstances. + +Signed-off-by: Ben Skeggs +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c ++++ b/drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c +@@ -679,7 +679,7 @@ exec_clkcmp(struct nv50_disp_priv *priv, + } + + if (outp == 8) +- return false; ++ return conf; + + data = exec_lookup(priv, head, outp, ctrl, dcb, &ver, &hdr, &cnt, &len, &info1); + if (data == 0x0000) diff --git a/queue-3.10/drm-radeon-also-try-gart-for-cpu-accessed-buffers.patch b/queue-3.10/drm-radeon-also-try-gart-for-cpu-accessed-buffers.patch new file mode 100644 index 00000000000..899f36454e6 --- /dev/null +++ b/queue-3.10/drm-radeon-also-try-gart-for-cpu-accessed-buffers.patch @@ -0,0 +1,72 @@ +From 544092596e8ac269f70e70961b5e9381909c9b1e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= +Date: Mon, 5 May 2014 18:40:12 +0200 +Subject: drm/radeon: also try GART for CPU accessed buffers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: =?UTF-8?q?Christian=20K=C3=B6nig?= + +commit 544092596e8ac269f70e70961b5e9381909c9b1e upstream. + +Placing them exclusively into VRAM might not work all the time. + +Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=78297 + +Signed-off-by: Christian König +Reviewed-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/radeon_object.c | 38 +++++++++++++++++++-------------- + 1 file changed, 23 insertions(+), 15 deletions(-) + +--- a/drivers/gpu/drm/radeon/radeon_object.c ++++ b/drivers/gpu/drm/radeon/radeon_object.c +@@ -582,22 +582,30 @@ int radeon_bo_fault_reserve_notify(struc + rbo = container_of(bo, struct radeon_bo, tbo); + radeon_bo_check_tiling(rbo, 0, 0); + rdev = rbo->rdev; +- if (bo->mem.mem_type == TTM_PL_VRAM) { +- size = bo->mem.num_pages << PAGE_SHIFT; +- offset = bo->mem.start << PAGE_SHIFT; +- if ((offset + size) > rdev->mc.visible_vram_size) { +- /* hurrah the memory is not visible ! */ +- radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_VRAM); +- rbo->placement.lpfn = rdev->mc.visible_vram_size >> PAGE_SHIFT; +- r = ttm_bo_validate(bo, &rbo->placement, false, false); +- if (unlikely(r != 0)) +- return r; +- offset = bo->mem.start << PAGE_SHIFT; +- /* this should not happen */ +- if ((offset + size) > rdev->mc.visible_vram_size) +- return -EINVAL; +- } ++ if (bo->mem.mem_type != TTM_PL_VRAM) ++ return 0; ++ ++ size = bo->mem.num_pages << PAGE_SHIFT; ++ offset = bo->mem.start << PAGE_SHIFT; ++ if ((offset + size) <= rdev->mc.visible_vram_size) ++ return 0; ++ ++ /* hurrah the memory is not visible ! */ ++ radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_VRAM); ++ rbo->placement.lpfn = rdev->mc.visible_vram_size >> PAGE_SHIFT; ++ r = ttm_bo_validate(bo, &rbo->placement, false, false); ++ if (unlikely(r == -ENOMEM)) { ++ radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_GTT); ++ return ttm_bo_validate(bo, &rbo->placement, false, false); ++ } else if (unlikely(r != 0)) { ++ return r; + } ++ ++ offset = bo->mem.start << PAGE_SHIFT; ++ /* this should never happen */ ++ if ((offset + size) > rdev->mc.visible_vram_size) ++ return -EINVAL; ++ + return 0; + } + diff --git a/queue-3.10/drm-radeon-handle-non-vga-class-pci-devices-with-atrm.patch b/queue-3.10/drm-radeon-handle-non-vga-class-pci-devices-with-atrm.patch new file mode 100644 index 00000000000..a5bd9079291 --- /dev/null +++ b/queue-3.10/drm-radeon-handle-non-vga-class-pci-devices-with-atrm.patch @@ -0,0 +1,49 @@ +From d8ade3526b2aa0505132c404c05a38b73ea15490 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Thu, 8 May 2014 20:04:03 -0400 +Subject: drm/radeon: handle non-VGA class pci devices with ATRM +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Alex Deucher + +commit d8ade3526b2aa0505132c404c05a38b73ea15490 upstream. + +Newer PX systems have non-VGA pci class dGPUs. Update +the ATRM fetch method to handle those cases. + +bug: +https://bugzilla.kernel.org/show_bug.cgi?id=75401 + +Signed-off-by: Alex Deucher +Signed-off-by: Christian König +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/radeon_bios.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +--- a/drivers/gpu/drm/radeon/radeon_bios.c ++++ b/drivers/gpu/drm/radeon/radeon_bios.c +@@ -196,6 +196,20 @@ static bool radeon_atrm_get_bios(struct + } + } + ++ if (!found) { ++ while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_OTHER << 8, pdev)) != NULL) { ++ dhandle = ACPI_HANDLE(&pdev->dev); ++ if (!dhandle) ++ continue; ++ ++ status = acpi_get_handle(dhandle, "ATRM", &atrm_handle); ++ if (!ACPI_FAILURE(status)) { ++ found = true; ++ break; ++ } ++ } ++ } ++ + if (!found) + return false; + diff --git a/queue-3.10/hwmon-ntc_thermistor-fix-dependencies.patch b/queue-3.10/hwmon-ntc_thermistor-fix-dependencies.patch new file mode 100644 index 00000000000..4ea034514c6 --- /dev/null +++ b/queue-3.10/hwmon-ntc_thermistor-fix-dependencies.patch @@ -0,0 +1,66 @@ +From 59cf4243e557aa64ab2ef51280454aa1f3828e14 Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Sun, 25 May 2014 17:23:08 +0200 +Subject: hwmon: (ntc_thermistor) Fix dependencies + +From: Jean Delvare + +commit 59cf4243e557aa64ab2ef51280454aa1f3828e14 upstream. + +In commit 9e8269de, support was added for ntc_thermistor devices being +declared in the device tree and implemented on top of IIO. With that +change, a dependency was added to the ntc_thermistor driver: + + depends on (!OF && !IIO) || (OF && IIO) + +This construct has the drawback that the driver can no longer be +selected when OF is set and IIO isn't, nor when IIO is set and OF is +not. This is a regression for the original users of the driver. + +As the new code depends on IIO and is useless without OF, include it +only if both are enabled, and set the dependencies accordingly. This +is clearer, more simple and more correct. + +Signed-off-by: Jean Delvare +Fixes: 9e8269de hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driver +Reviewed-by: Guenter Roeck +Cc: Naveen Krishna Chatradhi +Cc: Doug Anderson +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hwmon/Kconfig | 2 +- + drivers/hwmon/ntc_thermistor.c | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +--- a/drivers/hwmon/Kconfig ++++ b/drivers/hwmon/Kconfig +@@ -944,7 +944,7 @@ config SENSORS_NCT6775 + + config SENSORS_NTC_THERMISTOR + tristate "NTC thermistor support" +- depends on (!OF && !IIO) || (OF && IIO) ++ depends on !OF || IIO=n || IIO + help + This driver supports NTC thermistors sensor reading and its + interpretation. The driver can also monitor the temperature and +--- a/drivers/hwmon/ntc_thermistor.c ++++ b/drivers/hwmon/ntc_thermistor.c +@@ -141,7 +141,7 @@ struct ntc_data { + char name[PLATFORM_NAME_SIZE]; + }; + +-#ifdef CONFIG_OF ++#if defined(CONFIG_OF) && IS_ENABLED(CONFIG_IIO) + static int ntc_adc_iio_read(struct ntc_thermistor_platform_data *pdata) + { + struct iio_channel *channel = pdata->chan; +@@ -223,6 +223,8 @@ ntc_thermistor_parse_dt(struct platform_ + return NULL; + } + ++#define ntc_match NULL ++ + static void ntc_iio_channel_release(struct ntc_thermistor_platform_data *pdata) + { } + #endif diff --git a/queue-3.10/hwmon-ntc_thermistor-fix-of-device-id-mapping.patch b/queue-3.10/hwmon-ntc_thermistor-fix-of-device-id-mapping.patch new file mode 100644 index 00000000000..a3059b1b0d5 --- /dev/null +++ b/queue-3.10/hwmon-ntc_thermistor-fix-of-device-id-mapping.patch @@ -0,0 +1,63 @@ +From ead82d6792ef5c600d535bca6ec50a4da14ff7c7 Mon Sep 17 00:00:00 2001 +From: Jean Delvare +Date: Sun, 25 May 2014 17:23:08 +0200 +Subject: hwmon: (ntc_thermistor) Fix OF device ID mapping + +From: Jean Delvare + +commit ead82d6792ef5c600d535bca6ec50a4da14ff7c7 upstream. + +The mapping from OF device IDs to platform device IDs is wrong. +TYPE_NCPXXWB473 is 0, TYPE_NCPXXWL333 is 1, so +ntc_thermistor_id[TYPE_NCPXXWB473] is { "ncp15wb473", TYPE_NCPXXWB473 } +while +ntc_thermistor_id[TYPE_NCPXXWL333] is { "ncp18wb473", TYPE_NCPXXWB473 }. + +So the name is wrong for all but the "ntc,ncp15wb473" entry, and the +type is wrong for the "ntc,ncp15wl333" entry. + +So map the entries by index, it is neither elegant nor robust but at +least it is correct. + +Signed-off-by: Jean Delvare +Fixes: 9e8269de hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driver +Reviewed-by: Guenter Roeck +Cc: Naveen Krishna Chatradhi +Cc: Doug Anderson +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hwmon/ntc_thermistor.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +--- a/drivers/hwmon/ntc_thermistor.c ++++ b/drivers/hwmon/ntc_thermistor.c +@@ -44,6 +44,7 @@ struct ntc_compensation { + unsigned int ohm; + }; + ++/* Order matters, ntc_match references the entries by index */ + static const struct platform_device_id ntc_thermistor_id[] = { + { "ncp15wb473", TYPE_NCPXXWB473 }, + { "ncp18wb473", TYPE_NCPXXWB473 }, +@@ -163,15 +164,15 @@ static int ntc_adc_iio_read(struct ntc_t + + static const struct of_device_id ntc_match[] = { + { .compatible = "ntc,ncp15wb473", +- .data = &ntc_thermistor_id[TYPE_NCPXXWB473] }, ++ .data = &ntc_thermistor_id[0] }, + { .compatible = "ntc,ncp18wb473", +- .data = &ntc_thermistor_id[TYPE_NCPXXWB473] }, ++ .data = &ntc_thermistor_id[1] }, + { .compatible = "ntc,ncp21wb473", +- .data = &ntc_thermistor_id[TYPE_NCPXXWB473] }, ++ .data = &ntc_thermistor_id[2] }, + { .compatible = "ntc,ncp03wb473", +- .data = &ntc_thermistor_id[TYPE_NCPXXWB473] }, ++ .data = &ntc_thermistor_id[3] }, + { .compatible = "ntc,ncp15wl333", +- .data = &ntc_thermistor_id[TYPE_NCPXXWL333] }, ++ .data = &ntc_thermistor_id[4] }, + { }, + }; + MODULE_DEVICE_TABLE(of, ntc_match); diff --git a/queue-3.10/series b/queue-3.10/series index afdbce7fcb7..141d25bfd7a 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -5,3 +5,9 @@ perf-limit-perf_event_attr-sample_period-to-63-bits.patch perf-fix-race-in-removing-an-event.patch perf-evsel-fix-printing-of-perf_event_paranoid-message.patch mm-memory-failure.c-fix-memory-leak-by-race-between-poison-and-unpoison.patch +documentation-fix-docbooks-...-building.patch +hwmon-ntc_thermistor-fix-dependencies.patch +hwmon-ntc_thermistor-fix-of-device-id-mapping.patch +drm-gf119-disp-fix-nasty-bug-which-can-clobber-sor0-s-clock-setup.patch +drm-radeon-also-try-gart-for-cpu-accessed-buffers.patch +drm-radeon-handle-non-vga-class-pci-devices-with-atrm.patch