aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-04-24drm/tegra: restrict plane loops to legacy planesDaniel Vetter1-1/+1
In Matt Ropers primary plane series a set of prep patches like commit af2b653bfb4ef40931b4d101ca842ce0c5da57ef Author: Matt Roper <[email protected]> Date: Tue Apr 1 15:22:32 2014 -0700 drm/i915: Restrict plane loops to only operate on overlay planes (v2) ensured that all exisiting users of the mode_config->plane_list wouldn't change behaviour. Unfortunately tegra seems to have fallen through the cracks. Fix it. This regression was introduced in commit e13161af80c185ecd8dc4641d0f5df58f9e3e0af Author: Matt Roper <[email protected]> Date: Tue Apr 1 15:22:38 2014 -0700 drm: Add drm_crtc_init_with_planes() (v2) The result was that we've unref'ed the fb for the primary plane twice, leading to a use-after free bug. This is because the drm core will already set crtc->primary->fb to NULL and do the unref for us, and the crtc disable hook is called by the drm crtc helpers for exactly this case. Aside: Now that the fbdev helpers clean up planes there's no longer a need to do this in drivers. So this could probably be nuked entirely in linux-next. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Matt Roper <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2014-04-24hwmon: (vexpress) Avoid creating non-existing attributesPawel Moll1-3/+19
The 'label' attribute was always created but returned -ENOENT if there is no label and such behaviour is undefined from libsensors' point of view. Fixed by providing is_visible method in the attributes group, so the attribute is not created at all when unnecessary. Reported-by: Guenter Roeck <[email protected]> Signed-off-by: Pawel Moll <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2014-04-24hwmon: (vexpress) Use legal hwmon device namesPawel Moll1-9/+52
The driver used to directly us a DT 'compatible' property for the 'name' attribute of the hwmon devices. Unfortunately it contains '-' which is illegal in this context. It messes up libsensors and thus every application using it. Fixed by providing equivalent (and simpler) name strings. Reported-by: Guenter Roeck <[email protected]> Signed-off-by: Pawel Moll <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2014-04-24arm/mach-vexpress: array accessed out of boundsHeinrich Schuchardt1-2/+5
dcscb_allcpus_mask is an array of size 2. The index variable cluster has to be checked against this limit before accessing the array. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: Pawel Moll <[email protected]>
2014-04-24clk: vexpress: NULL dereference on error pathDan Carpenter1-1/+1
If the allocation fails then we dereference the NULL in the error path. Just return directly. Fixes: ed27ff1db869 ('clk: Versatile Express clock generators ("osc") driver') Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Pawel Moll <[email protected]>
2014-04-24drm/i915: Allow full PPGTT with param overrideBen Widawsky1-1/+1
When PPGTT was disabled by default, the patch also prevented the user from overriding this behavior via module parameter. Being able to test this on arbitrary kernels is extremely beneficial to track down the remaining bugs. The patch that prevented this was: commit 93a25a9e2d67765c3092bfaac9b855d95e39df97 Author: Daniel Vetter <[email protected]> Date: Thu Mar 6 09:40:43 2014 +0100 drm/i915: Disable full ppgtt by default By default PPGTT is set to -1. 0 means off, 1 means aliasing only, 2 means full, all other values are reserved. Signed-off-by: Ben Widawsky <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
2014-04-24drm/i915: Discard BIOS framebuffers too small to accommodate chosen modeChris Wilson1-0/+10
If the inherited BIOS framebuffer is smaller than the mode selected for fbdev, then if we continue to use it then we cause display corruption as we do not setup the panel fitter to upscale. Regression from commit d978ef14456a38034f6c0e94a794129501f89200 Author: Jesse Barnes <[email protected]> Date: Fri Mar 7 08:57:51 2014 -0800 drm/i915: Wrap the preallocated BIOS framebuffer and preserve for KMS fbcon v12 v2: Add a debug message to track the discard of the BIOS fb. v3: Ville pointed out the difference between ref/unref Reported-by: Knut Petersen <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77767 Signed-off-by: Chris Wilson <[email protected]> Cc: Jesse Barnes <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
2014-04-24drm/vmwgfx: Make sure user-space can't DMA across buffer object boundaries v2Thomas Hellstrom1-0/+22
We already check that the buffer object we're accessing is registered with the file. Now also make sure that we can't DMA across buffer object boundaries. v2: Code commenting update. Cc: [email protected] Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
2014-04-24perf/x86: Fix RAPL rdmsrl_safe() usageStephane Eranian1-1/+2
This patch fixes a bug introduced by: 24223657806a ("perf/x86/intel: Use rdmsrl_safe() when initializing RAPL PMU") The rdmsrl_safe() function returns 0 on success. The current code was failing to detect the RAPL PMU on real hardware (missing /sys/devices/power) because the return value of rdmsrl_safe() was misinterpreted. Signed-off-by: Stephane Eranian <[email protected]> Acked-by: Borislav Petkov <[email protected]> Acked-by: Venkatesh Srinivas <[email protected]> Cc: [email protected] Cc: [email protected] Link: http://lkml.kernel.org/r/20140423170418.GA12767@quad Signed-off-by: Ingo Molnar <[email protected]>
2014-04-24PNP: Work around BIOS defects in Intel MCH area reportingBjorn Helgaas1-0/+79
Work around BIOSes that don't report the entire Intel MCH area. MCHBAR is not an architected PCI BAR, so MCH space is usually reported as a PNP0C02 resource. The MCH space was once 16KB, but is 32KB in newer parts. Some BIOSes still report a PNP0C02 resource that is only 16KB, which means the rest of the MCH space is consumed but unreported. This can cause resource map sanity check warnings or (theoretically) a device conflict if we assigned the unreported space to another device. The Intel perf event uncore driver tripped over this when it claimed the MCH region: resource map sanity check conflict: 0xfed10000 0xfed15fff 0xfed10000 0xfed13fff pnp 00:01 Info: mapping multiple BARs. Your kernel is fine. To prevent this, if we find a PNP0C02 resource that covers part of the MCH space, extend it to cover the entire space. References: http://lkml.kernel.org/r/[email protected] Reported-and-tested-by: Borislav Petkov <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Acked-by: Borislav Petkov <[email protected]> Acked-by: Stephane Eranian <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2014-04-23Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-armLinus Torvalds13-21/+44
Pull ARM fixes from Russell King: "Various fixes and post-merge window updates. Included here are: - ensure Kconfig things which should be sorted remain sorted - fix three big-endian bugs which crept in during the last merge window - add the renameat2 syscall - fix big.LITTLE switcher initialisation checks - fix kdump vmcore for LPAE kernels" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: add renameat2 syscall ARM: keep arch/arm/Kconfig and arch/arm/mm/Kconfig select entries sorted ARM: 8033/1: fix big endian __pv_phys_pfn_offset size related issue ARM: 8032/1: bL_switcher: fix validation check before its activation ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfo ARM: 8027/1: fix do_div() bug in big-endian systems ARM: 8026/1: Fix emulation of multiply accumulate instructions ARM: 8024/1: Keep DEBUG_UART_{PHYS,VIRT} entries sorted
2014-04-23staging: comedi: usbdux: bug fix for accessing 'ao_chanlist' in private dataH Hartley Sweeten1-6/+3
In usbdux_ao_cmd(), the channels for the command are transfered from the cmd->chanlist and stored in the private data 'ao_chanlist'. The channel numbers are bit-shifted when stored so that they become the "command" that is transfered to the device. The channel to command conversion results in the 'ao_chanlist' having these values for the channels: channel 0 -> ao_chanlist = 0x00 channel 1 -> ao_chanlist = 0x40 channel 2 -> ao_chanlist = 0x80 channel 3 -> ao_chanlist = 0xc0 The problem is, the usbduxsub_ao_isoc_irq() function uses the 'chan' value from 'ao_chanlist' to access the 'ao_readback' array in the private data. So instead of accessing the array as 0, 1, 2, 3, it accesses it as 0x00, 0x40, 0x80, 0xc0. Fix this by storing the raw channel number in 'ao_chanlist' and doing the bit-shift when creating the command. Fixes: a998a3db530bff80 "staging: comedi: usbdux: cleanup the private data 'outBuffer'" Cc: stable <[email protected]> # 3.12 Signed-off-by: H Hartley Sweeten <[email protected]> Reviewed-by: Ian Abbott <[email protected]> Acked-by: Bernd Porr <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-04-23locks: rename FL_FILE_PVT and IS_FILE_PVT to use "*_OFDLCK" insteadJeff Layton2-18/+18
File-private locks have been re-christened as "open file description" locks. Finish the symbol name cleanup in the internal implementation. Signed-off-by: Jeff Layton <[email protected]>
2014-04-23ARM: OMAP2+: Fix GPMC remap for devices using an offsetTony Lindgren1-0/+8
At least the smc91x driver expects the device to be at 0x300 offset from bus base address. This does not work currently for GPMC when booted in device tree mode as it attempts to remap the the allocated GPMC partition to the address configured by the device tree plus the device offset. Note that this works just fine when booted with legacy mode. Let's fix the issue by just ignoring any device specific offset while remapping. And let's make sure the remap address confirms to the GPMC 16MB minimum granularity as listed in the TRM for GPMC_CONFIG7 BASEADDRESS bits. Otherwise we can get something like this: omap-gpmc 6e000000.gpmc: cannot remap GPMC CS 1 to 0x01000300 Cc: Pekon Gupta <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2014-04-23Merge branch 'for-linus' of ↵Linus Torvalds12-151/+263
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "The main change is that we now publish "firmware ID" for the serio devices to help userspace figure out the kind of touchpads it is dealing with: i8042 will export PS/2 port's PNP IDs as firmware IDs. You will also get more quirks for Synaptics touchpads in various Lenovo laptops, a change to elantech driver to recognize even more models, and fixups to wacom and couple other drivers" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: elantech - add support for newer elantech touchpads Input: soc_button_array - fix a crash during rmmod Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1 Input: synaptics - report INPUT_PROP_TOPBUTTONPAD property Input: Add INPUT_PROP_TOPBUTTONPAD device property Input: i8042 - add firmware_id support Input: serio - add firmware_id sysfs attribute Input: wacom - handle 1024 pressure levels in wacom_tpc_pen Input: wacom - references to 'wacom->data' should use 'unsigned char*' Input: wacom - override 'pressure_max' with value from HID_USAGE_PRESSURE Input: wacom - use full 32-bit HID Usage value in switch statement Input: wacom - missed the last bit of expresskey for DTU-1031 Input: ads7846 - fix device usage within attribute show Input: da9055_onkey - remove use of regmap_irq_get_virq()
2014-04-23Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds7-68/+120
Pull radeon drm fixes from Dave Airlie: "This is just radeon fixes, primarily the two pll fix and the aux fix, it also disables dpm on rv770 gpus, fixes driver reloading, and fixes two issues with runtime PM on some GPUS" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon: don't allow runpm=1 on systems with out ATPX drm/radeon: fix ATPX detection on non-VGA GPUs drm/radeon/pm: don't walk the crtc list before it has been initialized (v2) drm/radeon: properly unregister hwmon interface (v2) drm/radeon: fix count in cik_sdma_ring_test() drm/radeon/aux: fix hpd assignment for aux bus drm/radeon: improve PLL limit handling in post div calculation drm/radeon: use fixed PPL ref divider if needed drm/radeon: disable dpm on rv770 by default
2014-04-23sh-pfc: r8a7791: Fix definition of MOD_SEL3Phil Edworthy1-1/+1
There is a missing 0 entry from the MOD_SEL3 table. Signed-off-by: Phil Edworthy <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2014-04-23sh-pfc: r8a7790: Fix definition of IPSR5Guido Piasenza1-2/+1
The extra entry in the table makes SCIFA0_B, and all peripherals after it, fail. Signed-off-by: Phil Edworthy <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2014-04-23pinctrl: single: Clear pin interrupts enabled by bootloaderTony Lindgren1-0/+13
Since we set up device wake-up interrupts as pinctrl-single interrupts, we now must use the standard request_irq and related functions to manage them. If the pin interrupts are enabled for some pins at boot, the wake-up events can show up as constantly pending at least on omaps and will hang the system unless the related device driver clears the event at the device. To fix this, let's clear the interrupt flags during init, and print out a warning so the board maintainers can update their drivers to do proper request_irq for the driver specific wake-up events. Cc: Haojian Zhuang <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2014-04-23Merge tag 'perf-urgent-for-mingo' of ↵Ingo Molnar4-2/+12
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/urgent Pull perf/urgent fixes from Jiri Olsa: * Fix memory leak and backward compatibility macros for pevent filter enums in traceevent library (Steven Rostedt) * Disable libdw unwind for all but x86 arch (Jiri Olsa) * Fix memory leak in sample_ustack (Masanari Iida) Signed-off-by: Jiri Olsa <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2014-04-23arm: dma-mapping: Fix mapping size valueRitesh Harjani1-1/+1
68efd7d2fb("arm: dma-mapping: remove order parameter from arm_iommu_create_mapping()") is causing kernel panic because it wrongly sets the value of mapping->size: Unable to handle kernel NULL pointer dereference at virtual address 000000a0 pgd = e7a84000 [000000a0] *pgd=00000000 ... PC is at bitmap_clear+0x48/0xd0 LR is at __iommu_remove_mapping+0x130/0x164 Fix it by correcting mapping->size value. Signed-off-by: Ritesh Harjani <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]>
2014-04-23Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/bfin5xx', ↵Mark Brown5-6/+24
'spi/fix/hspi' and 'spi/fix/sirf' into spi-linus
2014-04-23Merge remote-tracking branch 'regulator/fix/pbias' into regulator-linusMark Brown1-56/+20
2014-04-23Merge remote-tracking branch 'regulator/fix/core' into regulator-linusMark Brown1-2/+2
2014-04-23dt: Fix binding typos in clock-names and interrupt-namesGeert Uytterhoeven9-20/+20
s/interrupts-names/interrupt-names/g s/clocks-names/clock-names/g Some of the binding files and device tree files get this wrong and the kernel won't be able to pick it up. Fix them up now so that they don't get widely used. Signed-off-by: Geert Uytterhoeven <[email protected]> Acked-by : Patrice Chotard <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2014-04-23tools lib traceevent: Fix memory leak in pretty_print()Steven Rostedt1-0/+1
Commit 12e55569a244 "tools lib traceevent: Use helper trace-seq in print functions like kernel does" added a extra trace_seq helper to process string arguments like the kernel does it. But the difference between the kernel and the userspace library is that the kernel's trace_seq structure has a static allocated buffer. The userspace one has a dynamically allocated one. It requires a trace_seq_destroy(), otherwise it produces a nasty memory leak. Cc: [email protected] # 3.14+ Signed-off-by: Steven Rostedt <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Jiri Olsa <[email protected]>
2014-04-23tools lib traceevent: Fix backward compatibility macros for pevent filter enumsSteven Rostedt1-2/+2
The return value for pevent_filter_match() is suppose to return FILTER_NONE if the event doesn't have a filter, and FILTER_NOEXIST if there is no filter at all. But the change 41e12e580a7 "tools lib traceevent: Refactor pevent_filter_match() to get rid of die()" replaced the return value with PEVENT_ERRNO__* values and added "backward compatibility" macros that used the old names. Unfortunately, the NOEXIST and NONE macros were swapped, and this broke users that use the old return names. Signed-off-by: Steven Rostedt <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Jiri Olsa <[email protected]>
2014-04-23perf tools: Disable libdw unwind for all but x86 archJiri Olsa1-0/+8
So far there's only x86 libdw unwind support merged in perf. Disable it on all other architectures in case libdw unwind support is detected in system. Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Corey Ashford <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Jean Pihet <[email protected]> Cc: Josh Boyer <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Jiri Olsa <[email protected]>
2014-04-23perf tests x86: Fix memory leak in sample_ustack()Masanari Iida1-0/+1
The buf is not freed, when kernel failed to get stack map and return. Signed-off-by: Masanari Iida <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Jiri Olsa <[email protected]>
2014-04-23ARM: add renameat2 syscallMiklos Szeredi2-0/+2
Signed-off-by: Miklos Szeredi <[email protected]> [dropped arch/arm/include/asm/unistd.h changes --rmk] Signed-off-by: Russell King <[email protected]>
2014-04-23arm64: add renameat2 compat syscallMiklos Szeredi1-1/+2
Wire up the renameat2 syscall for compat (AArch32) applications. Signed-off-by: Miklos Szeredi <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2014-04-23ARM: keep arch/arm/Kconfig and arch/arm/mm/Kconfig select entries sortedRussell King2-9/+9
Signed-off-by: Russell King <[email protected]>
2014-04-23drm/i915: get power domain in case the BIOS enabled eDP VDDPaulo Zanoni1-1/+10
If I unplug the eDP monitor, the BIOS of my machine will enable the VDD bit, then when the driver loads it will think VDD is enabled. It will detect that the eDP is not enabled and return false from intel_edp_init_connector. This will trigger a call to edp_panel_vdd_off_sync(), which trigger a WARN saying that the refcount of the power domain is less than zero. The problem happens because the driver gets a refcount whenever it enables the VDD bit, and puts the refcount whenever it disables the VDD bit. But on this case, the BIOS enabled VDD, so all we do is to call put() without calling get() first, so the code added is there to make sure we always have the get() in case the BIOS enabled the bit. This regression was introduced in commit e9cb81a22841908b1c075156b409a538d09c8466 Author: Paulo Zanoni <[email protected]> Date: Thu Nov 21 13:47:23 2013 -0200 drm/i915: get a runtime PM reference when the panel VDD is on v2: - Rebase Tested-by: Chris Wilson <[email protected]> (v1) Reviewed-by: Daniel Vetter <[email protected]> Cc: [email protected] (v3.13+) Signed-off-by: Paulo Zanoni <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
2014-04-23drm/i915: Don't check gmch state on inherited configsDaniel Vetter2-6/+20
... our current modeset code isn't good enough yet to handle this. The scenario is: 1. BIOS sets up a cloned config with lvds+external screen on the same pipe, e.g. pipe B. 2. We read out that state for pipe B and assign the gmch_pfit state to it. 3. The initial modeset switches the lvds to pipe A but due to lack of atomic modeset we don't recompute the config of pipe B. -> both pipes now claim (in the sw pipe config structure) to use the gmch_pfit, which just won't work. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74081 Tested-by: max <[email protected]> Cc: Alan Stern <[email protected]> Cc: [email protected] Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
2014-04-22Input: elantech - add support for newer elantech touchpadsJordan Rife1-0/+1
Newer elantech touchpads are not recognized by the current driver, since it fails to detect their firmware version number. This prevents more advanced touchpad features from being usable such as two-finger scrolling. This patch allows newer touchpads to be detected and be fully functional. Tested on Sony Vaio SVF13N17PXB. Signed-off-by: Jordan Rife <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-22Input: soc_button_array - fix a crash during rmmodLejun Zhu1-0/+1
When the system has zero or one button available, trying to rmmod soc_button_array will cause crash. Fix this by properly handling -ENODEV in probe(). Signed-off-by: Lejun Zhu <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-04-22Merge tag 'iio-fixes-for-3.15a' of ↵Greg Kroah-Hartman8-13/+56
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: First found of IIO fixes for the 3.15 cycle. * Fix the platform data support for the at91 adc driver. * A couple of related follow up patches get the support working again for at91sam9260 and at91sam9g45 as the earlier patch results in a device name change. * A default timer value in the at91 adc driver was bonkers. Make it sane. * Fix incorrect reporting of the integration time for the cm32181 light sensor * Fix a missing break in the ad2s1200 driver which would have give a false error return. * Make sure buffer scan mask queries from userspace return 0/1 rather than a fairly random value depending on their implementation of test_bit * Fix leak of the i2c client and a null pointer dereference in the cm36651 driver. * Fix a build warning on avr32 for the mxs-lradc (not exactly a critical combination - but the issue was real).
2014-04-23Fix: tracing: use 'E' instead of 'X' for unsigned module tain flagMathieu Desnoyers1-1/+1
In the following commit: commit 57673c2b0baa900dddae3b9eb3d7748ebf550eb3 Author: Rusty Russell <[email protected]> Date: Mon Mar 31 14:39:57 2014 +1030 Use 'E' instead of 'X' for unsigned module taint flag. One site has been forgotten in trace events module.h. Signed-off-by: Mathieu Desnoyers <[email protected]> CC: Steven Rostedt <[email protected]> CC: Rusty Russell <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2014-04-23Merge branch 'drm-fixes-3.15' of ↵Dave Airlie7-68/+120
git://people.freedesktop.org/~deathsimple/linux into drm-next 1. Further PLL parameter fixes. 2. Fixes for HPD on DP 3. Could of different PM fixes 4. Disabling DPM on RV770 * 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux: drm/radeon: don't allow runpm=1 on systems with out ATPX drm/radeon: fix ATPX detection on non-VGA GPUs drm/radeon/pm: don't walk the crtc list before it has been initialized (v2) drm/radeon: properly unregister hwmon interface (v2) drm/radeon: fix count in cik_sdma_ring_test() drm/radeon/aux: fix hpd assignment for aux bus drm/radeon: improve PLL limit handling in post div calculation drm/radeon: use fixed PPL ref divider if needed drm/radeon: disable dpm on rv770 by default
2014-04-22ARM: 8033/1: fix big endian __pv_phys_pfn_offset size related issueVictor Kamensky1-1/+1
Fix e26a9e00afc482b971afcaef1db8c9034d4d6d7c 'ARM: Better virt_to_page() handling' replaced __pv_phys_offset with __pv_phys_pfn_offset. Also note that size of __pv_phys_offset was quad but size of __pv_phys_pfn_offset is word. Instruction that used to update __pv_phys_offset which address is in r6 had to update low word of __pv_phys_offset so it used #LOW_OFFSET macro for store offset. Now when size of __pv_phys_pfn_offset is word, no difference between little endian and big endian should exist - i.e no offset should be used when __pv_phys_pfn_offset is stored. Note that for little endian image proposed change is noop, since in little endian case #LOW_OFFSET is defined 0 anyway. Reported-by: Taras Kondratiuk <[email protected]> Signed-off-by: Victor Kamensky <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-22ARM: 8032/1: bL_switcher: fix validation check before its activationNicolas Pitre3-4/+14
The switcher should not depend on MAX_CLUSTER to determine ifit should be activated or not. In a multiplatform kernel binary it is possible to have dual-cluster and quad-cluster platforms configured in. In that case MAX_CLUSTER which is a build time limit should be 4 and that shouldn't prevent the switcher from working if the kernel is booted on a b.L dual-cluster system. In bL_switcher_halve_cpus() we already have a runtime validation check to make sure we're dealing with only two clusters, so booting on a quad cluster system will be caught and switcher activation aborted. However, the b.L switcher must ensure the MCPM layer is initialized on the booted hardware before doing anything. The mcpm_is_available() function is added to that effect. Signed-off-by: Nicolas Pitre <[email protected]> Tested-by: Abhilash Kesavan <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-22ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfoLiu Hua1-0/+7
For vmcore generated by LPAE enabled kernel, user space utility such as crash needs additional infomation to parse. So this patch add arch_crash_save_vmcoreinfo as what PAE enabled i386 linux does. Cc: <[email protected]> Reviewed-by: Will Deacon <[email protected]> Signed-off-by: Liu Hua <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-22ARM: 8027/1: fix do_div() bug in big-endian systemsXiangyu Lu1-1/+1
In big-endian systems, "%1" get the most significant part of the value, cause the instruction to get the wrong result. When viewing ftrace record in big-endian ARM systems, we found that the timestamp errors: swapper-0 [001] 1325.970000: 0:120:R ==> [001] 16:120:R events/1 events/1-16 [001] 1325.970000: 16:120:S ==> [001] 0:120:R swapper swapper-0 [000] 1325.1000000: 0:120:R + [000] 15:120:R events/0 swapper-0 [000] 1325.1000000: 0:120:R ==> [000] 15:120:R events/0 swapper-0 [000] 1326.030000: 0:120:R + [000] 1150:120:R sshd swapper-0 [000] 1326.030000: 0:120:R ==> [000] 1150:120:R sshd When viewed ftrace records, it will call the do_div(n, base) function, which achieved arch/arm/include/asm/div64.h in. When n = 10000000, base = 1000000, in do_div(n, base) will execute "umull %Q0, %R0, %1, %Q2". Reviewed-by: Dave Martin <[email protected]> Reviewed-by: Nicolas Pitre <[email protected]> Cc: <[email protected]> # 2.6.20+ Signed-off-by: Alex Wu <[email protected]> Signed-off-by: Xiangyu Lu <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-22Merge remote-tracking branches 'asoc/fix/intel', 'asoc/fix/jz4740', ↵Mark Brown7-15/+19
'asoc/fix/rcar', 'asoc/fix/tlv320aic31xx' and 'asoc/fix/tlv320aic3x' into asoc-linus
2014-04-22Merge remote-tracking branches 'asoc/fix/alc5623', 'asoc/fix/cs42l52', ↵Mark Brown4-7/+11
'asoc/fix/cs42l73' and 'asoc/fix/fsl-spdif' into asoc-linus
2014-04-22Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linusMark Brown1-1/+0
2014-04-22ASoC: jz4740: Remove Makefile entry for removed fileLars-Peter Clausen1-2/+0
Commit 0406a40a0 ("ASoC: jz4740: Use the generic dmaengine PCM driver") jz4740-pcm.c file, but neglected to remove the Makefile entries. Fixes: 0406a40a0 ("ASoC: jz4740: Use the generic dmaengine PCM driver") Reported-by: kbuild test robot <[email protected]> Reported-by: Ralf Baechle <[email protected]> Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-04-22mm: make fixup_user_fault() check the vma access rights tooLinus Torvalds1-0/+5
fixup_user_fault() is used by the futex code when the direct user access fails, and the futex code wants it to either map in the page in a usable form or return an error. It relied on handle_mm_fault() to map the page, and correctly checked the error return from that, but while that does map the page, it doesn't actually guarantee that the page will be mapped with sufficient permissions to be then accessed. So do the appropriate tests of the vma access rights by hand. [ Side note: arguably handle_mm_fault() could just do that itself, but we have traditionally done it in the caller, because some callers - notably get_user_pages() - have been able to access pages even when they are mapped with PROT_NONE. Maybe we should re-visit that design decision, but in the meantime this is the minimal patch. ] Found by Dave Jones running his trinity tool. Reported-by: Dave Jones <[email protected]> Acked-by: Hugh Dickins <[email protected]> Cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2014-04-22ASoC: Intel: Fix audio crash due to negative address offsetWenkai Du1-1/+1
There were occasional ADSP crash during reboot testing: [ 11.883364] BUG: unable to handle kernel paging request at ffffc90121700000 [ 11.883380] IP: [<ffffffffc024d8bc>] sst_module_insert_fixed_block+0x24f/0x26d [snd_soc_sst_dsp] [ 11.883397] PGD 7800b067 PUD 0 [ 11.883405] Oops: 0002 [#1] SMP [ 11.886418] gsmi: Log Shutdown Reason 0x03 The virtual address, ffffc90121700000, was out of range. The virtual address is calculated by adding LPE base address with an offset: sst_memcpy32(dsp->addr.lpe + data->offset, data->data, data->size); The offset is calculated in sst_byt_parse_module, by subtraction of two virtual addresses dsp->addr.fw_ext and dsp->addr.lpe: block_data.offset = block->ram_offset + (dsp->addr.fw_ext - dsp->addr.lpe); These virtual addresses are assigned by kernel from ioremap: sst->addr.lpe = ioremap(pdata->lpe_base, pdata->lpe_size); sst->addr.fw_ext = ioremap(pdata->fw_base, pdata->fw_size); In current driver code, offset is defined as unsigned int32: struct sst_module_data { ... u32 offset; /* offset in FW file */ }; Most of the time kernel assigned virtual addresses with addr.fw_ext greater than addr.lpe. But sometimes it was the other way round. Fix the problem by declaring offset as signed int32_t. Signed-off-by: Wenkai Du <[email protected]> Signed-off-by: Jarkko Nikula <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2014-04-22ARM64: Remove duplicated Kconfig entry for "kernel/power/Kconfig"Hanjun Guo1-2/+0
There is a duplicated Kconfig entry for "kernel/power/Kconfig" in menu "Power management options" and "CPU Power Management", remove the one from menu "CPU Power Management" suggested by Viresh. Signed-off-by: Hanjun Guo <[email protected]> Reviewed-by: Viresh Kumar <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>