aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-05drm/amdgpu: total vram size also reduces pin sizeChunming Zhou1-0/+1
Signed-off-by: Chunming Zhou <[email protected]> Reviewed-by: Christian König <[email protected]>
2016-04-05dmaengine: vdma: don't crash when bad channel is requestedFranck Jullien1-1/+1
When client request a non existing channel from of_dma_xilinx_xlate we get a NULL pointer dereferencing. This patch fix this problem. Signed-off-by: Franck Jullien <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2016-04-05Input: xpad - add Mad Catz FightStick TE 2 VID/PIDSilvan Jegen1-0/+2
This adds the VID/PID combination for the Xbox One version of the Mad Catz FightStick TE 2. The functionality that this provides is about on par with what the Windows drivers for the stick manage to deliver. What works: - Digital stick - 6 main buttons - Xbox button - The two buttons on the back - The locking buttons (preventing accidental Xbox button press) What doesn't work: - Two of the main buttons (don't work on Windows either) - The "Haptic" button setting does not have an effect (not sure if it works on Windows) I added the MAP_TRIGGERS_TO_BUTTONS option but in my (limited) testing there was no practical difference with or without. The FightStick does not have triggers though so adding it makes sense. Signed-off-by: Silvan Jegen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-04-05dmaengine: omap-dma: Do not suppress interrupts for memcpyPeter Ujfalusi1-3/+1
If the client queues up more transfers the driver will not able to move to the next transfer without knowing that the previous descriptor is completed. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2016-04-05dmaengine: omap-dma: Fix polled channel completion detection and handlingPeter Ujfalusi1-6/+16
When based on the CCR_ENABLE bit the channel is stopped we should not call omap_dma_callback(), only change the return value to DMA_COMPLETE. Client drivers will do the right thing to clean up the channel after the transfer has been completed. Check the CCR_ENABLE only if the channel is running and not paused since pause in sDMA means that the channel is stopped. This will fix one hard to reproduce race condition when the channel is terminated during transfer (affecting cyclic operation). Fixes: 1a7cf7b26f25 ("dmaengine: omap-dma: Handle cases when the channel is polled for completion") Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2016-04-05HID: wacom: Support switching from vendor-defined device mode on G9 and G11Jason Gerecke2-28/+80
A tablet PC booted into Windows may have its pen/touch hardware switched into "Wacom mode" similar to what we do with explicitly-supported hardware. Some devices appear to maintain this state across reboots, preventing their use with the generic HID driver. This patch adds support for detecting the presence of the mode switch feature report used by devices based on the G9 and G11 chips and has the HID codepath always attempt to reset the device back to sending standard HID reports. Fixes: https://sourceforge.net/p/linuxwacom/bugs/307/ Fixes: https://sourceforge.net/p/linuxwacom/bugs/310/ Fixes: https://github.com/linuxwacom/input-wacom/issues/15 Co-authored-by: Benjamin Tissoires <[email protected]> Signed-off-by: Jason Gerecke <[email protected]> Reviewed-by: Benjamin Tissoires <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2016-04-05HID: wacom: Initialize hid_data.inputmode to -1Jason Gerecke1-0/+2
Commit 5ae6e89 introduced hid_data.inputmode with a comment that it would have the value -1 if undefined, but then forgot to actually perform the initialization. Although this doesn't appear to have caused any problems in practice, it should still be remedied. Signed-off-by: Jason Gerecke <[email protected]> Reviewed-by: Benjamin Tissoires <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2016-04-05Merge tag 'pinctrl-v4.6-2' of ↵Linus Torvalds12-55/+111
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: "Here is a set of pin control fixes for the v4.6 series. A bit bigger than what I hoped for, but all fixes are confined to drivers, a few of them also targeted to stable. Summary: - On Super-H PFC (Renesas) controllers: only use dummies on legacy systems. This fixes a serious ethernet regression on a Renesas board. - Pistachio: Fix errors in the pin table. - Allwinner SunXi: fix the external interrupts to work. - Intel: fix so the high level interrupts start working, and fix a spurious interrupt issue. - Qualcomm ipq4019: fix the number of GPIOs provided (bump to 100), correct register offsets and handle GPIO mode properly. - Revert the revert on the revert so that Xway has a .to_irq() callback again. - Minor fixes to errorpaths and debug info. - A MAINTAINERS update" * tag 'pinctrl-v4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: Revert "Revert "pinctrl: lantiq: Implement gpio_chip.to_irq"" pinctrl: qcom: ipq4019: fix register offsets pinctrl: qcom: ipq4019: fix the function enum for gpio mode pinctrl: qcom: ipq4019: set ngpios to correct value pinctrl: nomadik: fix pull debug print inversion MAINTAINERS: pinctrl: samsung: Add two new maintainers pinctrl: intel: implement gpio_irq_enable pinctrl: intel: make the high level interrupt working pinctrl: freescale: imx: fix bogus check of of_iomap() return value pinctrl: sunxi: Fix A33 external interrupts not working pinctrl: pistachio: fix mfio84-89 function description and pinmux. pinctrl: sh-pfc: only use dummy states for non-DT platforms
2016-04-05Merge tag 'media/v4.6-3' of ↵Linus Torvalds16-507/+78
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "Some bug fixes on au0828 and snd-usb-audio: - the au0828+snd-usb-audio MC patch broke several things and produced some race conditions. Better to revert the patches, and re-work on them for a next version - fix a regression at tuner disable links logic - properly handle dev_state as a bitmask" * tag 'media/v4.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] Revert "[media] media: au0828 change to use Managed Media Controller API" [media] Revert "[media] sound/usb: Use Media Controller API to share media resources" [media] au0828: Fix dev_state handling [media] au0828: fix au0828_v4l2_close() dev_state race condition [media] media: au0828 fix to clear enable/disable/change source handlers [media] v4l2-mc: cleanup a warning [media] au0828: disable tuner links and cache tuner/decoder
2016-04-05iommu/dma: Restore scatterlist offsets correctlyRobin Murphy1-2/+2
With the change to stashing just the IOVA-page-aligned remainder of the CPU-page offset rather than the whole thing, the failure path in __invalidate_sg() also needs tweaking to account for that in the case of differing page sizes where the two offsets may not be equivalent. Similarly in __finalise_sg(), lest the architecture-specific wrappers later get the wrong address for cache maintenance on sync or unmap. Fixes: 164afb1d85b8 ("iommu/dma: Use correct offset in map_sg") Reported-by: Magnus Damm <[email protected]> Signed-off-by: Robin Murphy <[email protected]> Cc: [email protected] # v4.4+ Signed-off-by: Joerg Roedel <[email protected]>
2016-04-05hwrng: bcm63xx - fix device tree compilationÁlvaro Fernández Rojas1-0/+1
Adds missing include that resulted in implicit device tree functions errors. Fixes: 7b651706712b ("hwrng: bcm63xx - add device tree support") Signed-off-by: Álvaro Fernández Rojas <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2016-04-05compiler-gcc: disable -ftracer for __noclone functionsPaolo Bonzini1-1/+1
-ftracer can duplicate asm blocks causing compilation to fail in noclone functions. For example, KVM declares a global variable in an asm like asm("2: ... \n .pushsection data \n .global vmx_return \n vmx_return: .long 2b"); and -ftracer causes a double declaration. Cc: Andrew Morton <[email protected]> Cc: Michal Marek <[email protected]> Cc: [email protected] Cc: [email protected] Reported-by: Linda Walsh <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2016-04-05kvm: x86: make lapic hrtimer pinnedLuiz Capitulino1-4/+4
When a vCPU runs on a nohz_full core, the hrtimer used by the lapic emulation code can be migrated to another core. When this happens, it's possible to observe milisecond latency when delivering timer IRQs to KVM guests. The huge latency is mainly due to the fact that apic_timer_fn() expects to run during a kvm exit. It sets KVM_REQ_PENDING_TIMER and let it be handled on kvm entry. However, if the timer fires on a different core, we have to wait until the next kvm exit for the guest to see KVM_REQ_PENDING_TIMER set. This problem became visible after commit 9642d18ee. This commit changed the timer migration code to always attempt to migrate timers away from nohz_full cores. While it's discussable if this is correct/desirable (I don't think it is), it's clear that the lapic emulation code has a requirement on firing the hrtimer in the same core where it was started. This is achieved by making the hrtimer pinned. Lastly, note that KVM has code to migrate timers when a vCPU is scheduled to run in different core. However, this forced migration may fail. When this happens, we can have the same problem. If we want 100% correctness, we'll have to modify apic_timer_fn() to cause a kvm exit when it runs on a different core than the vCPU. Not sure if this is possible. Here's a reproducer for the issue being fixed: 1. Set all cores but core0 to be nohz_full cores 2. Start a guest with a single vCPU 3. Trace apic_timer_fn() and kvm_inject_apic_timer_irqs() You'll see that apic_timer_fn() will run in core0 while kvm_inject_apic_timer_irqs() runs in a different core. If you get both on core0, try running a program that takes 100% of the CPU and pin it to core0 to force the vCPU out. Signed-off-by: Luiz Capitulino <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2016-04-05s390/mm/kvm: fix mis-merge in gmap handlingChristian Borntraeger1-2/+2
commit 1e133ab296f3 ("s390/mm: split arch/s390/mm/pgtable.c") dropped some changes from commit a3a92c31bf0b ("KVM: s390: fix mismatch between user and in-kernel guest limit") - this breaks KVM for some memory sizes (kvm-s390: failed to commit memory region) like exactly 2GB. Cc: Dominik Dingel <[email protected]> Cc: Martin Schwidefsky <[email protected]> Acked-by: Heiko Carstens <[email protected]> Signed-off-by: Christian Borntraeger <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2016-04-05iommu: provide of_xlate pointer unconditionallyArnd Bergmann1-2/+0
iommu drivers that support the standard DT bindings use a of_xlate callback pointer, but that is only part of struct iommu_ops when CONFIG_OF_IOMMU is enabled, leading to build errors in randconfig builds when that is not provided: drivers/iommu/mtk_iommu.c:497:2: error: unknown field 'of_xlate' specified in initializer .of_xlate = mtk_iommu_of_xlate, ^ drivers/iommu/mtk_iommu.c:497:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .of_xlate = mtk_iommu_of_xlate, ^~~~~~~~~~~~~~~~~~ drivers/iommu/mtk_iommu.c:497:14: note: (near initialization for 'mtk_iommu_ops.domain_get_attr') We can work around it by adding more #ifdefs in each driver, but it seems nicer to just allow setting the pointer even if it is unused. This makes the driver code look nicer, and it gives better compile-time coverage when test building on other architectures. Signed-off-by: Arnd Bergmann <[email protected]> Fixes: 0df4fabe208d ("iommu/mediatek: Add mt8173 IOMMU driver") Reviewed-by: Robin Murphy <[email protected]> Signed-off-by: Joerg Roedel <[email protected]>
2016-04-05Merge branch 'fixes-base' into fixesJames Bottomley9465-241835/+496798
2016-04-05scsi: Do not attach VPD to devices that don't support itHannes Reinecke3-19/+28
The patch "scsi: rescan VPD attributes" introduced a regression in which devices that don't support VPD were being scanned for VPD attributes anyway. This could cause issues for some devices and should be avoided so the check for scsi_level has been moved out of scsi_add_lun and into scsi_attach_vpd so that all callers will not scan VPD for devices that don't support it. [mkp: Merge fix] Fixes: 09e2b0b14690 ("scsi: rescan VPD attributes") Cc: <[email protected]> #v4.5+ Suggested-by: Alexander Duyck <[email protected]> Signed-off-by: Hannes Reinecke <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
2016-04-05mmc: sdhci-pci: Add support and PCI IDs for more Broxton host controllersAdrian Hunter2-0/+28
Add support and PCI IDs for more Broxton host controllers Other BXT IDs were added in v4.4 so cc'ing stable. This patch is dependent on commit 163cbe31e516 ("mmc: sdhci-pci: Fix card detect race for Intel BXT/APL") but that is already in stable since v4.4.4. Signed-off-by: Adrian Hunter <[email protected]> Cc: [email protected] # v4.4+ Signed-off-by: Ulf Hansson <[email protected]>
2016-04-05drm/edid: Fix DMT 1024x768@43Hz (interlaced) timingsPaul Parsons1-1/+1
One of the VESA DMT timings in drm_dmt_modes[] is slightly off. 1024x768@43Hz (interlaced) vsync_end should be 776, not 772. This brings it into line with the identical timings in edid_est_modes[]. Signed-off-by: Paul Parsons <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-04-05mac80211: close the SP when we enqueue frames during the SPEmmanuel Grumbach1-0/+6
Since we enqueued the frame that was supposed to be sent during the SP, and that frame may very well cary the IEEE80211_TX_STATUS_EOSP bit, we may never close the SP (WLAN_STA_SP will never be cleared). If that happens, we will not open any new SP and will never respond to any poll frame from the client. Clear WLAN_STA_SP manually if a frame that was polled during the SP is queued because of a starting A-MPDU session. The client may not see the EOSP bit, but it will at least be able to poll new frames in another SP. Reported-by: Alesya Shapira <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> [remove erroneous comment] Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: Fix BW upgrade for TDLS peersIlan Peer1-1/+2
It is possible that the station is connected to an AP with bandwidth of 80+80MHz or 160MHz. In such cases there is no need to perform an upgrade as the maximal supported bandwidth is 80MHz. In addition, when upgrading and setting center_freq1 and bandwidth to 80MHz also set center_freq2 to 0. Fixes: 0fabfaafec3a ("mac80211: upgrade BW of TDLS peers when possible" Signed-off-by: Ilan Peer <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: don't send deferred frames outside the SPEmmanuel Grumbach1-3/+1
Frames that are sent between ampdu_action(IEEE80211_AMPDU_TX_START) and the move to the HT_AGG_STATE_OPERATIONAL state are buffered. If we try to start an A-MPDU session while the peer is sleeping and polling frames with U-APSD, we may have frames that will be buffered by ieee80211_tx_prep_agg. These frames have IEEE80211_TX_CTL_NO_PS_BUFFER set since they are sent to a sleeping client and possibly IEEE80211_TX_STATUS_EOSP. If the frame is buffered, we need clear these two flags since they will be re-sent after the move to HT_AGG_STATE_OPERATIONAL state which is very likely to happen after the SP ends. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: remove description of dropped memberLuis de Bethencourt1-1/+0
Commit 976bd9efdae6 ("mac80211: move beacon_loss_count into ifmgd") removed the member from the sta_info struct but the description stayed lingering. Remove it. Signed-off-by: Luis de Bethencourt <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: add doc for RX_FLAG_DUP_VALIDATED flagLuis de Bethencourt1-0/+2
Add documentation for the flag for duplication check. Fixes the following warning when running make htmldocs: warning: Enum value 'RX_FLAG_DUP_VALIDATED' not described in enum 'mac80211_rx_flags' Signed-off-by: Luis de Bethencourt <[email protected]> [fix description] Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: ensure no limits on station rhashtableBen Greear1-0/+1
By default, the rhashtable logic will fail to insert objects if the key-chains are too long and un-balanced. In the degenerate case where mac80211 is creating many virtual interfaces connected to the same peer(s), this case can happen. St insecure_elasticity to true to allow chains to grow as long as needed. Signed-off-by: Ben Greear <[email protected]> [remove message, change commit message slightly] Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: properly deal with station hashtable insert errorsJohannes Berg1-5/+8
The original hand-implemented hash-table in mac80211 couldn't result in insertion errors, and while converting to rhashtable I evidently forgot to check the errors. This surfaced now only because Ben is adding many identical keys and that resulted in hidden insertion errors. Cc: [email protected] Fixes: 7bedd0cfad4e1 ("mac80211: use rhashtable for station table") Reported-by: Ben Greear <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: recalc min_def chanctx even when chandef is identicalArik Nemtsov1-1/+3
The min_def chanctx is affected not only by the current chandef, but sometimes also by other stations on the vif. There's a valid scenario where a TDLS peer can widen its BW, thereby causing the min_def to increase. Signed-off-by: Arik Nemtsov <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: TDLS: change BW calculation for WIDER_BW peersArik Nemtsov3-11/+61
The previous approach simply ignored chandef restrictions when calculating the appropriate peer BW for a WIDER_BW peer. This could result in a regulatory violation if both peers indicated 80MHz support, but the regdomain forbade it. Change the approach to setting a WIDER_BW peer's BW. Don't exempt it from the chandef width at first. If during TDLS negotiation the chandef width is upgraded, update the peer's BW to match. Fixes: 0fabfaafec3a ("mac80211: upgrade BW of TDLS peers when possible") Signed-off-by: Arik Nemtsov <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: TDLS: always downgrade invalid chandefsArik Nemtsov1-1/+1
Even if the current chandef width is equal to the station's max-BW, it doesn't mean it's a valid width for TDLS. Make sure to always check regulatory constraints in these cases. Fixes: 0fabfaafec3a ("mac80211: upgrade BW of TDLS peers when possible") Signed-off-by: Arik Nemtsov <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05mac80211: fix AP buffered multicast frames with queue control and txqFelix Fietkau1-1/+2
Buffered multicast frames must be passed to the driver directly via drv_tx instead of going through the txq, otherwise they cannot easily be scheduled to be sent after DTIM. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2016-04-05drm/i915: Exit cherryview_irq_handler() after one passChris Wilson1-2/+2
This effectively reverts commit 8e5fd599eb219f1054e39b40d18b217af669eea9 Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:28:50 2014 +0300 drm/i915/chv: Make CHV irq handler loop until all interrupts are consumed as under continuous execlists load we can saturate the IRQ handler, destablising the tsc clock and triggering the NMI watchdog to declare a hung CPU. [ 552.756051] clocksource: timekeeping watchdog on CPU0: Marking clocksource 'tsc' as unstable because the skew is too large: [ 552.756080] clocksource: 'refined-jiffies' wd_now: 10003b480 wd_last: 10003b28c mask: ffffffff [ 552.756091] clocksource: 'tsc' cs_now: d55d31aa50 cs_last: d17446166c mask: ffffffffffffffff [ 552.756210] clocksource: Switched to clocksource refined-jiffies [ 575.217870] NMI watchdog: Watchdog detected hard LOCKUP on cpu 1 [ 575.217893] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.5.0-rc7+ #18 [ 575.217905] Hardware name: /NUC5CPYB, BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015 [ 575.217915] 0000000000000000 ffff88027fd05bc0 ffffffff81288c6d 0000000000000000 [ 575.217935] 0000000000000001 ffff88027fd05be0 ffffffff810e72d1 0000000000000000 [ 575.217951] ffff88027fd05c80 ffff88027fd05c20 ffffffff81114b60 0000000181015f1e [ 575.217967] Call Trace: [ 575.217973] <NMI> [<ffffffff81288c6d>] dump_stack+0x4f/0x72 [ 575.217994] [<ffffffff810e72d1>] watchdog_overflow_callback+0x151/0x160 [ 575.218003] [<ffffffff81114b60>] __perf_event_overflow+0xa0/0x1e0 [ 575.218016] [<ffffffff811154c4>] perf_event_overflow+0x14/0x20 [ 575.218028] [<ffffffff8101d2ca>] intel_pmu_handle_irq+0x1da/0x460 [ 575.218042] [<ffffffff814a8aae>] ? poll_idle+0x3e/0x70 [ 575.218052] [<ffffffff814a8aae>] ? poll_idle+0x3e/0x70 [ 575.218064] [<ffffffff81014ae8>] perf_event_nmi_handler+0x28/0x50 [ 575.218075] [<ffffffff81007540>] nmi_handle+0x60/0x130 [ 575.218086] [<ffffffff814a8aae>] ? poll_idle+0x3e/0x70 [ 575.218096] [<ffffffff810079c0>] do_nmi+0x140/0x470 [ 575.218108] [<ffffffff81559ec7>] end_repeat_nmi+0x1a/0x1e [ 575.218119] [<ffffffff814a8aae>] ? poll_idle+0x3e/0x70 [ 575.218129] [<ffffffff814a8aae>] ? poll_idle+0x3e/0x70 [ 575.218139] [<ffffffff814a8aae>] ? poll_idle+0x3e/0x70 [ 575.218148] <<EOE>> [<ffffffff814a8353>] cpuidle_enter_state+0xf3/0x2f0 [ 575.218164] [<ffffffff814a8587>] cpuidle_enter+0x17/0x20 [ 575.218175] [<ffffffff810aaa3a>] call_cpuidle+0x2a/0x40 [ 575.218185] [<ffffffff810aade3>] cpu_startup_entry+0x273/0x330 [ 575.218196] [<ffffffff81033a1e>] start_secondary+0x10e/0x130 However, not servicing all available IIR within the handler does hurt the throughput of pathological nop execbuf by about 20%, with a similar effect upon the dispatch latency of a series of execbuf. v2: use do {} while(0) for a smaller patch, and easier to revert again I have reasonable confidence that we do not miss GT interrupts (as execlists provides a stress case with a failure mechanism easily detected by igt), however I have less confidence about all the other sources of interrupts and worry that may lose a display hotplug interrupt, for example. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93467 Testcase: igt/gem_exec_nop/basic # requires NMI watchdog Signed-off-by: Chris Wilson <[email protected]> Cc: Ville Syrjälä <[email protected]> Cc: Antti Koskipää <[email protected]> Cc: Tvrtko Ursulin <[email protected]> Cc: [email protected] Reviewed-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 579de73b048a0a4c66c25a033ac76a2836e0cf73) Signed-off-by: Jani Nikula <[email protected]>
2016-04-05drm/i915: Call intel_dp_mst_resume() before resuming displaysLyude1-2/+2
Since we need MST devices ready before we try to resume displays, calling this after intel_display_resume() can result in some issues with various laptop docks where the monitor won't turn back on after suspending the system. This order was originally changed in commit e7d6f7d70829 ("drm/i915: resume MST after reading back hw state") In order to fix some unclaimed register errors, however the actual cause of those has since been fixed. CC: [email protected] Signed-off-by: Lyude <[email protected]> [danvet: Resolve conflicts with locking changes.] Signed-off-by: Daniel Vetter <[email protected]> (cherry picked from commit a16b7658f4e0d4aec9bc3e75a5f0cc3f7a3a0422) Signed-off-by: Jani Nikula <[email protected]>
2016-04-05drm/i915: Fix race condition in intel_dp_destroy_mst_connector()Lyude1-4/+2
After unplugging a DP MST display from the system, we have to go through and destroy all of the DRM connectors associated with it since none of them are valid anymore. Unfortunately, intel_dp_destroy_mst_connector() doesn't do a good enough job of ensuring that throughout the destruction process that no modesettings can be done with the connectors. As it is right now, intel_dp_destroy_mst_connector() works like this: * Take all modeset locks * Clear the configuration of the crtc on the connector, if there is one * Drop all modeset locks, this is required because of circular dependency issues that arise with trying to remove the connector from sysfs with modeset locks held * Unregister the connector * Take all modeset locks, again * Do the rest of the required cleaning for destroying the connector * Finally drop all modeset locks for good This only works sometimes. During the destruction process, it's very possible that a userspace application will attempt to do a modesetting using the connector. When we drop the modeset locks, an ioctl handler such as drm_mode_setcrtc has the oppurtunity to take all of the modeset locks from us. When this happens, one thing leads to another and eventually we end up committing a mode with the non-existent connector: [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* failed to enable link training [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x7cf0001f [drm:intel_dp_start_link_train [i915]] *ERROR* failed to start channel equalization [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x7cf0001f [drm:intel_mst_pre_enable_dp [i915]] *ERROR* failed to allocate vcpi And in some cases, such as with the T460s using an MST dock, this results in breaking modesetting and/or panicking the system. To work around this, we now unregister the connector at the very beginning of intel_dp_destroy_mst_connector(), grab all the modesetting locks, and then hold them until we finish the rest of the function. CC: [email protected] Signed-off-by: Lyude <[email protected]> Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 1f7717552ef1306be3b7ed28c66c6eff550e3a23) Signed-off-by: Jani Nikula <[email protected]>
2016-04-05drm/edid: Fix parsing of EDID 1.4 Established Timings III descriptorPaul Parsons1-1/+1
The EDID 1.4 specification section 3.10.3.9 defines an Established Timings III descriptor (tag #F7h). The parsing of this descriptor by drm_est3_modes() is off by one byte: the offset of the first timing bitmap is 6, not 5. Signed-off-by: Paul Parsons <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-04-05drm/edid: Fix EDID Established Timings I and IIPaul Parsons1-3/+3
Three of the VESA DMT timings in edid_est_modes[] are slightly off. 1. 640x480@72Hz vsync_end should be 492, not 491. 2. 640x480@60Hz clock should be 25175, not 25200. 3. 1024x768@75Hz clock should be 78750, not 78800. This patch corrects those timings per the VESA DMT specification, and thus brings them into line with the identical timings in drm_dmt_modes[]. Signed-off-by: Paul Parsons <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-04-05PM / runtime: Document steps for device removalKrzysztof Kozlowski1-0/+4
Put a reminder that during device removal drivers should revert all PM runtime changes from the probe. Signed-off-by: Krzysztof Kozlowski <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2016-04-05powercap: intel_rapl: Add missing Haswell modelSrinivas Pandruvada1-0/+1
Added missing model 0x46. Tested-and-reported-by: Piotr Maksymiuk <[email protected]> Signed-off-by: Srinivas Pandruvada <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2016-04-05cpufreq: dt: Drop stale commentViresh Kumar1-3/+0
The comment in file header doesn't hold true anymore, drop it. Signed-off-by: Viresh Kumar <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2016-04-05cpufreq: intel_pstate: Documenation for structuresSrinivas Pandruvada1-0/+135
No code change. Only added kernel doc style comments for structures. Signed-off-by: Srinivas Pandruvada <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2016-04-05cpufreq: intel_pstate: fix inconsistency in setting policy limitsSrinivas Pandruvada1-6/+23
When user sets performance policy using cpufreq interface, it is possible that because of policy->max limits, the actual performance is still limited. But the current implementation will silently switch the policy to powersave and start using powersave limits. If user modifies any limits using intel_pstate sysfs, this is actually changing powersave limits. The current implementation tracks limits under powersave and performance policy using two different variables. When policy->max is less than policy->cpuinfo.max_freq, only powersave limit variable is used. This fix causes the performance limits variable to be used always when the policy is performance. Signed-off-by: Srinivas Pandruvada <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2016-04-04Merge tag 'linux-kselftest-4.6-rc3' of ↵Linus Torvalds1-11/+11
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest fixes from Shuah Khan: "This update for Kselftest contains seccomp fixes" * tag 'linux-kselftest-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftest/seccomp: Fix the seccomp(2) signature selftest/seccomp: Fix the flag name SECCOMP_FILTER_FLAG_TSYNC
2016-04-04Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds56-181/+229
Pull MIPS fixes from Ralf Baechle: "This is the first round of MIPS fixes for 4.6: - Fix spelling mistakes all over arch/mips - Provide __bswapsi2 so XZ kernel compression will build with older GCC - ATH79 clock fixes. - Fix clock-rated copy-paste erros in ATH79 DTS. - Fix gisb-arb compatible string for 7435 BMIPS - Enable NAND and UBIFS support in CI20. - Fix BUG() assertion caused by inapropriate smp_processor_id() use. - Fix exception handling issues for the sake of debuggers - Fix the last remaining instance of irq_to_gpio in the db1xxx_ss PCMCIA code - Fix MSA unaligned load failures - Panic if kernel is configured for a not TLB-supported page size - Bail out on unsupported relocs in modules. - Partial fix for Qemu breakage after recent IPI rewrite - Wire up the preadv2 and pwrite2 syscalls - Fix the ar724x clock calculation" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: traps.c: Verify the ISA for microMIPS RDHWR emulation MIPS: BMIPS: Fix gisb-arb compatible string for 7435 MIPS: Bail on unsupported module relocs MIPS: dts: qca: ar9132_tl_wr1043nd_v1.dts: use "ref" for reference clock name MIPS: ath79: Fix the ar913x reference clock rate MIPS: ath79: Fix the ar724x clock calculation dt-bindings: clock: qca,ath79-pll: fix copy-paste typos MIPS: traps: Correct the SIGTRAP debug ABI in `do_watch' and `do_trap_or_bp' FIRMWARE: Broadcom: Fix grammar of warning messages in bcm47xx_sprom.c. MIPS: ci20: Enable NAND and UBIFS support in defconfig. MIPS: Fix misspellings in comments. MIPS: tlb-r4k: panic if the MMU doesn't support PAGE_SIZE MIPS: zboot: Remove copied source files on clean MIPS: zboot: Fix the build with XZ compression on older GCC versions MIPS: Wire up preadv2 and pwrite2 syscalls. MIPS: cpu_name_string: Use raw_smp_processor_id(). pcmcia: db1xxx_ss: fix last irq_to_gpio user MIPS: Fix MSA ld unaligned failure cases MIPS: Fix broken malta qemu
2016-04-04Merge tag 'for-linus-4.6-rc2-tag' of ↵Linus Torvalds4-11/+41
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen fixes from David Vrabel: "Regression and bug fixes for 4.6-rc2: - safely migrate event channels between CPUs - fix CPU hotplug - maintainer changes" * tag 'for-linus-4.6-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: MAINTAINERS: xen: Konrad to step down and Juergen to pick up xen/events: Mask a moving irq Xen on ARM and ARM64: update MAINTAINERS info xen/x86: Call cpu_startup_entry(CPUHP_AP_ONLINE_IDLE) from xen_play_dead() xen/apic: Provide Xen-specific version of cpu_present_to_apicid APIC op
2016-04-04drm/amd/powerplay: add uvd/vce dpm enabling flag default.Rex Zhu1-0/+3
These should be set by default otherwise the UVD/VCE performance won't be optimal. Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-04-04drm/amd/powerplay: fix issue that resume back, dpm can't work on FIJI.Rex Zhu1-0/+6
Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-04-04drm/amdgpu: save and restore the firwmware cache part when suspend resumeLeo Liu1-16/+11
Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-04-04drm/amdgpu: save and restore UVD context with suspend and resumeLeo Liu5-26/+35
and revert fix following it accordingly Revert "drm/amdgpu: stop trying to suspend UVD sessions v2" Revert "drm/amdgpu: fix the UVD suspend sequence order" Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-04-04drm/ttm: use phys_addr_t for ttm_bus_placementAlex Deucher1-1/+1
Fixes ttm on platforms like PPC460 where the CPU is in 32-bit mode, but the physical addresses are >32 bits. Extracted from a patch by Hans Verkuil. Tested-by: Julian Margetson <[email protected]> Acked-by: Thomas Hellstrom <[email protected]> Reviewed-by: Christian König <[email protected]> Cc: Thomas Hellstrom <[email protected]> Cc: Julian Margetson <[email protected]> Cc: Hans Verkuil <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2016-04-04Revert "Staging: olpc_dcon: Remove obsolete driver"Greg Kroah-Hartman10-0/+1351
This reverts commit 82ef33af9dd30075adbd9f3dd161b606b8ba88ac. It turns out these machines are still out there, and the original patch broke them. So revert it, adding back the driver, so people's machines still work properly. Reported-by: James Cameron <[email protected]> Cc: Shraddha Barke <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-04-04staging/rdma/hfi1: select CRC32Markus Böhme1-0/+1
The function parse_platform_config in firmware.c calls crc32_le. Building without CRC32 selected causes a link error: drivers/built-in.o: In function `parse_platform_config': (.text+0x92ffa): undefined reference to `crc32_le' Signed-off-by: Markus Böhme <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>