=============================================== ChangeLog for compat-drivers for linux-3.7-rc1 =============================================== This is the ChangeLog for the Linux kernel project compat-drivers. It provides a backport of a few Linux kernel subsystems down to older kernels: * 802.11 * Bluetooth * Ethernet * DRM For more details refer to the home pages: https://backports.wiki.kernel.org The compat-drivers project consists of code from three projects: * The Linux kernel: linux-stable.git * Compat-wirelesS: compat-drivers.git * Compat: compat.git The compat-drivers stable releases incorporates code from from each of these git trees for the respective upstream Linux kernel stable release. A branch called linux-3.x.y exists for each stable release. Below we provide the ChangeLog of changes from the previous branched release to the new branched release. Release: linux-3.7 Updates from the compat.git project: ==================================== git shortlog linux-3.6.y..linux-3.7.y Felix Fietkau (1): compat: drop const to fix compiler warnings Luis R. Rodriguez (8): compat: backport netlink pid to portid rename compat: backport uidgid.h kuid_t and kgid_t addition compat: backport definition of VM_NODUMP and VM_DONTDUMP compat: backport seq_file's user namespace addition compat: backport usb_autopm_[get|put]_interface_no_[resume|suspend]() compat: fix first ckmake make clean assumption compat: add v3.6.2 vanilla kernels to bin/get-compat-kernels compat: encourage non-root use of bin/get-compat-kernels Updates from the compat-drivers.git project: ============================================= git shortlog linux-3.6.y..linux-3.7.y Andy Gospodarek (1): compat: only compile optional sdio code on 2.6.37 and later Bala Shanmugam (1): compat-drivers: Use GIT_TREE variable. Hauke Mehrtens (9): compat-wireless: add patch to make b44 work with < 2.6.36 compat-wireless: the tty termios change is not in 3.6-rc1 compat-wireless: add missing part to tty-termios backport compat-wireless: remove usage of dismantle in net_device compat-wireless: adapt changes in cfg80211.h in wil6210 compat-wireless: do not add const before SIMPLE_DEV_PM_OPS compat-wireless: make patches apply again compat-drivers: make patches apply again compat-drivers: fix handing of include/uapi Kyle Manna (1): compat-drivers: Fix typo for CONFIG_BT_HCIUART Luis R. Rodriguez (75): compat-wireless: fix patches/18-rename-usb-net-symbols.patch compat-wireless: fix patches/99-change-makefiles.patch compat-wireless: refresh patches for next-20120719 compat-wireless: remove onus linux-next-pending/ patches compat-wireless: merge a pending reg fix onto linux-next-pending/ compat-wireless: refresh patches for next-20120723 compat-wireless: remove pending reg mutex fix compat-wireless: refresh crap patches compat-wireless: fix disabling atl1c / alx for >= 2.6.28 compat-wireless: really fix atl1c and alx for >= 2.6.28 compat-wireless: backport tty termios changes compat-wireless: make TI wireless drivers depend on >= 2.6.30 compat-drivers: complete compat-wirelss --> compat-drivers rename compat-drivers: fix broken hunks for next-20120822 compat-drivers: refresh patches for next-20120822 compat-drivers: synch with linux-next 20120824 compat-drivers: backport dma-buf ops begin_cpu_access compat-drivers: refresh patches for next-20120904 compat-drivers: copy .compat_base on scripts/refresh-compat compat-drivers: refresh in synch with next-20120911 compat-drivers: backport netlink pid to portid rename compat-drivers: refresh patches for next-20120918 compat-drivers: adjust scripts to support daily linux-next releases compat-drivers: refresh patches for next-20120920 compat-drivers: refresh crap patches for next-20120920 compat-drivers: update gen-stable-release.sh to make bzip2 again compat-drivers: rename gen-stable-release.sh to gen-release.sh compat-drivers: gen-release.sh rename COMPAT_WIRELESS to COMPAT_DRIVERS compat-drivers: gen-release.sh update to reflect usage of linux-next compat-drivers: fix gen-release.sh to keep tar file compat-drivers: add kup support with git-paranoia support compat-drivers: fix space damage on git-paranoia compat-drivers: fix kup mkdir on gen-release.sh compat-drivers: add a few header BT header files to WSTABLE compat-drivers: refresh patches for next-20120925 compat-drivers: refresh drm patches for next-20120925 compat-drivers: separate NOSTDINC_FLAGS include dir lines compat-drivers: force using include/drm for header namespace compat-drivers: address usage of intel_enable_gtt() for i915 compat-drivers: backport usage of shmem_truncate_range() on i915 compat-drivers: enable DRM drivers compilation compat-drivers: fix patches/network/25-multicast-list_head.patch compat-drivers: fix patches/drm/04-revert-prime-support.patch compat-drivers: refresh patches for next-20121002 compat-drivers: copy over amp.h as a bluetooth header compat-drivers: fix 04-revert-prime-support.patch compat-drivers: fix 98-pr_fmt.patch compat-drivers: refresh patches for next-20121008 compat-drivers: improve git-paranoia with git clean compat-drivers: update gen-release.sh to use git clean compat-drivers: add verbose help options for gen-release.sh compat-drivers: add gen-release.sh -k option compat-drivers: change condition for kernel.org release target compat-drivers: refresh patches for next-20121011 compat-drivers: copy over uapi headers compat-drivers: add UAPI backport fixes compat-drivers: add uapi/dri to WSTABLE compat-drivers: remove full drivers from crap compat-drivers: remove alx driver from scripts / Makefile compat-drivers: remove wil6210 driver from scripts/driver-select compat-drivers: add rfkill.h from UAPI path Revert "compat-drivers: make patches apply again" compat-drivers: fix sed for gen-release.sh compat-drivers: add support for uploading stable releases compat-drivers: add / to target stable release end dir compat-drivers: add genlog compat-drivers: fix ChangeLog file name compat-drivers: add target path for ChangeLog file compat-drivers: refresh patches for v3.7-rc2 compat-drivers: fix 62-usb_driver_lpm.patch compat-drivers: refresh patches for v3.7-rc6 compat-drivers: remove non existing amp.h from update script compat-drivers: refresh patches for v3.7 compat-drivers: trim 'v' prefix from ChangeLog file compat-drivers: remove 'v' prefix from version on ChangeLog Ozan Çağlayan (16): compat-wireless: Nuke defconfigs compat-wireless: Rename compat-wireless to compat-drivers compat-wireless: Minor cosmetic changes in admin-update.sh compat-wireless: Small cosmetic changes compat-wireless: Fix another $HOME glitch, unify file lists compat-drivers: Clean up *.mod.c after everything compat-drivers: List everything vertically without concatenating compat-drivers: Add 2 convenience functions Switch README to markdown format compat-drivers: Use case instead of if/if/.. blocks compat-drivers: Add ability to select drivers to fetch compat-drivers: Fetch in DRM drivers compat-drivers: Move around patches and selectively apply them compat-drivers: Add DRM patches compat-drivers: Sync with linux-next 20120906 compat-drivers: Update 53-pr_fmt.patch Steven Luo (2): compat-wireless: driver-select: refactor select_drivers and eliminate redundant select_driver compat-wireless: driver-select: update after introduction of CONFIG_WL_TI Updates from the Linux kernel: ============================================= We only include very specific changes for the supported subsystems: * 802.11 * Bluetooth * Ethernet * DRM Generated by using: git log v3.6-rc1..HEAD \ net/wireless/ \ net/mac80211/ \ net/rfkill/ \ drivers/net/wireless/ \ net/bluetooth/ \ drivers/bluetooth/ \ drivers/gpu/drm/ drivers/net/ethernet/atheros/atl1c/ \ drivers/net/ethernet/atheros/atl1e/ \ drivers/net/ethernet/atheros/atlx/ \ include/uapi/linux/nl80211.h \ include/linux/rfkill.h \ include/uapi/rfkill.h \ include/uapi/drm \ include/net/cfg80211.h \ include/net/regulatory.h \ include/net/cfg80211.h >> ChangeLog-3.7.1-3 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git commit caf491916b1c1e939a2c7575efb7a77f11fc9bdf Author: Linus Torvalds Date: Mon Dec 10 10:51:16 2012 -0800 Revert "revert "Revert "mm: remove __GFP_NO_KSWAPD""" and associated damage This reverts commits a50915394f1fc02c2861d3b7ce7014788aa5066e and d7c3b937bdf45f0b844400b7bf6fd3ed50bac604. This is a revert of a revert of a revert. In addition, it reverts the even older i915 change to stop using the __GFP_NO_KSWAPD flag due to the original commits in linux-next. It turns out that the original patch really was bogus, and that the original revert was the correct thing to do after all. We thought we had fixed the problem, and then reverted the revert, but the problem really is fundamental: waking up kswapd simply isn't the right thing to do, and direct reclaim sometimes simply _is_ the right thing to do. When certain allocations fail, we simply should try some direct reclaim, and if that fails, fail the allocation. That's the right thing to do for THP allocations, which can easily fail, and the GPU allocations want to do that too. So starting kswapd is sometimes simply wrong, and removing the flag that said "don't start kswapd" was a mistake. Let's hope we never revisit this mistake again - and certainly not this many times ;) Acked-by: Mel Gorman Acked-by: Johannes Weiner Cc: Rik van Riel Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 7e5530af11be68f3109672aed59243f82e1272f0 Merge: 4ccc804 892a925 Author: Linus Torvalds Date: Sun Dec 2 16:39:00 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) 8139cp leaks memory in error paths, from Francois Romieu. 2) do_tcp_sendpages() cannot handle order > 0 pages, but they can certainly arrive there now, fix from Eric Dumazet. 3) Race condition and sysfs fixes in bonding from Nikolay Aleksandrov. 4) Remain-on-Channel fix in mac80211 from Felix Liao. 5) CCK rate calculation fix in iwlwifi, from Emmanuel Grumbach. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: 8139cp: fix coherent mapping leak in error path. tcp: fix crashes in do_tcp_sendpages() bonding: fix race condition in bonding_store_slaves_active bonding: make arp_ip_target parameter checks consistent with sysfs bonding: fix miimon and arp_interval delayed work race conditions mac80211: fix remain-on-channel (non-)cancelling iwlwifi: fix the basic CCK rates calculation commit 9f8933e960f98d27742727445061b0ece934e5cf Merge: e196c0e 6bdd253 Author: John W. Linville Date: Fri Nov 30 11:27:32 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit e548a83c34806b8bc2c55f52d3bc481a13a3829e Merge: 64b1e1b fc58acd Author: Dave Airlie Date: Wed Nov 28 16:51:10 2012 +1000 Merge branch 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux Just a single pll/crtc regression fix. * 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux: radeon: fix pll/ctrc mapping on dce2 and dce3 hardware commit fc58acdbf153f12783b80cb19c04cc9de121b518 Author: Jerome Glisse Date: Tue Nov 27 16:12:29 2012 -0500 radeon: fix pll/ctrc mapping on dce2 and dce3 hardware This fix black screen on resume issue that some people are experiencing. There is a bug in the atombios code regarding pll/crtc mapping. The atombios code reverse the logic for the pll and crtc mapping. agd5f: drop unnecessary crtc id check, cc stable in case we miss 3.7. This fixes the root cause that was worked around by commits: drm/radeon: allocate PPLLs from low to high drm/radeon/dce3: switch back to old pll allocation order for discrete Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher Cc: stable@vger.kernel.org commit 64b1e1bad7f49f32e4036a53dbe1de2b76a43eac Merge: efc15e0 c69d527 Author: Dave Airlie Date: Tue Nov 27 14:41:37 2012 +1000 Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos Inki writes: This pull request fixes minor issues and includes code cleanup. * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: Fix potential NULL pointer dereference in exynos_drm_encoder.c drm/exynos: Make exynos4/5_fimd_driver_data static drm/exynos: fix overlay updating issue drm/exynos: remove unnecessary code. drm/exynos: fix linux framebuffer address setting. commit efc15e04886d4fdc57f580ec4ae049aece8973e7 Merge: 9489e9d 6567d74 Author: Dave Airlie Date: Tue Nov 27 14:40:13 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel Daniel writes: - Unbreak mbp retina, this time with a much more fine-grained approach (since the previous "completely ignore edp vbt bpp value" regressed some machines even after fixing a bug in our dp bw code). - Disable cloning on sdvo. It just doesn't work (yeah took us a while to figure out), leading to jittery outputs in the best case. - Revert rc6 for ilk again. It seems to help a few of the gpu hang reporters at least, and it's definitely the best we've got. Head-against-the-wall-banging is still ongoing for what really breaks (and how we can reproduce the non-rc6 hangs and how to reproduce on gen4). * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: Revert "drm/i915: enable rc6 on ilk again" drm/i915: do not default to 18 bpp for eDP if missing from VBT drm/i915: disable cloning on sdvo commit 6bdd253f635f7b2ef027d116933a6c9ec148b87f Author: Johannes Berg Date: Sat Nov 24 00:32:19 2012 +0100 mac80211: fix remain-on-channel (non-)cancelling Felix Liao reported that when an interface is set DOWN while another interface is executing a ROC, the warning in ieee80211_start_next_roc() (about the first item on the list having started already) triggers. This is because ieee80211_roc_purge() calls it even if it never actually changed the list of ROC items. To fix this, simply remove the function call. If it is needed then it will be done by the ieee80211_sw_roc_work() function when the ROC item that is being removed while active is cleaned up. Cc: stable@vger.kernel.org Reported-by: Felix Liao Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 53c5251366e7b815f76f92260b594446c94bd534 Merge: 400e020 5edd0b9 Author: John W. Linville Date: Mon Nov 26 14:25:22 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes commit 6567d748c4e94e3481e523803ec07ebd825c80d6 Author: Chris Wilson Date: Sat Nov 10 10:00:06 2012 +0000 Revert "drm/i915: enable rc6 on ilk again" Even with the cumulative set of ilk w/a, rc6 is demonstrably still failing and causing GPU hangs as found by Peter Wu. So we need to disable it again until it is stable. This reverts commit 456470eb583f063ee84c6818251e638598be0fb8 Author: Daniel Vetter Date: Wed Aug 8 23:35:40 2012 +0200 drm/i915: enable rc6 on ilk again and the follow-on commit cd7988eea561a70a4f98e431c1395f913672d626 Author: Daniel Vetter Date: Sun Aug 26 20:33:18 2012 +0200 drm/i915: disable rc6 on ilk when vt-d is enabled Note: The situation around the gen4/5 gpu hangs that cropped up in 3.7 is rather strange. Most useful bisects have lead to commit 6c085a728cf000ac1865d66f8c9b52935558b328 Author: Chris Wilson Date: Mon Aug 20 11:40:46 2012 +0200 drm/i915: Track unbound pages or even later commits that affect the gem bo recycling, which all is way past the point where we re-enabled rc6. But somehow reverting/disabling those commits doesn't help, but disabling rc6 at least helps for many hangs on ilk. Obviously it doesn't change anything at all on gen4, and there are still strange issues left on gen5 (which we unfortunately can't readily reproduce). Also, the error_state signature of the hangs which can be fixed with this patch look remarkably different to those which seem to be unaffected by the rc6 settings: The rc6 hangs are in the ring, somewhere in the MI_FLUSH/PIPE_CONTROL sequence to make ilk coherent, wheras all the other hangs tend to be at a random point in the middle of the user batch. So it could also be that we have different issues. Until we grow more clue, this at least helps some users. Reported-by: Peter Wu References: https://bugs.freedesktop.org/show_bug.cgi?id=55984 Signed-off-by: Chris Wilson [danvet: Added note with some more details about the gen4/5 3.7 gpu hang regression.] Signed-off-by: Daniel Vetter commit 9a30a61f3516871c5c638fd7c025fbaa11ddf7fe Author: Jani Nikula Date: Mon Nov 12 14:33:45 2012 +0200 drm/i915: do not default to 18 bpp for eDP if missing from VBT commit 500a8cc466a24e2fbc4c86ef9c6467ae2ffdeb0c Author: Zhenyu Wang Date: Wed Jan 13 11:19:52 2010 +0800 drm/i915: parse eDP panel color depth from VBT block originally introduced parsing bpp for eDP from VBT, with a default of 18 bpp if the eDP BIOS data block is not present. Turns out that default seems to break the Macbook Pro with retina display, as noted in commit 4344b813f105a19f793f1fd93ad775b784648b95 Author: Daniel Vetter Date: Fri Aug 10 11:10:20 2012 +0200 drm/i915: ignore eDP bpc settings from vbt Since we can't ignore bpc settings from VBT completely after all, get rid of the default. Do not clamp eDP to 18 bpp by default if the eDP BDB is missing from VBT. Signed-off-by: Jani Nikula Tested-by: Henrik Rydberg [danvet: paste in the updated commit message from irc.] Signed-off-by: Daniel Vetter commit 0e0f092ef0c474c3996c8e023d1724f4f72132ad Merge: ef6c5be 452f192 Author: Linus Torvalds Date: Thu Nov 22 09:14:24 2012 -1000 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie. Small fixes for (mostly Nouveau, some radeon) regressions. * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: use the correct fence implementation for nv50 drm/radeon: add new SI pci id radeon: add AGPMode 1 quirk for RV250 drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop() drm/nouveau/bios: fix DCB v1.5 parsing drm/nouveau: add missing pll_calc calls drm/nouveau: fix crash with noaccel=1 drm/nv40: allocate ctxprog with kmalloc drm/nvc0/disp: fix thinko in vblank regression fix.. commit c69d5276704e1a9c771de57c0a2e7b69ea3ea578 Author: Sachin Kamat Date: Mon Nov 19 14:50:30 2012 +0530 drm/exynos: Fix potential NULL pointer dereference in exynos_drm_encoder.c Check overlay_ops is not NULL as checked in the previous 'if' condition. Fixes the following smatch error: drivers/gpu/drm/exynos/exynos_drm_encoder.c:509 exynos_drm_encoder_plane_disable() error: we previously assumed 'overlay_ops' could be null (see line 499) Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 77b1c0362ffdb11128590a7248f3f8c434ab42f2 Author: Sachin Kamat Date: Mon Nov 19 15:22:54 2012 +0530 drm/exynos: Make exynos4/5_fimd_driver_data static Fixes the following sparse warnings: drivers/gpu/drm/exynos/exynos_drm_fimd.c:65:25: warning: symbol 'exynos4_fimd_driver_data' was not declared. Should it be static? drivers/gpu/drm/exynos/exynos_drm_fimd.c:69:25: warning: symbol 'exynos5_fimd_driver_data' was not declared. Should it be static? Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit ffe9955a741a2742cc517245b2219b61cc6dde28 Author: Inki Dae Date: Wed Nov 14 20:41:35 2012 +0900 drm/exynos: fix overlay updating issue Chagelog v2: Move encoder's dpms updating into exynos_drm_encoder_commit function because when crtc's dpms is updated, encoder's dpms is updated also. This would induce the issue that encoder isn't disabled after crtc is disabled. Changelog v1: This patch fixes a issue that overlay data aren't applied to real hardware when dpms off goes to on after setcrtc was requested like below, dpms off -> setcrtc -> dpms off -> dpms on For this, it makes encoder's dpms to be updated when setcrtc is requested. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit a39b49812fe0c3f62fd3f7f6ec8c10d8f7035992 Author: Inki Dae Date: Wed Nov 14 17:28:36 2012 +0900 drm/exynos: remove unnecessary code. plane->fb will be set to new fb after update_plane callback is called by drm_mode_set_plane() Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 129495dee5e1b76e8c8bf342c0f7ad18544d79a9 Author: Inki Dae Date: Fri Nov 9 16:41:29 2012 +0900 drm/exynos: fix linux framebuffer address setting. With iommu, buffer->dma_addr has device addres so this patch fixes for physical address to be set to fix.smem_start always. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 452f19201f35d20a1a6c9009acbcfa6799163c6a Merge: da6004b 0181bd5 Author: Dave Airlie Date: Thu Nov 22 13:21:46 2012 +1000 Merge branch 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Alex writes: A couple more small fixes for 3.7: - another evergreen_mc fix - add an AGP quirk for an old RV250 - new pci id. * 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: add new SI pci id radeon: add AGPMode 1 quirk for RV250 drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop() commit da6004b8d02f79b893d425d11400ccad2b7c2efd Merge: 776d1e3 ace5a9b Author: Dave Airlie Date: Thu Nov 22 13:20:45 2012 +1000 Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes nouveau: one more regression fix. * 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: use the correct fence implementation for nv50 commit 776d1e38c5934ba4d2e300fe4208602babae4c1d Merge: 6f75511 3bb076a Author: Dave Airlie Date: Mon Nov 19 14:03:27 2012 +1000 Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes Some more misc fallout from nouveau rework. * 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/bios: fix DCB v1.5 parsing drm/nouveau: add missing pll_calc calls drm/nouveau: fix crash with noaccel=1 drm/nv40: allocate ctxprog with kmalloc drm/nvc0/disp: fix thinko in vblank regression fix.. commit ace5a9b8dbc66ada0aa8c5f67b93527590822c7c Author: Maarten Lankhorst Date: Wed Nov 21 13:21:12 2012 +0100 drm/nouveau: use the correct fence implementation for nv50 Only compile time tested, noticed nv50_fence_create was never used, so fix this. This will probably fix vblank on nv50 cards. Hopefully this is still in time for 3.7 final release. Signed-off-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit f30a944392d701228f5076c0397c83bf871153d2 Merge: aecb55b 400e020 Author: John W. Linville Date: Wed Nov 21 10:42:23 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem John W. Linville says: ==================== This is a batch of fixes intended for 3.7... Included are two pulls. Regarding the mac80211 tree, Johannes says: "Please pull my mac80211.git tree (see below) to get two more fixes for 3.7. Both fix regressions introduced *before* this cycle that weren't noticed until now, one for IBSS not cleaning up properly and the other to add back the "wireless" sysfs directory for Fedora's startup scripts." Regarding the iwlwifi tree, Johannes says: "Please also pull my iwlwifi.git tree, I have two fixes: one to remove a spurious warning that can actually trigger in legitimate situations, and the other to fix a regression from when monitor mode was changed to use the "sniffer" firmware mode." Also included is an nfc tree pull. Samuel says: "We mostly have pn533 fixes here, 2 memory leaks and an early unlocking fix. Moreover, we also have an LLCP adapter linked list insertion fix." On top of that, a few more bits... Albert Pool adds a USB ID to rtlwifi. Bing Zhao provides two mwifiex fixes -- one to fix a system hang during a command timeout, and the other to properly report a suspend error to the MMC core. Finally, Sujith Manoharan fixes a thinko that would trigger an ath9k hang during device reset. ==================== Signed-off-by: David S. Miller commit 5edd0b946a0afeb1d0364a3654328b046fb818a2 Author: Emmanuel Grumbach Date: Tue Nov 20 16:31:25 2012 +0200 iwlwifi: fix the basic CCK rates calculation Fix a copy paste error in iwl_calc_basic_rates which leads to a wrong calculation of CCK basic rates. Cc: stable@vger.kernel.org Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 45171002b01b2e2ec4f991eca81ffd8430fd0aec Author: Paul Bolle Date: Mon Nov 19 21:17:31 2012 +0100 radeon: add AGPMode 1 quirk for RV250 The Intel 82855PM host bridge / Mobility FireGL 9000 RV250 combination in an (outdated) ThinkPad T41 needs AGPMode 1 for suspend/resume (under KMS, that is). So add a quirk for it. (Change R250 to RV250 in comment for preceding quirk too.) Signed-off-by: Paul Bolle Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 804cc4a0ad3a896ca295f771a28c6eb36ced7903 Author: Alex Deucher Date: Mon Nov 19 09:11:27 2012 -0500 drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop() The save struct is not initialized previously so explicitly mark the crtcs as not used when they are not in use. Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit e506d6fde50e0a737234892eda31708692bdda29 Author: Daniel Vetter Date: Tue Nov 13 17:24:43 2012 +0100 drm/i915: disable cloning on sdvo After the recent pile of disable-cloning patches, e.g. commit e3b86d6941c7e5f90be05d986fce1fcb40c68d6b Author: Egbert Eich Date: Sat Oct 13 14:30:15 2012 +0200 DRM/i915: Don't clone SDVO LVDS with analog and a bug report from Chris Wilson indicating that cloning doesn't even work for DVI-SDVO and native VGA, let's just disable cloning on sdvo encoders completely. v2: Update the comment in the code as discussed with Paulo Zanoni. Reviewed-by: Paulo Zanoni Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=29259 Tested-by: Chris Wilson Signed-off-by: Daniel Vetter commit 65210946f31007d12efcf66586fdcaf6ff3fa8f9 Merge: e56108d9 e1b69fd Author: John W. Linville Date: Mon Nov 19 14:38:12 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes commit e56108d92760c89ce21c30aa02588595b9396251 Merge: da8fb12 38c1a01 Author: John W. Linville Date: Mon Nov 19 14:37:43 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit da8fb123b041e487d28f54d3a77a15139cb9e3b9 Author: Sujith Manoharan Date: Sat Nov 17 21:20:50 2012 +0530 ath9k_hw: Fix regression in device reset Commit "ath9k: improve suspend/resume reliability" broke ath9k_htc and bringing up the device would hang indefinitely. Fix this. Cc: stable@vger.kernel.org Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3bb076af2ae571a48465972d5747175cec3564cd Author: Marcin Slusarz Date: Sat Nov 17 21:33:15 2012 +0100 drm/nouveau/bios: fix DCB v1.5 parsing memcmp->nv_strncmp conversion, in addition to name change, should have inverted the return value. But nv_strncmp does not act like strncmp - it does not check for string terminator, returns true/false instead of -1/0/1 and has different parameters order. Let's rename it to nv_memcmp and let it act like memcmp. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit d9c390561d1c4e520773e62781bbf89bb6845353 Author: Maarten Lankhorst Date: Fri Nov 16 17:47:16 2012 +0100 drm/nouveau: add missing pll_calc calls Fixes a null pointer dereference when reclocking on my fermi. Signed-off-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit bf7e438bcaff4b732f86bb2eb48fc4fee04dc31b Author: Marcin Slusarz Date: Sun Nov 11 20:00:09 2012 +0100 drm/nouveau: fix crash with noaccel=1 Reported-by: Ortwin Glück Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 1f150b3e7a722ebfc68eec5d83a9fe1ee8d75d71 Author: Marcin Slusarz Date: Sun Nov 11 19:58:52 2012 +0100 drm/nv40: allocate ctxprog with kmalloc Some archs defconfigs have CONFIG_FRAME_WARN set to 1024, which lead to this warning: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: warning: the frame size of 1184 bytes is larger than 1024 bytes Reported-by: Geert Uytterhoeven Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 4113014f2d7bef992ed373c30b6b4ba4be6969ea Author: Kelly Doran Date: Thu Nov 15 14:37:28 2012 +1000 drm/nvc0/disp: fix thinko in vblank regression fix.. Signed-off-by: Ben Skeggs commit e1b69fdf33f63cfa600b992172d7376f9d9ef2e9 Author: Emmanuel Grumbach Date: Mon Oct 15 17:57:36 2012 +0200 iwlwifi: don't WARN when a non empty queue is disabled This can happen when we shut down suddenly an interface. Cc: stable@vger.kernel.org Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 1d567e19cc9810a9bd67b1ccab54b68d86dadb76 Merge: d3fb695 a8203d3 Author: Linus Torvalds Date: Fri Nov 16 14:10:15 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking updates from David Miller: 1) tx_filtered/ps_tx_buf queues need to be accessed with the SKB queue lock, from Arik Nemtsov. 2) Don't call 802.11 driver's filter configure method until it's actually open, from Felix Fietkau. 3) Use ieee80211_free_txskb otherwise we leak control information. From Johannes Berg. 4) Fix memory leak in bluetooth UUID removal,f rom Johan Hedberg. 5) The shift mask trick doesn't work properly when 'optname' is out of range in do_ip_setsockopt(). Use a straightforward switch statement instead, the compiler emits essentially the same code but without the missing range check. From Xi Wang. 6) Fix when we call tcp_replace_ts_recent() otherwise we can erroneously accept a too-high tsval. From Eric Dumazet. 7) VXLAN bug fixes, mostly to do with VLAN header length handling, from Alexander Duyck. 8) Missing return value initialization for IPV6_MINHOPCOUNT socket option handling. From Hannes Frederic. 9) Fix regression in tasklet handling in jme/ksz884x/xilinx drivers, from Xiaotian Feng. 10) At smsc911x driver init time, we don't know if the chip is in word swap mode or not. However we do need to wait for the control register's ready bit to be set before we program any other part of the chip. Adjust the wait loop to account for this. From Kamlakant Patel. 11) Revert erroneous MDIO bus unregister change to mdio-bitbang.c 12) Fix memory leak in /proc/net/sctp/, from Tommi Rantala. 13) tilegx driver registers IRQ with NULL name, oops, from Simon Marchi. 14) TCP metrics hash table kzalloc() based allocation can fail, back down to using vmalloc() if it does. From Eric Dumazet. 15) Fix packet steering out-of-order delivery regression, from Tom Herbert. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (40 commits) net-rps: Fix brokeness causing OOO packets tcp: handle tcp_net_metrics_init() order-5 memory allocation failures batman-adv: process broadcast packets in BLA earlier batman-adv: don't add TEMP clients belonging to other backbone nodes batman-adv: correctly pass the client flag on tt_response batman-adv: fix tt_global_entries flags update tilegx: request_irq with a non-null device name net: correct check in dev_addr_del() tcp: fix retransmission in repair mode sctp: fix /proc/net/sctp/ memory leak Revert "drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister before mdiobus_free" net/smsc911x: Fix ready check in cases where WORD_SWAP is needed drivers/net: fix tasklet misuse issue ipv4/ip_vti.c: VTI fix post-decryption forwarding brcmfmac: fix typo in CONFIG_BRCMISCAN vxlan: Update hard_header_len based on lowerdev when instantiating VXLAN vxlan: fix a typo. ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set return value doc/net: Fix typo in netdev-features.txt vxlan: Fix error that was resulting in VXLAN MTU size being 10 bytes too large ... commit dd321acddc3be1371263b8c9e6c6f2af89f63d57 Author: Bing Zhao Date: Thu Nov 15 15:58:48 2012 -0800 mwifiex: report error to MMC core if we cannot suspend When host_sleep_config command fails we should return error to MMC core to indicate the failure for our device. The misspelled variable is also removed as it's redundant. Cc: "3.0+" Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b1a47aa5e1e159e2cb06d7dfcc17ef5149b09299 Author: Bing Zhao Date: Thu Nov 15 15:58:47 2012 -0800 mwifiex: fix system hang issue in cmd timeout error case Reported by Tim Shepard: I was seeing sporadic failures (wedgeups), and the majority of those failures I saw printed the printouts in mwifiex_cmd_timeout_func with cmd = 0xe5 which is CMD_802_11_HS_CFG_ENH. When this happens, two minutes later I get notified that the rtcwake thread is blocked, like this: INFO: task rtcwake:3495 blocked for more than 120 seconds. To get the hung thread unblocked we wake up the cmd wait queue and cancel the ioctl. Cc: "3.4+" Reported-by: Tim Shepard Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a485e827f07bfdd0762059386e6e787bed6e81ee Author: Albert Pool Date: Tue Oct 30 20:58:06 2012 +0100 rtlwifi: rtl8192cu: Add new USB ID This is an ISY IWL 2000. Probably a clone of Belkin F7D1102 050d:1102. Its FCC ID is the same. Signed-off-by: Albert Pool Cc: stable@vger.kernel.org Acked-by: Larry Finger Signed-off-by: John W. Linville commit 26c6e80892d8c160dffaba85889bd4e65b1dacf6 Merge: 6fc4adc d61f978 Author: John W. Linville Date: Fri Nov 16 12:59:13 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 6f755116c93ca35f496ccf1910dcd28cd16713e3 Merge: 3697fd5 2f4f649 Author: Dave Airlie Date: Fri Nov 16 10:00:43 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes Daniel writes: Just a few small things to fix regressions, somehow all patches from Jani: - Fix dpms confusion about which platforms support intermediate modes on vga. - Revert the "ignore vbt for eDP bpc" patch, it breaks machines. This will annoy mbp retina owners again, but windows machines seem to _really_ depend upon this. We can try to quirk the mbp retinas again in 3.8 and backport the patch. - Fix connector leaks when the sdvo setup failed, resulted in an OOPS later on when trying to probe that connector (with it's encoder kfree'd already). * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915: do not ignore eDP bpc settings from vbt drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures drm/i915/crt: fix DPMS standby and suspend mode handling commit 3697fd50a561f3b0ddcd1404edb7b81cb696e5e0 Merge: 55aa914 b919639 Author: Dave Airlie Date: Fri Nov 16 10:00:24 2012 +1000 Merge branch 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Just a single radeon fix from Alex. * 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix logic error in atombios_encoders.c commit 55aa914e9274cf1d55397cc04eb926eb055c79f7 Author: Akinobu Mita Date: Fri Nov 9 12:10:43 2012 +0000 drm/ttm: remove unneeded preempt_disable/enable It is unnecessary to disable preemption explicitly while calling copy_highpage(). Because copy_highpage() will do it again through kmap_atomic/kunmap_atomic. Signed-off-by: Akinobu Mita Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit ac207ed2471150e06af0afc76e4becc701fa2733 Author: Zhao Yakui Date: Tue Nov 13 18:31:55 2012 +0000 ttm: Clear the ttm page allocated from high memory zone correctly The TTM page can be allocated from high memory. In such case it is wrong to use the page_address(page) as the virtual address for the high memory page. bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50241 Signed-off-by: Zhao Yakui Cc: stable@vger.kernel.org Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 888155bbf63a5f955d7a45932ff05e848f715bf0 Author: Dan Carpenter Date: Mon Nov 12 11:07:24 2012 +0000 vmwgfx: return an -EFAULT if copy_to_user() fails copy_to_user() returns the number of bytes remaining to be copied, but we want to return a negative error code here. I fixed a couple of these last year, but I missed this one. Signed-off-by: Dan Carpenter Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit b9196395c905edec512dfd6690428084228c16ec Author: Alex Deucher Date: Wed Nov 14 09:10:39 2012 -0500 drm/radeon: fix logic error in atombios_encoders.c Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=50431 Reported-by: David Binderman Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Reviewed-by: Michel Dänzer commit d61f978b8f26d2392c88249f877e46e2c2b5561d Author: Hauke Mehrtens Date: Sun Nov 4 23:13:09 2012 +0100 brcmfmac: fix typo in CONFIG_BRCMISCAN The old ifdef CONFIG_BRCMFISCAN looks wrong to me and it makes more sense when CONFIG_BRCMISCAN is used. This patch was just compile tested by me, but not runtime tested. Signed-off-by: Hauke Mehrtens Acked-by: Franky Lin Signed-off-by: John W. Linville commit 485f2b7f5fd30f30a781d68b6190d6b293977d83 Merge: e734207 482049f Author: John W. Linville Date: Wed Nov 14 14:17:58 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth commit e734207fee61a76645ea3b3348180226ee4bc54e Merge: bd2a813 31df3bb Author: John W. Linville Date: Wed Nov 14 14:16:54 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes commit bd2a81307487eba486f200423330d2403d0b893b Merge: 6fe7cc7 43c771a Author: John W. Linville Date: Wed Nov 14 14:15:43 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit 04baaa27b43d389879237b32f8bd194a94cf1ca7 Author: Johannes Berg Date: Tue Nov 13 21:28:44 2012 +0100 iwlwifi: fix monitor mode FCS flag When the firmware is in SNIFFER mode, it leaves the FCS at the end of frame. Not telling mac80211 means it won't add the right flag to the radiotap header and that confuses wireshark. Since mac80211 doesn't have a per-packet flag, set the HW flag dynamically. This works as the monitor vif can only be present in the driver by itself. This fixes a regression introduced by my commit 578977264199de9815ace51ade87cec4894cf010 Author: Johannes Berg Date: Fri May 11 10:53:18 2012 +0200 iwlwifi: support explicit monitor interface Cc: stable@vger.kernel.org [3.5+] Reported-by: MARK PHILLIPS Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit b78a4932f5fb11fadf41e69c606a33fa6787574c Author: Simon Wunderlich Date: Tue Nov 13 18:43:03 2012 +0100 mac80211: deinitialize ibss-internals after emptiness check The check whether the IBSS is active and can be removed should be performed before deinitializing the fields used for the check/search. Otherwise, the configured BSS will not be found and removed properly. To make it more clear for the future, rename sdata->u.ibss to the local pointer ifibss which is used within the checks. This behaviour was introduced by f3209bea110cade12e2b133da8b8499689cb0e2e ("mac80211: fix IBSS teardown race") Cc: stable@vger.kernel.org Cc: Ignacy Gawedzki Signed-off-by: Simon Wunderlich Signed-off-by: Johannes Berg commit 2f4f649a69a9eb51f6e98130e19dd90a260a4145 Author: Jani Nikula Date: Mon Nov 12 14:33:44 2012 +0200 drm/i915: do not ignore eDP bpc settings from vbt There are laptops out there that need the eDP bpc from VBT. This is effectively a revert of commit 4344b813f105a19f793f1fd93ad775b784648b95 Author: Daniel Vetter Date: Fri Aug 10 11:10:20 2012 +0200 drm/i915: ignore eDP bpc settings from vbt but putting the VBT check after the EDID check to see them both in dmesg if this clamps more than the EDID. We have enough history with bpc clamping to warrant the extra debug info. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47641 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56401 Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit d0ddfbd3d1346c1f481ec2289eef350cdba64b42 Author: Jani Nikula Date: Mon Nov 12 18:31:35 2012 +0200 drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures Any failures in intel_sdvo_init() after the intel_sdvo_setup_output() call left behind ghost connectors, attached (with a dangling pointer) to the sdvo that has been cleaned up and freed. Properly destroy any connectors attached to the encoder. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46381 CC: Chris Wilson Signed-off-by: Jani Nikula Cc: stable@vger.kernel.org Tested-by: bjo@nord-west.org [danvet: added a comment to explain why we need to clean up connectors even when sdvo_output_setup fails.] Signed-off-by: Daniel Vetter commit 43c771a1963ab461a2f194e3c97fded1d5fe262f Author: Johannes Berg Date: Mon Nov 12 10:51:34 2012 +0100 wireless: allow 40 MHz on world roaming channels 12/13 When in world roaming mode, allow 40 MHz to be used on channels 12 and 13 so that an AP that is, e.g., using HT40+ on channel 9 (in the UK) can be used. Cc: stable@vger.kernel.org Reported-by: Eddie Chapman Tested-by: Eddie Chapman Acked-by: Luis R. Rodriguez Signed-off-by: Johannes Berg commit b251f0f399e275b027d6541cfbac1d2a3206b44a Merge: 2b1768f a375413 Author: Linus Torvalds Date: Sat Nov 10 22:03:49 2012 +0100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "Bug fixes galore, mostly in drivers as is often the case: 1) USB gadget and cdc_eem drivers need adjustments to their frame size lengths in order to handle VLANs correctly. From Ian Coolidge. 2) TIPC and several network drivers erroneously call tasklet_disable before tasklet_kill, fix from Xiaotian Feng. 3) r8169 driver needs to apply the WOL suspend quirk to more chipsets, fix from Cyril Brulebois. 4) Fix multicast filters on RTL_GIGA_MAC_VER_35 r8169 chips, from Nathan Walp. 5) FDB netlink dumps should use RTM_NEWNEIGH as the message type, not zero. From John Fastabend. 6) Fix smsc95xx tx checksum offload on big-endian, from Steve Glendinning. 7) __inet_diag_dump() needs to repsect and report the error value returned from inet_diag_lock_handler() rather than ignore it. Otherwise if an inet diag handler is not available for a particular protocol, we essentially report success instead of giving an error indication. Fix from Cyrill Gorcunov. 8) When the QFQ packet scheduler sees TSO/GSO packets it does not handle things properly, and in fact ends up corrupting it's datastructures as well as mis-schedule packets. Fix from Paolo Valente. 9) Fix oopser in skb_loop_sk(), from Eric Leblond. 10) CXGB4 passes partially uninitialized datastructures in to FW commands, fix from Vipul Pandya. 11) When we send unsolicited ipv6 neighbour advertisements, we should send them to the link-local allnodes multicast address, as per RFC4861. Fix from Hannes Frederic Sowa. 12) There is some kind of bug in the usbnet's kevent deferral mechanism, but more immediately when it triggers an uncontrolled stream of kernel messages spam the log. Rate limit the error log message triggered when this problem occurs, as sending thousands of error messages into the kernel log doesn't help matters at all, and in fact makes further diagnosis more difficult. From Steve Glendinning. 13) Fix gianfar restore from hibernation, from Wang Dongsheng. 14) The netlink message attribute sizes are wrong in the ipv6 GRE driver, it was using the size of ipv4 addresses instead of ipv6 ones :-) Fix from Nicolas Dichtel." * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: gre6: fix rtnl dump messages gianfar: ethernet vanishes after restoring from hibernation usbnet: ratelimit kevent may have been dropped warnings ipv6: send unsolicited neighbour advertisements to all-nodes net: usb: cdc_eem: Fix rx skb allocation for 802.1Q VLANs usb: gadget: g_ether: fix frame size check for 802.1Q cxgb4: Fix initialization of SGE_CONTROL register isdn: Make CONFIG_ISDN depend on CONFIG_NETDEVICES cxgb4: Initialize data structures before using. af-packet: fix oops when socket is not present pkt_sched: enable QFQ to support TSO/GSO net: inet_diag -- Return error code if protocol handler is missed net: bnx2x: Fix typo in bnx2x driver smsc95xx: fix tx checksum offload for big endian rtnetlink: Use nlmsg type RTM_NEWNEIGH from dflt fdb dump ptp: update adjfreq callback description r8169: allow multicast packets on sub-8168f chipset. r8169: Fix WoL on RTL8168d/8111d. drivers/net: use tasklet_kill in device remove/close process tipc: do not use tasklet_disable before tasklet_kill commit 1f98ab7fef48a2968f37f422c256c9fbd978c3f0 Author: Felix Fietkau Date: Sat Nov 10 03:44:14 2012 +0100 mac80211: call skb_dequeue/ieee80211_free_txskb instead of __skb_queue_purge Fixes more wifi status skb leaks, leading to hostapd/wpa_supplicant hangs. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg commit 20f544eea03db4b498942558b882d463ce575c3e Author: Johannes Berg Date: Thu Nov 8 14:06:28 2012 +0100 mac80211: don't send null data packet when not associated On resume or firmware recovery, mac80211 sends a null data packet to see if the AP is still around and hasn't disconnected us. However, it always does this even if it wasn't even connected before, leading to a warning in the new channel context code. Fix this by checking that it's associated. Cc: stable@vger.kernel.org Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 482049f75750d73358e65236b933417b69f9cc25 Author: Johan Hedberg Date: Thu Nov 8 10:25:26 2012 +0100 Bluetooth: Fix memory leak when removing a UUID When removing a UUID from the list in the remove_uuid() function we must also kfree the entry in addition to removing it from the list. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit acd9454433e28c1a365d8b069813c35c1c3a8ac3 Author: Marcos Chaparro Date: Tue Nov 6 16:19:11 2012 -0300 Bluetooth: ath3k: Add support for VAIO VPCEH [0489:e027] Added Atheros AR3011 internal bluetooth device found in Sony VAIO VPCEH to the devices list. Before this, the bluetooth module was identified as an Foxconn / Hai bluetooth device [0489:e027], now it claims to be an AtherosAR3011 Bluetooth [0cf3:3005]. T: Bus=01 Lev=02 Prnt=02 Port=04 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0489 ProdID=e027 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Marcos Chaparro Signed-off-by: Gustavo Padovan commit fbe96d6ff9f4e361e1b2ec0a30140e17af7e3854 Author: Marcel Holtmann Date: Tue Oct 30 01:35:40 2012 -0700 Bluetooth: Notify about device registration before power on It is important that the monitor interface gets notified about a new device before its power on procedure has been started. For some reason that is no longer working as expected and the power on procedure runs first. It is safe to just notify about device registration and trigger the power on procedure afterwards. Signed-off-by: Marcel Holtmann Acked-by: Johan Hedberg Signed-off-by: Gustavo Padovan commit 896ea28ea824d49671fc7e9315d9c5be491a644f Author: Paulo Sérgio Date: Thu Oct 25 16:55:51 2012 -0300 Bluetooth: Fix error status when pairing fails When pairing fails due to wrong confirm value, the management layer doesn't report a proper error status. It sends MGMT_STATUS_CONNECT_FAILED instead of MGMT_STATUS_AUTH_FAILED. Most of management functions that receive a status as a parameter expects for it to be encoded as a HCI status. But when a SMP pairing fails, the SMP layer sends the SMP reason as the error status to the management layer. This commit maps all SMP reasons to HCI_ERROR_AUTH_FAILURE, which will be converted to MGMT_STATUS_AUTH_FAILED in the management layer. Reported-by: Claudio Takahasi Reviewed-by: João Paulo Rechi Vita Signed-off-by: Paulo Sérgio Signed-off-by: Gustavo Padovan commit 476e44cb19f1fbf2d5883dddcc0ce31b33b45915 Author: Johan Hedberg Date: Fri Oct 19 20:10:46 2012 +0300 Bluetooth: Fix having bogus entries in mgmt_read_index_list reply The mgmt_read_index_list uses one loop to calculate the max needed size of its response with the help of an upper-bound of the controller count. The second loop is more strict as it checks for HCI_SETUP (which might have gotten set after the first loop) and could result in some indexes being skipped. Because of this the function needs to readjust the event length and index count after filling in the response array. Signed-off-by: Johan Hedberg Cc: stable@vger.kernel.org Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit afcc87aa6a233e52df73552dc1dc9ae3881b7cc8 Author: Thomas Hellstrom Date: Fri Nov 9 10:45:14 2012 +0100 drm/vmwgfx: Fix a case where the code would BUG when trying to pin GMR memory Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Cc: stable@vger.kernel.org Cc: linux-graphics-maintainer@vmware.com Signed-off-by: Dave Airlie commit 95e8f6a21996c4cc2c4574b231c6e858b749dce3 Author: Thomas Hellstrom Date: Fri Nov 9 10:05:57 2012 +0100 drm/vmwgfx: Fix hibernation device reset The device would not reset properly when resuming from hibernation. Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Cc: stable@vger.kernel.org Cc: linux-graphics-maintainer@vmware.com Signed-off-by: Dave Airlie commit cfff2f999d9baa561f20d999c8b83b03f078fb8f Author: Johannes Berg Date: Fri Nov 9 09:47:27 2012 +0100 mac80211: fix memory leak in device registration error path If the cipher suites need to be allocated, but this allocation fails, this leaks the internal scan request. Fix that by going to the correct error handling label. Signed-off-by: Johannes Berg commit 4a48ed2334b7ae61dd11bb114fa35bd4ebdc1ca0 Merge: 022d1a2 df28550 Author: Dave Airlie Date: Fri Nov 9 14:57:02 2012 +1000 Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes just some misc regression fixes and typo fixes. * 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: fix acpi edid retrieval drm/nvc0/disp: fix regression in vblank semaphore release drm/nv40/mpeg: fix context handling drm/nv40/graph: fix typo in type names drm/nv41/vm: fix typo in type name commit df285500b203a5603b1cdd1b16f42ab7a3544d7b Author: Maarten Lankhorst Date: Thu Nov 8 17:19:38 2012 +0100 drm/nouveau: fix acpi edid retrieval Commit c0077061e7ea accidentally inverted the logic for nouveau_acpi_edid, causing it to only show a connector as connected when the edid could not be retrieved with acpi. Signed-off-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit 11d92561c81be2f4a7af37f035e1af294b960abe Author: Kelly Doran Date: Wed Nov 7 10:02:04 2012 +1000 drm/nvc0/disp: fix regression in vblank semaphore release Signed-off-by: Kelly Doran Reviewed-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit 7707b701ebfea64afa6bfb23aa318fd687892754 Author: Marcin Slusarz Date: Tue Nov 6 22:48:51 2012 +0100 drm/nv40/mpeg: fix context handling It slipped in thanks to typeless API. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit a4dd4ec250fc2ac1fee371a08020bfca498a8375 Author: Marcin Slusarz Date: Tue Nov 6 22:48:50 2012 +0100 drm/nv40/graph: fix typo in type names nv04_graph_priv / nv04_graph_chan are not defined in this context... Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 479dd5670521a46ebcb55f535f8a41919cb93696 Author: Marcin Slusarz Date: Tue Nov 6 22:48:49 2012 +0100 drm/nv41/vm: fix typo in type name It's a miracle it compiles at all - nv04_vm_priv does not exist anywhere in the tree. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit f418b88aad0c42b4caf4d79a0cf8d14a5d0a2284 Author: Alex Deucher Date: Thu Nov 8 10:13:24 2012 -0500 drm/radeon/si: add some missing regs to the VM reg checker This register is needed for streamout to work properly. Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Reviewed-by: Michel Dänzer commit 860fe2f05fa2eacac84368e23547ec8cf3cc6652 Author: Alex Deucher Date: Thu Nov 8 10:08:04 2012 -0500 drm/radeon/cayman: add some missing regs to the VM reg checker These regs were being wronly rejected leading to rendering issues. fixes: https://bugs.freedesktop.org/show_bug.cgi?id=56876 Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Reviewed-by: Michel Dänzer commit 1e4db5f2b48401e7ac68e1b9b5323938223a6d15 Author: Alex Deucher Date: Mon Nov 5 10:16:12 2012 -0500 drm/radeon/dce3: switch back to old pll allocation order for discrete The order shouldn't matter, but this seems to cause regressions for certain specific cases. This should fix it for now. We probably need to investigate a proper fix in the next development cycle. Signed-off-by: Alex Deucher Cc: Andy Furniss commit 31df3bb78be614fb9125abe56972dfee79bd3e18 Author: Johannes Berg Date: Wed Oct 31 22:07:39 2012 +0100 iwlwifi: use ieee80211_free_txskb To let mac80211 clean up any TX information when a frame is dropped, use ieee80211_free_txskb(). Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 695ddeb457584a602f2ba117d08ce37cf6ec1589 Author: Alex Deucher Date: Mon Nov 5 16:34:58 2012 +0000 drm/radeon: fix typo in evergreen_mc_resume() Add missing index that may have led us to enabling more crtcs than necessary. May also fix: https://bugs.freedesktop.org/show_bug.cgi?id=56139 Signed-off-by: Alex Deucher Reviewed-by: Michel Dänzer Signed-off-by: Dave Airlie commit fdb40a08ef7bc970899c3a1f471165f9c22763a1 Author: Ilija Hadzic Date: Mon Oct 29 17:35:01 2012 +0000 drm: set dev_mapping before calling drm_open_helper Some drivers (specifically vmwgfx) look at dev_mapping in their open hook, so we have to set dev->dev_mapping earlier in the process. Reference: http://lists.freedesktop.org/archives/dri-devel/2012-October/029420.html Signed-off-by: Ilija Hadzic Reported-by: Thomas Hellstrom Cc: stable@vger.kernel.org Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 0f1cb1bd94a9c967cd4ad3de51cfdabe61eb5dcc Author: Ilija Hadzic Date: Mon Oct 29 17:35:00 2012 +0000 drm: restore open_count if drm_setup fails If drm_setup (called at first open) fails, the whole open call has failed, so we should not keep the open_count incremented. Signed-off-by: Ilija Hadzic Cc: stable@vger.kernel.org Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4a8dece21eea0ad6aca442272673d48693cd93b4 Author: Jani Nikula Date: Mon Nov 5 13:51:51 2012 +0200 drm/i915/crt: fix DPMS standby and suspend mode handling PCH platforms and VLV should map DPMS standby and suspend modes to off, but due to a buggy reversed comparison this is done on pre-PCH platforms instead. Reported-by: Loïc Yhuel Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56754 Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit 7c34158231b2eda8dcbd297be2bb1559e69cb433 Author: Johannes Berg Date: Sun Nov 4 09:29:17 2012 +0100 iwlwifi: handle DMA mapping failures The RX replenish code doesn't handle DMA mapping failures, which will cause issues if there actually is a failure. This was reported by Shuah Khan who found a DMA mapping framework warning ("device driver failed to check map error"). Cc: stable@vger.kernel.org Reported-by: Shuah Khan Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 987c285c2ae2e4e32aca3a9b3252d28171c75711 Author: Arik Nemtsov Date: Mon Nov 5 10:27:52 2012 +0200 mac80211: sync acccess to tx_filtered/ps_tx_buf queues These are accessed without a lock when ending STA PSM. If the sta_cleanup timer accesses these lists at the same time, we might crash. This may fix some mysterious crashes we had during ieee80211_sta_ps_deliver_wakeup. Cc: stable@vger.kernel.org Signed-off-by: Arik Nemtsov Signed-off-by: Ido Yariv Signed-off-by: Johannes Berg commit 53f9313f5c465b128febf763b58156e0acae136b Merge: 0f89a57 3916e1d Author: Linus Torvalds Date: Sat Nov 3 15:13:49 2012 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Scattered selection of fixes: - radeon: load detect fixes from SuSE/AMD - intel: misc i830, sdvo regression, vesafb kickoff ums fix - exynos: maintainers entry update + fixes - udl: fix stride scanout issue it's slightly bigger than I'd probably like, but nothing looked dangerous enough to hold off on." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/udl: fix stride issues scanning out stride != width*bpp drm/radeon: add load detection support for ext DAC on R200 (v2) DRM/radeon: For single CRTC GPUs move handling of CRTC_CRT_ON to crtc_dpms(). DRM/Radeon: Fix TV DAC Load Detection for single CRTC chips. DRM/Radeon: Clean up code in TV DAC load detection. drm/radeon: fix ATPX function documentation drivers/gpu/drm/radeon/evergreen_cs.c: Remove unnecessary semicolon DRM/Radeon: On DVI-I use Load Detection when EDID is bogus. DRM/Radeon: Fix primary DAC Load Detection for RV100 chips. DRM/Radeon: Fix Load Detection on legacy primary DAC. drm: exynos: removed warning due to missing typecast for mixer driver data drm/exynos: add support for ARCH_MULTIPLATFORM MAINTAINERS: Add git repository for Exynos DRM drm/exynos: fix display on issue drm/i915: Only kick out vesafb if we takeover the fbcon with KMS drm/i915: be less verbose about inability to provide vendor backlight drm/i915: clear the entire sdvo infoframe buffer drm/i915: VGA needs to be on pipe A on i830M drm/i915: fix overlay on i830M commit 175c0dffef310fc7d7f026ca4a7682beb2fbd8ec Author: Xiaotian Feng Date: Wed Oct 31 00:29:57 2012 +0000 drivers/net: use tasklet_kill in device remove/close process Some driver uses tasklet_disable in device remove/close process, tasklet_disable will inc tasklet->count and return. If the tasklet is not handled yet because some softirq pressure, the tasklet will placed on the tasklet_vec, never have a chance to excute. This might lead to ksoftirqd heavy loaded, wakeup with pending_softirq, but tasklet is disabled. tasklet_kill should be used in this case. Signed-off-by: Xiaotian Feng Cc: "David S. Miller" Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 0f89a5733a8d28174c7adeb1fdc20ac11439e766 Merge: a315b5a c454e61 Author: Linus Torvalds Date: Fri Nov 2 20:48:41 2012 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "First post-Sandy pull request" 1) Fix antenna gain handling and initialization of chan->max_reg_power in wireless, from Felix Fietkau. 2) Fix nexthop handling in H.232 conntrack helper, from Julian Anastasov. 3) Only process 80211 mesh config header in certain kinds of frames, from Javier Cardona. 4) 80211 management frame header length needs to be validated, from Johannes Berg. 5) Don't access free'd SKBs in ath9k driver, from Felix Fietkay. 6) Test for permanent state correctly in VXLAN driver, from Stephen Hemminger. 7) BNX2X bug fixes from Yaniv Rosner and Dmitry Kravkov. 8) Fix off by one errors in bonding, from Nikolay ALeksandrov. 9) Fix divide by zero in TCP-Illinois congestion control. From Jesper Dangaard Brouer. 10) TCP metrics code says "Yo dawg, I heard you like sizeof, so I did a sizeof of a sizeof, so you can size your size" Fix from Julian Anastasov. 11) Several drivers do mdiobus_free without first doing an mdiobus_unregister leading to stray pointer references. Fix from Peter Senna Tschudin. 12) Fix OOPS in l2tp_eth_create() error path, it's another danling pointer kinda situation. Fix from Tom Parkin. 13) Hardware driven by the vmxnet driver can't handle larger than 16K fragments, so split them up when necessary. From Eric Dumazet. 14) Handle zero length data length in tcp_send_rcvq() properly. Fix from Pavel Emelyanov. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits) tcp-repair: Handle zero-length data put in rcv queue vmxnet3: must split too big fragments l2tp: fix oops in l2tp_eth_create() error path cxgb4: Fix unable to get UP event from the LLD drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister before mdiobus_free drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before mdiobus_free bnx2x: fix HW initialization using fw 7.8.x tcp: Fix double sizeof in new tcp_metrics code net: fix divide by zero in tcp algorithm illinois net: sctp: Fix typo in net/sctp bonding: fix second off-by-one error bonding: fix off-by-one error bnx2x: Disable FCoE for 57840 since not yet supported by FW bnx2x: Fix no link on 577xx 10G-baseT bnx2x: Fix unrecognized SFP+ module after driver is loaded bnx2x: Fix potential incorrect link speed provision bnx2x: Restore global registers back to default. bnx2x: Fix link down in 57712 following LFA bnx2x: Fix 57810 1G-KR link against certain switches. ixgbe: PTP get_ts_info missing software support ... commit 3916e1d71b62b120888aa50bcc8d9a6200fc19a7 Author: Dave Airlie Date: Thu Nov 1 13:47:09 2012 +1000 drm/udl: fix stride issues scanning out stride != width*bpp When buffer sharing with the i915 and using a 1680x1050 monitor, the i915 gives is a 6912 buffer for the 6720 width, the code doesn't render this properly as it uses one value to set the base address for reading from the vmap and for where to start on the device. This fixes it by calculating the values correctly for the device and for the pixmap. No idea how I haven't seen this before now. Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie commit a2e4919a7ecb1e9bd29e526c2788ac2d04a993c0 Merge: b7a46dc 2cdc53b Author: Dave Airlie Date: Fri Nov 2 10:30:37 2012 +1000 Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes Inki writes: "As I posted before, we have added a new git repository for Exynos drm to MAINTAINERS file so change it to new one like below, from git://git.infradead.org/users/kmpark/linux-samsung to git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos And this pull request includes the following: - fix display on issue when user requested dpms mode changing. - add git repository for Exynos drm to MAINTAINERS file. - add support for ARCH_MULTIPLATFORM. - and code clean." * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm: exynos: removed warning due to missing typecast for mixer driver data drm/exynos: add support for ARCH_MULTIPLATFORM MAINTAINERS: Add git repository for Exynos DRM drm/exynos: fix display on issue commit b7a46dcf7ae58c079a719038b22d97c654b8b30a Merge: 9c27540 6d9cdfc Author: Dave Airlie Date: Fri Nov 2 10:29:22 2012 +1000 Merge branch 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Alex writes: "This request is mostly load detection fixes from Egbert and me." * 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: add load detection support for ext DAC on R200 (v2) DRM/radeon: For single CRTC GPUs move handling of CRTC_CRT_ON to crtc_dpms(). DRM/Radeon: Fix TV DAC Load Detection for single CRTC chips. DRM/Radeon: Clean up code in TV DAC load detection. drm/radeon: fix ATPX function documentation drivers/gpu/drm/radeon/evergreen_cs.c: Remove unnecessary semicolon DRM/Radeon: On DVI-I use Load Detection when EDID is bogus. DRM/Radeon: Fix primary DAC Load Detection for RV100 chips. DRM/Radeon: Fix Load Detection on legacy primary DAC. commit 9c275407a354bf8c61e895f5c233397506d705aa Merge: 4936b17 1623392 Author: Dave Airlie Date: Fri Nov 2 10:26:03 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes Daniel Vetter writes" Nothing big at all for -fixes, just small stuff: - Two patches to fix bugs on i830M - ums regression fixer due to kicking firmeware fbs (Chris) - tune down a too loud warning (Jani) - be more careful with sdvo infoframes, which fixes a long-standing sdvo-hdmi regression" * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915: Only kick out vesafb if we takeover the fbcon with KMS drm/i915: be less verbose about inability to provide vendor backlight drm/i915: clear the entire sdvo infoframe buffer drm/i915: VGA needs to be on pipe A on i830M drm/i915: fix overlay on i830M commit 6d9cdfc27115b5d4a32906b25a6b2f89920b0366 Author: Alex Deucher Date: Wed Oct 31 11:51:03 2012 -0400 drm/radeon: add load detection support for ext DAC on R200 (v2) The R200 asics use an external DAC for the secondary DAC. The current KMS code tries to use code for the integrated TV DAC for R200 which leads to unpredictable results since R200 does not have an integrated TV DAC. This patch ports the external DAC load detection support from the UMS driver to KMS. v2: fix typo in loop break logic Signed-off-by: Alex Deucher Reviewed-by: Egbert Eich commit f8c4d701ae3477f41fdc95592caa476617988a53 Author: Egbert Eich Date: Mon Oct 29 13:46:48 2012 +0100 DRM/radeon: For single CRTC GPUs move handling of CRTC_CRT_ON to crtc_dpms(). On all dual CRTC GPUs the CRTC_CRT_ON in the RADEON_CRTC_EXT_CNTL register controls the CRTC of the primary DAC. Therefore it is set in the DAC DMPS function. This is different for GPU's with a single CRTC but a primary and a TV DAC: here it controls the single CRTC no matter where it is routed. Therefore we set it here. This avoids an elaborate on/off state tracking since both primary_dac_dpms() and tv_dac_dpms() functions would have to touch this bit. On single CRTC GPUs with just one DAC it's irrelevant where this bit is handled. agd5f: fix warning Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher commit 701337dc2711096e5288430599dcf07aac5876ab Author: Egbert Eich Date: Tue Oct 30 17:42:27 2012 +0100 DRM/Radeon: Fix TV DAC Load Detection for single CRTC chips. The RN50 has a TV DAC but only a single CRTC. For load detection this DAC is controlled by the primary CRTC. Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher commit d038db86984977646815fff54c1be11bff6b9f5b Author: Egbert Eich Date: Tue Oct 30 17:42:26 2012 +0100 DRM/Radeon: Clean up code in TV DAC load detection. Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher commit dfdcbebc548ff14fd1a7029c95d060e0dd466469 Author: Igor Murzov Date: Thu Oct 25 17:09:00 2012 +0400 drm/radeon: fix ATPX function documentation Fix a copy&pasted documentation. Signed-off-by: Igor Murzov Signed-off-by: Alex Deucher commit 74e4ca32a406a15efb24a6a6ecf84b4cdabfd4e7 Author: Peter Senna Tschudin Date: Wed Oct 24 16:42:26 2012 +0200 drivers/gpu/drm/radeon/evergreen_cs.c: Remove unnecessary semicolon A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r1@ statement S; position p,p1; @@ S@p1;@p @script:python r2@ p << r1.p; p1 << r1.p1; @@ if p[0].line != p1[0].line_end: cocci.include_match(False) @@ position r1.p; @@ -;@p // Signed-off-by: Peter Senna Tschudin Signed-off-by: Alex Deucher commit fc87f13b8dc73706ae06caf229a336965e9b44a6 Author: Egbert Eich Date: Wed Oct 24 18:32:52 2012 +0200 DRM/Radeon: On DVI-I use Load Detection when EDID is bogus. The Radeon driver uses the analog/digital flag to determine if the DAC or the TMDS encoder should be enabled on a DVI-I connector. If the EDID is bogus this flag is no longer reliable. This fix adds a fallback to DAC load detection to determine if anything is connected to the DAC. If not and a (bogus) EDID is found it assumes a digital display is connected. This works around problems with some crappy IPMI devices using Radeon ES1000. Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher commit 9c50b1d937cc9656100ba10d9f57484c6d173936 Author: Egbert Eich Date: Wed Oct 24 18:31:19 2012 +0200 DRM/Radeon: Fix primary DAC Load Detection for RV100 chips. For Radeon 7500 ATI recommends a DAC_FORCE value of 0x1ac. This value works better on ES1000 (RV100) chips, too, as it doesn't produce any false positives on any cards I have tested. Therefore let's assume that this value is good for all RV100 and RV200 chipset generations. Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher commit 83325d072185899b706de2956170b246585aaec9 Author: Egbert Eich Date: Wed Oct 24 18:29:49 2012 +0200 DRM/Radeon: Fix Load Detection on legacy primary DAC. An uninitialized variable led to broken load detection. Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 06272911485850b4a336122958c50af0f8ea7c13 Merge: e657e07 6fe7cc7 Author: John W. Linville Date: Wed Oct 31 13:10:01 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit bca1e29fb54c51856dda6772d488d41b10ed91da Author: David Spinadel Date: Mon Oct 29 14:49:41 2012 +0200 mac80211: init sched_scan_ies In case that there is an unsupported band, the ie will be unallocated and the free will crash. Cc: stable@vger.kernel.org Signed-off-by: David Spinadel Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 35f5149ead73e8e635b417b6c3aece43ffdfe5bc Author: Felix Fietkau Date: Wed Oct 31 15:50:34 2012 +0100 mac80211: do not call ieee80211_configure_filter if no interfaces are up Drivers are not expected to handle it before drv_start has been called. It will be called again after an interface has been brought up. Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg commit 2cdc53b355873ab54b6a348ee5bf022967fb4159 Author: Rahul Sharma Date: Wed Oct 31 09:36:26 2012 +0530 drm: exynos: removed warning due to missing typecast for mixer driver data Removing the warning by adding proper type casting where local pointer variable of type mixer driver data is assigned with void pointer. Signed-off-by: Rahul Sharma Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 9eb3e9e6f3cface0d2ffa8d889f44af27dcbce7b Author: Rob Clark Date: Mon Oct 29 09:31:13 2012 +0100 drm/exynos: add support for ARCH_MULTIPLATFORM Exynos does not seem to have any dependency on anything from platform headers so just needs Kconfig updated to build in ARCH_MULTIPLATFORM builds. Signed-off-by: Rob Clark Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 44c91697fb1add76f9f8c28c0d21b82b05b5d4cb Author: Inki Dae Date: Thu Oct 18 18:59:55 2012 +0900 drm/exynos: fix display on issue When crtc_funcs->dpms callback is called, exynos_crtc->dpms and exynos_encoder->dpms are changed to new mode. But if user requests dpms mode operation, OFF -> ON, when crtc's dpms callback is called, exynos_encoder->dpms is also changed to ON. This makes encoder's dpms callback call be ignored so display power couldn't become on again. This patch removes exynos_encoder->dpms changing and adds 'updated' variable to exynos_drm_encoder structure to avoid duplicated overlay updating. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit e412e95a268fa8544858ebfe066826b290430d51 Author: Ben Skeggs Date: Wed Oct 31 12:16:06 2012 +1000 drm/nouveau: headless mode by default if pci class != vga display This is to prevent nouveau from taking over the console on headless boards such as Tesla. Signed-off-by: Ben Skeggs commit 9430738d80223a1cd791a2baa74fa170d3df1262 Author: Ben Skeggs Date: Wed Oct 31 12:11:15 2012 +1000 drm/nouveau: resurrect headless mode since rework Signed-off-by: Ben Skeggs commit 5cad16acd25b16681a060d28d10eeacf98d07701 Author: Ben Skeggs Date: Wed Oct 31 10:51:00 2012 +1000 drm/nv50/fb: prevent oops on chipsets without compression tags Unconditionally create the tagram mm, even if there's zero tags. Signed-off-by: Ben Skeggs commit a7dbf00433fa9dc6f4a3828a17d56a9df2bd06b1 Author: Ben Skeggs Date: Wed Oct 31 11:19:40 2012 +1000 drm/nouveau: allow creation of zero-sized mm Useful for places where a given chipset may or may not have a given resource, and we want to avoid having to spray checks for the mm's existance around everywhere. Signed-off-by: Ben Skeggs commit 1249ac592a2f995fef977be33abf077bdb57b3aa Author: Ben Skeggs Date: Tue Oct 30 15:07:58 2012 +1000 drm/nouveau/i2c: fix typo when checking nvio i2c port validity Reported-by: Mathieu Chouquet-Stringer Tested-by: Mathieu Chouquet-Stringer Signed-off-by: Ben Skeggs commit cee59f15a60cc6269a25e3f6fbf1a577d6ab8115 Author: Ben Skeggs Date: Mon Oct 29 09:03:07 2012 +1000 drm/nouveau: silence modesetting spam on pre-gf8 chipsets Signed-off-by: Ben Skeggs commit 6fe7cc71bbf3a0bc28c9cec3c00bc11e81344412 Author: Sven Eckelmann Date: Mon Oct 29 13:25:20 2012 +0100 ath9k: Test for TID only in BlockAcks while checking tx status The ath9k xmit functions for AMPDUs can send frames as non-aggregate in case only one frame is currently available. The client will then answer using a normal Ack instead of a BlockAck. This acknowledgement has no TID stored and therefore the hardware is not able to provide us the corresponding TID. The TID set by the hardware in the tx status descriptor has to be seen as undefined and not as a valid TID value for normal acknowledgements. Doing otherwise results in a massive amount of retransmissions and stalls of connections. Users may experience low bandwidth and complete connection stalls in environments with transfers using multiple TIDs. This regression was introduced in b11b160defc48e4daa283f785192ea3a23a51f8e ("ath9k: validate the TID in the tx status information"). Signed-off-by: Sven Eckelmann Signed-off-by: Simon Wunderlich Cc: stable@vger.kernel.org Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit bf7e1abe434ba9e22e8dc04a4cba4ab504b788b8 Author: Stanislaw Gruszka Date: Thu Oct 25 09:51:39 2012 +0200 rt2800: validate step value for temperature compensation Some hardware has correct (!= 0xff) value of tssi_bounds[4] in the EEPROM, but step is equal to 0xff. This results on ridiculous delta calculations and completely broke TX power settings. Reported-and-tested-by: Pavel Lucik Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8c6e30936a7893a85f6222084f0f26aceb81137a Author: Felix Fietkau Date: Fri Oct 26 00:31:11 2012 +0200 ath9k: fix stale pointers potentially causing access to free'd skbs bf->bf_next is only while buffers are chained as part of an A-MPDU in the tx queue. When a tid queue is flushed (e.g. on tearing down an aggregation session), frames can be enqueued again as normal transmission, without bf_next being cleared. This can lead to the old pointer being dereferenced again later. This patch might fix crashes and "Failed to stop TX DMA!" messages. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit efec22b4689bbfdbed26367219e981fcc946b9a6 Merge: f89ff64 6dbda2d Author: John W. Linville Date: Mon Oct 29 14:14:48 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit e657e078d3dfa9f96976db7a2b5fd7d7c9f1f1a6 Merge: f761237 330ee00 Author: Linus Torvalds Date: Fri Oct 26 15:00:48 2012 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "This is what we usually expect at this stage of the game, lots of little things, mostly in drivers. With the occasional 'oops didn't mean to do that' kind of regressions in the core code." 1) Uninitialized data in __ip_vs_get_timeouts(), from Arnd Bergmann 2) Reject invalid ACK sequences in Fast Open sockets, from Jerry Chu. 3) Lost error code on return from _rtl_usb_receive(), from Christian Lamparter. 4) Fix reset resume on USB rt2x00, from Stanislaw Gruszka. 5) Release resources on error in pch_gbe driver, from Veaceslav Falico. 6) Default hop limit not set correctly in ip6_template_metrics[], fix from Li RongQing. 7) Gianfar PTP code requests wrong kind of resource during probe, fix from Wei Yang. 8) Fix VHOST net driver on big-endian, from Michael S Tsirkin. 9) Mallenox driver bug fixes from Jack Morgenstein, Or Gerlitz, Moni Shoua, Dotan Barak, and Uri Habusha. 10) usbnet leaks memory on TX path, fix from Hemant Kumar. 11) Use socket state test, rather than presence of FIN bit packet, to determine FIONREAD/SIOCINQ value. Fix from Eric Dumazet. 12) Fix cxgb4 build failure, from Vipul Pandya. 13) Provide a SYN_DATA_ACKED state to complement SYN_FASTOPEN in socket info dumps. From Yuchung Cheng. 14) Fix leak of security path in kfree_skb_partial(). Fix from Eric Dumazet. 15) Handle RX FIFO overflows more resiliently in pch_gbe driver, from Veaceslav Falico. 16) Fix MAINTAINERS file pattern for networking drivers, from Jean Delvare. 17) Add iPhone5 IDs to IPHETH driver, from Jay Purohit. 18) VLAN device type change restriction is too strict, and should not trigger for the automatically generated vlan0 device. Fix from Jiri Pirko. 19) Make PMTU/redirect flushing work properly again in ipv4, from Steffen Klassert. 20) Fix memory corruptions by using kfree_rcu() in netlink_release(). From Eric Dumazet. 21) More qmi_wwan device IDs, from Bjørn Mork. 22) Fix unintentional change of SNAT/DNAT hooks in generic NAT infrastructure, from Elison Niven. 23) Fix 3.6.x regression in xt_TEE netfilter module, from Eric Dumazet. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (57 commits) tilegx: fix some issues in the SW TSO support qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan net: usb: Fix memory leak on Tx data path net/mlx4_core: Unmap UAR also in the case of error flow net/mlx4_en: Don't use vlan tag value as an indication for vlan presence net/mlx4_en: Fix double-release-range in tx-rings bas_gigaset: fix pre_reset handling vhost: fix mergeable bufs on BE hosts gianfar_ptp: use iomem, not ioports resource tree in probe ipv6: Set default hoplimit as zero. NET_VENDOR_TI: make available for am33xx as well pch_gbe: fix error handling in pch_gbe_up() b43: Fix oops on unload when firmware not found mwifiex: clean up scan state on error mwifiex: return -EBUSY if specific scan request cannot be honored brcmfmac: fix potential NULL dereference Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz" ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation rt2x00: usb: fix reset resume rtlwifi: pass rx setup error code to caller ... commit 6dbda2d00d466225f9db1dc695ff852443f28832 Author: Johannes Berg Date: Fri Oct 26 00:41:23 2012 +0200 mac80211: make sure data is accessible in EAPOL check The code to allow EAPOL frames even when the station isn't yet marked associated needs to check that the incoming frame is long enough and due to paged RX it also can't assume skb->data contains the right data, it must use skb_copy_bits(). Fix this to avoid using data that doesn't really exist. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg commit 9b395bc3be1cebf0144a127c7e67d56dbdac0930 Author: Johannes Berg Date: Fri Oct 26 00:36:40 2012 +0200 mac80211: verify that skb data is present A number of places in the mesh code don't check that the frame data is present and in the skb header when trying to access. Add those checks and the necessary pskb_may_pull() calls. This prevents accessing data that doesn't actually exist. To do this, export ieee80211_get_mesh_hdrlen() to be able to use it in mac80211. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg commit 4a4f1a5808c8bb0b72a4f6e5904c53fb8c9cd966 Author: Johannes Berg Date: Fri Oct 26 00:33:36 2012 +0200 mac80211: check management frame header length Due to pskb_may_pull() checking the skb length, all non-management frames are checked on input whether their 802.11 header is fully present. Also add that check for management frames and remove a check that is now duplicate. This prevents accessing skb data beyond the frame end. Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg commit 7dd111e8ee10cc6816669eabcad3334447673236 Author: Johannes Berg Date: Thu Oct 25 21:51:59 2012 +0200 wireless: drop invalid mesh address extension frames The mesh header can have address extension by a 4th or a 5th and 6th address, but never both. Drop such frames in 802.11 -> 802.3 conversion along with any frames that have the wrong extension. Cc: stable@vger.kernel.org Reviewed-by: Javier Cardona Signed-off-by: Johannes Berg commit badecb001a310408d3473b1fc2ed5aefd0bc92a9 Author: Antonio Quartulli Date: Fri Oct 26 18:54:25 2012 +0200 mac80211: fix SSID copy on IBSS JOIN The 'ssid' field of the cfg80211_ibss_params is a u8 pointer and its length is likely to be less than IEEE80211_MAX_SSID_LEN most of the time. This patch fixes the ssid copy in ieee80211_ibss_join() by using the SSID length to prevent it from reading beyond the string. Cc: stable@vger.kernel.org Signed-off-by: Antonio Quartulli [rewrapped commit message, small rewording] Signed-off-by: Johannes Berg commit 1623392af9da983f3ad088a75076c9da05e5600d Author: Chris Wilson Date: Fri Oct 26 12:06:41 2012 +0100 drm/i915: Only kick out vesafb if we takeover the fbcon with KMS Otherwise we may remove the only console for a nomodeset system. We became more aggressive in our kicking with commit e188719a2891f01b3100dca4ae3a055fb5a7ab52 Author: Daniel Vetter Date: Tue Jun 12 11:28:17 2012 +0200 drm/i915: kick any firmware framebuffers before claiming the gtt Reported-and-tested-by: monnier@iro.umontreal.ca Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54615 Signed-off-by: Chris Wilson Cc: stable@vger.kernel.org # v3.6 Signed-off-by: Daniel Vetter commit e86b618547bb0c7db96aa70491112f032b3bec1c Author: Jani Nikula Date: Thu Oct 25 10:57:38 2012 +0300 drm/i915: be less verbose about inability to provide vendor backlight commit 28dcc2d60cb570d9f549c329b2f51400553412a1 Author: Jani Nikula Date: Mon Sep 3 16:25:12 2012 +0300 drm/i915: do not expose a dysfunctional backlight interface to userspace prevents backlight interface creation if the BIOS has not set the backlight PWM CTL registers that contain the max PWM value. It's apparently normal on those machines, so demote the message about it to debug level. Reported-by: Orion Poplawski Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56330 Signed-off-by: Jani Nikula Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 330ee00412bbaefa7d0597a1bed7804e818ba91c Merge: 3da3fff f89ff64 Author: John W. Linville Date: Fri Oct 26 10:32:13 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit f7fbf70ee9db6da6033ae50d100e017ac1f26555 Author: Javier Cardona Date: Thu Oct 25 11:10:18 2012 -0700 mac80211: don't inspect Sequence Control field on control frames Per IEEE Std. 802.11-2012, Sec 8.2.4.4.1, the sequence Control field is not present in control frames. We noticed this problem when processing Block Ack Requests. Cc: stable@vger.kernel.org Signed-off-by: Javier Cardona Signed-off-by: Javier Lopez Signed-off-by: Johannes Berg commit 2ac64cd17f9af6d6adaa921bd9846a3c9bb9235c Author: Javier Cardona Date: Wed Oct 24 12:43:31 2012 -0700 mac80211: Don't drop frames received with mesh ttl == 1 Prior this fix, those frames were not received, nor forwarded. Fix this to receive and not forward. Signed-off-by: Javier Cardona Signed-off-by: Johannes Berg commit 555cb715be8ef98b8ec362b23dfc254d432a35b1 Author: Javier Cardona Date: Wed Oct 24 12:43:30 2012 -0700 mac80211: Only process mesh config header on frames that RA_MATCH Doing otherwise is wrong, and may wreak havoc on the mpp tables, specially if the frame is encrypted. Cc: stable@vger.kernel.org Reported-by: Chaoxing Lin Signed-off-by: Javier Cardona Signed-off-by: Johannes Berg commit f89ff6441df06abc2d95f3ef67525923032d6283 Author: Larry Finger Date: Wed Oct 24 08:57:16 2012 -0500 b43: Fix oops on unload when firmware not found When b43 fails to find firmware when loaded, a subsequent unload will oops due to calling ieee80211_unregister_hw() when the corresponding register call was never made. Commit 2d838bb608e2d1f6cb4280e76748cb812dc822e7 fixed the same problem for b43legacy. Signed-off-by: Larry Finger Tested-by: Markus Kanet Cc: Stable [V3.3.0+ (the patch will need to be refactored)] Cc: Markus Kanet Signed-off-by: John W. Linville commit 6fcf2b10533bf51c67f0286ddba16e958e7ed972 Author: Bing Zhao Date: Fri Oct 19 19:02:00 2012 -0700 mwifiex: clean up scan state on error De-reference and deallocate scan state on failure. Signed-off-by: Bing Zhao Signed-off-by: Paul Stewart Tested-by: Paul Stewart Reviewed-by: Ryan Cairns Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit dcd5c79c9a3a7ac08bdce089fec810677ce6efe8 Author: Bing Zhao Date: Fri Oct 19 19:01:59 2012 -0700 mwifiex: return -EBUSY if specific scan request cannot be honored Previous patch "mwifiex: return -EBUSY if scan request cannot.." corrected regular scan request only. There is another case for specific scan that needs the same handling. Also, removed !req_ssid check as it has already been validated by caller. Signed-off-by: Bing Zhao Signed-off-by: Paul Stewart Reviewed-by: Ryan Cairns Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit 9495b31ad7e2b479501abb36a62789d59ee406fc Author: Yuanhan Liu Date: Thu Oct 18 18:10:56 2012 +0800 brcmfmac: fix potential NULL dereference Fix a samtch warnings catched by Fengguang's 0-DAY system: + drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3572 brcmf_cfg80211_sched_scan_start() error: we previously assumed 'request' could be null (see line 3571) Cc: John W. Linville Signed-off-by: Yuanhan Liu Acked-by: Franky Lin Signed-off-by: John W. Linville commit 73b26df5fa1a6245d6fc982362518b620bc7c2fe Author: Felix Fietkau Date: Wed Oct 17 13:50:43 2012 +0200 Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz" This reverts commit a240dc7b3c7463bd60cf0a9b2a90f52f78aae0fd. This commit is reducing tx power by at least 10 db on some devices, e.g. the Buffalo WZR-HP-G450H. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Cc: rmanohar@qca.qualcomm.com Signed-off-by: John W. Linville commit 763cbac07674a648f1377b21ca66f577c103fa9a Author: Mohammed Shafi Shajakhan Date: Tue Oct 16 21:31:49 2012 +0530 ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation Roger says, Ubiquiti produce 2 versions of their WiFiStation USB adapter. One has an internal antenna, the other has an external antenna and name suffix EXT. They have separate USB ids and in distribution openSUSE 12.2 (kernel 3.4.6), file /usr/share/usb.ids shows: 0cf3 Atheros Communications, Inc. ... b002 Ubiquiti WiFiStation 802.11n [Atheros AR9271] b003 Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271] Add b002 Ubiquiti WiFiStation in the PID/VID list. Reported-by: Roger Price Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 761ce8c41ed20ee3af77f2df527edc3f92e6f3bf Author: Stanislaw Gruszka Date: Tue Oct 16 14:34:12 2012 +0200 rt2x00: usb: fix reset resume Patch fixes warnings like below happened on resume: WARNING: at net/mac80211/driver-ops.h:12 check_sdata_in_driver+0x32/0x34() Problem is that in __ieee80211_susped() we remove sdata (i.e wlan0 interface) and then during resume we call usb_unbind_interface() -> ieee80211_unregister_hw() with sdata removed. Patch fixes problem by adding .reset_resume calback, hence we do not unbind usb device on resume. This callback can be the same as normal .resume callback, sice we do all needed initalization during interface start, which is performed on resume [ ieee80211_resume() -> ieee80211_reconfig() -> rt2x00mac_start() -> rt2x00lib_start ]. Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=48041 Reported-by: David Herrmann Reported-and-tested-by: Stephen Boyd Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 0c7e92075f6e61bfc90ec2664c034b04bc157315 Author: Christian Lamparter Date: Sun Oct 14 22:15:48 2012 +0200 rtlwifi: pass rx setup error code to caller If _rtl_usb_receive fails, the device is probably not ready. Hence the error code should be passed to the caller, so it can react accordingly and notify the user. Signed-off-by: Christian Lamparter Acked-by: Larry Finger Signed-off-by: John W. Linville commit 0b90365e7a32317b948583c4b5c2712d84610b08 Author: Alex Deucher Date: Tue Oct 23 17:57:54 2012 -0400 drm/radeon: fix ATPX regression in acpi rework Copy and paste typo in the apci rework. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=49351 Signed-off-by: Alex Deucher Reviewed-by: Jerome Glisse commit c9bd773c6dd4a52f32e64af5dbbf9b3834f8569a Author: Alex Deucher Date: Tue Oct 23 12:42:42 2012 -0400 drm/radeon: fix ATPX function documentation The ATPX code no longer handles ATRM. Signed-off-by: Alex Deucher commit 0fe7158c8a61ffdd71789de054fbee257c34d054 Author: Christian König Date: Tue Oct 23 15:53:19 2012 +0200 drm/radeon: move the retry to gem_object_create When internal users want VRAM we shouldn't return GART memory instead. Signed-off-by: Christian König Reviewed-by: Michel Dänzer Signed-off-by: Alex Deucher commit 6c0d112f1fb4abba724065daa8ffbc9f0e171dc1 Author: Christian König Date: Tue Oct 23 15:53:18 2012 +0200 drm/radeon: move size limits to gem_object_create. Driver internal users shouldn't be limited in their allocation size. Signed-off-by: Christian König Reviewed-by: Michel Dänzer Signed-off-by: Alex Deucher commit 59240ee3e8f0dbd3d35db90cc4960143cb14be85 Author: Christian König Date: Tue Oct 23 15:53:17 2012 +0200 drm/radeon: use vzalloc for gart pages When allocating more than 2GB of GART the array of pages gets to big for kzalloc, use vzalloc instead. Signed-off-by: Christian König Reviewed-by: Michel Dänzer Signed-off-by: Alex Deucher commit 1bcb04f758c7d3ab9a454525c004bdb8c0fccd98 Author: Christian König Date: Tue Oct 23 15:53:16 2012 +0200 drm/radeon: fix and simplify pot argument checks v3 GART and VRAM size limits need to be a power of two. Fix values greater than 1GB and simplify those checks a bit. v2: also fix radeon_vram_limit usage, and simplify test even more. v3: agd5f: fix spelling as noticed by Klaus Schnass Signed-off-by: Christian König Reviewed-by: Michel Dänzer Signed-off-by: Alex Deucher commit 9690fb169b433a66485c808e4fc352b8a0f8d866 Author: Johannes Berg Date: Wed Oct 24 14:19:53 2012 +0200 mac80211: use blacklist for duplicate IE check Instead of the current whitelist which accepts duplicates only for the quiet and vendor IEs, use a blacklist of all IEs (that we currently parse) that can't be duplicated. This avoids detecting a beacon as corrupt in the future when new IEs are added that can be duplicated. Cc: stable@vger.kernel.org Signed-off-by: Paul Stewart Signed-off-by: Johannes Berg commit b6e0e543f75729f207b9c72b0162ae61170635b2 Author: Daniel Vetter Date: Sun Oct 21 12:52:39 2012 +0200 drm/i915: clear the entire sdvo infoframe buffer Like in the case of native hdmi, which is fixed already in commit adf00b26d18e1b3570451296e03bcb20e4798cdd Author: Paulo Zanoni Date: Tue Sep 25 13:23:34 2012 -0300 drm/i915: make sure we write all the DIP data bytes we need to clear the entire sdvo buffer to avoid upsetting the display. Since infoframe buffer writing is now a bit more elaborate, extract it into it's own function. This will be useful if we ever get around to properly update the ELD for sdvo. Also #define proper names for the two buffer indexes with fixed usage. v2: Cite the right commit above, spotted by Paulo Zanoni. v3: I'm too stupid to paste the right commit. v4: Ben Hutchings noticed that I've failed to handle an underflow in my loop logic, breaking it for i >= length + 8. Since I've just lost C programmer license, use his solution. Also, make the frustrated 0-base buffer size a notch more clear. Reported-and-tested-by: Jürg Billeter Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=25732 Cc: stable@vger.kernel.org Cc: Paulo Zanoni Cc: Ben Hutchings Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit 08eda32b13c045b6219464764d6028d86d3c58a8 Author: Christian König Date: Mon Oct 22 17:42:39 2012 +0200 drm/radeon: fix header size estimation in VM code Only NI uses 3dw headers, SI uses 4dw headers. Signed-off-by: Christian König Signed-off-by: Alex Deucher commit 204a393c5b88106d7485e20ec834add1013e410a Author: Christian König Date: Mon Oct 22 17:42:38 2012 +0200 drm/radeon: remove set_page check from VM code It's better to handle this in the chipset specific code. Signed-off-by: Christian König Signed-off-by: Alex Deucher commit d7025d893897da3e2c26943c57e40d2296146f82 Author: Christian König Date: Mon Oct 22 17:42:37 2012 +0200 drm/radeon: fix si_set_page v2 Handle requests that won't fit into a single packet. v2: pe needs to increase as well. Signed-off-by: Christian König Signed-off-by: Alex Deucher commit f9fdffa51dff6744726507c641d8151fadbc7cd7 Author: Christian König Date: Mon Oct 22 17:42:36 2012 +0200 drm/radeon: fix cayman_vm_set_page v2 Handle requests that won't fit into a single packet. v2: pe needs to increase as well. Signed-off-by: Christian König Signed-off-by: Alex Deucher commit 58f8cf56f937840aa3c1416eed29f595159c60a3 Author: Christian König Date: Mon Oct 22 17:42:35 2012 +0200 drm/radeon: fix PFP sync in vm_flush Otherwise the next IB might start reading commands with the page table still invalid. Signed-off-by: Christian König Signed-off-by: Alex Deucher commit c71721324c612f7f040657ce9917d87f530f9784 Author: Alex Deucher Date: Fri Oct 19 13:27:04 2012 -0400 drm/radeon: add error output if VM CS fails on cayman So we know why the CS was rejected. Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 614499b4d844dcceae5ae2f1e53a2963789a8933 Author: Alex Deucher Date: Wed Oct 17 17:20:24 2012 -0400 drm/radeon: give each backlight a unique id In cases where we have multiple radeons with backlight controls. Should fix: https://bugzilla.kernel.org/show_bug.cgi?id=48941 Signed-off-by: Alex Deucher commit 1518d7fb5d42aec6ec7349b3be8712af132b46fa Author: Alex Deucher Date: Wed Oct 17 12:42:13 2012 -0400 drm/radeon: fix sparse warning Reported-by: Fengguang Wu Signed-off-by: Alex Deucher commit 7f6658ef35a470cd641ea35a1da409c4bc5bae1e Author: Daniel Vetter Date: Sun Oct 21 23:26:29 2012 +0200 drm/i915: VGA needs to be on pipe A on i830M The bit doesn't stick, and the output is always cloned from pipe A, even when it's supposed to scan out from pipe B. Shuts up annoying warnings from the modeset-rework, too. I've noticed that with this patch we know get and unknown connection state since the code can't find a suitable pipe for load detection. But that beats the previous state of affairs, where it tried to use pipe B, actually used pipe A and concluded that something is connected (although it's the LVDS on pipe A and nothing on the VGA connector on pipe B). I've tried to make load detect work by remapping the pipe->planes stuff, so that crtc 0 will use pipe B and hence we still have something left for load-detect on pipe A. But alas, that upset the hw a bit. So there's still some things to figure out, but this here will at least paper over some of the problems. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51265 Acked-by: Chris Wilson [danvet: extend the commit message a bit with recent observations.] Signed-off-by: Daniel Vetter commit a9193983f4f292a82a00c72971c17ec0ee8c6c15 Author: Daniel Vetter Date: Mon Oct 22 12:55:55 2012 +0200 drm/i915: fix overlay on i830M The overlay on the i830M has a peculiar failure mode: It works the first time around after boot-up, but consistenly hangs the second time it's used. Chris Wilson has dug out a nice errata: "1.5.12 Clock Gating Disable for Display Register Address Offset: 06200h–06203h "Bit 3 Ovrunit Clock Gating Disable. 0 = Clock gating controlled by unit enabling logic 1 = Disable clock gating function DevALM Errata ALM049: Overlay Clock Gating Must be Disabled: Overlay & L2 Cache clock gating must be disabled in order to prevent device hangs when turning off overlay.SW must turn off Ovrunit clock gating (6200h) and L2 Cache clock gating (C8h)." Now I've nowhere found that 0xc8 register and hence couldn't apply the l2 cache workaround. But I've remembered that part of the magic that the OVERLAY_ON/OFF commands are supposed to do is to rearrange cache allocations so that the overlay scaler has some scratch space. And while pondering how that could explain the hang the 2nd time we enable the overlay, I've remembered that the old ums overlay code did _not_ issue the OVERLAY_OFF cmd. And indeed, disabling the OFF cmd results in the overlay working flawlessly, so I guess we can workaround the lack of the above workaround by simply never disabling the overlay engine once it's enabled. Note that we have the first part of the above w/a already implemented in i830_init_clock_gating - leave that as-is to avoid surprises. v2: Add a comment in the code. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47827 Cc: stable@vger.kernel.org Tested-by: Rhys Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit b8e902f24fdd16c4373ddc37a4e150c4afe9c6db Author: Thomas Hellstrom Date: Mon Oct 22 12:51:26 2012 +0000 drm/ttm: Fix a theoretical race in ttm_bo_cleanup_refs() In theory, that function could release the lru lock between checking for bo on ddestroy list and a successful reserve if the bo was already reserved, and the function was called with waiting reserves allowed. However, all current reservers of a bo on the ddestroy list would atomically take the bo off the list after a successful reserve so this race should not have been hit, so no need to backport for stable. This patch also fixes a case found by Maarten Lankhorst where ttm_mem_evict_first called with no_wait_gpu would incorrectly spin waiting for bo idle if trying to evict a busy buffer that also sits on the ddestroy list. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 7bc17a7837bf4ec8fd2d63438c0b6b0160c454c1 Author: Thomas Hellstrom Date: Mon Oct 22 12:51:25 2012 +0000 drm/ttm: Fix a theoretical race The ttm_mem_evict_first function could theoretically drop the lru lock without retrying if a reservation from off the LRU list ended up waiting. However, since currently there are no users that could cause a wait in that situation so this is not suitable for stable Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit a16d4f86019a72b3e8cbb89abff769b25b53ab69 Author: Thierry Reding Date: Mon Oct 15 18:03:42 2012 +0000 drm: platform: Don't initialize driver-private data Platform device drivers usually use the driver-private data for their own purposes. Having it overwritten by drm_platform_init() is confusing and error-prone. Signed-off-by: Thierry Reding Signed-off-by: Dave Airlie commit 08bce0ac3bdc9d8e57d3f4b8edf3e787e623eccc Author: Marcin Slusarz Date: Tue Oct 16 21:47:35 2012 +0000 drm/debugfs: remove redundant info from gem_names It's a relic of "drm: Convert proc files to seq_file and introduce debugfs", which wrongly converted DRM_INFO + sprintf to 2 seq_printfs. Signed-off-by: Marcin Slusarz Cc: Ben Gamari Cc: Eric Anholt Signed-off-by: Dave Airlie commit 028132451667ffd25b6814d47a622ec03cb8cba7 Author: Thierry Reding Date: Sat Oct 20 10:32:47 2012 +0000 drm: fb: cma: Fail gracefully on allocation failure The drm_gem_cma_create() function never returns NULL but rather an error encoded in the return value using the ERR_PTR() macro. Callers therefore need to check for errors using the IS_ERR() macro. This change allows drivers to handle contiguous DMA allocation failures gracefully. Signed-off-by: Thierry Reding Acked-by: Sascha Hauer Signed-off-by: Dave Airlie commit e0d78d08e3c06ebe2eb45b4d84f8cd5d1b13d371 Author: Thierry Reding Date: Sat Oct 20 10:32:46 2012 +0000 drm: fb: cma: Fix typo in debug message The debug message showing the resolution of a framebuffer to be allocated is missing a closing parenthesis. Signed-off-by: Thierry Reding Signed-off-by: Dave Airlie commit ae168d973f5fa3f3467dc5600f74a0f03e3cafe7 Merge: 64acba6 5e5a195 Author: Dave Airlie Date: Mon Oct 22 17:50:07 2012 +1000 Merge branch 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes Fixes from Ben, off note: ACPI ROM regression fix, some IGP and AGP regressions fixes from rework fallout. * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/clock: fix missing pll type/addr when matching default entry drm/nouveau/fb: fix reporting of memory type on GF8+ IGPs drm/nv41/vm: don't init hw pciegart on boards with agp bridge drm/nouveau/bios: fetch full 4KiB block to determine ACPI ROM image size drm/nouveau: validate vbios size drm/nouveau: warn when trying to free mm which is still in use drm/nouveau: fix nouveau_mm/nouveau_mm_node leak drm/nouveau/bios: improve error handling when reading the vbios from ACPI drm/nouveau: handle same-fb page flips commit 5e5a195ecc8cc0280d169d6da33c959df6336e9f Author: Ben Skeggs Date: Mon Oct 22 14:10:16 2012 +1000 drm/nouveau/clock: fix missing pll type/addr when matching default entry This issue is a regression from 70790f4f819875e8f390871fd15bbbf823f28e1b, and causes us to miss a special-case for C51 (NV4E) chipsets and return the wrong reference frequency for the VPLLs. Should fix fdo#56202 Signed-off-by: Ben Skeggs commit 2c25b7399570ebdcf737c5af67c9d26a1771c002 Author: Ben Skeggs Date: Mon Oct 22 13:40:36 2012 +1000 drm/nouveau/fb: fix reporting of memory type on GF8+ IGPs Purely a cosmetic issue at this point. Signed-off-by: Ben Skeggs commit 4bf24c02150a4c5e31d397342b1157496f1881ee Author: Ben Skeggs Date: Mon Oct 22 10:56:07 2012 +1000 drm/nv41/vm: don't init hw pciegart on boards with agp bridge Signed-off-by: Ben Skeggs commit d1626a965141b1e600efad29947b6c36dab183c3 Author: Ben Skeggs Date: Mon Oct 22 10:08:19 2012 +1000 drm/nouveau/bios: fetch full 4KiB block to determine ACPI ROM image size Buggy firmware leads to bad things happening otherwise.. Signed-off-by: Ben Skeggs commit 00e4845bad84689fbaacc86bc54a0b99d5d3c1fc Author: Marcin Slusarz Date: Mon Oct 22 09:59:20 2012 +1000 drm/nouveau: validate vbios size Without checking, we could detect vbios size as 0, allocate 0-byte array (kmalloc returns invalid pointer for such allocation) and crash in nouveau_bios_score while checking for vbios signature. Reported-by: Heinz Diehl Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 0bab097a9b18d7ad1a65c9263b3f896fc1f4b6ff Author: Marcin Slusarz Date: Mon Oct 22 00:21:39 2012 +0200 drm/nouveau: warn when trying to free mm which is still in use Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 92485cef52c2de0f98efdf527ea39cef2b9fc416 Author: Marcin Slusarz Date: Mon Oct 22 00:20:32 2012 +0200 drm/nouveau: fix nouveau_mm/nouveau_mm_node leak v2: use already existing parent Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 90e2889c4e24e2bde8f226402b46c66e18162860 Author: Martin Peres Date: Sat Oct 20 11:03:36 2012 +0200 drm/nouveau/bios: improve error handling when reading the vbios from ACPI Reported-by: Pawel Sikora Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit 2c14575f99ddd5b8384c5b460687ceba181900d8 Author: Marcin Slusarz Date: Fri Oct 5 12:26:32 2012 +0200 drm/nouveau: handle same-fb page flips It's questionable use case, but weston/wayland already relies on this behaviour, and other drivers don't care about it, so it's a matter of compatibility. Without it, process invoking such page flip hangs in unkillable state, trying to reserve the same buffer twice. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 64acba6a7adfe8be2e28b7e903092db685328a08 Merge: 6f0c058 74ce6b6 Author: Dave Airlie Date: Mon Oct 22 09:55:29 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes Daniel writes: The big thing is the disabling of the hsw support by default, cc: stable. We've aimed for basic hsw support in 3.6, but due to a few bad happenstances we've screwed up and only 3.8 will have better modeset support than vesa. To avoid yet another round of fallout from such a gaffle on for the next platform we've added a module option to disable early hw support by default. That should also give us more flexibility in bring-up. Otherwise just small fixes: - 3 fixes from Egbert for sdvo corner cases - invert-brightness quirk entry from Egbert - revert a dp link training change, it regresses some setups - and shut up a spurious WARN in our gem fault handler. - regression fix for an oops on bit17 swizzling machines, introduce in 3.7 - another no-lvds quirk * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915: Initialize obj->pages before use by i915_gem_object_do_bit17_swizzle() drm/i915: Add no-lvds quirk for Supermicro X7SPA-H drm/i915: Insert i915_preliminary_hw_support variable. drm/i915: shut up spurious WARN in the gtt fault handler Revert "drm/i915: Try harder to complete DP training pattern 1" DRM/i915: Restore sdvo_flags after dtd->mode->dtd Roundrtrip. DRM/i915: Don't clone SDVO LVDS with analog. DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines. DRM/i915: Don't delete DPLL Multiplier during DAC init. commit 74ce6b6c63262defba91c4d790b3f91074793c0d Author: Chris Wilson Date: Fri Oct 19 15:51:06 2012 +0100 drm/i915: Initialize obj->pages before use by i915_gem_object_do_bit17_swizzle() If we leave obj->pages set to NULL before attempting to deswizzle them, then an OOPS is well deserved. Fixes regression introduced in commit 9da3da660d8c19a54f6e93361d147509be3fff84 Author: Chris Wilson Date: Fri Jun 1 15:20:22 2012 +0100 drm/i915: Replace the array of pages with a scatterlist Reported-and-tested-by: Krzysztof Kolasa Signed-off-by: Chris Wilson Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit c31407a3672aaebb4acddf90944a114fa5c8af7b Author: Chris Wilson Date: Thu Oct 18 21:07:01 2012 +0100 drm/i915: Add no-lvds quirk for Supermicro X7SPA-H Reported-and-tested-by: Francois Tigeot Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55375 Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 06f40a41b80e25e88a2b612ea3b2a94f93c94f72 Merge: db0fe0b 290eddc Author: John W. Linville Date: Fri Oct 19 13:55:42 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 279f0f55249820d8129470c0e104084b252f26f3 Author: Felix Fietkau Date: Wed Oct 17 13:56:20 2012 +0200 cfg80211: fix initialization of chan->max_reg_power A few places touch chan->max_power based on updated tx power rules, but forget to do the same to chan->max_reg_power. Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg commit c4a9fafc77a5318f5ed26c509bbcddf03e18c201 Author: Felix Fietkau Date: Wed Oct 17 13:56:19 2012 +0200 cfg80211: fix antenna gain handling No driver initializes chan->max_antenna_gain to something sensible, and the only place where it is being used right now is inside ath9k. This leads to ath9k potentially using less tx power than it can use, which can decrease performance/range in some rare cases. Rather than going through every single driver, this patch initializes chan->orig_mag in wiphy_register(), ignoring whatever value the driver left in there. If a driver for some reason wishes to limit it independent from regulatory rulesets, it can do so internally. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg commit 290eddc4b3661dc4dfa95d199e0be5788928b3b1 Merge: 8f7b8db 3a40414 Author: John W. Linville Date: Wed Oct 17 16:23:33 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit 0a3af268644e0217ea22d6899a76187f930e9590 Author: Rodrigo Vivi Date: Mon Oct 15 17:16:23 2012 -0300 drm/i915: Insert i915_preliminary_hw_support variable. On the worst scenario, users with new hardwares and old kernel from enabling times can get black screens. So, from now on, this perliminary_hw_support module parameter shall be used by all upcoming platforms that are still under enabling. The second option would be to merge the pci ids after basic modeset works, but that makes testing and development while bringing up hw a rather tedious afair. Although it is uncomfortable for developers use this extra variable it brings more stability for end users. Signed-off-by: Rodrigo Vivi Reviewed-by: Dave Airlie [danvet: dropped the i915_ param prefix, i915.i915_ is just tedious.] Signed-off-by: Daniel Vetter commit 3a40414f826a8f1096d9b94c4a53ef91b25ba28d Author: Johannes Berg Date: Mon Oct 1 15:52:00 2012 +0200 mac80211: connect with HT20 if HT40 is not permitted Some changes to fix issues with HT40 APs in Korea and follow-up changes to allow using HT40 even if the local regulatory database disallows it caused issues with iwlwifi (and could cause issues with other devices); iwlwifi firmware would assert if you tried to connect to an AP that has an invalid configuration (e.g. using HT40- on channel 140.) Fix this, while avoiding the "Korean AP" issue by disabling HT40 and advertising HT20 to the AP when connecting. Cc: stable@vger.kernel.org [3.6] Reported-by: Florian Reitmeir Tested-by: Florian Reitmeir Signed-off-by: Johannes Berg commit a7c2e1aad6c846f316641bbaa54cf999aeaa7ebc Author: Daniel Vetter Date: Wed Oct 17 11:17:16 2012 +0200 drm/i915: shut up spurious WARN in the gtt fault handler -ENOSPC can happen if userspace is being simplistic and tries to map a too big object. To aid further spurious WARN debugging, also print out the error code. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56017 Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 8f7b8db6e0557c8437adf9371e020cd89a7e85dc Author: Johannes Berg Date: Tue Sep 25 16:40:12 2012 +0200 iwlwifi: fix 6000 series channel switch command The channel switch command for 6000 series devices is larger than the maximum inline command size of 320 bytes. The command is therefore refused with a warning. Fix this by allocating the command and using the NOCOPY mechanism. Cc: stable@kernel.org Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit b06fbda328490ec471e72659a9bf69f16a1c8dc9 Author: Daniel Vetter Date: Tue Oct 16 09:50:25 2012 +0200 Revert "drm/i915: Try harder to complete DP training pattern 1" This reverts commit 2477367083b3eaa97f87993ab26627a02f350551. If (for whatever reason) the DP sink device never asks for the maximal voltage level, we never don't hit the check that should bail us out after 5 retries of the same voltage. Which leads to an endless loop in the DP link training code, which hangs the driver. Now some more DP link training experiments on eDP panels seem to indicate that our training algorithm isn't robust enough anyway and needs more work. Hence for 3.7-fixes, let's just revert the regressing commit instead of trying to apply more duct-tape. Reported-by: Oleksij Rempel Acked-by: Chris Wilson Signed-off-by: Daniel Vetter commit e751823da27d37d25e5543abef2dc031f8813bc8 Author: Egbert Eich Date: Sat Oct 13 14:29:31 2012 +0200 DRM/i915: Restore sdvo_flags after dtd->mode->dtd Roundrtrip. For TV and LVDS encoders intel_sdvo_set_input_timings_for_mode() is called to pass a mode to the sdvo chip and retrieve a dtd containing information needed to calculate the adjusted_mode which is done by intel_sdvo_get_dtd_from_mode(). To set this adjusted_mode as input mode for the sdvo chip, a dtd is recalculated using intel_sdvo_get_mode_from_dtd(). During this round trip the sdvo_flags contained in the dtd obtained from the hardware are lost. Since these flags cannot be ignored in all cases this patch preserves and restores them. This regression has been introduced in commit 6651819b4b4fc3caa6964c5d825eb4bb996f3905 Author: Daniel Vetter Date: Sun Apr 1 19:16:18 2012 +0200 drm/i915: handle input/output sdvo timings separately in mode_set Signed-off-by: Egbert Eich Signed-off-by: Daniel Vetter commit e3b86d6941c7e5f90be05d986fce1fcb40c68d6b Author: Egbert Eich Date: Sat Oct 13 14:30:15 2012 +0200 DRM/i915: Don't clone SDVO LVDS with analog. SDVO LVDS are not clonable as the input mode gets adjusted by the LVDS encoder. Signed-off-by: Egbert Eich Signed-off-by: Daniel Vetter commit 5f85f176c2f1c9d2a23f60ca0b99e4d0aa5a26a7 Author: Egbert Eich Date: Sun Oct 14 15:46:38 2012 +0200 DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines. NCR machines with LVDS panels using Intel chipsets need to have the QUIRK_INVERT_BRIGHTNESS bit set. Unfortunately NCR doesn't set a meaningful subvendor/subdevice ID, therefore we add a DMI dependent quirk list. Signed-off-by: Egbert Eich [danvet: fixup whitespace fail.] Signed-off-by: Daniel Vetter commit 6478d414fe4ee3114e760fb6d6df0f8e2f66186a Author: Egbert Eich Date: Sun Oct 14 16:33:11 2012 +0200 DRM/i915: Don't delete DPLL Multiplier during DAC init. The DPLL multipiler is set up in intel_display.c:i9xx_update_pll() called from i9xx_crtc_mode_set(). There the DPLL multiplier is adjusted so that the SDVO gets a sufficient bus clock. When cloning a CRTC between an SDVO driven encoder and the standard DAC the DAC setup code reseted the multiplier value to 1 thus undoing the correct setup. There is no need to touch the multiplier in the DAC setup code: the correct value (i.e. 1 in case no SDVO encoder is used) is set by i9xx_update_pll() already. A comment at the code suggested that this code is a left over from the days when there was no setup for clone modes. Signed-off-by: Egbert Eich Signed-off-by: Daniel Vetter commit 8a00b6af4cc547725f231c8367ddc7cb56b2cf76 Author: Dave Airlie Date: Tue Oct 16 16:40:53 2012 +1000 nouveau: fix warning on 32-bit build. Signed-off-by: Dave Airlie commit 30f02cb7dd2e6a677c1d5ccd614024f2ebec8f1b Merge: 7b85053 565f571 Author: Dave Airlie Date: Tue Oct 16 16:33:48 2012 +1000 Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes minor set of nouveau fixes. * 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/bios: fix typo in error message drm/nouveau: only call ttm_agp_tt_create when __OS_HAS_AGP drm/nv50/fb: fix double free of vram mm drm/nouveau/pm: do not stop reclocking if failing to set the fan speed drm/nouveau/pm: fix a typo related to the move to the therm subdev drm/nouveau/hwmon: fix the initialization condition commit 565f571c48f01a681243a356e9083f5cf24b432e Author: Ben Skeggs Date: Tue Oct 16 16:25:08 2012 +1000 drm/nouveau/bios: fix typo in error message Signed-off-by: Ben Skeggs commit df1b4b91e5dae04782f65f657d771b23ca3bdc99 Author: Max Filippov Date: Sun Oct 14 01:58:26 2012 +0400 drm/nouveau: only call ttm_agp_tt_create when __OS_HAS_AGP ttm_agp_tt_create is itself defined under CONFIG_AGP, so there's no point calling it otherwise. Signed-off-by: Max Filippov Signed-off-by: Ben Skeggs commit 5db4c6c5dd26f7737c1fa45ea73549b8aef6e395 Author: Marcin Slusarz Date: Thu Oct 11 23:53:48 2012 +0200 drm/nv50/fb: fix double free of vram mm nouveau_fb_destroy already calls nouveau_mm_fini on vram mm. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit eed6187d9f19535ac9339b684537f8535bf563b7 Author: Martin Peres Date: Thu Oct 4 01:00:13 2012 +0200 drm/nouveau/pm: do not stop reclocking if failing to set the fan speed With the introduction of fan management modes, fan may not be drivable. We should allow reclocking nonetheless. This return was stupid to begin with since it may have left the card in an intermediate state (clocks corresponding to a perflvl and voltage corresponding to another one). The reclocking code will need to be rewritten in a near-future in order to provide a better error handling. Reported-by: Marcin Slusarz Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit a6fd5cf3c986dab3950185a53ef02a399bf2cf2b Author: Martin Peres Date: Thu Oct 4 00:44:19 2012 +0200 drm/nouveau/pm: fix a typo related to the move to the therm subdev Reported-by: Vekin on IRC Reported-by: Emil Velikov Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit a5f5af8698a5cb3a68608a40a8782bdf8263cb97 Author: Martin Peres Date: Thu Oct 4 00:28:21 2012 +0200 drm/nouveau/hwmon: fix the initialization condition Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit 7b8505300525d7e802ecf52ae160bc63f4ba28d7 Author: Dave Airlie Date: Tue Oct 16 10:28:21 2012 +1000 drm: fix warning on 32-bit. This cast was causing a warning on 32-bit builds. Signed-off-by: Dave Airlie commit bd6126bd0766cb0e03a4d832cc3611dff5ea8e50 Author: Randy Dunlap Date: Tue Oct 16 10:15:45 2012 +1000 drm: radeon: fix printk format warning drivers/gpu/drm/radeon/radeon_atpx_handler.c:151:3: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'size_t' [airlied: Alex had others fixed already, except for atpx one] Signed-off-by: Randy Dunlap Signed-off-by: Dave Airlie commit 39df01cd6ce9f6dd755ace0030e2bebe75da7727 Merge: 3459f62 8ad33cd Author: Dave Airlie Date: Tue Oct 16 10:13:24 2012 +1000 Merge branch 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Alex writes: "This is the first -fixes pull for 3.7. I would have preferred to have gotten it out a bit sooner, but I was on holiday last week. - Cleanup of the new 2 level page table code it get it in better shape and using less memory. - Fix some display issues related to the PLL rework. - Fix some cmpiler warnings and errors with certain config options. - Other misc bug fixes." * 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix spelling typos in debugging output drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy(). drm/radeon: check if pcie gen 2 is already enabled (v2) drm/radeon/cayman: set VM max pfn at MC init drm/radeon: separate pt alloc from lru add drm/radeon: don't add the IB pool to all VMs v2 drm/radeon: allocate page tables on demand v4 drm/radeon: update comments to clarify VM setup (v2) drm/radeon: allocate PPLLs from low to high drm/radeon: fix compilation with backlight disabled drm/radeon: use %zu for formatting size_t commit 3459f6204730fc3c0e44059296f6daa592e8c8d6 Merge: ddffeb8 be3cd5e Author: Dave Airlie Date: Tue Oct 16 10:11:29 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes Daniel writes: "- some register magic to fix hsw crw (Paulo&Ben) - fix backlight destruction for cpu edp (Jani) - fix gen ch7xxx dvo ->get_hw_state - fixup the plane->pipe fixup code, the broken version massively angers the modeset sanity checks - kill pipe A quirk for i855gm, otherwise I get a black screen with the above patch - fixup for gem_get_page helper (Chris) - fixup guardband clipping w/a (Ken), without this mesa master can erronously drop vertices on snb, mesa 9.0 has the optimization reverted - another pageflip vs. modeset fix - kill bogus BUG_ON which broke ums+gem from Willy Tarreau (gasp, people are still using this!)" * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915: fix non-DP-D eDP backlight cleanup and module reload drm/i915: HSW CRW stability magic drm/i915/dvo-ch7xxx: fix get_hw_state drm/i915: fixup the plane->pipe fixup code drm/i915: rip out the pipe A quirk for i855gm drm/i915: disable wc gtt pte mappings on gen2 drm/i915: fixup i915_gem_object_get_page inline helper drm/i915: Disallow preallocation of requests drm/i915: Set guardband clipping workaround bit in the right register. drm/i915: paper over a pipe-enable vs pageflip race drm/i915: remove useless BUG_ON which caused a regression in 3.5. commit bf11315eeda510ea4fc1a2bf972d8155d31d89b4 Author: Stanislav Yakovlev Date: Mon Oct 15 14:14:32 2012 +0000 net/wireless: ipw2200: Fix panic occurring in ipw_handle_promiscuous_tx() The driver does not count space of radiotap fields when allocating skb for radiotap packet. This leads to kernel panic with the following call trace: ... [67607.676067] [] error_code+0x67/0x6c [67607.676067] [] ? skb_put+0x91/0xa0 [67607.676067] [] ? ipw_handle_promiscuous_tx+0x16b/0x2d0 [ipw2200] [67607.676067] [] ipw_handle_promiscuous_tx+0x16b/0x2d0 [ipw2200] [67607.676067] [] ipw_net_hard_start_xmit+0x8b/0x90 [ipw2200] [67607.676067] [] libipw_xmit+0x55a/0x980 [libipw] [67607.676067] [] dev_hard_start_xmit+0x218/0x4d0 ... This bug was found by VittGam. https://bugzilla.kernel.org/show_bug.cgi?id=43255 Cc: stable@kernel.org Signed-off-by: Stanislav Yakovlev Signed-off-by: John W. Linville commit d4fa14cd62bd078c8e3ef39283b9f237e5b2ff0f Author: Felix Fietkau Date: Wed Oct 10 22:40:23 2012 +0200 mac80211: use ieee80211_free_txskb in a few more places Free tx status skbs when draining power save buffers, pending frames, or when tearing down a vif. Fixes remaining conditions that can lead to hostapd/wpa_supplicant hangs when running out of socket write memory. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 3e4f319dacc60c1b4537b85329d393ad18bf7501 Author: Dan Carpenter Date: Wed Oct 10 11:13:12 2012 -0700 brcmfmac: fix end of loop check (signedness bug) The problem here is that we loop until "remained_buf_len" is less than zero, but since it is unsigned, it never is. "remained_buf_len" has to be large enough to hold the value from "mgmt_ie_buf_len". That variable is type u32, but it only holds small values so I have changed to both variables to int. Also I removed the bogus initialization from "mgmt_ie_buf_len" so that GCC can detect if it is used unitialized. I moved the declaration of "remained_buf_len" closer to where it is used so it's easier to read. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Dan Carpenter Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5dd161ff7b46029c9da4f4ef8b214b8ba4316445 Author: Franky Lin Date: Wed Oct 10 11:13:10 2012 -0700 brcmfmac: set dongle mode accordingly when interface up The mode of WiFi dongle should be initialized in brcmf_cfg80211_up which get called when network interface is brought up. Otherwise brcmf_cfg80211_get_station would return error. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit a180b83bb1f036c587bdb93ac6171b94ff49133c Author: Franky Lin Date: Wed Oct 10 11:13:09 2012 -0700 brcmfmac: use control channel in roamed status reporting Channel reported in scan results passed to cfg80211 is control channel. But chanspec is reported while notifying cfg80211 about roamed update. Cfg80211 complains because it could not find the bss in the list. Report control channel while calling cfg80211_roamed. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit e270b302e4771cde91e713ae17da31c1afc9a135 Author: Hante Meuleman Date: Wed Oct 10 11:13:06 2012 -0700 brcmfmac: handle all exceptions as an error. in brcmf_usb_probe_cb only return code ENOLINK was seen as an error. This is wrong, all error codes should be returned to usb subsystem. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 4045f72bcf3c293c7c5932ef001742d8bb5ded76 Author: Stanislaw Gruszka Date: Tue Oct 2 21:34:23 2012 +0200 mac80211: check if key has TKIP type before updating IV This patch fix corruption which can manifest itself by following crash when switching on rfkill switch with rt2x00 driver: https://bugzilla.redhat.com/attachment.cgi?id=615362 Pointer key->u.ccmp.tfm of group key get corrupted in: ieee80211_rx_h_michael_mic_verify(): /* update IV in key information to be able to detect replays */ rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip_iv32; rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip_iv16; because rt2x00 always set RX_FLAG_MMIC_STRIPPED, even if key is not TKIP. We already check type of the key in different path in ieee80211_rx_h_michael_mic_verify() function, so adding additional check here is reasonable. Cc: stable@vger.kernel.org # 3.0+ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 3d02a9265c5414b07b372dde616174d3c89071a0 Merge: ddffeb8 065a13e Author: John W. Linville Date: Mon Oct 15 14:34:23 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth commit 8ad33cdf97639e2a1601b6dd8629d351c1c50198 Author: Thomas Friebel Date: Mon Oct 15 13:16:22 2012 -0400 drm/radeon: fix spelling typos in debugging output Signed-off-by: Alex Deucher commit 082918471139b07964967cfe5f70230909c82ae1 Author: Egbert Eich Date: Mon Oct 15 08:21:39 2012 +0200 drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy(). radeon_i2c_fini() walks thru the list of I2C bus recs rdev->i2c_bus[] to destroy each of them. radeon_ext_tmds_enc_destroy() however also has code to destroy it's associated I2C bus rec which has been obtained by radeon_i2c_lookup() and is therefore also in the i2c_bus[] list. This causes a double free resulting in a kernel panic when unloading the radeon driver. Removing destroy code from radeon_ext_tmds_enc_destroy() fixes this problem. agd5f: fix compiler warning Signed-off-by: Egbert Eich Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 3691feea9826771d853d28d37b6b6e34758fa66d Author: Alex Deucher Date: Mon Oct 8 17:46:27 2012 -0400 drm/radeon: check if pcie gen 2 is already enabled (v2) If so, skip enabling it to save time. v2: coding style fixes Signed-off-by: Alex Deucher commit c1a7ca0de38c23a15f652b1693afd56c9f07b16c Author: Alex Deucher Date: Mon Oct 8 12:15:13 2012 -0400 drm/radeon/cayman: set VM max pfn at MC init No need to emit them at VM flush as we no longer use variable sized page tables now that we support 2 level page tables. This matches the behavior of SI (which does not support variable sized page tables). Signed-off-by: Alex Deucher Reviewed-by: Christian König commit 13e55c38f8ba4bb15ff9b51e2c5e7801c0f29526 Author: Christian König Date: Tue Oct 9 13:31:19 2012 +0200 drm/radeon: separate pt alloc from lru add Make it possible to allocate a persistent page table. Signed-off-by: Christian König Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher commit d72d43cfc5847c176edabc72e6431ba691322c98 Author: Christian König Date: Tue Oct 9 13:31:18 2012 +0200 drm/radeon: don't add the IB pool to all VMs v2 We want to use VMs without the IB pool in the future. v2: also remove it from radeon_vm_finish. Signed-off-by: Christian König Reviewed-by: Michel Dänzer Signed-off-by: Alex Deucher commit 90a51a329258e3c868f6f4c1fb264ca01c590c57 Author: Christian König Date: Tue Oct 9 13:31:17 2012 +0200 drm/radeon: allocate page tables on demand v4 Based on Dmitries work, but splitting the code into page directory and page table handling makes it far more readable and (hopefully) more reliable. Allocations of page tables are made from the SA on demand, that should still work fine since all page tables are of the same size. Also using the fact that allocations from the SA are mostly continuously (except for end of buffer wraps and under very high memory pressure) to group updates send to the chipset specific code into larger chunks. v3: mostly a rewrite of Dmitries previous patch. v4: fix some typos and coding style Signed-off-by: Dmitry Cherkasov Signed-off-by: Christian König Tested-by: Michel Dänzer Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher commit 23d4f1f246a98dde1dc485e0be9a647126630347 Author: Alex Deucher Date: Mon Oct 8 09:45:46 2012 -0400 drm/radeon: update comments to clarify VM setup (v2) The actual set up and assignment of VM page tables is done on the fly in radeon_gart.c. v2: update vm size comments Signed-off-by: Alex Deucher Reviewed-by: Christian König commit 29dbe3bcd2e28e71823febdca989d63d5c27d152 Author: Alex Deucher Date: Fri Oct 5 10:22:02 2012 -0400 drm/radeon: allocate PPLLs from low to high The order shouldn't matter, but there have been problems reported on certain older asics. This behaves more like the original code before the PPLL allocation rework. Signed-off-by: Alex Deucher Cc: Markus Trippelsdorf commit cd23492af3d4401c02c48a4bebe5995c9498eac5 Author: Alex Deucher Date: Thu Oct 4 09:10:10 2012 -0400 drm/radeon: fix compilation with backlight disabled Signed-off-by: Alex Deucher commit a1871936c0f4f10850a5671c5deb1a92fcca1155 Author: Luca Tettamanti Date: Wed Oct 3 15:00:19 2012 +0200 drm/radeon: use %zu for formatting size_t Fixes compiler warnings on 32bit. Signed-off-by: Luca Tettamanti Signed-off-by: Alex Deucher commit 6863255bd0e48bc41ae5a066d5c771801e92735a Author: Stanislaw Gruszka Date: Mon Oct 15 14:52:41 2012 +0200 cfg80211/mac80211: avoid state mishmash on deauth Avoid situation when we are on associate state in mac80211 and on disassociate state in cfg80211. This can results on crash during modules unload (like showed on this thread: http://marc.info/?t=134373976300001&r=1&w=2) and possibly other problems. Reported-by: Pedro Francisco Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Signed-off-by: Johannes Berg commit df9b42963f2d010ae3163a894ce22cf6b27cd344 Merge: 3376636 c3e7724 Author: Johannes Berg Date: Mon Oct 15 17:20:54 2012 +0200 Merge remote-tracking branch 'wireless/master' into mac80211 commit 0b381a286e5d748b1fd80095d3dd52326819742f Merge: 034b5ee 5921e6f Author: Linus Torvalds Date: Sat Oct 13 13:28:32 2012 -0700 Merge tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers Pull UAPI disintegration for include/linux/{,byteorder/}*.h from David Howells: "The patches contained herein do the following: (1) Remove kernel-only stuff in linux/ppp-comp.h from the UAPI. I checked this with Paul Mackerras before I created the patch and he suggested some extra bits to unexport. (2) Remove linux/blk_types.h entirely from the UAPI as none of it is userspace applicable, and remove from the UAPI that part of linux/fs.h that was the reason for linux/blk_types.h being exported in the first place. I discussed this with Jens Axboe before creating the patch. (3) The big patch of the series to disintegrate include/linux/*.h as a unit. This could be split up, though there would be collisions in moving stuff between the two Kbuild files when the parts are merged as that file is sorted alphabetically rather than being grouped by subsystem. Of this set of headers, 17 files have changed in the UAPI exported region since the 4th and only 8 since the 9th so there isn't much change in this area - as one might expect. It should be pretty obvious and straightforward if it does come to fixing up: stuff in __KERNEL__ guards stays where it is and stuff outside moves to the same file in the include/uapi/linux/ directory. If a new file appears then things get a bit more complicated as the "headers +=" line has to move to include/uapi/linux/Kbuild. Only one new file has appeared since the 9th and I judge this type of event relatively unlikely. (4) A patch to disintegrate include/linux/byteorder/*.h as a unit. Signed-off-by: David Howells " * tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers: UAPI: (Scripted) Disintegrate include/linux/byteorder UAPI: (Scripted) Disintegrate include/linux UAPI: Unexport linux/blk_types.h UAPI: Unexport part of linux/ppp-comp.h commit 09a9ad6a1ff86836e5280c39300176c4758bb459 Merge: 9db9088 e9069f4 Author: Linus Torvalds Date: Sat Oct 13 13:23:39 2012 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull user namespace compile fixes from Eric W Biederman: "This tree contains three trivial fixes. One compiler warning, one thinko fix, and one build fix" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: btrfs: Fix compilation with user namespace support enabled userns: Fix posix_acl_file_xattr_userns gid conversion userns: Properly print bluetooth socket uids commit 607ca46e97a1b6594b29647d98a32d545c24bdff Author: David Howells Date: Sat Oct 13 10:46:48 2012 +0100 UAPI: (Scripted) Disintegrate include/linux Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Michael Kerrisk Acked-by: Paul E. McKenney Acked-by: Dave Jones commit 98260daa184c4a171834463cf85ab3a2c509d983 Merge: e225ca2 dabdaf0 Author: Linus Torvalds Date: Sat Oct 13 10:51:48 2012 +0900 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking updates from David Miller: 1) Alexey Kuznetsov noticed we routed TCP resets improperly in the assymetric routing case, fix this by reverting a change that made us use the incoming interface in the outgoing route key when we didn't have a socket context to work with. 2) TCP sysctl kernel memory leakage to userspace fix from Alan Cox. 3) Move UAPI bits from David Howells, WIMAX and CAN this time. 4) Fix TX stalls in e1000e wrt. Byte Queue Limits, from Hiroaki SHIMODA, Denys Fedoryshchenko, and Jesse Brandeburg. 5) Fix IPV6 crashes in packet generator module, from Amerigo Wang. 6) Tidies and fixes in the new VXLAN driver from Stephen Hemminger. 7) Bridge IP options parse doesn't check first if SKB header has at least an IP header's worth of content present. Fix from Sarveshwar Bandi. 8) The kernel now generates compound pages on transmit and the Xen netback drivers needs some adjustments in order to handle this. Fix from Ian Campbell. 9) Turn off ASPM in JME driver, from Kevin Bardon and Matthew Garrett. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits) mcs7830: Fix link state detection net: add doc for in4_pton() net: add doc for in6_pton() vti: fix sparse bit endian warnings tcp: resets are misrouted usbnet: Support devices reporting idleness Add CDC-ACM support for the CX93010-2x UCMxx USB Modem net/ethernet/jme: disable ASPM tcp: sysctl interface leaks 16 bytes of kernel memory kaweth: print correct debug ptr e1000e: Change wthresh to 1 to avoid possible Tx stalls ipv4: fix route mark sparse warning xen: netback: handle compound page fragments on transmit. bridge: Pull ip header into skb->data before looking into ip header. isdn: fix a wrapping bug in isdn_ppp_ioctl() vxlan: fix oops when give unknown ifindex vxlan: fix receive checksum handling vxlan: add additional headroom vxlan: allow configuring port range vxlan: associate with tunnel socket on transmit ... commit 1bbb3095a5912be4b9c90397ef2182a5a328865b Author: Eric W. Biederman Date: Wed Oct 3 20:32:17 2012 -0700 userns: Properly print bluetooth socket uids With user namespace support enabled building bluetooth generated the warning. net/bluetooth/af_bluetooth.c: In function ‘bt_seq_show’: net/bluetooth/af_bluetooth.c:598:7: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 7 has type ‘kuid_t’ [-Wformat] Convert sock_i_uid from a kuid_t to a uid_t before printing, to avoid this problem. Reported-by: Fengguang Wu Cc: Masatake YAMATO Cc: Gustavo Padovan Signed-off-by: "Eric W. Biederman" commit 065a13e2cc665f6547dc7e8a9d6b6565badf940a Author: Johan Hedberg Date: Thu Oct 11 16:26:06 2012 +0200 Bluetooth: SMP: Fix setting unknown auth_req bits When sending a pairing request or response we should not just blindly copy the value that the remote device sent. Instead we should at least make sure to mask out any unknown bits. This is particularly critical from the upcoming LE Secure Connections feature perspective as incorrectly indicating support for it (by copying the remote value) would cause a failure to pair with devices that support it. Signed-off-by: Johan Hedberg Cc: stable@kernel.org Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit be3cd5e37716bcf1579f63bdd919345a1f9692b9 Author: Jani Nikula Date: Fri Oct 12 10:33:05 2012 +0300 drm/i915: fix non-DP-D eDP backlight cleanup and module reload Backlight is initialized for eDP, but cleaned up only for eDP on DP-D port. This leaves behind a dangling backlight interface on module unload on machines that have eDP connected to something other than DP-D, and breaks the backlight interface for subsequent module reloads. Fix the cleanup, and thus module reload on affected machines. Reported-by: Imre Deak Signed-off-by: Jani Nikula Reviewed-by: Mika Kuoppala Tested-by: Imre Deak Signed-off-by: Daniel Vetter commit eda2d7f582d51a4b5e01d48845ea28321357b136 Author: Rodrigo Vivi Date: Wed Oct 10 18:35:28 2012 -0300 drm/i915: HSW CRW stability magic This magic brings stability to HSW CRW machines. Signed-off-by: Rodrigo Vivi Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 4afa0ace429624fde392b29d05a803672a41192e Author: Daniel Vetter Date: Thu Oct 11 18:43:52 2012 +0200 drm/i915/dvo-ch7xxx: fix get_hw_state The boot-up state seems to be all-zeros, so it's safer to check for the bits that need to be set when the dvo encoder is in the dpms on state, than checking the bits we set when it's in the off state. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55047 Tested-by: Chris Wilson Signed-off-by: Daniel Vetter commit fa55583797d12b10928a1813f3dcf066637caf5e Author: Daniel Vetter Date: Wed Oct 10 23:14:00 2012 +0200 drm/i915: fixup the plane->pipe fixup code We need to check whether the _other plane is on our pipe, not whether our plane is on the other pipe. Otherwise if not both pipes/planes are active, we won't properly clean up the mess and set up our desired plane->pipe mapping. v2: Fixup the logic, I've totally fumbled it. Noticed by Chris Wilson. v3: I've checked Bspec, and the flexible plane->pipe mapping is a gen2/3 feature, so test for that instead of PCH_SPLIT v4: Check whether we indeed have 2 pipes before checking the other pipe, to avoid upsetting i845g/i865g. Noticed by Chris Wilson. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51265 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49838 Tested-by: Dave Airlie Tested-by: Chris Wilson #855gm Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit ccd0d36e2a8ab8b4d314ff87779366ada33ffe00 Author: Daniel Vetter Date: Wed Oct 10 23:13:59 2012 +0200 drm/i915: rip out the pipe A quirk for i855gm This seems to be the root-cause that breaks resume on my i855gm when I apply the "drm/i915: fixup the plane->pipe fixup code" patch. And that code doesn't even run on my machine, so it's pure timing changes causing the regression. Furthermore resume has been constantly switching between working and broken on this machine ever since kms support has been merged, seemingly with no related change as a root cause. And always with the same symptoms of the backlight lighting up, but the lvds panel only displaying black. Also, of both i855gm variants only one is in the table. And in the past we've only ever removed entries from this quirk table because it breaks things. So let's just remove it - in case there's indeed a bios out there relying on a running pipe A, we can add back in a more precise quirk entry, like all the others (save for i830/i845). Tested-by: Chris Wilson #855gm Signed-off-by: Daniel Vetter commit 1cf8378906b2d5a6449147914fe04c56d6f4fd87 Author: Chris Wilson Date: Wed Oct 10 12:11:52 2012 +0100 drm/i915: fixup i915_gem_object_get_page inline helper Note that just because we have n == MAX elements left, does not imply that there are only MAX elements left in the scatterlist and so we may not be on the last chain, and the nth element may in fact be a chain ptr. This is exercised by the improved hangman tests and the gem_exec_big test in i-g-t. This regression has been introduced in commit 9da3da660d8c19a54f6e93361d147509be3fff84 Author: Chris Wilson Date: Fri Jun 1 15:20:22 2012 +0100 drm/i915: Replace the array of pages with a scatterlist v2: KISS, replace the direct lookup with a for_each_sg() [danvet] v3: Try to be clever again. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit acb868d3d710b09a356d848e0cd44d9713a9e274 Author: Chris Wilson Date: Wed Sep 26 13:47:30 2012 +0100 drm/i915: Disallow preallocation of requests The intention was to allow the caller to avoid a failure to queue a request having already written commands to the ring. However, this is a moot point as the i915_add_request() can fail for other reasons than a mere allocation failure and those failure cases are more likely than ENOMEM. So the overlay code already had to handle i915_add_request() failures, and due to commit 3bb73aba1ed5198a2c1dfaac4f3c95459930d84a Author: Chris Wilson Date: Fri Jul 20 12:40:59 2012 +0100 drm/i915: Allow late allocation of request for i915_add_request() the error handling code in intel_overlay.c was subject to causing double-frees, as found by coverity. Rather than further complicate i915_add_request() and callers, realise the battle is lost and adapt intel_overlay.c to take advantage of the late allocation of requests. v2: Handle callers passing in a NULL seqno. v3: Ditto. This time for sure. Signed-off-by: Chris Wilson Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 26b6e44afb58432a5e998da0343757404f9de9ee Author: Kenneth Graunke Date: Sun Oct 7 08:51:07 2012 -0700 drm/i915: Set guardband clipping workaround bit in the right register. A previous patch, namely: commit bf97b276ca04cee9ab65ffd378fa8e6aedd71ff6 Author: Daniel Vetter Date: Wed Apr 11 20:42:41 2012 +0200 drm/i915: implement w/a for incorrect guarband clipping accidentally set bit 5 in 3D_CHICKEN, which has nothing to do with clipping. This patch changes it to be set in 3D_CHICKEN3, where it belongs. The game "Dante" demonstrates random clipping issues when guardband clipping is enabled and bit 5 of 3D_CHICKEN3 isn't set. So the workaround is actually necessary. Cc: Daniel Vetter Cc: Oliver McFadden Acked-by: Paul Menzel Signed-off-by: Kenneth Graunke Reviewed-by: Mika Kuoppala Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter commit 5f76945a9c978b8b8bf8eb7fe3b17b9981240a97 Merge: 940e3a8 cd9d6f1 Author: Linus Torvalds Date: Fri Oct 12 10:21:02 2012 +0900 Merge tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6 Pull fbdev updates from Florian Tobias Schandinat: "This includes: - large updates for OMAP - basic OMAP5 DSS support for DPI and DSI outputs - large cleanups and restructuring - some update to Exynos and da8xx-fb - removal of the pnx4008 driver (arch removed) - various other small patches" Fix up some trivial conflicts (mostly just include line changes, but also some due to the renaming of the deferred work functions by Tejun). * tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6: (193 commits) gbefb: fix compile error video: mark nuc900fb_map_video_memory as __devinit video/mx3fb: set .owner to prevent module unloading while being used video: exynos_dp: use clk_prepare_enable and clk_disable_unprepare drivers/video/exynos/exynos_mipi_dsi.c: fix error return code drivers/video/savage/savagefb_driver.c: fix error return code video: s3c-fb: use clk_prepare_enable and clk_disable_unprepare da8xx-fb: save and restore LCDC context across suspend/resume cycle da8xx-fb: add pm_runtime support video/udlfb: fix line counting in fb_write OMAPDSS: add missing include for string.h OMAPDSS: DISPC: Configure color conversion coefficients for writeback OMAPDSS: DISPC: Add manager like functions for writeback OMAPDSS: DISPC: Configure writeback FIFOs OMAPDSS: DISPC: Configure writeback specific parameters in dispc_wb_setup() OMAPDSS: DISPC: Configure overlay-like parameters in dispc_wb_setup OMAPDSS: DISPC: Add function to set channel in for writeback OMAPDSS: DISPC: Don't set chroma resampling bit for writeback OMAPDSS: DISPC: Downscale chroma if plane is writeback OMAPDSS: DISPC: Configure input and output sizes for writeback ... commit 85457685e0e314f6902caaef976b3fd8ef4f51b4 Merge: 2474542 c3e7724 Author: David S. Miller Date: Wed Oct 10 11:59:54 2012 -0400 Merge tag 'master-2012-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless John W. Linville says: ==================== Here is a batch of fixes intended for 3.7... Amitkumar Karwar provides a couple of mwifiex fixes to correctly report some reason codes for certain connection failures. He also provides a fix to cleanup after a scanning failure. Bing Zhao rounds that out with another mwifiex scanning fix. Daniel Golle gives us a fix for a copy/paste error in rt2x00. Felix Fietkau brings a couple of ath9k fixes related to suspend/resume, and a couple of fixes to prevent memory leaks in ath9k and mac80211. Ronald Wahl sends a carl9170 fix for a sleep in softirq context. Thomas Pedersen reorders some code to prevent drv_get_tsf from being called while holding a spinlock, now that it can sleep. Finally, Wei Yongjun prevents a NULL pointer dereference in the ath5k driver. Please let me know if there are problems! ==================== Signed-off-by: David S. Miller commit ba7067651083bdcc37223d8879478cbc51cca923 Merge: 42859ee ceb736c Author: Linus Torvalds Date: Wed Oct 10 19:47:12 2012 +0900 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull nouveau drm fixes from Dave Airlie: "Just a bunch of nouveau fixes, Ben wants to get some alternate versions into stable." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau/timer: bump ptimer's alarm delay from u32 to u64 drm/nouveau/fan: fix a typo in PWM's input clock calculation drm/nv50/clk: wire up pll_calc hook drm/nouveau: remove unused _nouveau_parent_ctor drm/nouveau/bios: fix shadowing of ACPI ROMs larger than 64KiB commit 0febd3bccff3ac005a570180209e44fb7de188df Merge: 8d93241 13b1ba7 Author: Florian Tobias Schandinat Date: Wed Oct 10 02:16:30 2012 +0000 Merge tag 'omapdss-for-3.7' of git://gitorious.org/linux-omap-dss2/linux into fbdev-next Omapdss driver changes for the 3.7 merge window. Notable changes: * Basic writeback support for DISPC level. Writeback is not yet usable, though, as we need higher level code to actually expose the writeback feature to userspace. * Rewriting the omapdss output drivers. We're trying to remove the hard links between the omapdss and the panels, and this rewrite work moves us closer to that goal. * Cleanup and restructuring patches that have been made while working on device tree support for omapdss. Device tree support is still some way ahead, but these patches are good cleanups in themselves. * Basic OMAP5 DSS support for DPI and DSI outputs. * Workaround for the problem that GFX overlay's fifo is too small for high resolution scenarios, causing underflows. * Cleanups that remove dependencies to omap platform code. commit 314e51b9851b4f4e8ab302243ff5a6fc6147f379 Author: Konstantin Khlebnikov Date: Mon Oct 8 16:29:02 2012 -0700 mm: kill vma flag VM_RESERVED and mm->reserved_vm counter A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA, currently it lost original meaning but still has some effects: | effect | alternative flags -+------------------------+--------------------------------------------- 1| account as reserved_vm | VM_IO 2| skip in core dump | VM_IO, VM_DONTDUMP 3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP 4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP This patch removes reserved_vm counter from mm_struct. Seems like nobody cares about it, it does not exported into userspace directly, it only reduces total_vm showed in proc. Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP. remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP. remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP. [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup] Signed-off-by: Konstantin Khlebnikov Cc: Alexander Viro Cc: Carsten Otte Cc: Chris Metcalf Cc: Cyrill Gorcunov Cc: Eric Paris Cc: H. Peter Anvin Cc: Hugh Dickins Cc: Ingo Molnar Cc: James Morris Cc: Jason Baron Cc: Kentaro Takeda Cc: Matt Helsley Cc: Nick Piggin Cc: Oleg Nesterov Cc: Peter Zijlstra Cc: Robert Richter Cc: Suresh Siddha Cc: Tetsuo Handa Cc: Venkatesh Pallipadi Acked-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ceb736c395058699dc82e5efdb2a9279a5b29451 Merge: 1f31c69 11573aa Author: Dave Airlie Date: Tue Oct 9 14:48:46 2012 +1000 Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next Just misc nouveau fixes all over the place. * 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/timer: bump ptimer's alarm delay from u32 to u64 drm/nouveau/fan: fix a typo in PWM's input clock calculation drm/nv50/clk: wire up pll_calc hook drm/nouveau: remove unused _nouveau_parent_ctor drm/nouveau/bios: fix shadowing of ACPI ROMs larger than 64KiB commit 11573aa78858598cabedc472538998474b2e8efd Author: Martin Peres Date: Sun Oct 7 20:53:23 2012 +0200 drm/nouveau/timer: bump ptimer's alarm delay from u32 to u64 This is needed for automatic fan management where some delays can be over 0xffffffff ns. Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit bbebb4ebc86e723a2c38c651dbfe54017333d307 Author: Martin Peres Date: Sun Oct 7 19:34:21 2012 +0200 drm/nouveau/fan: fix a typo in PWM's input clock calculation Reported-by: Jukka Hopeavuori Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit b47f1421ad2946b71b32e613d161a8ee43d2d019 Author: Marcin Slusarz Date: Mon Oct 8 00:49:27 2012 +0200 drm/nv50/clk: wire up pll_calc hook Fixes crash during reclocking. Call Trace: pll_calc == NULL calc_pll calc_mclk nv50_pm_clocks_pre nouveau_pm_perflvl_set nouveau_pm_trigger nouveau_pm_profile_set nouveau_pm_set_perflvl dev_attr_store sysfs_write_file vfs_write sys_write system_call_fastpath Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit d489738951200a12171a63c29e8cd4876031a03b Author: Marcin Slusarz Date: Tue Oct 9 00:19:50 2012 +0200 drm/nouveau: remove unused _nouveau_parent_ctor Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 9a334cd0de2f43b29c192548000692bad52edfc6 Author: Ben Skeggs Date: Tue Oct 9 12:21:36 2012 +1000 drm/nouveau/bios: fix shadowing of ACPI ROMs larger than 64KiB Signed-off-by: Ben Skeggs commit c3e7724b6bc2f25e46c38dbe68f09d71fafeafb8 Author: Felix Fietkau Date: Mon Oct 8 14:39:33 2012 +0200 mac80211: use ieee80211_free_txskb to fix possible skb leaks A few places free skbs using dev_kfree_skb even though they're called after ieee80211_subif_start_xmit might have cloned it for tracking tx status. Use ieee80211_free_txskb here to prevent skb leaks. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 5bcbc3fcbd88842765aa419934602d3930c6ed3c Author: Ronald Wahl Date: Mon Oct 8 14:17:07 2012 +0200 carl9170: fix sleep in softirq context This patch fixes the following bug: usb 1-1.1: restart device (8) BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:654 in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper (usb_poison_urb+0x1c/0xf8) (usb_poison_anchored_urbs+0x48/0x78) (carl9170_usb_handle_tx_err+0x128/0x150) (carl9170_usb_reset+0xc/0x20) (carl9170_handle_command_response+0x298/0xea8) (carl9170_usb_tasklet+0x68/0x184) (tasklet_hi_action+0x84/0xdc) this only happens if the device is plugged in an USB port, the driver is loaded but inactive (e.g. the wlan interface is down). If the device is active everything is fine. Signed-off-by: Ronald Wahl Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9c371f997353385dfa2f7a8004ce13397e071a25 Author: Wei Yongjun Date: Mon Oct 8 08:42:58 2012 +0800 ath5k: fix potential NULL pointer dereference in ath5k_beacon_update() The dereference should be moved below the NULL test. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 8cc1d52390f53c6dd46ae71e29ea000634a17e3a Author: Amitkumar Karwar Date: Fri Oct 5 20:21:43 2012 -0700 mwifiex: update cfg80211 with correct reason code when connection is lost Driver gets LINK_LOST, DEAUTHENTICATED and DISASSOCIATED events from firmware when connection is lost in different scenarios. Currently we are using common code WLAN_REASON_DEAUTH_LEAVING for these cases. This patch adds support to parse an actual reason code from firmware event body and send it to cfg80211. WLAN_REASON_DEAUTH_LEAVING code is used if deauth is initiated by our device. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 06975884280976ba215ad0766bee1a69df612434 Author: Amitkumar Karwar Date: Fri Oct 5 20:21:42 2012 -0700 mwifiex: update cfg80211 with correct reason code when association fails This patch adds support to send correct reason code got from firmware when association attempt fails. Also, the error message displayed for association failure due to network incompatibility is modified. Current message "cannot find ssid.." misleads user. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 061f2e69fedbcd7839c8e6e6b659e345acc3396f Author: Amitkumar Karwar Date: Fri Oct 5 20:21:41 2012 -0700 mwifiex: reset scan_processing flag in failure cases scan_processing flag should be reset when scan request is failed due to some reasons Ex. memory allocation failure etc. Otherwise further scan requests will be blocked. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit c2476335313e618c0368ffbe73e05bba4d0f5f89 Author: Bing Zhao Date: Fri Oct 5 20:21:40 2012 -0700 mwifiex: return -EBUSY if scan request cannot be honored There are cases we cannot scan when request is received. For example, during WPA group key negociation the scan request will be blocked. We should return an error code to cfg80211 because cfg80211_scan_done will never be called. Signed-off-by: Bing Zhao Signed-off-by: Amitkumar Karwar Signed-off-by: Paul Stewart Signed-off-by: John W. Linville commit 55fabefe3695241e6ccfa0cd4974f3fa497693dc Author: Thomas Pedersen Date: Fri Oct 5 17:57:39 2012 -0700 mac80211: call drv_get_tsf() in sleepable context The call to drv_get/set_tsf() was put on the workqueue to perform tsf adjustments since that function might sleep. However it ended up inside a spinlock, whose critical section must be atomic. Do tsf adjustment outside the spinlock instead, and get rid of a warning. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 6ce9410047f9f06c1b3336d5215402b77d6fd70f Author: Daniel Vetter Date: Thu Oct 4 19:20:03 2012 +0200 drm/i915: paper over a pipe-enable vs pageflip race I've discovered this on my ivb machine while stress-testing the new flip_tests. Only harmful effect observed is that the timestamp is a bit bogus. Note that this is empirical duct-tape: I've noticed that we seem to only ever miss the very first vblank irq right after enabling the pipe. And with this hack applied I couldn't reproduce the failure case anywhere else any more. Tested-by: Imre Deak Reviewed-by: Imre Deak Signed-off-by: Daniel Vetter commit c77d7162a7ae451c2e895d7ef7fbeb0906107472 Author: Willy Tarreau Date: Sat Oct 6 10:20:16 2012 +0200 drm/i915: remove useless BUG_ON which caused a regression in 3.5. starting an old X server causes a kernel BUG since commit 1b50247a8d: ------------[ cut here ]------------ kernel BUG at drivers/gpu/drm/i915/i915_gem.c:3661! invalid opcode: 0000 [#1] SMP Modules linked in: snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss uvcvideo +videobuf2_core videodev videobuf2_vmalloc videobuf2_memops uhci_hcd ath9k mac80211 snd_hda_codec_realtek ath9k_common microcode +ath9k_hw psmouse serio_raw sg ath cfg80211 atl1c lpc_ich mfd_core ehci_hcd snd_hda_intel snd_hda_codec snd_hwdep snd_pcm rtc_cmos +snd_timer snd evdev eeepc_laptop snd_page_alloc sparse_keymap Pid: 2866, comm: X Not tainted 3.5.6-rc1-eeepc #1 ASUSTeK Computer INC. 1005HA/1005HA EIP: 0060:[] EFLAGS: 00013297 CPU: 0 EIP is at i915_gem_entervt_ioctl+0xf1/0x110 EAX: f5941df4 EBX: f5940000 ECX: 00000000 EDX: 00020000 ESI: f5835400 EDI: 00000000 EBP: f51d7e38 ESP: f51d7e20 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: b760e0a0 CR3: 351b6000 CR4: 000007d0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process X (pid: 2866, ti=f51d6000 task=f61af8d0 task.ti=f51d6000) Stack: 00000001 00000000 f5835414 f51d7e84 f5835400 f54f85c0 f51d7f10 c12b530b 00000001 c151b139 c14751b6 c152e030 00000b32 00006459 00000059 0000e200 00000001 00000000 00006459 c159ddd0 c12dc1a0 ffffffea 00000000 00000000 Call Trace: [] drm_ioctl+0x2eb/0x440 [] ? i915_gem_init+0xe0/0xe0 [] ? enqueue_hrtimer+0x1b/0x50 [] ? __hrtimer_start_range_ns+0x161/0x330 [] ? lock_hrtimer_base+0x23/0x50 [] ? hrtimer_try_to_cancel+0x33/0x70 [] ? drm_version+0x90/0x90 [] vfs_ioctl+0x31/0x50 [] do_vfs_ioctl+0x64/0x510 [] ? hrtimer_nanosleep+0x8e/0x100 [] ? update_rmtp+0x80/0x80 [] sys_ioctl+0x39/0x60 [] syscall_call+0x7/0xb Code: 83 c4 0c 5b 5e 5f 5d c3 c7 44 24 04 2c 05 53 c1 c7 04 24 6f ef 47 c1 e8 6e e0 fd ff c7 83 38 1e 00 00 00 00 00 00 e9 3f ff ff +ff <0f> 0b eb fe 0f 0b eb fe 8d b4 26 00 00 00 00 0f 0b eb fe 8d b6 EIP: [] i915_gem_entervt_ioctl+0xf1/0x110 SS:ESP 0068:f51d7e20 ---[ end trace dd332ec083cbd513 ]--- The crash happens here in i915_gem_entervt_ioctl() : 3659 BUG_ON(!list_empty(&dev_priv->mm.active_list)); 3660 BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); -> 3661 BUG_ON(!list_empty(&dev_priv->mm.inactive_list)); 3662 mutex_unlock(&dev->struct_mutex); Quoting Chris : "That BUG_ON there is silly and can simply be removed. The check is to verify that no batches were submitted to the kernel whilst the UMS/GEM client was suspended - to which the BUG_ONs are a crude approximation. Furthermore, the checks are too late, since it means we attempted to program the hardware whilst it was in an invalid state, the BUG_ONs are the least of your concerns at that point." Note that this regression has been introduced in commit 1b50247a8ddde4af5aaa0e6bc125615372ce6c16 Author: Chris Wilson Date: Tue Apr 24 15:47:30 2012 +0100 drm/i915: Remove the list of pinned inactive objects Cc: Chris Wilson Signed-off-by: Willy Tarreau [danvet: Added note about the regressing commit and cc: stable.] Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter commit 1f31c69dac71bebc0f00bc8534a6345782045501 Merge: a5a0fc6 f8f2ac9 Author: Dave Airlie Date: Sun Oct 7 21:13:54 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Daniel writes: Bigger -fixes pile, mostly because I've included Ajax' DP dongle stuff, as discussed on irc. Otherwise just small things: - regression fix to finally make 6bpc auto-dither on dp work (Jani) - reinstate an snb ctx w/a that accidentally got lost in a rework (Chris) - fixup the DP train sequence, logic-goof-up uncovered by Coverty (Chris) - fix set_caching locking (Ben) - fix spurious segfault on con-current gtt mmap faulting (Dimitry and Mika) - some pageflip correctness fixes (still hunting down some issues, but these are the worst offenders of confused code that we've tracked down thus far) from Chris and me - fixup swizzling settings on vlv (Jesse) - gt_mode w/a from Ben added, fixes snb gt1 rc6+hw ctx hangs. * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915: Fix GT_MODE default value drm/i915: don't frob the vblank ts in finish_page_flip drm/i915: call drm_handle_vblank before finish_page_flip drm/i915: print warning if vmi915_gem_fault error is not handled drm/i915: EBUSY status handling added to i915_gem_fault(). drm/i915: Try harder to complete DP training pattern 1 drm/i915: set swizzling to none on VLV drm/dp: Make sink count DP 1.2 aware drm/dp: Document DP spec versions for various DPCD registers drm/i915/dp: Be smarter about connection sense for branch devices drm/i915/dp: Fetch downstream port info if needed during DPCD fetch drm/dp: Update DPCD defines drm: Export drm_probe_ddc() drm/i915: Flush the pending flips on the CRTC before modification drm/i915: Actually invalidate the TLB for the SandyBridge HW contexts w/a drm/i915: Fix set_caching locking drm/i915: use adjusted_mode instead of mode for checking the 6bpc force flag commit a5a0fc67435599d9d787a8d7153967a70fed968e Merge: 0dbe232 768c305 Author: Dave Airlie Date: Sun Oct 7 21:06:33 2012 +1000 Merge branch 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung into drm-next Inki writes: "this patch set updates exynos drm framework and includes minor fixups. and this pull request except hdmi device tree support patch set posted by Rahul Sharma because that includes media side patch so for this patch set, we may have git pull one more time in addition, if we get an agreement with media guys. for this patch, you can refer to below link, http://comments.gmane.org/gmane.comp.video.dri.devel/74504 this pull request adds hdmi device tree support and includes related patch set such as disabling of hdmi internal interrupt, suppport for platform variants for hdmi and mixer, support to disable video processor based on platform type and removal of drm common platform data. as you know, this patch set was delayed because it included an media side patch. so for this, we got an ack from v4l2-based hdmi driver author, Tomasz Stanislawski." * 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung: (34 commits) drm: exynos: hdmi: remove drm common hdmi platform data struct drm: exynos: hdmi: add support for exynos5 hdmi drm: exynos: hdmi: replace is_v13 with version check in hdmi drm: exynos: hdmi: add support for exynos5 mixer drm: exynos: hdmi: add support to disable video processor in mixer drm: exynos: hdmi: add support for platform variants for mixer drm: exynos: hdmi: add support for exynos5 hdmiphy drm: exynos: hdmi: add support for exynos5 ddc drm: exynos: remove drm hdmi platform data struct drm: exynos: hdmi: turn off HPD interrupt in HDMI chip drm: exynos: hdmi: use s5p-hdmi platform data drm: exynos: hdmi: fix interrupt handling drm: exynos: hdmi: support for platform variants media: s5p-hdmi: add HPD GPIO to platform data drm/exynos: fix kcalloc size of g2d cmdlist node drm/exynos: fix to calculate CRTC shown via screen drm/exynos: fix display power call issue. drm/exynos: add platform_device_id table and driver data for drm fimd drm/exynos: Fix potential NULL pointer dereference drm/exynos: support drm_wait_vblank feature for VIDI ... Conflicts: include/drm/exynos_drm.h commit 0dbe23218333bad3e75148f090fe670d8ca41ad6 Merge: 0b8e74c 718dced Author: Dave Airlie Date: Sun Oct 7 21:04:20 2012 +1000 Merge branch 'disintegrate-drm' of git://git.infradead.org/users/dhowells/linux-headers into drm-next Merge the uapi bits for drm. * 'disintegrate-drm' of git://git.infradead.org/users/dhowells/linux-headers: UAPI: (Scripted) Disintegrate include/drm commit cf193f6d2ad322cdec1872b28d761db8d22e5c00 Author: Daniel Golle Date: Thu Oct 4 01:20:41 2012 +0200 rt2x00/rt3352: Fix lnagain assignment to use register 66. This should be register 66 instead of 62. (probably happened by copy&past'ing from the lines below) Signed-off-by: Daniel Golle Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 249ee72249140fe5b9adc988f97298f0aa5db2fc Author: Felix Fietkau Date: Wed Oct 3 21:07:52 2012 +0200 ath9k: use ieee80211_free_txskb Using ieee80211_free_txskb for tx frames is required, since mac80211 clones skbs for which socket tx status is requested. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit ceb26a6013b962b82f644189ea29d802490fc8fc Author: Felix Fietkau Date: Wed Oct 3 21:07:51 2012 +0200 ath9k: improve suspend/resume reliability Ensure that drv_start() always returns true, as a failing hw start usually eventually leads to crashes when there's still a station entry present. Call a power-on reset after a resume and after a hw reset failure to bring the hardware back to life again. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 93170516a4d64319ffcc43bc9dd61f12775bd297 Author: Felix Fietkau Date: Wed Oct 3 21:07:50 2012 +0200 ath9k: fix ASPM initialization on resume ath_pci_aspm_init is only called on card init, so PCI registers get reset after a suspend/resume cycle. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c477ebd89db4f53b380b6ba70d25e055e0aa2739 Author: Andi Kleen Date: Thu Oct 4 17:11:55 2012 -0700 sections: fix section conflicts in drivers/net Signed-off-by: Andi Kleen Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 768c3059d87876ce124dafc40078718dc85cec65 Author: Rahul Sharma Date: Thu Oct 4 20:48:56 2012 +0530 drm: exynos: hdmi: remove drm common hdmi platform data struct exynos-drm-hdmi need context pointers from hdmi and mixer. These pointers were expected from the plf data. Cleaned this dependency by exporting i/f which are called by hdmi, mixer driver probes for setting their context. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 22c4f428979521f3ba3398a1eb5c0be07396f357 Author: Rahul Sharma Date: Thu Oct 4 20:48:55 2012 +0530 drm: exynos: hdmi: add support for exynos5 hdmi This patch adds support for exynos5 hdmi with device tree enabled. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 5a325071a0ac9636f07d6328bafc9e42ce13752c Author: Rahul Sharma Date: Thu Oct 4 20:48:54 2012 +0530 drm: exynos: hdmi: replace is_v13 with version check in hdmi This patch removed the is_v13 variable from the hdmi driver context. It is replaced with condition check for the hdmi version. This cleans the way for handling further hdmi versions. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit aaf8b49e928d58501759e94cc744e97ad9812e68 Author: Rahul Sharma Date: Thu Oct 4 20:48:53 2012 +0530 drm: exynos: hdmi: add support for exynos5 mixer This patch adds support for exynos5 mixer with device tree enabled. Signed-off-by: Rahul Sharma Signed-off-by: Fahad Kunnathadi Signed-off-by: Kyungmin.park Signed-off-by: Inki Dae commit 1b8e5747a9b65928a5a126d128847b29128cae34 Author: Rahul Sharma Date: Thu Oct 4 20:48:52 2012 +0530 drm: exynos: hdmi: add support to disable video processor in mixer This patch adds support for disabling the video processor code based on the platform type. This is done based on a field in the mixer driver data which changes with the platform variant. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 1e12344120df6b1959f47382bac02952bee6226c Author: Rahul Sharma Date: Thu Oct 4 20:48:51 2012 +0530 drm: exynos: hdmi: add support for platform variants for mixer This patch adds the support for multiple mixer versions avaialble in various platform variants. Version is passed as a driver data field instead of paltform data. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 93c645ee14f2e40cf2a21e6dc88cdd1c800d392a Author: Rahul Sharma Date: Thu Oct 4 20:48:50 2012 +0530 drm: exynos: hdmi: add support for exynos5 hdmiphy This patch adds support for exynos5 hdmi phy with device tree enabled. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 9ff15948c5d533836e0621d21b867df020ef0571 Author: Rahul Sharma Date: Thu Oct 4 20:48:49 2012 +0530 drm: exynos: hdmi: add support for exynos5 ddc This patch adds support for exynos5 ddc with device tree enabled. Signed-off-by: Rahul Sharma Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 5295e53d548ba592f54ef03c3444bac56f3d553d Author: Tomasz Stanislawski Date: Thu Oct 4 20:48:47 2012 +0530 drm: exynos: hdmi: turn off HPD interrupt in HDMI chip The plug/unplug interrupt are handled by a separate interrupt. So there is no need to replicate this mechanism in HDMI core. Signed-off-by: Tomasz Stanislawski Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit fca57122c45942b9013a74afeab9bf15b9eba19a Author: Tomasz Stanislawski Date: Thu Oct 4 20:48:46 2012 +0530 drm: exynos: hdmi: use s5p-hdmi platform data The 'exynos-drm-hdmi' driver makes use of s5p-tv platform devices. Therefore the driver should use the same platform data to prevent crashes caused by dereferencing incorrect types. This patch corrects the exynos-drm-hdmi driver to the platform data from s5p-hdmi. Signed-off-by: Tomasz Stanislawski Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 07c8bdd79c7d7cc4142ba01a97a06133a429fe77 Author: Tomasz Stanislawski Date: Thu Oct 4 20:48:45 2012 +0530 drm: exynos: hdmi: fix interrupt handling This patch fixes 'unsigned < 0' check in probe. Moreover it releases an interrupt at remove. Signed-off-by: Tomasz Stanislawski Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit c119ed05b6b82f5e70725e63e844a6487a748b95 Author: Tomasz Stanislawski Date: Thu Oct 4 20:48:44 2012 +0530 drm: exynos: hdmi: support for platform variants This patch implements check if HDMI is version 1.3 by using a driver variant instead of platform data. Signed-off-by: Tomasz Stanislawski Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 718dcedd7e87f448a1eeeda4d1a986284c243110 Author: David Howells Date: Thu Oct 4 18:21:50 2012 +0100 UAPI: (Scripted) Disintegrate include/drm Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Michael Kerrisk Acked-by: Paul E. McKenney Acked-by: Dave Jones commit f8f2ac9a76b0f80a6763ca316116a7bab8486997 Author: Ben Widawsky Date: Wed Oct 3 19:34:24 2012 -0700 drm/i915: Fix GT_MODE default value I can't even find how I figured this might be needed anymore. But sure enough, the value I'm reading back on platforms doesn't match what the docs recommends. It seemed to fix Chris' GT1 in limited testing as well. Tested-by: Chris Wilson Cc: stable@vger.kernel.org Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 95cb1b02b0f8e690cbcc479924573b4fb26c2e8f Author: Daniel Vetter Date: Tue Oct 2 20:10:37 2012 +0200 drm/i915: don't frob the vblank ts in finish_page_flip Now that we correctly generate it, this hack is no longer required (and might actually paper over a serious bug). pageflip timestamps are sanity check in the latest version of the flip-test in intel-gpu-tools. v2: Also remove the gettimeofday(&now) which is no longer used. Noticed by Mario Kleiner. Reviewed-by: mario.kleiner@tuebingen.mpg.de Tested-by: Imre Deak Signed-off-by: Daniel Vetter commit 74d44445afb9f50126eba052adeb89827cee88f3 Author: Daniel Vetter Date: Tue Oct 2 17:54:35 2012 +0200 drm/i915: call drm_handle_vblank before finish_page_flip ... since finish_page_flip needs the vblank timestamp generated in drm_handle_vblank. Somehow all the gmch platforms get it right, but all the pch platform irq handlers get is wrong. Hooray for copy& pasting! Currently this gets papered over by a gross hack in finish_page_flip. A second patch will remove that. Note that without this, the new timestamp sanity checks in flip_test occasionally get tripped up, hence the cc: stable tag. Cc: stable@vger.kernel.org Reviewed-by: mario.kleiner@tuebingen.mpg.de Tested-by: Imre Deak Signed-off-by: Daniel Vetter commit 4d0f817e7482969a31c2295a530c966f135faa7e Author: Mika Kuoppala Date: Wed Oct 3 17:15:27 2012 +0300 drm/i915: print warning if vmi915_gem_fault error is not handled Falling into default case in vmi915_gem_fault is a bug. Be more verbose about it. Signed-off-by: Mika Kuoppala Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit e79e0fe380847493266fba557217e2773c61bd1b Author: Dmitry Rogozhkin Date: Wed Oct 3 17:15:26 2012 +0300 drm/i915: EBUSY status handling added to i915_gem_fault(). Subsequent threads returning EBUSY from vm_insert_pfn() was not handled correctly. As a result concurrent access from new threads to mmapped data caused SIGBUS. Note that this fixes i-g-t/tests/gem_threaded_tiled_access. Tested-by: Mika Kuoppala Signed-off-by: Dmitry Rogozhkin Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 2477367083b3eaa97f87993ab26627a02f350551 Author: Chris Wilson Date: Wed Sep 26 16:48:30 2012 +0100 drm/i915: Try harder to complete DP training pattern 1 In commit cdb0e95bf571dccc1f75fef9bdad21b167ef0b37 Author: Keith Packard Date: Tue Nov 1 20:00:06 2011 -0700 drm/i915: Try harder during dp pattern 1 link training extra passes were made to retry the same voltage and then retry a full clock reset. However, as coverity pointed out, we never tried the full clock reset as we broke out of the loop early. Signed-off-by: Chris Wilson Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 612a9aab56a93533e76e3ad91642db7033e03b69 Merge: 3a49431 268d283 Author: Linus Torvalds Date: Wed Oct 3 23:29:23 2012 -0700 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm merge (part 1) from Dave Airlie: "So first of all my tree and uapi stuff has a conflict mess, its my fault as the nouveau stuff didn't hit -next as were trying to rebase regressions out of it before we merged. Highlights: - SH mobile modesetting driver and associated helpers - some DRM core documentation - i915 modesetting rework, haswell hdmi, haswell and vlv fixes, write combined pte writing, ilk rc6 support, - nouveau: major driver rework into a hw core driver, makes features like SLI a lot saner to implement, - psb: add eDP/DP support for Cedarview - radeon: 2 layer page tables, async VM pte updates, better PLL selection for > 2 screens, better ACPI interactions The rest is general grab bag of fixes. So why part 1? well I have the exynos pull req which came in a bit late but was waiting for me to do something they shouldn't have and it looks fairly safe, and David Howells has some more header cleanups he'd like me to pull, that seem like a good idea, but I'd like to get this merge out of the way so -next dosen't get blocked." Tons of conflicts mostly due to silly include line changes, but mostly mindless. A few other small semantic conflicts too, noted from Dave's pre-merged branch. * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (447 commits) drm/nv98/crypt: fix fuc build with latest envyas drm/nouveau/devinit: fixup various issues with subdev ctor/init ordering drm/nv41/vm: fix and enable use of "real" pciegart drm/nv44/vm: fix and enable use of "real" pciegart drm/nv04/dmaobj: fixup vm target handling in preparation for nv4x pcie drm/nouveau: store supported dma mask in vmmgr drm/nvc0/ibus: initial implementation of subdev drm/nouveau/therm: add support for fan-control modes drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules drm/nouveau/therm: calculate the pwm divisor on nv50+ drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster drm/nouveau/therm: move thermal-related functions to the therm subdev drm/nouveau/bios: parse the pwm divisor from the perf table drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices drm/nouveau/therm: rework thermal table parsing drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table drm/nouveau: fix pm initialization order drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it drm/nouveau: log channel debug/error messages from client object rather than drm client drm/nouveau: have drm debugging macros build on top of core macros ... commit fab9f8d093a60e524efbf6afe6c10e10c91f1642 Author: Joonyoung Shim Date: Thu Sep 27 19:26:03 2012 +0900 drm/exynos: fix kcalloc size of g2d cmdlist node The size argument means just one element size when we call kcalloc, so G2D_CMDLIST_NUM * sizeof(*node) is wrong. Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 2ab97921786f614bc9296722d8a2e2ce32d1760b Author: Joonyoung Shim Date: Thu Sep 27 19:25:21 2012 +0900 drm/exynos: fix to calculate CRTC shown via screen This patch is to exactly calculate CRTC shown via screen for all cases. Refer exynos_plane_get_size() function for this. Also source position of fb is fixed when start position of CRTC is negative number. Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 58f6aad7d93f7ce009d371aa5065b70d593d3b17 Author: Inki Dae Date: Mon Sep 24 20:04:24 2012 +0900 drm/exynos: fix display power call issue. Changelog v3: make exynos_drm_display_power function use exynos_drm_best_encoder function instead of connector->encoder to get a valid encoder. connector->encoder could be NULL because with DRM_IOCTL_MODE_RMFB request, connector->encoder is NULL so fix this issue. Changelog v2: remove static prefix so that exynos_drm_best_encoder function could be called by other modules. Changelog v1: this patch fixes the issue that display power callback isn't called. with DRM_IOCTL_MODE_RMFB request, encoder->connector becomes NULL so display_ops->power_on() wouldn't be called so this patch makes exynos_drm_best_encoder function to be used to get a valid encoder of each connector. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit e2e1338900208ab36e3b86349ffdb3eba52302f8 Author: Leela Krishna Amudala Date: Fri Sep 21 16:52:15 2012 +0530 drm/exynos: add platform_device_id table and driver data for drm fimd Two device ids are created for exynos4-fb and exynos5-fb. Also, added driver data for exynos4 and exynos5 to pick the timing base address at runtime to write data into appropriate register address. Signed-off-by: Leela Krishna Amudala Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 53bd5556547d72fb9c572d66c3b7bfe0f096972b Author: Sachin Kamat Date: Tue Sep 18 15:51:30 2012 +0530 drm/exynos: Fix potential NULL pointer dereference drm_mode_create() returns NULL if it fails to create a new display mode. Check the value returned to avoid NULL pointer deferencing later. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 291257cf4cb0da1e32b672b88e73d22d845c8f93 Author: Inki Dae Date: Wed Sep 19 11:02:43 2012 +0900 drm/exynos: support drm_wait_vblank feature for VIDI this patch adds drm_wait_vblank support to Virtual Display module so user can use DRM_IOCT_WAIT_VBLANK ioctl with this patch. for this, you should set _DRM_VBLANK_EXYNOS_VIDI flags to vblwait->request.type Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 32aeab17457c13e6a448ba0f6f3c03d6705e5592 Author: Inki Dae Date: Fri Sep 14 13:29:47 2012 +0900 drm/exynos: check crtc's dpms mode at SetCrtc when fb changing is requested, crtc's dpms mode should be on. if not on, return -EPERM so that the hardware can't be accessed. if user requesed dpms off and next SetCrtc with an another fb then the hardware can be accessed with dpms off to write overlay data onto some registers so this patch will prevent from accessing the hardware with dpms off. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit ef6223dc6bab64c99b5c869b652fa13436afc38a Author: Inki Dae Date: Tue Sep 11 18:25:21 2012 +0900 drm/exynos: check crtc's dpms mode at page flip when page flip is requested, crtc's dpms mode should be on. if not on, return -EINVAL so that it doesn't access hardware. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 471d60fe594ed1a7ae28a3f911d1200ae51efbdc Author: Inki Dae Date: Tue Sep 11 16:35:23 2012 +0900 drm/exynos: fix duplicated mutex lock issue exynos_drm_crtc_dpms function doesn't need mutex lock because mutex lock was called by drm framework so this patch removes mutex lock call from that function to avoid duplicated mutex locking. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 6b6bae24c7caac8f2a80f24e5ff5e82276eb03fd Author: Inki Dae Date: Tue Sep 11 10:45:36 2012 +0900 drm/exynos: add pid to g2d_runqueue_node this patch adds pid to g2d_runqueue_node as member to identify which process owns this node. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit bcf4cef94294992f7cd11d5a90fa58b0eae6c795 Author: Inki Dae Date: Fri Aug 24 10:54:12 2012 -0700 drm/exynos: Disable plane when released this patch ensures that each plane connected to encoder is disabled when released, by adding disable callback function of encoder helper we had faced with one issue that invalid memory is accessed by dma once drm is released and then the dma is turned on again. actually, in our case, page fault was incurred with iommu. the reason is that a gem buffer accessed by the dma is also released once drm is released. so this patch would fix this issue ensuring the dma is disabled when released. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 1b85a0715f4615f953733c4afa6ec59cd0e73b52 Author: Inki Dae Date: Fri Aug 17 17:58:38 2012 +0900 drm/exynos: update crtc to plane safely if old_crtc isn't same as encoder->crtc then it means that user changed crtc id to another one so a plane to old_crtc should be disabled so that current plane can be updated safely and plane->crtc should be set to new crtc(encoder->crtc) Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 01ed812671c1163b35bf6ce9be221bd371bf9a8f Author: Inki Dae Date: Mon Aug 20 20:05:56 2012 +0900 drm/exynos: check NV12M format specific to Exynos properly this patch adds buf_cnt variable in exynos_drm_fb structure and that means a buffer count to drm framebuffer and also adds two functions to get/set the buffer count from/to exynos_drm_fb structure. if pixel format is not DRM_FORMAT_NV12MT then it gets a buffer count to drm framebuffer refering to mode_cmd->handles and offsets. but when booted, the buffer count will always be 1 because pixel format of console framebuffer is RGB format. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 3d05859fd78bbc0b04cca929aea494f5e6b8235b Author: Inki Dae Date: Fri Aug 17 18:35:47 2012 +0900 drm/exynos: make sure that hardware overlay for hdmi is disabled the values set to registers will be updated into real registers at vsync so dma operation could be malfunctioned when accessed to memory after gem buffer was released. this patch makes sure that hw overlay is disabled before the gem buffer is released. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 479cbc3eeed060879dc89652e497d7719f7ee1dc Author: Inki Dae Date: Mon Aug 20 19:58:05 2012 +0900 drm/exynos: make sure that hardware overlay for fimd is disabled Changelog v2: wait for VSYNC instead of BACKPORCH. Changelog v1: the values set to registers will be updated into real registers at vsync so dma operation could be malfunctioned when accessed to memory after gem buffer was released. this patch makes sure that hw overlay is disabled before the gem buffer is released. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit b011941f0ffdefb87585d9ed786164037d0d50df Author: Inki Dae Date: Mon Aug 20 19:55:14 2012 +0900 drm/exynos: add wait_for_vblank callback interface. Changelog v2: fixed comments. Changelog v1: this interface can be used to make sure that hardware overlay is disabled to avoid that memory region is accessed by dma after gem buffer was released. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 50caf25c583b938c681b61e64dac58da9b640f2f Author: Inki Dae Date: Mon Aug 20 21:29:25 2012 +0900 drm/exynos: fixed duplicated mode setting. this patch fixes that when drm_crtc_helper_set_mode() is called, mode data for hardware overlay and conntroller are updated two times. for example, in case that drm_crtc_helper_set_mode() is called, overlay_ops->commit() and manager_ops->commit() callbacks can be called two times, first at drm_crtc_helper_set_mode() and second at drm_helper_connector_dpms(). Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 5d55393a85f9a3c9ce93d17ae85b53c4f9f33bff Author: Inki Dae Date: Fri Aug 17 17:08:04 2012 +0900 drm/exynos: separeated fimd_power_on into some parts. Changelog v2: fix pm operation when resume. Changelog v1: this patch separetes fimd_power_on into fimd_activate and fimd_clock and fimd_activate function will call fimd_clock to control fimd power and vsync interrupt. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 41fecf3e8268b8f285c91620c20895e946db9177 Author: Inki Dae Date: Fri Aug 17 13:23:25 2012 +0900 drm/exynos: separated subdrv_probe function into two parts. Changelog v2: fixed the issue that when sub driver is probed, no kms drivers such as fimd or hdmi are failed. no kms drivers have no manager so if manager is null then encoder and connector creation should be ignored. Changelog v1: this patch separates exynos_drm_subdrv_probe function into sub driver's probe call and encoder/connector creation so that exynos drm core module can take exception when some operation was failed properly. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 29cb602532b0a82f22322cece8a89f022368d557 Author: Inki Dae Date: Wed Sep 5 14:12:06 2012 +0900 drm/exynos: added device object to subdrv's remove callback as argument when remove callback of exynos_drm_subdrv is called, it could need device object for sub driver to control things specific to hw such as runtime pm. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 9b2e077c42a97fcbdc0dd71edb1fc9d15c74ad29 Merge: a54dfb1 10b6395 Author: Linus Torvalds Date: Wed Oct 3 13:45:43 2012 -0700 Merge tag 'uapi-prep-20121002' of git://git.infradead.org/users/dhowells/linux-headers Pull preparatory patches for user API disintegration from David Howells: "The patches herein prepare for the extraction of the Userspace API bits from the various header files named in the Kbuild files. New subdirectories are created under either include/uapi/ or arch/x/include/uapi/ that correspond to the subdirectory containing that file under include/ or arch/x/include/. The new subdirs under the uapi/ directory are populated with Kbuild files that mostly do nothing at this time. Further patches will disintegrate the headers in each original directory and fill in the Kbuild files as they do it. These patches also: (1) fix up #inclusions of "foo.h" rather than . (2) Remove some redundant #includes from the DRM code. (3) Make the kernel build infrastructure handle Kbuild files both in the old places and the new UAPI place that both specify headers to be exported. (4) Fix some kernel tools that #include kernel headers during their build. I have compile tested this with allyesconfig against x86_64, allmodconfig against i386 and a scattering of additional defconfigs of other arches. Prepared for main script Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Michael Kerrisk Acked-by: Paul E. McKenney Acked-by: Dave Jones Acked-by: H. Peter Anvin " * tag 'uapi-prep-20121002' of git://git.infradead.org/users/dhowells/linux-headers: UAPI: Plumb the UAPI Kbuilds into the user header installation and checking UAPI: x86: Differentiate the generated UAPI and internal headers UAPI: Remove the objhdr-y export list UAPI: Move linux/version.h UAPI: Set up uapi/asm/Kbuild.asm UAPI: x86: Fix insn_sanity build failure after UAPI split UAPI: x86: Fix the test_get_len tool UAPI: (Scripted) Set up UAPI Kbuild files UAPI: Partition the header include path sets and add uapi/ header directories UAPI: (Scripted) Convert #include "..." to #include in kernel system headers UAPI: (Scripted) Convert #include "..." to #include in drivers/gpu/ UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/. UAPI: Refer to the DRM UAPI headers with <...> and from certain headers only commit 7f6613412c0bf5945a78967e92bdcb00394215f4 Author: Jesse Barnes Date: Tue Oct 2 17:43:46 2012 -0500 drm/i915: set swizzling to none on VLV We don't have bit 6 swizzling on VLV, so this function is easy. Signed-off-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 268d28371cd326be4dfcd7eba5917bf4b9d30c8f Merge: df86b57 b9f1085 Author: Dave Airlie Date: Wed Oct 3 13:26:15 2012 +1000 Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next This is a major rework of the nouveau driver core, to reflect more closely how the hw is used and to make it easier to implement newer features now that the GPUs are more clearly understood than when nouveau started. It also contains a few other bits: thermal patches nv41/44 pcie gart fixes i2c unregistering fixes. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (191 commits) drm/nv98/crypt: fix fuc build with latest envyas drm/nouveau/devinit: fixup various issues with subdev ctor/init ordering drm/nv41/vm: fix and enable use of "real" pciegart drm/nv44/vm: fix and enable use of "real" pciegart drm/nv04/dmaobj: fixup vm target handling in preparation for nv4x pcie drm/nouveau: store supported dma mask in vmmgr drm/nvc0/ibus: initial implementation of subdev drm/nouveau/therm: add support for fan-control modes drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules drm/nouveau/therm: calculate the pwm divisor on nv50+ drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster drm/nouveau/therm: move thermal-related functions to the therm subdev drm/nouveau/bios: parse the pwm divisor from the perf table drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices drm/nouveau/therm: rework thermal table parsing drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table drm/nouveau: fix pm initialization order drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it drm/nouveau: log channel debug/error messages from client object rather than drm client drm/nouveau: have drm debugging macros build on top of core macros ... Conflicts: drivers/gpu/drm/nouveau/nouveau_dp.c commit b9f10852fcb1f09369d931dcbfbaad89ad1da4ad Author: Ben Skeggs Date: Wed Oct 3 10:52:58 2012 +1000 drm/nv98/crypt: fix fuc build with latest envyas Signed-off-by: Ben Skeggs commit 7234d0230e5a371a0cd1969c46eec802c1d6c4ed Author: Ben Skeggs Date: Tue Oct 2 10:30:34 2012 +1000 drm/nouveau/devinit: fixup various issues with subdev ctor/init ordering Details of the problem, and solution, are in comments in the commit proper. Signed-off-by: Ben Skeggs commit 002d0c735c1bd8bffd3786ad5aadb205a76878fa Author: Ben Skeggs Date: Thu Sep 27 08:56:24 2012 +1000 drm/nv41/vm: fix and enable use of "real" pciegart Hopefully fixed the tlb flush timeout issue. Was able to observe this condition occur occasionally, and it appears the binary driver doesn't wait on the old condition either.. Should give 39-bit DMA addressing on the relevant chipsets. Signed-off-by: Ben Skeggs commit e5f186c4f9812eccbc291da6dfe8b15da546f961 Author: Ben Skeggs Date: Thu Sep 27 08:55:53 2012 +1000 drm/nv44/vm: fix and enable use of "real" pciegart Something seems to be missing in regards to flushing specific ranges of the TLB. For the moment, flushing the entire thing seems to make it work alright. Should give 39-bit DMA addressing on the relevant chipsets. v2: allocate contig 16KiB for dummy pages, reported by mwk on irc Signed-off-by: Ben Skeggs commit 8a57d279d6e1bf19d2d2e54f51d4f40c46c7d1a8 Author: Ben Skeggs Date: Wed Sep 26 15:01:39 2012 +1000 drm/nv04/dmaobj: fixup vm target handling in preparation for nv4x pcie We don't need to pull the page address out of the page tables on nv4x chips that have a real GART. Signed-off-by: Ben Skeggs commit dc73b45ad456b173610a211c588d003f7ea77957 Author: Ben Skeggs Date: Wed Sep 26 14:37:51 2012 +1000 drm/nouveau: store supported dma mask in vmmgr Signed-off-by: Ben Skeggs commit c0abf5c9fa1db7188bd6b8b580614a377dbc7080 Author: Ben Skeggs Date: Wed Sep 26 13:05:01 2012 +1000 drm/nvc0/ibus: initial implementation of subdev Signed-off-by: Ben Skeggs commit 2f951a5db5b55f65eb02d9a90aa7cecafde9f8b8 Author: Martin Peres Date: Tue Sep 4 13:52:00 2012 +0200 drm/nouveau/therm: add support for fan-control modes For now, only 2 control modes are available: - NONE: The fan is never touched (default) - MANUAL: The fan is set to the user-defined fan speed (pwm1) This patch introduces a distinction between ptherm internal fan management and external fan management. The latter is bound to respect the fan mode while the first can still select the speed it wants unless the NONE mode is selected. This is important for automatic fan management. Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit c9cbf135065c0a674d43451127a10e48a53f9054 Author: Martin Peres Date: Tue Sep 4 13:39:40 2012 +0200 drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules This was reported by tizbac on IRC. Signed-off-by: Martin Peres Reviewed-by: Ben Skeggs Signed-off-by: Ben Skeggs commit cfc732bbc59d8905634fef7d7b02bdac84ea9221 Author: Martin Peres Date: Sun Sep 2 04:01:43 2012 +0200 drm/nouveau/therm: calculate the pwm divisor on nv50+ v2: Martin Peres - fixed unintentional use of floating point Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit bf6546b4219d2b188529f3242efda4048f5b1b41 Author: Martin Peres Date: Sun Sep 2 03:20:45 2012 +0200 drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster The previous driver waited for 250ms to accumulate data. This version times a complete fan rotation and extrapolates to RPM. The fan rotational speed should now be read in less than 250ms (worst case) and usually in less 50ms. Signed-off-by: Martin Peres Reviewed-by: Ben Skeggs Signed-off-by: Ben Skeggs commit aa1b9b4836a8ab093ec06b0780553566a5430da7 Author: Martin Peres Date: Sun Sep 2 02:55:58 2012 +0200 drm/nouveau/therm: move thermal-related functions to the therm subdev It looks scary because of the size, but I tried to keep the differences minimal. Further patches will fix the actual "driver" code and add new features. v2: change filenames, split to submodules v3: add a missing include v4: Ben Skeggs - fixed set_defaults() to allow min_duty < 30 (thermal table will override this if it's actually necessary) - fixed set_defaults() to not provide pwm_freq so nv4x (which only has pwm_div) can actually work. the boards using pwm_freq will have a thermal table entry to provide us the value. - removed unused files Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit d46497dce7376e9d3e2e10c59d92e1c3b665b5dd Author: Martin Peres Date: Thu Aug 30 02:31:59 2012 +0200 drm/nouveau/bios: parse the pwm divisor from the perf table v2: perf_table now is more in line with the other functions Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit 32334cc03a12c51f64613608a8b261738406e1e2 Author: Martin Peres Date: Sat Aug 18 16:33:53 2012 +0200 drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices This commit also adds a static list of all known devices and their possible i2c addresses. v2: use the common table parsing technique as suggested by darktama Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit 7d70e9c1c69a5d22588ff5977249ac944d7cdfb0 Author: Martin Peres Date: Thu Aug 16 11:00:55 2012 +0200 drm/nouveau/therm: rework thermal table parsing As an accident, it should also fix temperature reading on nv4x. v2: introduce nvbios_therm_entry as advised by darktama Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit e36199980b51f081671d76de7b7b8f94fe1e0ae3 Author: Martin Peres Date: Sat May 12 15:28:51 2012 +0200 drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table Signed-off-by: Martin Peres Reviewed-by: Ben Skeggs Signed-off-by: Ben Skeggs commit d89c8ce07168ef6cd16c71d0a9f618829e866e87 Author: Dmitry Eremin-Solenikov Date: Tue Sep 25 10:31:40 2012 +0400 drm/nouveau: fix pm initialization order If nouveau_pm_perflvl_get() fails, pm->profiles list will be left uninitialized, which causes oops during nouveau_pm_fini(). Move INIT_LIST_HEAD before call to nouveau_pm_perflvl_get(). Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Ben Skeggs commit acac7bdba61226502a230db9245ca426a67102a9 Author: Ben Skeggs Date: Wed Sep 12 15:55:01 2012 +1000 drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it Signed-off-by: Ben Skeggs commit da07e52cf10c9584c7e197ac3d49455e1a4d4756 Author: Ben Skeggs Date: Wed Sep 12 13:40:47 2012 +1000 drm/nouveau: log channel debug/error messages from client object rather than drm client This will make it more obvious which application caused particular messages. Signed-off-by: Ben Skeggs commit aa74c3755ecc24914f9b3aaf5ba1436836697a7d Author: Ben Skeggs Date: Wed Sep 12 13:38:13 2012 +1000 drm/nouveau: have drm debugging macros build on top of core macros May kill the DRM version completely at some point, undecided.. Signed-off-by: Ben Skeggs commit fa6df8c163ddf1fba658059695ab9587f344712c Author: Ben Skeggs Date: Wed Sep 12 13:09:23 2012 +1000 drm/nouveau/core: have client-id be a string, rather than an integer Can be somewhat more informative that way... Signed-off-by: Ben Skeggs commit b3ccd34ded3e730bba33cd4bd4b7ab78b4a0bb03 Author: Ben Skeggs Date: Thu Sep 6 20:26:38 2012 -0400 drm/nvc0/fifo: re-bash PBUS regs after vm-fault to BARs/PEEPHOLE Seems to be required to "re-arm" the engines after a vm fault. Signed-off-by: Ben Skeggs commit f73221e4aa766a58b784729968159013cc73459d Author: Ben Skeggs Date: Thu Sep 6 01:03:47 2012 -0400 drm/nvc0/gr: implement initial trap handler Signed-off-by: Ben Skeggs commit d66b9d9a6839129e11b94c90ec415b244b44414d Author: Ben Skeggs Date: Thu Sep 6 13:09:22 2012 +1000 drm/nvc0/gr: rebuild fuc with latest envyas Signed-off-by: Ben Skeggs commit cd8c14b407d59ac4b8d324f5f9cdf223a2079c88 Author: Ben Skeggs Date: Wed Sep 5 12:19:26 2012 +1000 drm/nvc0/ltcg: read LTS count at startup Not really sure how to confirm this 100%, but, the numbers match on all the traces I have for NVCx (2 LTS), NVD9 (1LTS) and NVEx (4LTS). Signed-off-by: Ben Skeggs commit e5bf578ce61aecd4612d16e60235c11ed5f92c0e Author: Ben Skeggs Date: Thu Aug 23 01:52:28 2012 -0400 drm/nve0/gr: enable use of our fuc by default Graphics acceleration is still disabled by default due to lingering issues that need to be solved. Signed-off-by: Ben Skeggs commit ec6566f3230474131f6bd6d1503a7eeeda4657b9 Author: Ben Skeggs Date: Thu Aug 23 01:32:38 2012 -0400 drm/nve0/gr: remove 0x404160 bashing from hub fuc Triggers PIBUS interrupts due to register not existing anymore, and as a result HUB_SET_CHAN times out. After this commit, our fuc loads and can accelerate at least fbcon, X, glxgears and OA on NVE4. NVE7 not tested as of yet. Signed-off-by: Ben Skeggs commit 1978a2f280563427bb675b3197391745aef73424 Author: Ben Skeggs Date: Wed Aug 22 20:47:40 2012 -0400 drm/nve0/gr: initial fuc implementation, based on fermi's code Currently identical except the available chipset register lists. This will *not* currently work and is disabled by default because of this. May get merged again later, remains to be seen what further changes will be required. Signed-off-by: Ben Skeggs commit 2c1a425e7d537ea655fa276f267c0b1cd100ff34 Author: Ben Skeggs Date: Wed Aug 22 23:55:42 2012 -0400 drm/nve0/ibus: handle PIBUS interrupts to prevent storm Signed-off-by: Ben Skeggs commit 757833cc9f0c334ecf739836f4e052c11bf81264 Author: Ben Skeggs Date: Thu Aug 23 01:14:21 2012 -0400 drm/nouveau/sw: trap and clear PMC_INTR_0_SOFTWARE Came in useful for debugging another issue earlier, so keep it around. Signed-off-by: Ben Skeggs commit 5b8a43aeb9cbf6b965f67f6c850382788076325a Author: Marcin Slusarz Date: Sun Aug 19 23:00:00 2012 +0200 drm/nouveau: quiet some static-related sparse noise Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit e6626254f99be74bdae291a12c3981b996de6409 Author: Marcin Slusarz Date: Sun Aug 19 22:59:59 2012 +0200 drm/nouveau: constify instances of nouveau_bitfield and nouveau_enum structs Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit c97f8c922ea78195aa7d833d639d2963cc11af8e Author: Ben Skeggs Date: Sun Aug 19 16:03:00 2012 +1000 drm/nouveau/fifo: use defines instead of hardcoded class ids Signed-off-by: Ben Skeggs commit 1971f04e16172db79b8b0eed75fb2cb82adfbb83 Author: Ben Skeggs Date: Sun Aug 19 15:58:38 2012 +1000 drm/nouveau/dmaobj: reject unsupported parent types instead of half-succeeding Signed-off-by: Ben Skeggs commit 9456f7d1beb8f7cfd99300e6028b3b2667c2ebd5 Author: Ben Skeggs Date: Sun Aug 19 15:53:15 2012 +1000 drm/nouveau: add defines for internal class names Will probably flesh the documentation of the classes out a bit too at some later point. Signed-off-by: Ben Skeggs commit 368be5f1b84b3356eb03ad2ccaf073e2fbb7fc4e Author: Ben Skeggs Date: Tue Aug 14 15:33:20 2012 +1000 drm/nv50/fifo: add support for dma channel class Signed-off-by: Ben Skeggs commit ab2858928b09911b7ab21051d7fc3f973d630bff Author: Ben Skeggs Date: Tue Aug 14 15:30:14 2012 +1000 drm/nv84/fifo: add support for dma channel class Signed-off-by: Ben Skeggs commit a7c6e75eb28d18ed8d53182891330f5c1fa4477c Author: Ben Skeggs Date: Tue Aug 14 15:02:29 2012 +1000 drm/nouveau/fifo: version the dma channel class struct Signed-off-by: Ben Skeggs commit 503b0f1cd66c54dd88e644fa1a521ebd764bf54e Author: Ben Skeggs Date: Tue Aug 14 14:53:51 2012 +1000 drm/nouveau/fifo: separate object classes for dma channels Future code will use the object class rather than chipset checks in order to identify available channel features. Signed-off-by: Ben Skeggs commit 72a148277701acf56bcec486a1124499600812e1 Author: Ben Skeggs Date: Mon Aug 13 16:26:07 2012 +1000 drm/nouveau: restore fifo chid information in engine error messages Signed-off-by: Ben Skeggs commit 4c2d42225b5024ad88f736608f44b51f702bd4e4 Author: Ben Skeggs Date: Fri Aug 10 15:10:34 2012 +1000 drm/nouveau/core: have fifo store a unique context identifier at attach time This value will match something that's easily available from the engine IRQ handlers, and used to lookup the relevant context. Since the changes in how this is done on each generation match when the major PFIFO changes happened, fifo is responsible for calculating the correct value to avoid duplicating the same code among many engine modules. Signed-off-by: Ben Skeggs commit 0c5b8cecf34d6b25e577475cc5e8c7169d63ba92 Author: Ben Skeggs Date: Fri Aug 10 14:02:44 2012 +1000 drm/nouveau/fifo: add method to lookup fifo chid related to a given object Signed-off-by: Ben Skeggs commit 3acec63aee5d082f86218973912e682e84ec2a05 Author: Ben Skeggs Date: Fri Aug 10 13:47:56 2012 +1000 drm/nouveau/core: protect engine context list with hardirq-safe spinlock IRQ handlers will need access to engine contexts. Signed-off-by: Ben Skeggs commit 6fa8e62937687cb2db10d0e7c7f91eb73a20365c Author: Ben Skeggs Date: Mon Aug 6 21:56:18 2012 +1000 drm/nv84/fifo: mask only the engine we're waiting on for channel unload Signed-off-by: Ben Skeggs commit 49981046e3dc2f934663548a270d4bf1a4534bb9 Author: Ben Skeggs Date: Mon Aug 6 19:38:25 2012 +1000 drm/nve0: use async copy engine for ttm buffer moves if available Kepler PFIFO lost the ability to address multiple engines from a single channel, so we need a separate one for the copy engine. v2: Marcin Slusarz - regression fix: restore hw accelerated buffer copies Signed-off-by: Ben Skeggs commit 4f32656dc786b402944dbdd7c5b74ed061468895 Author: Ben Skeggs Date: Mon Aug 6 19:28:02 2012 +1000 drm/nve0/copy: add initial support for the async copy engines Signed-off-by: Ben Skeggs commit dbff2dee9f8561710fcfe7f6623dd272ddca5a27 Author: Ben Skeggs Date: Mon Aug 6 18:16:37 2012 +1000 drm/nve0/fifo: support engine selection when creating fifo channels Signed-off-by: Ben Skeggs commit 43b1e9c9899ece92c1f68d45ae0d7b98d009f5d0 Author: Ben Skeggs Date: Mon Aug 6 16:31:26 2012 +1000 drm/nouveau/device: return proper error codes if ioremap fails Signed-off-by: Ben Skeggs commit c4837d27945b9b607b5a7274a33059e73d1a7831 Author: Ben Skeggs Date: Mon Aug 6 16:30:10 2012 +1000 drm/nouveau/core: remove some left-over pieces from the porting process Reported-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit b10f20d590aa040e4028c04a70a27b9ad6650ba8 Author: Ben Skeggs Date: Sun Aug 5 11:29:10 2012 +1000 drm/nvc0-/gr: remove reset-after-grctx-construction hack Signed-off-by: Ben Skeggs commit 5999933f4de7de7bcaae4be87667b0cff57d6e45 Author: Ben Skeggs Date: Fri Aug 3 14:58:10 2012 +1000 drm/nouveau: add Kconfig options for debug control Signed-off-by: Ben Skeggs commit 77145f1cbdf8d28b46ff8070ca749bad821e0774 Author: Ben Skeggs Date: Tue Jul 31 16:16:21 2012 +1000 drm/nouveau: port remainder of drm code, and rip out compat layer v2: Ben Skeggs - fill in nouveau_pm.dev to prevent oops - fix ppc issues (build + OF shadow) Signed-off-by: Ben Skeggs commit 2094dd82eddc468b53ee99d92c38b23a65efac03 Author: Ben Skeggs Date: Fri Jul 27 08:28:20 2012 +1000 drm/nouveau/device: include the official chipset names Signed-off-by: Ben Skeggs commit 51a3d3425663698a79e8a9d01998a8a32ddee13b Author: Ben Skeggs Date: Thu Jul 26 09:12:47 2012 +1000 drm/nouveau/backlight: remove dependence on nouveau_drv.h Signed-off-by: Ben Skeggs commit 84058eb80e0b790c877962e3f4cf49725e23ffce Author: Ben Skeggs Date: Thu Jul 26 08:59:23 2012 +1000 drm/nouveau: flatten nv{Read,Write}{MC,VIDEO,FB,EXTDEV} Signed-off-by: Ben Skeggs commit fce875d647171f9f740587a252fc026aaa421afe Author: Ben Skeggs Date: Thu Jul 26 08:54:33 2012 +1000 drm/nouveau: move compat ioctl out of nouveau_drv.h Signed-off-by: Ben Skeggs commit c0077061e7ea3a8c1c316c87a79976bf8f00beb5 Author: Ben Skeggs Date: Thu Jul 26 08:51:21 2012 +1000 drm/nouveau/acpi: move definitions out of nouveau_drv.h Signed-off-by: Ben Skeggs commit d38ac5217ab43cf61e8ebe6d7114fb2d1ca9a3a4 Author: Ben Skeggs Date: Sun Jul 22 16:41:26 2012 +1000 drm/nouveau/mxm: split up into bios code and a subdev module Signed-off-by: Ben Skeggs commit 08c770969a45361277d556f9fd3e2d70da42be65 Author: Ben Skeggs Date: Sun Jul 22 15:03:09 2012 +1000 drm/nouveau: start culling unused code Signed-off-by: Ben Skeggs commit ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69 Author: Ben Skeggs Date: Fri Jul 20 08:17:34 2012 +1000 drm/nouveau: port all engines to new engine module format This is a HUGE commit, but it's not nearly as bad as it looks - any problems can be isolated to a particular chipset and engine combination. It was simply too difficult to port each one at a time, the compat layers are *already* ridiculous. Most of the changes here are simply to the glue, the process for each of the engine modules was to start with a standard skeleton and copy+paste the old code into the appropriate places, fixing up variable names etc as needed. v2: Marcin Slusarz - fix find/replace bug in license header v3: Ben Skeggs - bump indirect pushbuf size to 8KiB, 4KiB barely enough for userspace and left no space for kernel's requirements during GEM pushbuf submission. - fix duplicate assignments noticed by clang v4: Marcin Slusarz - add sparse annotations to nv04_fifo_pause/nv04_fifo_start - use ioread32_native/iowrite32_native for fifo control registers v5: Ben Skeggs - rebase on v3.6-rc4, modified to keep copy engine fix intact - nv10/fence: unmap fence bo before destroying - fixed fermi regression when using nvidia gr fuc - fixed typo in supported dma_mask checking Signed-off-by: Ben Skeggs commit ac1499d9573f4aadd1d2beac11fe23af8ce90c24 Author: Ben Skeggs Date: Sat Aug 4 18:40:45 2012 +1000 drm/nvc0-/gr: generate grctx template at init time, not first context ctor Signed-off-by: Ben Skeggs commit c4afbe74cebf887d3d8e7a11aa93bebcb6a3e2e1 Author: Ben Skeggs Date: Sat Aug 4 18:26:50 2012 +1000 drm/nvc0-/gr: share headers between fermi and kepler graphics code v2: Ben Skeggs - de-inline nv_icmd, triggers some gcc issue causing ctxnv[ce]0.c to take a *very* *very* long time to build on some configs. Signed-off-by: Ben Skeggs commit f589be88caf32501a734e531180d5df5d6089ef3 Author: Ben Skeggs Date: Sun Jul 22 11:55:54 2012 +1000 drm/nouveau/pageflip: kick flip handling out of engsw and into fence This is all very much a policy thing, and hence will not belong in SW after the rework. engsw now only handles receiving the event to say "can flip now" and makes a callback to perform the actual work. Signed-off-by: Ben Skeggs commit bc9e7b9a61e9e92ddb58920cb2cb5c2e2825ca8a Author: Ben Skeggs Date: Thu Jul 19 17:54:21 2012 +1000 drm/nouveau: move some more code around to more appropriate places Signed-off-by: Ben Skeggs commit a73c5c526a8a39b2e61709c753d44be597c9a4c0 Author: Ben Skeggs Date: Thu Jul 19 17:32:01 2012 +1000 drm/nvc0-nve0/graph: rename dev to priv, no code changes There's a *lot* of code in here, and it's all going to use the PGRAPH priv pointer rather than drm_device after the engine rework. This is handling all the rename-only parts of the change. Signed-off-by: Ben Skeggs commit e193b1d42c390bf1bff7fa02a5a1202b98e75601 Author: Ben Skeggs Date: Thu Jul 19 10:51:42 2012 +1000 drm/nouveau/fence: un-port from nouveau_exec_engine interfaces Still the same code, but not an "engine" anymore. The fence code is more of a policy decision rather than exposing mechanisms, so it's not appropriate to port it to the new engine subsystem. Signed-off-by: Ben Skeggs commit 66f247234d1c47da480f687b8104d8935d05b404 Author: Ben Skeggs Date: Wed Jul 18 22:15:33 2012 +1000 drm/nouveau: pull nouveau_gem definitions into their own header Signed-off-by: Ben Skeggs commit 8be21a6402baa502cd6475e137760afdb2b5dba8 Author: Ben Skeggs Date: Wed Jul 18 17:17:09 2012 +1000 drm/nouveau: pull nouveau_bo definitions into their own header Signed-off-by: Ben Skeggs commit 017e6e2955a8b290653aa71bd321609d0d4b1486 Author: Ben Skeggs Date: Wed Jul 18 10:00:50 2012 +1000 drm/nv04/disp: kick all private state out to own header Signed-off-by: Ben Skeggs commit 3863c9bc887e9638a9d905d55f6038641ece78d6 Author: Ben Skeggs Date: Sat Jul 14 19:09:17 2012 +1000 drm/nouveau/instmem: completely new implementation, as a subdev module v2 (Ben Skeggs): - some fixes for 64KiB PAGE_SIZE - fix porting issues in (currently unused) nv41/nv44 pciegart code Signed-off-by: Ben Skeggs commit 8a9b889e668a5bc2f4031015fe4893005c43403d Author: Ben Skeggs Date: Sat Jul 14 11:03:52 2012 +1000 drm/nouveau: remove last use of nouveau_gpuobj_new_fake() Signed-off-by: Ben Skeggs commit 092599da308bf56b96c849ecdd315b8a1a13ca52 Author: Ben Skeggs Date: Sat Jul 14 10:48:12 2012 +1000 drm/nv50/instmem: remove use of nouveau_gpuobj_new_fake() Signed-off-by: Ben Skeggs commit 73a60c0d218a292f8ef29d3467726ff26ed366fc Author: Ben Skeggs Date: Fri Jul 13 17:21:22 2012 +1000 drm/nouveau/gpuobj: remove flags for vm-mappings Having GPUOBJ and VM intertwined like this makes it *really* hard to continue porting to the new driver architecture, split it out in favour of requiring explit maps be the caller. It's more flexible and obvious this way anyway... Signed-off-by: Ben Skeggs commit 18c9b959fd8ea6f3602efbedad788f53e305e6f1 Author: Ben Skeggs Date: Fri Jul 13 17:05:35 2012 +1000 drm/nouveau/gpuobj: create wrapper functions for mapping gpuobj into vm/bar Signed-off-by: Ben Skeggs commit 9da226f698c01b268b9172050df4150f269a7613 Author: Ben Skeggs Date: Fri Jul 13 16:54:45 2012 +1000 drm/nvc0/fifo: handle bar1 control regs much like fifo/nve0 The partial mapping thing is stupid and pointless... Signed-off-by: Ben Skeggs commit 70ee6f1cd6911098ddd4c11ee21b69dbe51fb3f9 Author: Ben Skeggs Date: Fri Jul 13 16:49:49 2012 +1000 drm/nv04-nv40/fifo: remove use of nouveau_gpuobj_new_fake() Signed-off-by: Ben Skeggs commit 5787640db6ae722aeadb394d480c7ca21b603e34 Author: Ben Skeggs Date: Fri Jul 13 16:42:14 2012 +1000 drm/nv04-nv40/instmem: remove use of nouveau_gpuobj_new_fake() These type of fake objects will not be supported for much longer. Signed-off-by: Ben Skeggs commit af7afbd2e1409168698bde2f2846848b07d05d12 Author: Ben Skeggs Date: Fri Jul 13 16:14:25 2012 +1000 drm/nv04-nv40/instmem: duplicate nv04 code as nv40, remove alternate paths A ton of duplication for the moment, will go away when they become subdevs. Signed-off-by: Ben Skeggs commit 861d21074bbb141b0cc165a61c11f571571cda12 Author: Ben Skeggs Date: Wed Jul 11 19:05:01 2012 +1000 drm/nouveau/fb: merge fb/vram and port to subdev interfaces Signed-off-by: Ben Skeggs commit 0134a97979a0abc1c756b0fe491e074693c2bdf5 Author: Ben Skeggs Date: Wed Jul 11 18:10:11 2012 +1000 drm/nv50-/instmem: allocate vram for kernel objects from end of vram Signed-off-by: Ben Skeggs commit 496734bf0391f38c196e16dbbfaaeda8e6ec5845 Author: Ben Skeggs Date: Wed Jul 11 16:28:19 2012 +1000 drm/nouveau/core: add support for reverse mm allocations Signed-off-by: Ben Skeggs commit 5a5c7432bbbd2e318dff107b4ff960ab543a7cef Author: Ben Skeggs Date: Wed Jul 11 16:08:25 2012 +1000 drm/nouveau/timer: port to subdev interfaces Signed-off-by: Ben Skeggs commit 7d9115dee978e8540734c456c925d71a37752b8d Author: Ben Skeggs Date: Wed Jul 11 15:58:56 2012 +1000 drm/nouveau/mc: port to subdev interfaces Signed-off-by: Ben Skeggs commit cb75d97e9c77743ecfcc43375be135a55a4d9b25 Author: Ben Skeggs Date: Wed Jul 11 10:44:20 2012 +1000 drm/nouveau: implement devinit subdev, and new init table parser v2: - make sure not to execute display scripts unless resuming Signed-off-by: Ben Skeggs commit 70790f4f819875e8f390871fd15bbbf823f28e1b Author: Ben Skeggs Date: Tue Jul 10 17:26:46 2012 +1000 drm/nouveau/clock: pull in the implementation from all over the place Still missing the main bits we use to change performance levels, I'll get to it after all the hard yakka has been finished. Signed-off-by: Ben Skeggs commit 8aceb7de47ea2491abc1a577dc875b19e9947a54 Author: Ben Skeggs Date: Tue Jul 10 16:45:24 2012 +1000 drm/nouveau/clk: implement stub clock subdev Signed-off-by: Ben Skeggs commit 4196faa8623264b79279a06fd186654c959f2767 Author: Ben Skeggs Date: Tue Jul 10 14:36:38 2012 +1000 drm/nouveau/i2c: port to subdev interfaces v2/v3: Ben Skeggs - fix typo in default bus selection - fix accidental loss of destructor v4: Dmitry Eremin-Solenikov - fix typo causing incorrect default i2c port settings when no BMP data Signed-off-by: Ben Skeggs commit e0996aea4c349ba302b63203b7d5cab6034dbdca Author: Ben Skeggs Date: Tue Jul 10 12:20:17 2012 +1000 drm/nouveau/gpio: port gpio to subdev interfaces v2: Ben Skeggs - rebase on top of v3.6-rc6 with gpio reset patch integrated already Signed-off-by: Ben Skeggs commit cd42439da48529a3cd6f957b226fc627a64fb771 Author: Ben Skeggs Date: Tue Jul 10 11:38:08 2012 +1000 drm/nouveau/oldbios: remove shadowing support, use bios subdev's image Signed-off-by: Ben Skeggs commit 70c0f263cc2eb12e02506eb75f0a71490e7dea4d Author: Ben Skeggs Date: Tue Jul 10 10:49:22 2012 +1000 drm/nouveau/bios: pull in basic vbios subdev, more to come later v2: Ben Skeggs - use unaligned macros to access vbios image - endianness fixes Signed-off-by: Ben Skeggs commit 586c55f6ade73f8672d1eaf598237a6f49b28443 Author: Ben Skeggs Date: Mon Jul 9 14:14:48 2012 +1000 drm/nouveau: have non-core mmio accesses go through device object Adds an extra layer of indirection to each register access, but it's not too bad, and will also go away as pieces are ported. Signed-off-by: Ben Skeggs commit 9458029940ffc64bca0c5a30ea626c377205842e Author: Ben Skeggs Date: Fri Jul 6 12:14:00 2012 +1000 drm/nouveau: implement module init functions in nouveau_drm.c These currently just call the existing ones in nouveau_drv.c, but will be extended in upcoming commits. This needed to be separated from the current code as there will be some header clashes until things are ported. Signed-off-by: Ben Skeggs commit 9274f4a9ba7e70d1770e237fca16d52f27f0c728 Author: Ben Skeggs Date: Fri Jul 6 07:36:43 2012 +1000 drm/nouveau/core: pull in most of the new core infrastructure This commit provides most of the infrastructure to support a major overhaul of Nouveau's internals coming in the following commits. This work aims to take all the things we've learned over the last several years, and turn that into a cleaner architecture that's more maintainable going forward. RAMHT and MM bits of the new core have been left out for the moment, and will be pulled in as I go through the process of porting the code to become either subdev or engine modules. There are several main goals I wanted to achieve through this work: -- Reduce complexity The goal here was to make each component of the driver as independent as possible, which will ease maintainability and readability, and provide a good base for resetting locked up GPU units in the future. -- Better tracking of GPU units that are required at any given time This is for future PM work, we'll be able to tell exactly what parts of the GPU we need powered at any given point (etc). -- Expose all available NVIDIA GPUs to the client In order to support things such as multi-GPU channels, we want to be able to expose all the NVIDIA GPUs to the client over a single file descriptor so it can send a single push buffer to multiple GPUs. -- Untangle the core hardware support code from the DRM implementation This happened initially as an unexpected side-effect of developing the initial core infrastructure in userspace, but it turned into a goal of the whole project. Initial benefits will be the availablility of a number of userspace tools and tests using the same code as the driver itself, but will also be important as I look into some virtualisation ideas. v2: Ben Skeggs - fix duplicate assignments noticed by clang - implement some forgotten yelling in error path - ensure 64-bit engine mask is used everywhere v3: Marcin Slusarz - sparse fixes - inline nv_printk into nv_assert to prevent recursive inlining issues v4: Ben Skeggs - fixed minor memory leak on gpuobj destruction Signed-off-by: Ben Skeggs commit aa4cc5d274c09909fe32861825c2377d0ccb3bfd Author: Ben Skeggs Date: Thu Jul 5 21:36:32 2012 +1000 drm/nouveau/agp: move all agp stuff into its own source file Signed-off-by: Ben Skeggs commit 02a841d434513c7b3620250271c372fabce56de5 Author: Ben Skeggs Date: Wed Jul 4 23:44:54 2012 +1000 drm/nouveau: restructure source tree, split core from drm implementation Future work will be headed in the way of separating the policy supplied by the nouveau drm module from the mechanisms provided by the driver core. There will be a couple of major classes (subdev, engine) of driver modules that have clearly defined tasks, and the further directory structure change is to reflect this. No code changes here whatsoever, aside from fixing up a couple of include file pathnames. Signed-off-by: Ben Skeggs commit 3a92d37e4099054fe187b485a9d27c439c10eca7 Author: Ben Skeggs Date: Sat Aug 4 05:46:01 2012 +1000 drm/nouveau/gem: use bo.offset rather than mm_node.start Won't necessarily be a drm_mm_node in the future, and I can't think of any good reason to not use the offset from the bo struct. There may have been some reason once apon a time, but, separate commit just in case. Signed-off-by: Ben Skeggs commit d6ba6d215a538a58f0f0026f0961b0b9125e8042 Author: Ben Skeggs Date: Fri Sep 28 11:50:29 2012 +1000 drm/nvc0/fence: restore pre-suspend fence buffer context on resume Fixes some unfortunate races on resume. The G84 version of the code doesn't need this as "gpuobj"s are automagically suspended/resumed by the core code whereas pinned buffer objects are not. Cc: stable@vger.kernel.org Signed-off-by: Ben Skeggs commit df86b5765a48d5f557489577652bd6df145b0e1b Author: Florian Zumbiehl Date: Tue Oct 2 12:20:37 2012 +0000 drm/savage: re-add busmaster enable, regression fix 466e69b8b03b8c1987367912782bc12988ad8794 dropped busmaster enable from the global drm code and moved it to the individual drivers, but missed the savage driver. So, this re-adds busmaster enable to the savage driver, fixing the regression. Signed-off-by: Florian Zumbiehl Reviewed-by: Alex Deucher Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie commit 331c57537589c59ee5e35dd4ddf1d5a0e87972c7 Author: Dan Carpenter Date: Tue Oct 2 08:26:46 2012 +0000 drm/ast: drop duplicate initialization We set ".disable" to "ast_crtc_disable" twice. Signed-off-by: Dan Carpenter Signed-off-by: Dave Airlie commit 8ff1f792dd68ad46f3cfe01e01a375b402cf08da Merge: 2216c9e 82ffd92 Author: Dave Airlie Date: Wed Oct 3 10:32:58 2012 +1000 Merge branch 'drm-next-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-next Alex writes: "The big changes for 3.7 include: - Asynchronous VM page table updates for Cayman/SI - 2 level VM page table support. Saves memory compared to 1 level page tables. - Reworked PLL handing in the display code allows lots more combinations of monitors to work, including more than two DP displays assuming compatible clocks across shared PLLs. This also allows us to power down extra PLLs when we can share a single one across multiple displays which saves power. - Native backlight control on ATOMBIOS systems. - Improved ACPI support for interacting with the GPU. Fixes backlight control on some laptops. - Document AMD ACPI interfaces - Lots of code cleanup - Bug fixes" * 'drm-next-3.7' of git://people.freedesktop.org/~agd5f/linux: (79 commits) drm/radeon: add vm set_page() callback for SI drm/radeon: rework the vm_flush interface drm/radeon: use WRITE_DATA packets for vm flush on SI drm/radeon/pm: fix multi-head profile handling on BTC+ (v2) drm/radeon: fix radeon power state debug output drm/radeon: force MSIs on RS690 asics drm/radeon: Add MSI quirk for gateway RS690 drm/radeon: allow MIP_ADDRESS=0 for MSAA textures on Evergreen drm/radeon/kms: allow STRMOUT_BASE_UPDATE on RS780 and RS880 drm/radeon: add 2-level VM pagetables support v9 drm/radeon: refactor set_page chipset interface v5 drm/radeon: Fix scratch register leak in IB test. drm/radeon: restore backlight level on resume drm/radeon: add get_backlight_level callback drm/radeon: only adjust default clocks on NI GPUs drm/radeon: validate PPLL in crtc fixup drm/radeon: work around KMS modeset limitations in PLL allocation (v2) drm/radeon: make non-DP PPLL sharing more robust drm/radeon: store the encoder in the radeon_crtc drm/radeon: rework crtc pll setup to better support PPLL sharing ... commit aecdc33e111b2c447b622e287c6003726daa1426 Merge: a20acf9 a3a6cab Author: Linus Torvalds Date: Tue Oct 2 13:38:27 2012 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking changes from David Miller: 1) GRE now works over ipv6, from Dmitry Kozlov. 2) Make SCTP more network namespace aware, from Eric Biederman. 3) TEAM driver now works with non-ethernet devices, from Jiri Pirko. 4) Make openvswitch network namespace aware, from Pravin B Shelar. 5) IPV6 NAT implementation, from Patrick McHardy. 6) Server side support for TCP Fast Open, from Jerry Chu and others. 7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel Borkmann. 8) Increate the loopback default MTU to 64K, from Eric Dumazet. 9) Use a per-task rather than per-socket page fragment allocator for outgoing networking traffic. This benefits processes that have very many mostly idle sockets, which is quite common. From Eric Dumazet. 10) Use up to 32K for page fragment allocations, with fallbacks to smaller sizes when higher order page allocations fail. Benefits are a) less segments for driver to process b) less calls to page allocator c) less waste of space. From Eric Dumazet. 11) Allow GRO to be used on GRE tunnels, from Eric Dumazet. 12) VXLAN device driver, one way to handle VLAN issues such as the limitation of 4096 VLAN IDs yet still have some level of isolation. From Stephen Hemminger. 13) As usual there is a large boatload of driver changes, with the scale perhaps tilted towards the wireless side this time around. Fix up various fairly trivial conflicts, mostly caused by the user namespace changes. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits) hyperv: Add buffer for extended info after the RNDIS response message. hyperv: Report actual status in receive completion packet hyperv: Remove extra allocated space for recv_pkt_list elements hyperv: Fix page buffer handling in rndis_filter_send_request() hyperv: Fix the missing return value in rndis_filter_set_packet_filter() hyperv: Fix the max_xfer_size in RNDIS initialization vxlan: put UDP socket in correct namespace vxlan: Depend on CONFIG_INET sfc: Fix the reported priorities of different filter types sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP sfc: Fix loopback self-test with separate_tx_channels=1 sfc: Fix MCDI structure field lookup sfc: Add parentheses around use of bitfield macro arguments sfc: Fix null function pointer in efx_sriov_channel_type vxlan: virtual extensible lan igmp: export symbol ip_mc_leave_group netlink: add attributes to fdb interface tg3: unconditionally select HWMON support when tg3 is enabled. Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT" gre: fix sparse warning ... commit 82ffd92b162ece87c863c075d993c65333e8e78b Author: Alex Deucher Date: Tue Oct 2 14:47:46 2012 -0400 drm/radeon: add vm set_page() callback for SI Use the new WRITE_DATA packet rather than the legacy ME_WRITE packet. Signed-off-by: Alex Deucher commit 498522b455e8867bed5d59234c209b0be8ec4b57 Author: Alex Deucher Date: Tue Oct 2 14:43:38 2012 -0400 drm/radeon: rework the vm_flush interface Pass the vm and ring index rather than an IB. This allows us to use the vm_flush interface for non-IB cases in the future. Signed-off-by: Alex Deucher Reviewed-by: Christian König commit 76c44f2c0d008b60ce3058c51d85fa36d98c3681 Author: Alex Deucher Date: Tue Oct 2 14:39:18 2012 -0400 drm/radeon: use WRITE_DATA packets for vm flush on SI This is the preferred packet for writing data to memory or registers on SI. Signed-off-by: Alex Deucher commit 437589a74b6a590d175f86cf9f7b2efcee7765e7 Merge: 68d47a1 72235465 Author: Linus Torvalds Date: Tue Oct 2 11:11:09 2012 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull user namespace changes from Eric Biederman: "This is a mostly modest set of changes to enable basic user namespace support. This allows the code to code to compile with user namespaces enabled and removes the assumption there is only the initial user namespace. Everything is converted except for the most complex of the filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs, nfs, ocfs2 and xfs as those patches need a bit more review. The strategy is to push kuid_t and kgid_t values are far down into subsystems and filesystems as reasonable. Leaving the make_kuid and from_kuid operations to happen at the edge of userspace, as the values come off the disk, and as the values come in from the network. Letting compile type incompatible compile errors (present when user namespaces are enabled) guide me to find the issues. The most tricky areas have been the places where we had an implicit union of uid and gid values and were storing them in an unsigned int. Those places were converted into explicit unions. I made certain to handle those places with simple trivial patches. Out of that work I discovered we have generic interfaces for storing quota by projid. I had never heard of the project identifiers before. Adding full user namespace support for project identifiers accounts for most of the code size growth in my git tree. Ultimately there will be work to relax privlige checks from "capable(FOO)" to "ns_capable(user_ns, FOO)" where it is safe allowing root in a user names to do those things that today we only forbid to non-root users because it will confuse suid root applications. While I was pushing kuid_t and kgid_t changes deep into the audit code I made a few other cleanups. I capitalized on the fact we process netlink messages in the context of the message sender. I removed usage of NETLINK_CRED, and started directly using current->tty. Some of these patches have also made it into maintainer trees, with no problems from identical code from different trees showing up in linux-next. After reading through all of this code I feel like I might be able to win a game of kernel trivial pursuit." Fix up some fairly trivial conflicts in netfilter uid/git logging code. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits) userns: Convert the ufs filesystem to use kuid/kgid where appropriate userns: Convert the udf filesystem to use kuid/kgid where appropriate userns: Convert ubifs to use kuid/kgid userns: Convert squashfs to use kuid/kgid where appropriate userns: Convert reiserfs to use kuid and kgid where appropriate userns: Convert jfs to use kuid/kgid where appropriate userns: Convert jffs2 to use kuid and kgid where appropriate userns: Convert hpfs to use kuid and kgid where appropriate userns: Convert btrfs to use kuid/kgid where appropriate userns: Convert bfs to use kuid/kgid where appropriate userns: Convert affs to use kuid/kgid wherwe appropriate userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids userns: On ia64 deal with current_uid and current_gid being kuid and kgid userns: On ppc convert current_uid from a kuid before printing. userns: Convert s390 getting uid and gid system calls to use kuid and kgid userns: Convert s390 hypfs to use kuid and kgid where appropriate userns: Convert binder ipc to use kuids userns: Teach security_path_chown to take kuids and kgids userns: Add user namespace support to IMA userns: Convert EVM to deal with kuids and kgids in it's hmac computation ... commit 4413e16d9d21673bb5048a2e542f1aaa00015c2e Author: David Howells Date: Tue Oct 2 18:01:35 2012 +0100 UAPI: (Scripted) Set up UAPI Kbuild files Set up empty UAPI Kbuild files to be populated by the header splitter. Signed-off-by: David Howells Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Paul E. McKenney Acked-by: Dave Jones commit 760285e7e7ab282c25b5e90816f7c47000557f4f Author: David Howells Date: Tue Oct 2 18:01:07 2012 +0100 UAPI: (Scripted) Convert #include "..." to #include in drivers/gpu/ Convert #include "..." to #include in drivers/gpu/. Signed-off-by: David Howells Acked-by: Dave Airlie Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Paul E. McKenney Acked-by: Dave Jones commit 4126d5d61f8466be3f76c1bc4e16d46eb2c9641b Author: David Howells Date: Tue Oct 2 18:01:05 2012 +0100 UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/. Remove redundant DRM UAPI header #inclusions from drivers/gpu/. Remove redundant #inclusions of core DRM UAPI headers (drm.h, drm_mode.h and drm_sarea.h). They are now #included via drmP.h and drm_crtc.h via a preceding patch. Without this patch and the patch to make include the UAPI headers from the core headers, after the UAPI split, the DRM C sources cannot find these UAPI headers because the DRM code relies on specific -I flags to make #include "..." work on headers in include/drm/ - but that does not work after the UAPI split without adding more -I flags. Signed-off-by: David Howells Acked-by: Dave Airlie Acked-by: Arnd Bergmann Acked-by: Thomas Gleixner Acked-by: Paul E. McKenney Acked-by: Dave Jones commit 033d9959ed2dc1029217d4165f80a71702dc578e Merge: 974a847 7c6e72e Author: Linus Torvalds Date: Tue Oct 2 09:54:49 2012 -0700 Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue changes from Tejun Heo: "This is workqueue updates for v3.7-rc1. A lot of activities this round including considerable API and behavior cleanups. * delayed_work combines a timer and a work item. The handling of the timer part has always been a bit clunky leading to confusing cancelation API with weird corner-case behaviors. delayed_work is updated to use new IRQ safe timer and cancelation now works as expected. * Another deficiency of delayed_work was lack of the counterpart of mod_timer() which led to cancel+queue combinations or open-coded timer+work usages. mod_delayed_work[_on]() are added. These two delayed_work changes make delayed_work provide interface and behave like timer which is executed with process context. * A work item could be executed concurrently on multiple CPUs, which is rather unintuitive and made flush_work() behavior confusing and half-broken under certain circumstances. This problem doesn't exist for non-reentrant workqueues. While non-reentrancy check isn't free, the overhead is incurred only when a work item bounces across different CPUs and even in simulated pathological scenario the overhead isn't too high. All workqueues are made non-reentrant. This removes the distinction between flush_[delayed_]work() and flush_[delayed_]_work_sync(). The former is now as strong as the latter and the specified work item is guaranteed to have finished execution of any previous queueing on return. * In addition to the various bug fixes, Lai redid and simplified CPU hotplug handling significantly. * Joonsoo introduced system_highpri_wq and used it during CPU hotplug. There are two merge commits - one to pull in IRQ safe timer from tip/timers/core and the other to pull in CPU hotplug fixes from wq/for-3.6-fixes as Lai's hotplug restructuring depended on them." Fixed a number of trivial conflicts, but the more interesting conflicts were silent ones where the deprecated interfaces had been used by new code in the merge window, and thus didn't cause any real data conflicts. Tejun pointed out a few of them, I fixed a couple more. * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits) workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending() workqueue: use cwq_set_max_active() helper for workqueue_set_max_active() workqueue: introduce cwq_set_max_active() helper for thaw_workqueues() workqueue: remove @delayed from cwq_dec_nr_in_flight() workqueue: fix possible stall on try_to_grab_pending() of a delayed work item workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback() workqueue: use __cpuinit instead of __devinit for cpu callbacks workqueue: rename manager_mutex to assoc_mutex workqueue: WORKER_REBIND is no longer necessary for idle rebinding workqueue: WORKER_REBIND is no longer necessary for busy rebinding workqueue: reimplement idle worker rebinding workqueue: deprecate __cancel_delayed_work() workqueue: reimplement cancel_delayed_work() using try_to_grab_pending() workqueue: use mod_delayed_work() instead of __cancel + queue workqueue: use irqsafe timer for delayed_work workqueue: clean up delayed_work initializers and add missing one workqueue: make deferrable delayed_work initializer names consistent workqueue: cosmetic whitespace updates for macro definitions workqueue: deprecate system_nrt[_freezable]_wq workqueue: deprecate flush[_delayed]_work_sync() ... commit 232351777cd0fe2341f917d28bf130df2b44bf8a Author: Adam Jackson Date: Thu Sep 20 16:42:45 2012 -0400 drm/dp: Make sink count DP 1.2 aware Signed-off-by: Adam Jackson Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit caf9ab24e352102ec9dc6df82c78c3a9082109d6 Author: Adam Jackson Date: Tue Sep 18 10:58:50 2012 -0400 drm/i915/dp: Be smarter about connection sense for branch devices If there's no downstream device, DPCD success is good enough. If there's a hotplug-capable downstream device, count the number of connected sinks in DP_SINK_STATUS and return success if it's non-zero. Otherwise, probe DDC and report appropriately. v2: Check DP_SINK_STATUS instead of something unrelated to sink status. Tested-by: Takashi Iwai Signed-off-by: Adam Jackson Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit edb39244fad2e96ba03ea97a4b2c585c7f2fc7e4 Author: Adam Jackson Date: Tue Sep 18 10:58:49 2012 -0400 drm/i915/dp: Fetch downstream port info if needed during DPCD fetch v2: Fix parenthesis mismatch, spotted by Jani Nikula Tested-by: Takashi Iwai Signed-off-by: Adam Jackson Reviewed-by: Jani Nikula [danvet: Fixup merge conflict and MAX_DOWNSTREAM #define as spotted by Jani.] Signed-off-by: Daniel Vetter commit fbff4690b8f23289797b18ad8939e19525c403d1 Author: Adam Jackson Date: Tue Sep 18 10:58:47 2012 -0400 drm: Export drm_probe_ddc() Tested-by: Takashi Iwai Signed-off-by: Adam Jackson Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 27810fb2d2edacf2961dbedfe9e9f8d2e5080ea5 Author: Alex Deucher Date: Mon Oct 1 19:25:11 2012 -0400 drm/radeon/pm: fix multi-head profile handling on BTC+ (v2) Starting on BTC, there are no longer separate states for single head and multi-head, we just use the high mclk/voltage for all states for multi-head. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=49981 v2: fix typo Signed-off-by: Alex Deucher commit 2216c9e74fb3baac3cb73952158dbe38b703997e Author: Rob Clark Date: Thu Sep 13 03:34:08 2012 +0000 drm: change ioctl permissions Previously read-only KMS ioctls had some somewhat inconsistent settings regarding whether mastership was required. For example, GETRESOURCES did not require master, but GETPLANERESOURCES, GETPROPERTY, etc. did. At least for debugging, it is nice to be able to use modetest to dump property values while another process is master, and there seems to be no harm in allowing read-only access to the KMS state to other processes. Signed-off-by: Rob Clark Signed-off-by: Dave Airlie commit 7c80e128429d639742043f8fbdd7f1551c940ea3 Author: Rob Clark Date: Tue Sep 4 16:35:56 2012 +0000 drm: support for rotated scanout For drivers that can support rotated scanout, the extra parameter checking in drm-core, while nice, tends to get confused. To solve this drivers can set the crtc or plane invert_dimensions field so that the dimension checking takes into account the rotation that the driver is performing. v1: original v2: remove invert_dimensions from plane, at Ville's suggestion. Userspace can give rotated src coordinates, so invert_dimensions is not required for planes. Signed-off-by: Rob Clark Reviewed-by: Ville Syrjälä Signed-off-by: Dave Airlie commit f7eff60ea0e4e35732604e3591e2ff7b3ef41981 Author: Rob Clark Date: Wed Sep 5 21:48:38 2012 +0000 drm: refcnt drm_framebuffer (v4.1) This simplifies drm fb lifetime, and if the crtc/plane needs to hold a ref to the fb when disabling a pipe until the next vblank, this avoids the need to make disabling an overlay synchronous. This is a problem that shows up when userspace is using a drm plane to implement a hw cursor.. making overlay disable synchronous causes a performance problem when x11 is rapidly enabling/disabling the hw cursor. But not making it synchronous opens up a race condition for crashing if userspace turns around and immediately deletes the fb. Refcnt'ing the fb makes it possible to solve this problem. v1: original v2: add drm_framebuffer_remove() which is called in all paths where fb->funcs->destroy() was directly called before. This cleans up the CRTCs/planes that the fb was attached to. You should only directly use drm_framebuffer_unreference() if you are also using drm_framebuffer_reference() to keep a ref to the fb. v3: add comment explaining the fb refcount v4: remove duplicate 'list_del(&fb->filp_head)' [airlied: v4.1: fix local rejection] Signed-off-by: Rob Clark Signed-off-by: Dave Airlie commit 5bb61643f6a70d48de9cfe91ad0fee0d618b6816 Author: Chris Wilson Date: Thu Sep 27 21:25:58 2012 +0100 drm/i915: Flush the pending flips on the CRTC before modification This was meant to be the purpose of the intel_crtc_wait_for_pending_flips() function which is called whilst preparing the CRTC for a modeset or before disabling. However, as Ville Syrjala pointed out, we set the pending flip notification on the old framebuffer that is no longer attached to the CRTC by the time we come to flush the pending operations. Instead, we can simply wait on the pending unpin work to be finished on this CRTC, knowning that the hardware has therefore finished modifying the registers, before proceeding with our direct access. Fixes i-g-t/flip_test on non-pch platforms. pch platforms simply schedule the flip immediately when the pipe is disabled, leading to other funny issues. Signed-off-by: Chris Wilson Cc: stable@vger.kernel.org [danvet: Added i-g-t note and cc: stable] Signed-off-by: Daniel Vetter commit ac82ea2e97a32f9c49d0746874b4cd1d8904d10f Author: Chris Wilson Date: Mon Oct 1 14:27:04 2012 +0100 drm/i915: Actually invalidate the TLB for the SandyBridge HW contexts w/a A side-effect of commit 7d54a904285b6e780291b91a518267bec5591913 Author: Chris Wilson Date: Fri Aug 10 10:18:10 2012 +0100 drm/i915: Apply post-sync write for pipe control invalidates was that only a request to emit invalidate flush would result in the TLB being invalidated (since it requires synchronisation and so incurs a performance penalty). However, the stated w/a for hardware contexts is that the TLBs must be invalidated prior to a MI_SET_CONTEXT, yet the w/a itself did not request the TLBs to be invalidated... Note this w/a does not prevent the hard system hang I experience when using hw contexts (with rc6 enabled) on SNB GT1. Signed-off-by: Chris Wilson Cc: Ben Widawsky Signed-off-by: Daniel Vetter commit 33cce6e9801f7d0184a636e9096a7cf7f8237ff9 Author: Peter Senna Tschudin Date: Wed Sep 12 15:06:41 2012 +0000 drivers/gpu/drm/ttm/ttm_page_alloc_dma.c: Remove useless kfree Remove useless kfree() and clean up code related to the removal. The semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ position p1,p2; expression x; @@ if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; } @unchanged exists@ position r.p1,r.p2; expression e <= r.x,x,e1; iterator I; statement S; @@ if (x@p1 == NULL) { ... when != I(x,...) S when != e = e1 when != e += e1 when != e -= e1 when != ++e when != --e when != e++ when != e-- when != &e kfree@p2(x); ... return ...; } @ok depends on unchanged exists@ position any r.p1; position r.p2; expression x; @@ ... when != true x@p1 == NULL kfree@p2(x); @depends on !ok && unchanged@ position r.p2; expression x; @@ *kfree@p2(x); // Signed-off-by: Peter Senna Tschudin Signed-off-by: Dave Airlie commit 3184009c36da413724f283e3c7ac9cc60c623bc4 Author: Chris Wilson Date: Mon Sep 17 09:38:03 2012 +0000 drm: Destroy the planes prior to destroying the associated CRTC As during the plane cleanup, we wish to disable the hardware and so may modify state on the associated CRTC, that CRTC must continue to exist until we are finished. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54101 Signed-off-by: Chris Wilson Cc: Jesse Barnes Cc: stable@vger.kernel.org Reviewed-by: Jesse Barnes Tested-by: lu hua Signed-off-by: Dave Airlie commit 259a290e78d639bd02d0e408ceb72967318abb13 Author: Akinobu Mita Date: Tue Sep 25 11:57:02 2012 +0000 gpu/drm/ttm: use copy_highpage Use copy_highpage() to copy from one page to another. Signed-off-by: Akinobu Mita Cc: dri-devel@lists.freedesktop.org Signed-off-by: Dave Airlie commit 27796b465d25bc48f785c235be33cdc334a624e6 Author: Sachin Kamat Date: Sat Sep 22 06:30:03 2012 +0000 drm/udl: Add missing static storage class specifiers in udl_fb.c Fixes the following sparse warnings: drivers/gpu/drm/udl/udl_fb.c:360:6: warning: symbol 'udl_crtc_fb_gamma_set' was not declared. Should it be static? drivers/gpu/drm/udl/udl_fb.c:365:6: warning: symbol 'udl_crtc_fb_gamma_get' was not declared. Should it be static? Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 8d42a919156cfcfdd19addbc4c2989fc46810c1c Author: Sachin Kamat Date: Sat Sep 22 07:05:21 2012 +0000 drm/udl: Make udl_crtc_init() static Fixes the following sparse warning: drivers/gpu/drm/udl/udl_modeset.c:394:5: warning: symbol 'udl_crtc_init' was not declared. Should it be static? Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 92780062496e8454a43b47af1994f83462580ec5 Author: Sachin Kamat Date: Sat Sep 22 06:47:39 2012 +0000 drm/udl: Make udl_enc_destroy() static Fixes the following sparse warning: drivers/gpu/drm/udl/udl_encoder.c:19:6: warning: symbol 'udl_enc_destroy' was not declared. Should it be static? Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 74401b1dd320c419f8444d0a45daba5b42a9b7e9 Author: Sachin Kamat Date: Sat Sep 22 06:22:17 2012 +0000 drm/udl: Use NULL instead of 0 for pointers Fixes the following sparse warnings: drivers/gpu/drm/udl/udl_transfer.c:129:50: drivers/gpu/drm/udl/udl_transfer.c:130:50: drivers/gpu/drm/udl/udl_transfer.c:131:45: drivers/gpu/drm/udl/udl_transfer.c:132:61: warning: Using plain integer as NULL pointer Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit eb2c27a02bcf6013cda5d9e6277d50f7b4cfc13d Author: Alex Deucher Date: Mon Oct 1 18:28:09 2012 -0400 drm/radeon: fix radeon power state debug output Driver used to print "default" as the state type regardless of whether it is the default state. Signed-off-by: Alex Deucher commit 3498d13b8090c0b0ef911409fbc503a7c4cca6ef Merge: def7cb8 0c57dfc Author: Linus Torvalds Date: Mon Oct 1 12:26:52 2012 -0700 Merge tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull TTY changes from Greg Kroah-Hartman: "As we skipped the merge window for 3.6-rc1 for the tty tree, everything is now settled down and working properly, so we are ready for 3.7-rc1. Here's the patchset, it's big, but the large changes are removing a firmware file and adding a staging tty driver (it depended on the tty core changes, so it's going through this tree instead of the staging tree.) All of these patches have been in the linux-next tree for a while. Signed-off-by: Greg Kroah-Hartman " Fix up more-or-less trivial conflicts in - drivers/char/pcmcia/synclink_cs.c: tty NULL dereference fix vs tty_port_cts_enabled() helper function - drivers/staging/{Kconfig,Makefile}: add-add conflict (dgrp driver added close to other staging drivers) - drivers/staging/ipack/devices/ipoctal.c: "split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device" * tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits) tty/serial: Add kgdb_nmi driver tty/serial/amba-pl011: Quiesce interrupts in poll_get_char tty/serial/amba-pl011: Implement poll_init callback tty/serial/core: Introduce poll_init callback kdb: Turn KGDB_KDB=n stubs into static inlines kdb: Implement disable_nmi command kernel/debug: Mask KGDB NMI upon entry serial: pl011: handle corruption at high clock speeds serial: sccnxp: Make 'default' choice in switch last serial: sccnxp: Remove mask termios caps for SW flow control serial: sccnxp: Report actual baudrate back to core serial: samsung: Add poll_get_char & poll_put_char Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate Powerpc 8xx CPM_UART maxidl should not depend on fifo size Powerpc 8xx CPM_UART too many interrupts Powerpc 8xx CPM_UART desynchronisation serial: set correct baud_base for EXSYS EX-41092 Dual 16950 serial: omap: fix the reciever line error case 8250: blacklist Winbond CIR port 8250_pnp: do pnp probe before legacy probe ... commit fdb2f9c2ebd4f07d7b11a3bc86d8c669eb841697 Merge: 81f56e5 78c8f84 Author: Linus Torvalds Date: Mon Oct 1 12:05:36 2012 -0700 Merge tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI changes from Bjorn Helgaas: "Host bridge hotplug - Protect acpi_pci_drivers and acpi_pci_roots (Taku Izumi) - Clear host bridge resource info to avoid issue when releasing (Yinghai Lu) - Notify acpi_pci_drivers when hot-plugging host bridges (Jiang Liu) - Use standard list ops for acpi_pci_drivers (Jiang Liu) Device hotplug - Use pci_get_domain_bus_and_slot() to close hotplug races (Jiang Liu) - Remove fakephp driver (Bjorn Helgaas) - Fix VGA ref count in hotplug remove path (Yinghai Lu) - Allow acpiphp to handle PCIe ports without native hotplug (Jiang Liu) - Implement resume regardless of pciehp_force param (Oliver Neukum) - Make pci_fixup_irqs() work after init (Thierry Reding) Miscellaneous - Add pci_pcie_type(dev) and remove pci_dev.pcie_type (Yijing Wang) - Factor out PCI Express Capability accessors (Jiang Liu) - Add pcibios_window_alignment() so powerpc EEH can use generic resource assignment (Gavin Shan) - Make pci_error_handlers const (Stephen Hemminger) - Cleanup drivers/pci/remove.c (Bjorn Helgaas) - Improve Vendor-Specific Extended Capability support (Bjorn Helgaas) - Use standard list ops for bus->devices (Bjorn Helgaas) - Avoid kmalloc in pci_get_subsys() and pci_get_class() (Feng Tang) - Reassign invalid bus number ranges (Intel DP43BF workaround) (Yinghai Lu)" * tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (102 commits) PCI: acpiphp: Handle PCIe ports without native hotplug capability PCI/ACPI: Use acpi_driver_data() rather than searching acpi_pci_roots PCI/ACPI: Protect acpi_pci_roots list with mutex PCI/ACPI: Use acpi_pci_root info rather than looking it up again PCI/ACPI: Pass acpi_pci_root to acpi_pci_drivers' add/remove interface PCI/ACPI: Protect acpi_pci_drivers list with mutex PCI/ACPI: Notify acpi_pci_drivers when hot-plugging PCI root bridges PCI/ACPI: Use normal list for struct acpi_pci_driver PCI/ACPI: Use DEVICE_ACPI_HANDLE rather than searching acpi_pci_roots PCI: Fix default vga ref_count ia64/PCI: Clear host bridge aperture struct resource x86/PCI: Clear host bridge aperture struct resource PCI: Stop all children first, before removing all children Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()" PCI: Provide a default pcibios_update_irq() PCI: Discard __init annotations for pci_fixup_irqs() and related functions PCI: Use correct type when freeing bus resource list PCI: Check P2P bridge for invalid secondary/subordinate range PCI: Convert "new_id"/"remove_id" into generic pci_bus driver attributes xen-pcifront: Use hotplug-safe pci_get_domain_bus_and_slot() ... commit 99dbb1632f1165c2726056ebfce6edde0e5a0208 Merge: aae6f98 9c33c51 Author: Linus Torvalds Date: Mon Oct 1 09:06:36 2012 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull the trivial tree from Jiri Kosina: "Tiny usual fixes all over the place" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits) doc: fix old config name of kprobetrace fs/fs-writeback.c: cleanup riteback_sb_inodes kerneldoc btrfs: fix the commment for the action flags in delayed-ref.h btrfs: fix trivial typo for the comment of BTRFS_FREE_INO_OBJECTID vfs: fix kerneldoc for generic_fh_to_parent() treewide: fix comment/printk/variable typos ipr: fix small coding style issues doc: fix broken utf8 encoding nfs: comment fix platform/x86: fix asus_laptop.wled_type module parameter mfd: printk/comment fixes doc: getdelays.c: remember to close() socket on error in create_nl_socket() doc: aliasing-test: close fd on write error mmc: fix comment typos dma: fix comments spi: fix comment/printk typos in spi Coccinelle: fix typo in memdup_user.cocci tmiofb: missing NULL pointer checks tools: perf: Fix typo in tools/perf tools/testing: fix comment / output typos ... commit e4d680c706284ca0413a84bd2a28fda76b360904 Merge: a248afd 5160b46 Author: John W. Linville Date: Mon Oct 1 07:39:36 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 33766368f6532313571534f9112b1796d6651bbe Author: Jouni Malinen Date: Sun Sep 30 19:47:40 2012 +0300 mac80211: Fix FC masking in BIP AAD generation The bits used in the mask were off-by-one and ended up masking PwrMgt, MoreData, Protected fields instead of Retry, PwrMgt, MoreData. Fix this and to mask the correct fields. While doing so, convert the code to mask the full FC using IEEE80211_FCTL_* defines similarly to how CCMP AAD is built. Since BIP is used only with broadcast/multicast management frames, the Retry field is always 0 in these frames. The Protected field is also zero to maintain backwards compatibility. As such, the incorrect mask here does not really cause any problems for valid frames. In theory, an invalid BIP frame with Retry or Protected field set to 1 could be rejected because of BIP validation. However, no such frame should show up with standard compliant implementations, so this does not cause problems in normal BIP use. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg commit a248afdc1b5916c2bfd007233112333d85aa28f6 Merge: d379142 c487606 Author: David S. Miller Date: Sun Sep 30 02:30:16 2012 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== Here is another batch of updates intended for 3.7... Highlights include an hci_connect re-write in Bluetooth, HCI/LLC layer separation in NFC, removal of the raw pn544 NFC driver, NFC LLCP raw sockets support, improved IBSS auth frame handling in mac80211, full-MAC AP mode notification support in mac80211, a lot of attention paid to brcmfmac, and the usual level of updates to iwlwifi, ath9k, mwifiex, and rt2x00, and various other updates. ==================== Signed-off-by: David S. Miller commit 6a06e5e1bb217be077e1f8ee2745b4c5b1aa02db Merge: d9f72f3 6672d90 Author: David S. Miller Date: Fri Sep 28 14:40:49 2012 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/team/team.c drivers/net/usb/qmi_wwan.c net/batman-adv/bat_iv_ogm.c net/ipv4/fib_frontend.c net/ipv4/route.c net/l2tp/l2tp_netlink.c The team, fib_frontend, route, and l2tp_netlink conflicts were simply overlapping changes. qmi_wwan and bat_iv_ogm were of the "use HEAD" variety. With help from Antonio Quartulli. Signed-off-by: David S. Miller commit 5160b46f3e53c41c4c6b9e7cdbe0401d3afbfb63 Author: Sujith Manoharan Date: Fri Sep 28 11:13:51 2012 +0530 ath9k: Fix BTCOEX weight initialization The WLAN/BT weights have to set correctly before BTCOEX is initialized. Currently, this is not done for all chips in the AR9003 family. This patch fixes this issue by setting the weights in the init path. While at it, rename ar9462_wlan_weights to mci_wlan_weights since it is common to both AR9462 and AR9565. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 5570a914f28f58de6839a4d532e98eb8167bd57d Author: Wei Yongjun Date: Fri Sep 28 12:59:43 2012 +0800 mwifiex: convert to use le16_add_cpu() Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu(). dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 2db96c3d0a1f716fc90451cc2ed13842471f4658 Author: Avinash Patil Date: Thu Sep 27 19:00:10 2012 -0700 mwifiex: enhance RX reordering to avoid packet drop during host sleep Once hostsleep is activated, this patch takes care of not dropping packets in RX reorder table. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit ff9bd2d8d95aedb661714536cb919281540f9772 Author: Sven Eckelmann Date: Thu Sep 27 16:41:02 2012 +0200 ath9k_hw: Handle AR_INTR_SYNC_HOST1_(FATAL|PERR) on AR9003 Interrupts with the sync_cause AR_INTR_SYNC_HOST1_FATAL and AR_INTR_SYNC_HOST1_PERR have to be handled using a chip reset. Otherwise a interrupt storm with unhandled interrupts will cause a hang or crash of the machine. Signed-off-by: Sven Eckelmann Signed-off-by: Simon Wunderlich Signed-off-by: John W. Linville commit 6c8c4f7299b89ef369fd332e5f76c2fd23a62abe Author: Arend van Spriel Date: Thu Sep 27 14:17:57 2012 +0200 brcmfmac: remove brcmf_update_prof() function The function brcmf_update_prof() only add complexity that is not needed. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 06bb123e5994351a158ce3daa4b19f9cc1486c9d Author: Arend van Spriel Date: Thu Sep 27 14:17:56 2012 +0200 brcmfmac: remove brcmf_read_prof() function The function brcmf_read_prof() provided access to fields with brcmf_cfg80211_profile structure using a field id, but the calling function can easily access that structure directly. This patch removes the function. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 27a68fe391231b26e1143d67ac368053b1bf5a37 Author: Arend van Spriel Date: Thu Sep 27 14:17:55 2012 +0200 brcmfmac: rename structure brcmf_cfg80211_priv Renamed structure to brcmf_cfg80211_info as it is not really a private structure since it is exposed in header file. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1a87334239757b69eb9885979c32bbf871b3ec88 Author: Hante Meuleman Date: Thu Sep 27 14:17:54 2012 +0200 brcmfmac: add hostap supoort. This patch adds support for host AP mode. Reviewed-by: Arend Van Spriel Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 5db6e95645553ff027ad5a093a61cc4a33596574 Author: Arend van Spriel Date: Thu Sep 27 14:17:53 2012 +0200 brcmfmac: remove two obsolete structure definitions The structures brcmf_cfg80211_dev and brcmf_cfg80211_iface are only adding complexity and provide no additional value. These have been removed in this patch. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit b451ec94de3338da33aedd1768a197790bf23eca Author: Arend van Spriel Date: Thu Sep 27 14:17:52 2012 +0200 brcmfmac: use brcmf_cfg80211_priv to interface with wl_cfg80211 code The low-level driver part interfaces with wl_cfg80211 part using brcmf_cfg80211_dev structure as handle. As brcmf_cfg80211_priv is defined in interface it is more efficient to use that as handle in function calls. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c3567a04cd63c98a27a7b5f2d9059f159943de5f Author: Arend van Spriel Date: Thu Sep 27 14:17:51 2012 +0200 brcmfmac: get rid of extern keyword in wl_cfg80211.h The function declarations in wl_cfg80211.h used the extern keyword but it is redundant as that is implicit so they were removed. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1e2d958b5108ac40d7fb0b33355ec37480fdbe55 Author: Hante Meuleman Date: Thu Sep 27 14:17:50 2012 +0200 brcmfmac: notify common driver about usb tx completion. brcmf_usb_tx_complete now calls brcmf_txcomplete to correct eapol counter. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 040128950595d3e71ff84810044b8ed35208232f Author: Hante Meuleman Date: Thu Sep 27 14:17:49 2012 +0200 brcmfmac: use define instead of hardcoded values. brcmf_parse_tlvs was using hardcoded values. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit f09d0c02b63d9fd9873087b21311507988674221 Author: Hante Meuleman Date: Thu Sep 27 14:17:48 2012 +0200 brcmfmac: use different fw api for encryption,auth. config This patch changes the commands being used to configure encryption and authentication. These new methods are needed for when p2p and hostap support are added. Reviewed-by: Arend Van Spriel Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 70398a59297965d4af1a0022660bb103dfa59c42 Author: Hante Meuleman Date: Thu Sep 27 14:17:47 2012 +0200 brcmfmac: use wait_event_timeout for fw control packets over usb. firmware control packets over usb are async acked. This is awaited for by using interruptible wait. This can be interrupted by signal which results in undesirable behavior. Instead wait_event_timeout is used. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 2d838bb608e2d1f6cb4280e76748cb812dc822e7 Author: Larry Finger Date: Wed Sep 26 12:32:02 2012 -0500 b43legacy: Fix crash on unload when firmware not available When b43legacy is loaded without the firmware being available, a following unload generates a kernel NULL pointer dereference BUG as follows: [ 214.330789] BUG: unable to handle kernel NULL pointer dereference at 0000004c [ 214.330997] IP: [] drain_workqueue+0x15/0x170 [ 214.331179] *pde = 00000000 [ 214.331311] Oops: 0000 [#1] SMP [ 214.331471] Modules linked in: b43legacy(-) ssb pcmcia mac80211 cfg80211 af_packet mperf arc4 ppdev sr_mod cdrom sg shpchp yenta_socket pcmcia_rsrc pci_hotplug pcmcia_core battery parport_pc parport floppy container ac button edd autofs4 ohci_hcd ehci_hcd usbcore usb_common thermal processor scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc scsi_dh_alua scsi_dh fan thermal_sys hwmon ata_generic pata_ali libata [last unloaded: cfg80211] [ 214.333421] Pid: 3639, comm: modprobe Not tainted 3.6.0-rc6-wl+ #163 Source Technology VIC 9921/ALI Based Notebook [ 214.333580] EIP: 0060:[] EFLAGS: 00010246 CPU: 0 [ 214.333687] EIP is at drain_workqueue+0x15/0x170 [ 214.333788] EAX: c162ac40 EBX: cdfb8360 ECX: 0000002a EDX: 00002a2a [ 214.333890] ESI: 00000000 EDI: 00000000 EBP: cd767e7c ESP: cd767e5c [ 214.333957] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 214.333957] CR0: 8005003b CR2: 0000004c CR3: 0c96a000 CR4: 00000090 [ 214.333957] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 214.333957] DR6: ffff0ff0 DR7: 00000400 [ 214.333957] Process modprobe (pid: 3639, ti=cd766000 task=cf802e90 task.ti=cd766000) [ 214.333957] Stack: [ 214.333957] 00000292 cd767e74 c12c5e09 00000296 00000296 cdfb8360 cdfb9220 00000000 [ 214.333957] cd767e90 c104c4fd cdfb8360 cdfb9220 cd682800 cd767ea4 d0c10184 cd682800 [ 214.333957] cd767ea4 cba31064 cd767eb8 d0867908 cba31064 d087e09c cd96f034 cd767ec4 [ 214.333957] Call Trace: [ 214.333957] [] ? skb_dequeue+0x49/0x60 [ 214.333957] [] destroy_workqueue+0xd/0x150 [ 214.333957] [] ieee80211_unregister_hw+0xc4/0x100 [mac80211] [ 214.333957] [] b43legacy_remove+0x78/0x80 [b43legacy] [ 214.333957] [] ssb_device_remove+0x1d/0x30 [ssb] [ 214.333957] [] __device_release_driver+0x5a/0xb0 [ 214.333957] [] driver_detach+0x87/0x90 [ 214.333957] [] bus_remove_driver+0x6c/0xe0 [ 214.333957] [] driver_unregister+0x40/0x70 [ 214.333957] [] ssb_driver_unregister+0xb/0x10 [ssb] [ 214.333957] [] b43legacy_exit+0xd/0xf [b43legacy] [ 214.333957] [] sys_delete_module+0x14e/0x2b0 [ 214.333957] [] ? vfs_write+0xf7/0x150 [ 214.333957] [] ? tty_write_lock+0x50/0x50 [ 214.333957] [] ? sys_write+0x38/0x70 [ 214.333957] [] syscall_call+0x7/0xb [ 214.333957] Code: bc 27 00 00 00 00 a1 74 61 56 c1 55 89 e5 e8 a3 fc ff ff 5d c3 90 55 89 e5 57 56 89 c6 53 b8 40 ac 62 c1 83 ec 14 e8 bb b7 34 00 <8b> 46 4c 8d 50 01 85 c0 89 56 4c 75 03 83 0e 40 80 05 40 ac 62 [ 214.333957] EIP: [] drain_workqueue+0x15/0x170 SS:ESP 0068:cd767e5c [ 214.333957] CR2: 000000000000004c [ 214.341110] ---[ end trace c7e90ec026d875a6 ]---Index: wireless-testing/drivers/net/wireless/b43legacy/main.c The problem is fixed by making certain that the ucode pointer is not NULL before deregistering the driver in mac80211. Signed-off-by: Larry Finger Cc: Stable [v 3.3.0+] Signed-off-by: John W. Linville commit 6a73f507cf51a6a9e327fd9e36690072c657d36e Author: Bala Shanmugam Date: Wed Sep 26 17:04:26 2012 +0530 ath9k: Enable MCI for AR9565 Signed-off-by: Bala Shanmugam Signed-off-by: John W. Linville commit 58901d181f12807d6bfa7ef29547b560740dd305 Author: Dan Carpenter Date: Wed Sep 26 10:21:48 2012 +0300 brcmfmac: use kcalloc() to prevent integer overflow The multiplication here looks like it could overflow. I've changed it to use kcalloc() to prevent that. Signed-off-by: Dan Carpenter Acked-by: Arend van Spriel Signed-off-by: John W. Linville commit 365d2ebcaba5f08590b8a988d137f7139a8163a5 Author: Sujith Manoharan Date: Wed Sep 26 12:22:08 2012 +0530 ath9k: Fix chainmask selection for AR9462 Force chain 1 to be used for CCK rates since the target power table stored in EEPROM is too high to transmit with both chains. This is needed to avoid regulatory violation. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8b4509f642743e87f9a5c34bacb5d4b63ac730b4 Author: Kevin Gan Date: Tue Sep 25 20:23:45 2012 -0700 mwifiex: add inactivity deauth support for ap The firmware has support for this feature, so we offload it to firmware. In start_ap, driver passes the inactivity timeout value to firmware via TLVs and firmware will report STA_DEAUTH event to driver when inactivity timer is fired. Signed-off-by: Kevin Gan Signed-off-by: Avinash Patil Signed-off-by: Nishant Sarmukadam Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3215215a9e7cd8010ba83bbaf75a718aad5aec0d Author: Stone Piao Date: Tue Sep 25 20:23:44 2012 -0700 mwifiex: set txpd when send a mgmt frame for AP and GO mode Set packet type and packet offset in txpd when send a mgmt frame in AP and GO mode. Signed-off-by: Stone Piao Signed-off-by: Kevin Gan Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8a6e231766bdd2e1d228a14af89e36dc190be3a6 Author: Stone Piao Date: Tue Sep 25 20:23:43 2012 -0700 mwifiex: parse P2P IEs from beacon_data Parse P2P IEs and set them to FW with related masks. Signed-off-by: Stone Piao Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 9197ab9e5f3016ad05e1aa3e627ddf7d08927ccf Author: Stone Piao Date: Tue Sep 25 20:23:42 2012 -0700 mwifiex: add support for P2P GO in interface type change When cfg80211 calls to change interface type for P2P GO, send P2P mode config commands to firmware and set bss role and bss mode accordingly. Signed-off-by: Stone Piao Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e1a2b7a394ad8c2da9d7f4276680aa9c42e0bd97 Author: Stone Piao Date: Tue Sep 25 20:23:41 2012 -0700 mwifiex: add support for P2P client in interface type change When cfg80211 calls to change interface type for P2P client, send P2P mode config commands to firmware. Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 197f4a2ec99dd3a70b27fba7e827d1fa98114ce3 Author: Stone Piao Date: Tue Sep 25 20:23:40 2012 -0700 mwifiex: add P2P interface Due to firmware design, driver needs to add a default P2P interface to implement find phase and action frame handshake. Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7bff9c974e1a70819c30c37d8ec0d84d456f8237 Author: Stone Piao Date: Tue Sep 25 20:23:39 2012 -0700 mwifiex: send firmware initialization commands synchronously The driver will send some commands to firmware during the initialization. Currently these commands are sent asynchronously, which means that we firstly insert all of them to a pre-allocated command queue, and then start to process them one by one. The command queue will soon be exhausted if we keep adding new initialization commands. This issue can be resolved by sending initialization commands synchronously because each command is consumed and the buffer is recycled before queuing next command. Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit ea021f56009207e8023c1c4ac4939be3dbe80dbf Author: Stone Piao Date: Tue Sep 25 20:23:38 2012 -0700 mwifiex: append each IE into a seperate IE buffer When scan is triggered from cfg80211, the request contains some IEs and we should parse all the IEs and append each IE into a seperate IE buffer. Signed-off-by: Stone Piao Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit eab1c76bfc40904ddc9edc4f076ff7749696870a Author: Stone Piao Date: Tue Sep 25 20:23:37 2012 -0700 mwifiex: process remain on channel expired event Process remain on channel expired event, and notify cfg80211. Signed-off-by: Stone Piao Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7feb4c48313d58b445a91a598d99c025029ce00b Author: Stone Piao Date: Tue Sep 25 20:23:36 2012 -0700 mwifiex: implement remain_on_channel and cancel_remain_on_channel Add a new command to implement remain_on_channel and cancel_remain_on_channel. Signed-off-by: Stone Piao Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 2dbaf751b1dec3a603130a475f94cc4d3f404362 Author: Stone Piao Date: Tue Sep 25 20:23:35 2012 -0700 mwifiex: report received management frames to cfg80211 Process the management frames received from firmware and report them to cfg80211. Signed-off-by: Stone Piao Signed-off-by: Kiran Divekar Signed-off-by: Kevin Gan Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3cec68701a104c8aa0b5c38b6bfad4193cdff3fe Author: Stone Piao Date: Tue Sep 25 20:23:34 2012 -0700 mwifiex: implement cfg80211 mgmt_frame_register handler Add a new command to implement mgmt_frame_register. Signed-off-by: Stone Piao Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 83719be861d23013ae73e126f5cd422ec584c53a Author: Stone Piao Date: Tue Sep 25 20:23:33 2012 -0700 mwifiex: advertise mgmt_stype to cfg80211 Advertise supported management frame types to cfg80211. Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e39faa73ef14f67d11d1ed19e398964c4ecebbb9 Author: Stone Piao Date: Tue Sep 25 20:23:32 2012 -0700 mwifiex: implement cfg80211 mgmt_tx handler Implement mgmt_tx in cfg80211 ops through data path. Advertise probe resp offload and skip to send probe resp in AP or GO mode. Signed-off-by: Stone Piao Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a8aa69dca7f754c9a2b524c90fda0209187ae9d7 Author: Stone Piao Date: Tue Sep 25 20:23:31 2012 -0700 mwifiex: fix coding style issue Remove unnecessary blank lines and extra tab. Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 302a3c3a387eb01cc055684094e9450a79780acd Author: Sujith Manoharan Date: Wed Sep 26 07:55:18 2012 +0530 ath9k: Add a debugfs file to adjust antenna diversity Location: //ieee80211/phy#/ath9k/diversity Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 69c6ac60f559f85ed47fbfc2bcaa43a7bc1583ff Author: Sujith Manoharan Date: Wed Sep 26 07:54:43 2012 +0530 ath9k: Handle errors properly in MCI initialization The MCI initialization path has various points of failures, handle these to ensure that we bail out correctly in such cases. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a549459c96ba99a691aa1cafeabdd327a7a2bfcf Author: Thomas Wagner Date: Tue Sep 25 21:32:55 2012 +0530 ath9k: Fix rx filtering issue for older chips We need to have the promiscuous mode enabled for older chipsets so that the olderchips hardware does not filters out some valid/necessary frames that need to be sent to mac80211. Fix this by enabling promiscus mode for all the chipsets whose macversion <= AR9160 chipsets. This should fix https://bugzilla.kernel.org/show_bug.cgi?id=45591 shafi: made the fix generic by having the frame filtering disabled for chipsets older than AR9280. Cc: Javier Cardona Signed-off-by: Thomas Wagner Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit c487606f835a93a725bac1aefd536be98f22474d Merge: d9f72f3 97ea6d0 Author: John W. Linville Date: Fri Sep 28 11:11:16 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: net/nfc/netlink.c Signed-off-by: John W. Linville commit fb6ca6d154cdcd53e7f27f8dbba513830372699b Author: Alex Deucher Date: Wed Sep 26 12:40:45 2012 -0400 drm/radeon: force MSIs on RS690 asics There are so many quirks, lets just try and force this for all RS690s. See: https://bugs.freedesktop.org/show_bug.cgi?id=37679 Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 3a6d59df80897cc87812b6826d70085905bed013 Author: Alex Deucher Date: Wed Sep 26 12:31:45 2012 -0400 drm/radeon: Add MSI quirk for gateway RS690 Fixes another system on: https://bugs.freedesktop.org/show_bug.cgi?id=37679 Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 61051afd3540da71c1ac32f17ed663595a0f7ecb Author: Marek Olšák Date: Tue Sep 25 03:34:01 2012 +0200 drm/radeon: allow MIP_ADDRESS=0 for MSAA textures on Evergreen MIP_ADDRESS should point to the resolved FMASK for an MSAA texture. Setting MIP_ADDRESS to 0 means the FMASK pointer is invalid (the GPU won't read the memory then). The userspace has to set MIP_ADDRESS to 0 and *not* emit any relocation for it. Signed-off-by: Marek Olšák Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 46fc8781bf428ce1094a5980ca2b92a49d33a8ca Author: Marek Olšák Date: Tue Sep 25 01:45:33 2012 +0200 drm/radeon/kms: allow STRMOUT_BASE_UPDATE on RS780 and RS880 This is required to make streamout work there. Signed-off-by: Marek Olšák Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit fa87e62d357ccf73831cd52ed316593d0968020d Author: Dmitry Cherkasov Date: Mon Sep 17 19:36:19 2012 +0200 drm/radeon: add 2-level VM pagetables support v9 PDE/PTE update code uses CP ring for memory writes. All page table entries are preallocated for now in alloc_pt(). It is made as whole because it's hard to divide it to several patches that compile and doesn't break anything being applied separately. Tested on cayman card. v2: rebased on top of "refactor set_page chipset interface v3", code cleanups v3: switched offsets calc macros to inline funcs where possible, remove pd_addr from radeon_vm, switched RADEON_BLOCK_SIZE define, to 9 (and PTE_COUNT to 1 << BLOCK_SIZE) v4 (ck): move "incr" documentation to previous patch, cleanup and document RADEON_VM_* constants, change commit message to our usual format, simplify patch allot by removing everything current not necessary, disable SI workaround. v5: (agd5f): Fix typo in tables_size calculation in radeon_vm_alloc_pt(). Second line should have been '+=' rather than '='. v6: fix npdes calculation. In scenario when pfns to be mapped overlap two PDE spans: +-----------+-------------+ | PDE span | PDE span | +-----------+----+--------+ | | +---------+ | pfns | +---------+ the following npdes calculation gives incorrect result: npdes = (nptes >> RADEON_VM_BLOCK_SIZE) + 1; For the case above picture it should give npdes = 2, but gives one. This patch corrects it by rounding last pfn up to 512 border, first - down to 512 border and then subtracting and dividing by 512. v7: Make npde calculation clearer, fix ndw calculation. v8: (agd5f): reserve enough for 2 full VM PTs, add some additional comments. v9: fix typo in npde calculation Signed-off-by: Dmitry Cherkasov Signed-off-by: Christian König Signed-off-by: Alex Deucher commit dce34bfd633d23ebddb196af8a4fa1c93c90ed07 Author: Christian König Date: Mon Sep 17 19:36:18 2012 +0200 drm/radeon: refactor set_page chipset interface v5 Cleanup the interface in preparation for hierarchical page tables. v2: add incr parameter to set_page for simple scattered PTs uptates added PDE-specific flags to r600_flags and radeon_drm.h removed superfluous value masking with 0xffffffff v3: removed superfluous bo_va->valid checking changed R600_PTE_VALID to R600_ENTRY_VALID to handle PDE too v4 (ck): fix indention style, rework and fix typos in commit message, add documentation for incr parameter, also use incr parameter for system pages v5 (agd5f): use upper_32_bits() and minor white space fixes Signed-off-by: Christian König Signed-off-by: Dmitry Cherkassov Signed-off-by: Alex Deucher commit af026c5bd14cb57b230a63bdee6f73677a06f010 Author: Michel Dänzer Date: Thu Sep 20 10:31:10 2012 +0200 drm/radeon: Fix scratch register leak in IB test. Restructure the code to jump out via labels instead of directly returning early. Also make error reporting consistent across all hardware generations. Signed-off-by: Michel Dänzer Reviewed-by: Simon Kitching Reviewed-by: Christian König Signed-off-by: Alex Deucher commit bced76f27165ca7733437715185c3a1aa526f7a1 Author: Alex Deucher Date: Fri Sep 14 09:45:50 2012 -0400 drm/radeon: restore backlight level on resume Restore the backlight level on resume. Some systems need to explicitly restore the backlight level on resume. Fixes panel resume on my Trinity laptop and may fix the following bugs: https://bugs.freedesktop.org/show_bug.cgi?id=43829 https://bugzilla.kernel.org/show_bug.cgi?id=46241 Signed-off-by: Alex Deucher commit 6d92f81dcf2d40b8ebb947bba5435642b830f649 Author: Alex Deucher Date: Fri Sep 14 09:59:26 2012 -0400 drm/radeon: add get_backlight_level callback Read back the backlight level from the hw. Needed for proper backlight restoration on resume. Signed-off-by: Alex Deucher commit 2e3b3b105ab3bb5b6a37198da4f193cd13781d13 Author: Alex Deucher Date: Fri Sep 14 10:59:26 2012 -0400 drm/radeon: only adjust default clocks on NI GPUs SI asics store voltage information differently so we don't have a way to deal with it properly yet. Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit c0fd0834aa0ec6b8e3bb97876b842f7b123c54d3 Author: Alex Deucher Date: Fri Sep 14 12:30:51 2012 -0400 drm/radeon: validate PPLL in crtc fixup This allows us to bail if we can't support the requested setup from a PPLL perspective. Prevents broken setups from being attempted. Signed-off-by: Alex Deucher commit 57b35e29cf4e45eb163631c4ece10dbc259ddf30 Author: Alex Deucher Date: Mon Sep 17 17:34:45 2012 -0400 drm/radeon: work around KMS modeset limitations in PLL allocation (v2) Since the current KMS API sets the mode independantly on each crtc, we may end up with resource conflicts. The PLL allocation is one of those cases. In the following example we have 3 crtcs in use driving 2 DVI connectors and 1 DP connector. On the initial kernel modeset for fbdev, the display topology ends up as follows: crtc0 -> DP-0 crtc1 -> DVI-0 crtc2 -> DVI-1 Because this is the first modeset, all of the PLLs are available as none have been assigned. So we end up with the following: crtc0 uses DCPLL crtc1 uses PPLL2 crtc2 uses PPLL1 When X starts, it assigns a different topology: crtc0 -> DVI-0 crtc1 -> DP-0 crtc2 -> DVI-1 However, since the KMS API is per crtc, we set the mode on each crtc independantly. When it comes time to set the mode on crtc0, the topology for crtc1 and crtc2 are still intact. crtc1 and crtc2 are already assigned PPLL2 and PPLL1 so when it comes time to set the mode on crtc0, crtc1 and crtc2 have not been torn down yet, so there appears to be no PLLs available. In reality, we are reconfiguring the entire display topology, however, since each crtc is handled independantly, we don't know that in the driver at each crtc mode set time. This patch checks to see if the same connector is being driven by another crtc, and if so, uses the PLL already associated with it. v2: store connector in the radeon crtc struct, simplify checking. Signed-off-by: Alex Deucher commit af390f4dd35373b3ca32bafc12d7f2ad12840529 Author: Eliad Peller Date: Mon Sep 3 18:27:58 2012 +0300 wlcore: protect wlcore_op_set_key with mutex wlcore_op_set_key() calls wl18xx_set_key(), which in turn executes some of his function calls without acquiring wl->mutex and making sure the fw is awake. Adding mutex_lock()/ps_elp_wakeup() calls is not enough, as wl18xx_set_key() calls wl1271_tx_flush() which can't be called while the mutex is taken. Add the required calls to wlcore_op_set_key, but limit the queues_stop and flushing to the only encryption types in which a spare block might be needed (GEM and TKIP). [Arik - move state != ON check] Signed-off-by: Eliad Peller Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit ab2c4f37dcef5bd517a95a32da50d5ed0cc24cb5 Author: Eliad Peller Date: Sun Sep 2 13:30:04 2012 +0300 wlcore: decrease elp timeout The current elp timeout (the same as the dynamic ps timeout - 1500ms) is too high. Usually, wl1271_ps_elp_sleep() get called right after tx/rx, which is fine, but some command might get sent even when there is no traffic (e.g. ht changes triggered by beacon frames), and leaving the device awake for 1500ms in this case is redundant. Use a timeout of 30ms. The fw won't enter elp anyway before the dynamic-ps timeout was expired as well (and it entered ps successfully). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 6f8d6b20bb0bdda333e781faf775db14cb4660dd Author: Ido Yariv Date: Sun Sep 2 01:32:47 2012 +0300 wlcore: Load the NVS file asynchronously The NVS file is loaded by the device's probe callback with the help of request_firmware(). Since request_firmware() relies on udevd, the modules cannot be loaded before hotplug events are handled. Fix this by loading the NVS file asynchronously and continue initialization only after the firmware request is over. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 3992eb2bf2b1f6d244cf527c922c0cbd810e69c5 Author: Ido Yariv Date: Sun Sep 2 12:29:27 2012 +0300 wlcore: Refactor probe Move most of the device-specific probe functionality into setup(), a new op. By doing this, wlcore_probe will be the first to request a firmware from userspace, making it easier to load the NVS file asynchronously. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit d556023895c8968fd97ccb08300006b78975a23b Author: Ido Yariv Date: Tue Aug 21 17:17:13 2012 +0300 wlcore: Allow memory access when the FW crashes When the no_recovery flag is used, the recovery work will not restart the FW and the state will not be set to 'on'. To enable post-mortem analysis, allow memory access in the 'restarting' state. Also, since the FW might not be operational, don't fail the read/write operations if elp_wakeup fails. Reported-by: Arkady Miasnikov Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 001e39a8effd5a9774153ca6ca67849a93b95852 Author: Eliad Peller Date: Thu Aug 16 13:52:47 2012 +0300 wlcore: use dynamic keep-alive template ids Currently, all the (station) roles use the same keep-alive template id (0). However, the klv template ids shouldn't be shared by different roles. Implement a simple klv_templates bitmap, and let each role allocate its own klv template id on role initialization. [Arik - remove invalidation of KLV template when getting into "idle". This is already handled in unjoin] Signed-off-by: Eliad Peller Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 4137c17c8c88eca51a9e9d53c5eea0ea3d49940e Author: Eliad Peller Date: Thu Aug 16 13:32:32 2012 +0300 wlcore: invalidate keep-alive template on disconnection Previously, invalidation of the keep-alive template was done when going idle. However, while removing the idle-handling we didn't move the keep-alive template invalidation to another place. This finally resulted in fw error when trying to use the keep-alive template by another role. (Note that we still have an error here - each role should have its unique keep-alive template id, while currently they all use CMD_TEMPL_KLV_IDX_NULL_DATA (0). This only works now because we don't support concurrent connected stations yet) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 8c5dab1a8449428685414c0de494b77841571fd3 Author: Arik Nemtsov Date: Wed Aug 15 19:11:43 2012 +0300 wl18xx: default to siso40 in 2.4ghz with a single antenna The driver used siso20 in this case for legacy reasons. Reported-by: Ido Reis Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit a8311c8a9a7c41de9cc2d5e1573ff7005b4959ab Author: Ido Yariv Date: Wed Aug 15 18:29:04 2012 +0300 wlcore: Fix unbalanced interrupts enablement The interrupt line is enabled by wl12xx_enable_interrupts and wl18xx_enable_interrupts, but it will not be disabled in all failure paths. Fix this. Signed-off-by: Ido Yariv Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 792a58a8720f02c8f340583f6ee54c9eb46adf0b Author: Ido Yariv Date: Wed Aug 15 15:09:30 2012 +0300 wlcore: Don't recover during boot While recursive recovery is avoided during shutdown, a new recovery may be queued when the FW boots. The recovery work will then try to stop an already stopped hardware, which will most likely result in a kernel panic. Fix this by verifying that wl->state is on before queueing a new recovery. Signed-off-by: Ido Yariv Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 1defbeb0426b5ca6280369b8fa89f0170420ff40 Author: Yair Shapira Date: Tue Aug 7 17:38:21 2012 +0300 wlcore/wl18xx: add phy_fw_version_str to debugfs driver_state add phy_fw_version_str to debugfs driver_state file. information is taken during boot and stored in wl->chip.phy_fw_ver_str. Signed-off-by: Yair Shapira Signed-off-by: Luciano Coelho commit 61932ba59f5278e3f0c9fbded1a1af39ef89333f Author: Arik Nemtsov Date: Mon Aug 6 11:21:39 2012 +0300 wlcore: spi: use private max-buf-size limit Limit SPI transmissions to the wl12xx max buffer size, as only 12xx was tested with SPI. This allows us to remove the global aggregation buffer constant. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit e166de556f7795a3061e49deca28d61b3764d512 Author: Yair Shapira Date: Sun Aug 5 16:51:16 2012 +0300 wl18xx: number_of_assembled_ant5 indicates if A band is enabled Use number_of_assembled_ant5 phy param to indicate if A band is enabled: if number_of_assembled_ant5 != 0 then it is enabled otherwise it is disabled. This aligns with phy implementation that uses this param both to indicate if band is active and the number of antennas. This parameter replaces enable_11a module param that was removed. User-Space applications can use wlconf and/or INI files to disable A band using this parameter. Signed-off-by: Yair Shapira Signed-off-by: Igal Chernobelsky Signed-off-by: Luciano Coelho commit e7a6ba29d3a1610a5e9706e1892a07ad74b34c9a Author: Arik Nemtsov Date: Thu Aug 2 22:00:34 2012 +0300 wlcore: allow up to 3 running STA interfaces in combinations This allows us to have a p2p-management interface (in STA mode), as we as a group dedicated interface. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 889300fa53702ce3ed063eeadddfa7775afc8cde Author: Eliad Peller Date: Thu Jul 26 17:17:06 2012 +0300 wlcore: lazy-enable device roles Enable device roles just before starting it. This way, a single device role should be enough for all vifs, as we can't use concurrent device roles (which require ROC) anyway. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 8dc574308b9172e2a38ac20319b7dd696b6d4741 Author: Eliad Peller Date: Thu Jul 26 17:17:05 2012 +0300 wlcore: always use wlvif->role_id for scans enabled (but not-started) sta role should be good enough for scanning (both normal and scheduled), so use it instead of the device_role. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit fc3d1db5b60ebb81f9ce2ac3a1192f2c763ab504 Author: Arik Nemtsov Date: Thu Aug 2 15:27:51 2012 +0300 wlcore: make debug prints work without dynamic debug Make debug prints operational when dynamic debug is not defined. This allows better debugging in production environments. Change the driver prefix to "wlcore" while were at it. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f4afbed9447c86e5d3cec5933ae74b902617987c Author: Arik Nemtsov Date: Thu Aug 2 20:37:21 2012 +0300 wlcore/wl18xx/wl12xx: allow up to 3 mac addresses Allow 3 native mac addresses on 18xx. On 12xx allow 2 native mac addresses and set the LAA bit to create a third mac address. This enabled operation with a separate group interface. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit d49524d3e8406e3b858650abcf846531a2104120 Author: Eliad Peller Date: Wed Aug 1 18:44:22 2012 +0300 wlcore: resume() only if sta is associated mac80211's resume() callback might get called even if the sta is not associated (but only up). The resume sequence in this case results in configuring the wake-up conditions of a non-started role, which causes fw assertion. Fix it by bailing out if the STA is not connected (like we do on suspend()). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 11bc97eb902ddac822f32dc5a890d7b6274b754d Author: Eyal Shapira Date: Thu Aug 2 07:15:19 2012 +0300 wlcore: configure wowlan regardless of wakeup conditions wowlan filters should be configured in any case in suspend/resume. This shouldn't be dependent on whether wakeup conditions are the same for suspend and resume states. Only the FW command to reconfigure wakeup conditions should be avoided in such a case. Reported-by: Arik Nemtsov Signed-off-by: Eyal Shapira Signed-off-by: Luciano Coelho commit 26a309c7586140afd40628a7031993afbaae0f07 Author: Igal Chernobelsky Date: Sun Jul 29 18:21:12 2012 +0300 wlcore/wl18xx/wl12xx: aggregation buffer size set Aggregation buffer size is set separately per 18xx/12xx chip family. For 18xx aggragation buffer is set to 13 pages to utilize all the available tx/rx descriptors for aggregation. [Arik - remove redundant parts from the patch] Signed-off-by: Igal Chernobelsky Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f1c434df6727ebb3068b67b06eae945a80f07ad3 Author: Igal Chernobelsky Date: Tue Jul 31 14:48:46 2012 +0300 wl18xx/wl12xx: defines for Tx/Rx descriptors num Use defines for number of Tx/Rx descriptors. Signed-off-by: Igal Chernobelsky Signed-off-by: Luciano Coelho commit f83e54134a6d38437ddee0fda96692a6b0c33b0e Author: Arik Nemtsov Date: Sun Jul 29 12:18:32 2012 +0300 wlcore: tx_flush - optimize flow and force Tx during the flush Force Tx during the flush if there are packets pending in the driver. This actually solves a bug where we would get called from the mac80211 wq context, which would prevent tx_work from getting queued, even when the mutex is unlocked. Don't stop the queues needlessly if there's nothing to flush. Use a larger delay when sleeping to give the driver a chance to flush and avoid cpu busy looping. Re-arrange the loop so the last iteration is not wasted. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 958e303abba61bad165a96e22e138c4763047df2 Author: Arik Nemtsov Date: Mon Jul 23 23:50:45 2012 +0300 wlcore: make Tx flush timings more verbose Print how much time a flush took. This will help debug the time it takes to switch between channels. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 714947600eca45e053af7d77d99d1b8fb227dc83 Author: Arik Nemtsov Date: Mon Jul 23 15:18:29 2012 +0300 wlcore: allow only the lowest OFDM rate for p2p setup frames The IEEE80211_TX_CTL_NO_CCK_RATE flag is only set for mgmt packets transmitted during p2p connection setup. Make sure to use the lowest OFDM rate guarantee the peer always hears us. Change the p2p rate policy to contain only the 6mpbs rate to acheive this effect. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit c3e06fc03b64c626e150c33b897ddd728c30a316 Author: Arik Nemtsov Date: Mon Jul 23 10:38:18 2012 +0300 wlcore: AP mode - send non-data packets with basic rates This solves interoperability issues with peer that don't seem to "hear" management packets transmitted in higher rates. Based on a previous patch by Igal Chernobelsky. Cc: Igal Chernobelsky Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 6dbc5fc2596059afca1db47eb1ac78f7095d27a1 Author: Eliad Peller Date: Sun Jul 29 14:37:29 2012 +0300 wlcore: cancel recovery_work on stop() instead of remove_interface() recovery_work should be cancelled when stopping the device, not when removing an interface (this is probably a leftover from the single-role days) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 9ae48aeaa3618258f723d184871cc49ff4e50996 Author: Ido Reis Date: Mon Jun 25 18:51:54 2012 +0300 wl18xx: increase rx_ba_win_size to 32 The new FWs support a bigger BA window. Signed-off-by: Ido Reis Signed-off-by: Luciano Coelho commit 4cc533830b7e6b309e8b73196c410951fc2bed91 Author: Ido Yariv Date: Tue Jul 24 19:18:49 2012 +0300 wlcore: Prevent interaction with HW after recovery is queued When a function requests to recover, it would normally abort and will not send any additional commands to the HW. However, other threads may not be aware of the failure and could try to communicate with the HW after a recovery was queued, but before the recovery work began. Fix this by introducing an intermediate state which is set when recovery is queued, and modify all state checks accordingly. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 9b1a0a7771a62c3af4dce83e7cfd199367bd84ff Author: Eliad Peller Date: Wed Jul 25 14:22:21 2012 +0300 wlcore: consider single fw case When a single fw is being used for both single-role and multi-role cases (e.g. 18xx), wl->mr_fw_name is NULL, which results in NULL dereference while trying to load the multi-role fw. In this case, always use the single-role fw, and avoid redundant fw switch by checking for this case in wl12xx_need_fw_change() as well. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e1c497c3e4b79feea3d587c8ca76fb437c1b2495 Author: Ido Reis Date: Fri Jul 13 00:12:08 2012 +0300 wl18xx: update default phy configuration for pg2 default switch configuration set to pg2 chips (rdl 1/2/3/4). removed hacks for specific board types. pg1.x boards are now supported only using module params or specific conf files. Signed-off-by: Ido Reis Signed-off-by: Luciano Coelho commit 27b7ce7c7f364b7b075c8a6a07260c5cdd41b3bf Author: Wei Yongjun Date: Sun Aug 26 09:47:06 2012 +0800 wl12xx: remove duplicated include from main.c Remove duplicated include. Signed-off-by: Wei Yongjun Signed-off-by: Luciano Coelho commit 0635ad4550d1f30f265c7022a6988e49bf7a6fa3 Author: Tim Gardner Date: Wed Aug 29 13:09:33 2012 -0600 wlcore: Declare MODULE_FIRMWARE usage Declare any firmware that might be used by this driver. If all drivers declare their firmware usage, then a sufficiently complete list of firmware files can then be used to pare down the external linux-firmware package to just the files in actual use. Cc: Luciano Coelho Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Tim Gardner Signed-off-by: Luciano Coelho commit ae35c30c144b90266c75c5a1838753ff0c9130d0 Author: Luciano Coelho Date: Thu Sep 27 12:02:38 2012 +0300 wl12xx: use module_platform_driver Use a module_platform_driver declaration instead of replicating the init and exit functions in the driver. Based on the patch for wl18xx by Devendra Naga. Signed-off-by: Luciano Coelho commit 77e7b30b23d3360f627e991aea8255fa9914dd55 Author: Devendra Naga Date: Wed Aug 29 23:03:01 2012 +0530 wl18xx: use module_platform_driver the driver's init and exit routines can be implemented with the module_platform_driver, as the init and exit code is same as that of the module_platform_driver Signed-off-by: Devendra Naga Signed-off-by: Luciano Coelho commit 3bc2913e2cb74aac8af90b46fa251dfb8d854665 Author: Ben Widawsky Date: Wed Sep 26 16:15:20 2012 -0700 drm/i915: Fix set_caching locking On the EINVAL case we don't release struct_mutex. It should be safe to grab the lock after checking the parameters, which also resolves the issues. Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 0c96c65b48fba3ffe9822a554cbc0cd610765cd5 Author: Jani Nikula Date: Wed Sep 26 18:43:10 2012 +0300 drm/i915: use adjusted_mode instead of mode for checking the 6bpc force flag The dithering introduced in commit 3b5c78a35cf7511c15e09a9b0ffab290a42d9bcf Author: Adam Jackson Date: Tue Dec 13 15:41:00 2011 -0800 drm/i915/dp: Dither down to 6bpc if it makes the mode fit stores the INTEL_MODE_DP_FORCE_6BPC flag in the private_flags of the adjusted mode, while i9xx_crtc_mode_set() and ironlake_crtc_mode_set() use the original mode, without the flag, so it would never have any effect. However, the BPC was clamped by VBT settings, making things work by coincidence, until that part was removed in commit 4344b813f105a19f793f1fd93ad775b784648b95 Author: Daniel Vetter Date: Fri Aug 10 11:10:20 2012 +0200 Use adjusted_mode instead of mode when checking for INTEL_MODE_DP_FORCE_6BPC to make the flag have effect. v2: Don't forget to fix this in i9xx_crtc_mode_set() also, pointed out by Daniel both before and after sending the first patch. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47621 CC: Adam Jackson CC: stable@vger.kernel.org Signed-off-by: Jani Nikula Reviewed-by: Adam Jackson Signed-off-by: Daniel Vetter commit f531dcb23f9a5c6ad77e451459df965dc9a0c0c8 Author: Chris Wilson Date: Tue Sep 25 10:16:12 2012 +0100 drm/i915: Wrap external callers to IPS state with appropriate locks Finishes commit 02d719562ef40483648b2cc46899d4a2ff5953bb Author: Daniel Vetter Date: Thu Aug 9 16:44:54 2012 +0200 drm/i915: properly guard ilk ips state The core functions were annotated with their locking requirements, but we overlooked that they were exported, without any control over the locking, to debugfs. So in order to enable debugfs to read the registers without triggering sanity checks, we change the exported entry points to properly take the required locks before calling the core routines. Reported-by: yangguang Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55304 Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 199adf40ae29a563ba0afe924e12802271defcc8 Author: Ben Widawsky Date: Fri Sep 21 17:01:20 2012 -0700 drm/i915: s/cacheing/caching/ Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit adf00b26d18e1b3570451296e03bcb20e4798cdd Author: Paulo Zanoni Date: Tue Sep 25 13:23:34 2012 -0300 drm/i915: make sure we write all the DIP data bytes ... even if the actual infoframe is smaller than the maximum possible size. If we don't write all the 32 DIP data bytes the InfoFrame ECC may not be correctly calculated in some cases (e.g., when changing the port), and this will lead to black screens on HDMI monitors. The ECC value is generated by the hardware. I don't see how this should break anything since we're writing 0 and that should be the correct value, so this patch should be safe. Notice that on IVB and older we actually have 64 bytes available for VIDEO_DIP_DATA, but only bytes 0-31 actually store infoframe data: the others are either read-only ECC values or marked as "reserved". On HSW we only have 32 bytes, and the ECC value is stored on its own separate read-only register. See BSpec. This patch fixes bug #46761, which is marked as a regression introduced by commit 4e89ee174bb2da341bf90a84321c7008a3c9210d: drm/i915: set the DIP port on ibx_write_infoframe Before commit 4e89 we were just failing to send AVI infoframes when we needed to change the port, which can lead to black screens in some cases. After commit 4e89 we started sending infoframes, but with a possibly wrong ECC value. After this patch I hope we start sending correct infoframes. Version 2: - Improve commit message - Try to make the code more clear Cc: stable@vger.kernel.org Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46761 Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit 944f8a1a6f5ff8b503f3544811d0aa4ac27dd2aa Author: John W. Linville Date: Mon Sep 24 14:30:19 2012 -0400 ath5k: add missing breaks in ath5k_hw_set_spur_mitigation_filter https://bugzilla.kernel.org/show_bug.cgi?id=47681 Reported-by: David Binderman Signed-off-by: John W. Linville commit a50d1fd4525162732b45db7a372e868933746a4e Author: Rajkumar Manoharan Date: Mon Sep 24 14:04:24 2012 +0530 ath9k_hw: fix BT sleep state on chip wakeup Whenever both WLAN and BT in/out sleep mode, sometimes WLAN is not able to take back the shared LNA control after resumes from sleep mode. The idea is that for WLAN to check if BT owns LNA control and BT is in sleep mode when WLAN just resumes from sleep mode. If the condition is true, do a BTCOEX_RC_WARM_RESET for WLAN to take back the control of shared LNA. Now the issue is the BT sleep value read from MCI register is overlooked by assigning u32 into u8. Hence the above condition never be met so that WLAN used to report beacon losses and frequent connection drops. Signed-off-by: Rajkumar Manoharan Tested-by: Paul Stewart Signed-off-by: John W. Linville commit 55d2e9da744ba11eae900b4bfc2da72eace3c1e1 Author: Gertjan van Wingerde Date: Sun Sep 23 20:22:54 2012 +0200 rt2x00: Replace open coded interface checking with interface combinations. Mac80211 has formal infrastructure to specify which interface combinations are supported. Make use of this facility in favor of open coding it ourselves. So far we only have to specify we can support multiple AP interfaces, no other combinations are supported. Inspired by an earlier patch from Paul Fertser. Signed-off-by: Gertjan van Wingerde Cc: Paul Fertser Signed-off-by: John W. Linville commit 3e4c4151e56ff367fb1487ea79134eea74104077 Author: Gertjan van Wingerde Date: Sun Sep 23 20:22:53 2012 +0200 rt2x00: Deprecate max_sta_intf field of struct rt2x00_ops. All drivers set this value to 1, so there is no need (currently) to let drivers set this. Therefor, remove the field; we can always add it back when it is needed. Inspired by an earlier patch from Paul Fertser. Signed-off-by: Gertjan van Wingerde Cc: Paul Fertser Signed-off-by: John W. Linville commit fd0fc5218dc31d446fd108a6a571702a7c9bec29 Author: Dan Carpenter Date: Sun Sep 23 19:33:00 2012 +0300 mwifiex: potential corruption in mwifiex_update_uap_custom_ie() ap_custom_ie is a struct mwifiex_ie_list which is quite different and also larger than struct mwifiex_ie. It's a difference between 4196 bytes and 262. Signed-off-by: Dan Carpenter Tested-by: Stone Piao Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 046b6802c8d3c8a57448485513bf7291633e0fa3 Author: Sujith Manoharan Date: Sat Sep 22 00:14:28 2012 +0530 ath9k: Disable ASPM only for AR9285 Currently, ASPM is disabled for all WLAN+BT combo chipsets when BTCOEX is enabled. This is incorrect since the workaround is required only for WB195, which is a AR9285+AR3011 combo solution. Fix this by checking for the HW version when enabling the workaround. Cc: stable@vger.kernel.org Signed-off-by: Sujith Manoharan Tested-by: Paul Stewart Signed-off-by: John W. Linville commit 63c664242d656b8507b10d66e0088e9b640f8906 Merge: 5419575 513aa3b Author: John W. Linville Date: Tue Sep 25 15:55:02 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 5419575e838cd2cd11a1b30449eb58decdf51f9f Merge: 0c49b69 64629b9 Author: John W. Linville Date: Tue Sep 25 15:54:32 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 64629b9d412544b0ed744405944fd6edf79d7e0d Author: Vladimir Kondratiev Date: Sun Sep 23 09:49:54 2012 +0200 cfg80211: Fix regulatory check for 60GHz band frequencies The current regulatory code on cfg80211 performs a check to see if a regulatory rule belongs to an IEEE band so that if a Country IE is received and no rules are specified for a band (which is allowed by IEEE) those bands are left intact. The current band check assumes a rule is bound to a band if the rule's start or end frequency is less than 2 GHz apart from the center of frequency being inspected. In order to support 60 GHz for 802.11ad we need to increase this to account for the channel spacing of 2160 MHz whereby a channel somewhere in the middle of a regulatory rule may be more than 2 GHz apart from either the beginning or end of the frequency rule. Without a fix for this even though channels 1-3 are allowed world wide on the rule (57240 - 63720 @ 2160), channel 2 at 60480 MHz will end up getting disabled given that it is 3240 MHz from both the frequency rule start and end frequency. Fix this by using 2 GHz separation assumption for the 2.4 and 5 GHz bands but for 60 GHz use a 10 GHz separation before assuming a rule is not part of the band. Since we have no 802.11ad drivers yet merged this change has no impact to existing Linux upstream device drivers. Signed-off-by: Vladimir Kondratiev Acked-by: Luis R. Rodriguez Signed-off-by: Johannes Berg commit 90e6274d2ecf3bcb44e3727a395e56b7ef467218 Author: Chun-Yeow Yeoh Date: Fri Sep 14 18:26:11 2012 +0800 ath5k: disable HW crypto in management frame Hardware support for MFP is not available in ath5k. Thus, this implementation allows the mac80211 stack to do the actuall crypto operation. Signed-off-by: Chun-Yeow Yeoh Signed-off-by: John W. Linville commit e37b674156b9d5cd87025f0b4719d60e4ac6060c Author: Christian Lamparter Date: Sun Sep 2 14:25:50 2012 +0200 carl9170: connect to 11w protected networks Previously, it was not possible to connect to networks which requires 11w to be supported by the stations. While the documentation hints that there's some hardware support for offloading MFP "decryption", this simple implementation relies on the mac80211 stack to do the actual crypto operations. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 960334a7d33ecd54ba5337275dc4ea701d1dbf5e Author: Christian Lamparter Date: Sat Sep 8 01:48:19 2012 +0200 p54: connect to 11w protected networks Previously, it was not possible to connect to networks which requires 11w to be supported by the stations. Note: As all current (and old) firmwares corrupt incoming, protected management frames, the decryption offloading needs to be disabled. This will be done automatically if needed. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 742e7a932273bbb7f7a206c2c22faa3794262132 Author: Johannes Berg Date: Wed Sep 19 11:57:17 2012 +0200 iwlegacy: use eth_broadcast_addr Instead of copying from a constant array (which is still needed for other purposes) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3fc7bc8ea792b4c55f53fccb589749d05c31569c Author: Paul Bolle Date: Fri Sep 21 12:02:02 2012 +0200 ipw2x00: silence GCC warning for unused variable 'dev' Building the libipw component without CONFIG_LIBIPW_DEBUG set triggers this GCC warning: drivers/net/wireless/ipw2x00/libipw_wx.c:526:21: warning: unused variable 'dev' [-Wunused-variable] The cause of this warning is that, without CONFIG_LIBIPW_DEBUG set, LIBIPW_DEBUG_WX compiles away. Fix it by substituting ieee->dev for (its equivalent) dev. Signed-off-by: Paul Bolle Signed-off-by: John W. Linville commit de09364eca2fc79f8585d4d476a60c6730664098 Author: Amitkumar Karwar Date: Thu Sep 20 20:23:18 2012 -0700 mwifiex: block scan request during heavy Tx traffic Currently scan operation is delayed/aborted based on Tx traffic consistency. This decision is taken after receiving scan response of first scan command from FW. But when heavy traffic is running, we can not even afford to send first scan command and go off channel for 30msec. We will block scan request in this case. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 22c22d2710ab828ea36487abd1d7f94f79a86a68 Author: Amitkumar Karwar Date: Thu Sep 20 20:23:17 2012 -0700 mwifiex: disconnect the device before entering suspend state By default, device is disconnected before entering suspend state. User can keep the connection alive by using module parameter "disconect_on_suspend=0". Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit ee928381ec9ec089c4ac35e7aeaaeb5bc4ccd938 Author: Arend van Spriel Date: Wed Sep 19 22:21:18 2012 +0200 brcmfmac: get rid of void pointer in struct brcmf_cfg80211_priv Field 'pub' in struct brcmf_cfg80211_priv was types as void pointer and filled with parameter passed in brcmf_cfg80211_attach(). This patch makes the type specific, ie. struct brcmf_pub. Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 02030eb61d2737c7e6a2b75506b57608d86199c5 Author: Arend van Spriel Date: Wed Sep 19 22:21:17 2012 +0200 brcmfmac: change struct brcmf_cfg80211_priv comments to kernel-doc Small step to fix structure commenting using kernel-doc syntax. Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 6385df2db76c48d04530395a67c16b03afcc4095 Author: Hante Meuleman Date: Wed Sep 19 22:21:16 2012 +0200 brcmfmac: clear control lock on usb error. On a usb error the lock bit should be cleared. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 82d8eba358badb466a4e988ecabf0668a8d92e9c Author: Piotr Haber Date: Wed Sep 19 22:21:15 2012 +0200 brcmsmac: don't start device when RfKill is engaged This patch fixes a bug when device is being started while RfKill switch is engaged, leading to hang due to partial initialization of hardware. Tested-by: Reviewed-by: Arend van Spriel Reviewed-by: Hante Meuleman Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 816432922bbbf67dec511711158738bfdaccb2e9 Author: Hante Meuleman Date: Wed Sep 19 22:21:14 2012 +0200 brcmfmac: remove unused usb bmac model code. clean up code. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 3ba8137676eb3ca5db2df6cebc1125dd4d584292 Author: Hante Meuleman Date: Wed Sep 19 22:21:13 2012 +0200 brcmfmac: fix bug in determining phy bands. This patch fixes a bug in routine where phy bands are determined. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 95f59e8cbdf17aa5ba4db3fae3662c74640eed1b Author: Hante Meuleman Date: Wed Sep 19 22:21:12 2012 +0200 brcmfmac: remove unused function. clean up code. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 4754fceeb9a6cd04e5d51659a8309e9e623a09a6 Author: Franky Lin Date: Wed Sep 19 22:21:11 2012 +0200 brcmfmac: streamline SDIO read frame routine SDIO read non-glomming frame routine handles first frame and follow up frame read separately. But they share a lot of common code. This patch abstracts a brcmf_sdio_hdparser function and optimize the code flow for better readability and future optimization. Reviewed-by: Arend van Spriel Reviewed-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 803599d4041812a2e90d7e9dd423b6977c56e1fb Author: Hante Meuleman Date: Wed Sep 19 22:21:10 2012 +0200 brcmfmac: store usb fw images in local linked list. For suspend/resume it is necessary to store firmware in memory. In order to support multiple usb dongles at the same time a linked list of firmwares was created. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 30c52bcf5c294d736b2fccdf7afd93b3af7a95bc Author: Hante Meuleman Date: Wed Sep 19 22:21:09 2012 +0200 brcmfmac: fix debug printout of event data. Some events result in printing of the buffer when debug is enabled. This printing was not very efficient. Changed to macro so it comes out nice and clean without filling log buffer. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e58060723c91a2345318fe809fc99945776a7a25 Author: Arend van Spriel Date: Wed Sep 19 22:21:08 2012 +0200 brcmfmac: introduce scheduled scan support This change add support for NL80211 scheduled scan. This may be used to offload scanning to the device, which may give the host opportunity to sleep. The newer versions of wpa_supplicant have support for this functionality. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 108a4bee9db5d50e99b3aea349cbc987cc857b32 Author: Arend van Spriel Date: Wed Sep 19 22:21:07 2012 +0200 brcmfmac: extend brcmf_term_iscan() to abort e-scan With the introduction of E-Scan there are two scan mechanisms in the driver. I-Scan was aborted on suspend and bringing down the device using brcmf_term_iscan(). The function has been renamed to brcmf_abort_scanning() and covers e-scan abort as well. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 029591f3485c9bd198513df39605e14d2ab7477d Author: Arend van Spriel Date: Wed Sep 19 22:21:06 2012 +0200 brcmfmac: fix sparse warnings in e-scan related code With the introduction of e-scan mechanism in brcmfmac (e756af5 brcmfmac: add e-scan support.) a couple of sparse warnings were introduced. This patch resolves those. Reported-by: Fengguang Wu Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 9a17bad1c7cc794b8faa50386495b6b9c91673e4 Author: Amitkumar Karwar Date: Tue Sep 18 15:33:32 2012 -0700 mwifiex: fix issue in resumed scan operation When delayed scan operation is resumed, we just add next scan command in queue but don't wakeup main thread to process the command. Hence the command is downloaded to firmware only after waking up the main thread by any other means. This bug which was introduced after "mwifiex: improve scan delay logic.." patch is fixed here. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7ad630352216c5f4f2750978f661bc9c748423cc Author: Gertjan van Wingerde Date: Sun Sep 16 22:29:53 2012 +0200 rt2x00: Clean up RFCSR1 programming in rt2800_config_channel_rf3xxx. Setting of the individual fields of the RF register can be simplified. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5b196139e57a96d06b86a99533a438c86d6354c9 Author: Gertjan van Wingerde Date: Sun Sep 16 22:29:52 2012 +0200 rt2x00: Code style cleanup in rt2800lib.c Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 59d1287428ed93e2fead507b5be9a5ee453b8ebf Author: Gertjan van Wingerde Date: Sun Sep 16 22:29:51 2012 +0200 rt2x00: rt2800lib - code cleanup. Move RT3290 BBP initialization sequence (part) to the right place in the code. This is just a code style change, no functional changes. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d961e447a616c83ab7a7022bd98d60ec086f07ab Author: Gertjan van Wingerde Date: Sun Sep 16 22:29:50 2012 +0200 rt2x00: rt2800 - Fix default vgc values for RT3572 Align with the values used by the RT3572 Ralink vendor driver v2.5.0.0. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8c6728b08ee589ae3c7a75f0d1aa5d73a9c042f1 Author: Gertjan van Wingerde Date: Sun Sep 16 22:29:49 2012 +0200 rt2x00: Code clean up in rt2800lib. Make the code in rt2800_get_default_vgc more understandable and readable, especially for the 5GHz band values. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 06236e53ce83d9f770a25a5305b8651544ff8b67 Author: Sujith Manoharan Date: Sun Sep 16 08:07:12 2012 +0530 ath9k_hw: Enable WLAN RX diversity for AR9565 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e09f2dc73c5c4927cbc55d9c29bef4209c2d866d Author: Sujith Manoharan Date: Sun Sep 16 08:06:56 2012 +0530 ath9k: Add a module parameter to enable diversity Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 362cd03fd828af38327fb448416c07a7c7a8e3cb Author: Sujith Manoharan Date: Sun Sep 16 08:06:36 2012 +0530 ath9k_hw: Add a HW callback to set diversity This patch adds a new callback to handle WLAN RX diversity for AR9565. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 68f7586c7b2c471750f11ccb3e5ac8f57b1b953e Author: Sujith Manoharan Date: Sun Sep 16 08:06:22 2012 +0530 ath9k_hw: Update AR9565 initvals Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 5317c9c3e9258b326c076d372e2eabf565d9a462 Author: Sujith Manoharan Date: Sun Sep 16 08:06:08 2012 +0530 ath9k_hw: Add antenna diversity group for AR9565 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9b460d77e715b5b774ff927a1925b80b483283b1 Author: Sujith Manoharan Date: Sun Sep 16 08:05:54 2012 +0530 ath9k: Remove a couple of unused variables Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d85ed4196ebb065906eacfdc4b1cec824a3799dd Author: Sujith Manoharan Date: Sun Sep 16 08:05:40 2012 +0530 ath9k: Remove redundant variable assignment Set main_gaintb and alt_gaintb once instead of zero'ing them in every case. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 915154b62bfe09102498b12e323b77dc762e5bec Author: Sujith Manoharan Date: Sun Sep 16 08:05:23 2012 +0530 ath9k_hw: Use HW cap ATH9K_HW_CAP_ANT_DIV_COMB Instead of trying to determine whether antenna diversity is enabled by parsing eeprom data, use ATH9K_HW_CAP_ANT_DIV_COMB which is already filled at init time. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 5418b0f0ad389989037d5ed700bcd8b67dbdf018 Author: Mohammed Shafi Shajakhan Date: Fri Sep 14 18:43:58 2012 +0530 ath9k: update hw_timer_enabled to false when we stop generic timers Update the 'hw_timer_enabled' to 'false' wherever we are stopping hardware generic timers, excecpt the case where we start them again immediately. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 97ed15c7ebfb95f0d23b023fffd23608205f7946 Author: Arend van Spriel Date: Thu Sep 13 21:12:06 2012 +0200 brcmfmac: simplify handling e-scan result firmware event Upon handling an e-scan result event from the firmware in brcmf_cfg80211_escan_handler() the status may indicate e-scan is completed or aborted. If so brcmf_notify_escan_complete() is called. However, that function and brcmf_cfg80211_escan_handler() both log the same debug message and both enable MPC flag in the firmware. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 4f6e1cafe25df11f4c8afe5d6a3ee051aa6d5de3 Author: Arend van Spriel Date: Thu Sep 13 21:12:05 2012 +0200 brcmfmac: add parameter check in brcmf_c_mkiovar() This patch assures data is only appended in output buffer when data is not NULL and datalen is not zero. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 9cd23a7191f1abc32252ba92494a910d5cc5fd02 Author: Hante Meuleman Date: Thu Sep 13 21:12:04 2012 +0200 brcmfmac: fix bug causing errorneous free on exception. This patch fixes bug where driver frees resources twice when an exception occurs. Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 4531603a7acb1463ec0b466dcfedc6682e7a1718 Author: Franky Lin Date: Thu Sep 13 21:12:03 2012 +0200 brcmfmac: clear status for in-band interrupt in brcmf_sdbrcm_isr SDIO in-band interrupt is level sensitive according to SDIO standard. When the register interrupt handler gets called by SDIO stack it is running in non interrupt context and expected to clear the interrupt from the dongle. Therefore in-band and out-of-band interrupt need to be handled differently. Cc: Wei Ni Cc: Stephen Warren Reported-by: Wei Ni Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Tested-by: Stephen Warren Signed-off-by: John W. Linville commit 7057fd00da45c31a5a927a742d0f43efe4470173 Author: Franky Lin Date: Thu Sep 13 21:12:02 2012 +0200 brcmfmac: raise SDIO host lock to higher level Use SDIO host lock to protect the entire communication process of register access or data read/write rather than function calls to MMC/SDIO stack only. This can help to avoid unintentional memory access and unexpected interruption. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 03d5c360dcbcb62cfc45caaca163cce8e10f00d6 Author: Franky Lin Date: Thu Sep 13 21:12:01 2012 +0200 brcmfmac: streamline SDIO dpc Streamline SDIO dpc by removing some unnecessary code path. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit f1e68c2e0a7af39907355e300dbbc76fcebc7fc8 Author: Franky Lin Date: Thu Sep 13 21:12:00 2012 +0200 brcmfmac: convert SDIO dpc implementation to workqueue Switch SDIO dpc implementation from kernel thread to workqueue for better performance and compatibility. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1d38227371d8db7d58b4f870192dd944f73f4352 Author: Franky Lin Date: Thu Sep 13 21:11:59 2012 +0200 brcmfmac: use atomic variable for interrupt pending flag Interrupt pending flag used in SDIO bus layer could be used in multiple processes in different context. Use atomic_t make sure every interrupt is handled. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 86761fcbea8a779b0aa2af120173cd4ef7edd72f Author: Franky Lin Date: Thu Sep 13 21:11:58 2012 +0200 brcmfmac: remove obsolete sdio bus sleep mechanism Remove sdio bus sleep mechanism since it is never invoked. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 8514fd02baac42c6f6ef248e70c4bdddd5b66433 Author: Franky Lin Date: Thu Sep 13 21:11:57 2012 +0200 brcmfmac: absorb brcmf_sendpkt into brcmf_netdev_start_xmit brcmf_sendpkt only called by brcmf_netdev_start_xmit now. Absorb it to increase readability. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit e962610f8100e1b52973f5a9c855cbc3d1ba04ec Author: Ming Lei Date: Thu Sep 13 10:33:28 2012 +0800 wireless: ath9k-htc: fix possible use after free Inside ath9k_hif_usb_firmware_fail(), the instance of 'struct struct hif_device_usb' may be freed by ath9k_hif_usb_disconnect() after complete(&hif_dev->fw_done); But 'hif_dev' is still accessed after the line code above is executed. This patch fixes the issue by not accessing 'hif_dev' after 'complete(&hif_dev->fw_done)' inside ath9k_hif_usb_firmware_fail(). Cc: ath9k-devel@lists.ath9k.org Cc: "Luis R. Rodriguez" Cc: Jouni Malinen Cc: Vasanthakumar Thiagarajan Cc: Senthil Balasubramanian Cc: "John W. Linville" Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit 7a03414686d8e01c660bf69df22cafcfd2753626 Author: Rajkumar Manoharan Date: Wed Sep 12 18:59:24 2012 +0530 ath9k: fix queuing MCI work twice Right now MCI work is being queued twice by profile and status updation. Queue MCI work once when it is needed. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 8f176a3a16d124285cecd6c53b70689eb3b9ba36 Author: Rajkumar Manoharan Date: Wed Sep 12 18:59:23 2012 +0530 ath9k: fill led_pin before drv_start Ensure that led pin is filled and set to OFF before starting the driver. With recent changes, drv_start is being called even before led_init is being completed. This is causing led is always OFF on driver load when the interface is UP. This patch splits the led init and fills the led pin before register hw. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 9e62817b9faee8d286580673b8eafb05e778ec1d Author: Rajkumar Manoharan Date: Wed Sep 12 18:59:22 2012 +0530 ath9k: move coex param updation within mci work Update all coex parameters in sigle place. So that we can avoid redoing the same operation in mutiple places and it eases debugging. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d92bb98f0c13f711bb04f447f7e19da0163eded2 Author: Rajkumar Manoharan Date: Wed Sep 12 18:59:21 2012 +0530 ath9k: flush bt profile whenever it is requested Before processing BT profiles or status messages, check whether it is requested to flush BT profile. Otherwise it might increase number of BT profiles that affects the WLAN performance. Also flush the profiles when MCI is recovering from broken rx. After flushing BT profiles, query BT topology to refetch them. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit bfbee42793a564762d2681d88dc19f4c2d8ee6fd Author: Rajkumar Manoharan Date: Wed Sep 12 18:59:20 2012 +0530 ath9k_hw: fix ar9462 selfgen chainmask When the 9462 is operating in 2G mode and MCI is enabled then reduce the selfgen chain mask to chain 1. Otherwise poor performance was reported at short range at Rx side when COEX is enabled. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 88033318e119bbf4647db4d50ad549fc86e0acf0 Author: Rajkumar Manoharan Date: Wed Sep 12 18:59:19 2012 +0530 ath9k_hw: move 2g5g switch before nfcal start During fast channel change, perform 2g5g_switch before starting noisefloor calibration to avoid nfload timeout. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 215999f38017e8e26791fafc60631b4099ee04ea Author: Sujith Manoharan Date: Wed Sep 12 14:59:58 2012 +0530 ath9k: Enable SGI correctly Set the driver specific SGI flag based on the station's HT capabilities, otherwise rate control uses the wrong rate. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 791ef39cd18ae2745a63c51a5dbbd23312be0744 Merge: e5a8762 0c1abbd Author: John W. Linville Date: Mon Sep 24 14:39:16 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit e5a876250d05d9708895da3d5408bdf67f1180f3 Merge: 9b4e9e7 83f84d7 Author: John W. Linville Date: Mon Sep 24 14:37:36 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 9b4e9e756541fd5d1223b323ed5a8a8545dd11cd Merge: 7a5f799 9385d04 Author: John W. Linville Date: Mon Sep 24 14:34:40 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 398b7a1b882a655ee84bd985f6c2ba89082404ae Merge: 57df2ae 979570e Author: Daniel Vetter Date: Mon Sep 24 18:07:48 2012 +0200 Merge tag 'v3.6-rc7' into drm-intel-next-queued Manual backmerge of -rc7 to resolve a silent conflict leading to compile failure in drivers/gpu/drm/i915/intel_hdmi.c. This is due to the bugfix in -rc7: commit b98b60167279df3acac9422c3c9820d9ebbcf9fb Author: Wang Xingchao Date: Thu Sep 13 07:43:22 2012 +0800 drm/i915: HDMI - Clear Audio Enable bit for Hot Plug Since this code moved around a lot in -next git put that snippet at the wrong spot. I've tried to fix this by making the conflict explicit by merging a version for next with: commit 3cce574f0190dd149472059fb69267cf83d290f9 Author: Wang Xingchao Date: Thu Sep 13 11:19:00 2012 +0800 drm/i915: HDMI - Clear Audio Enable bit for Hot Plug unconditionally But that failed to solve the entire problem. To avoid pushing out further -nightly branch to our QA where this is broken, do the backmerge and manually add the stuff git adds to -next from the patch in -fixes. Note that this doesn't show up in git's merge diff (and hence is also not handled by git rerere), which adds to the reasons why I'd like to fix this with a verbose backmerge. The git merge diff only shows a bunch of trivial conflicts of the "code changed in lines next to each another" kind. Signed-off-by: Daniel Vetter commit 57df2ae9df6e335a98969cac5aafb09c4de10bb2 Author: Paulo Zanoni Date: Mon Sep 24 10:32:54 2012 -0300 drm/i915: BUG() on unexpected HDMI register This should never happen, but the silent "return" makes me wonder every time I try to debug InfoFrame bugs, so promote this to BUG() to make sure people will complain if we ever break this. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit eab48345c2b2d791159aaac4a77000baa8dbc1ae Author: Vitaly Wool Date: Thu Sep 6 16:06:52 2012 +0200 rfkill: prevent unnecessary event generation Prevent unnecessary rfkill event generation when the state has not actually changed. These events have to be delivered to relevant userspace processes, causing these processes to wake up and do something while they could as well have slept. This obviously results in more CPU usage, longer time-to-sleep-again and therefore higher power consumption. Signed-off-by: Vitaly Wool Signed-off-by: Mykyta Iziumtsev Signed-off-by: Johannes Berg commit c6f219dc83fbb30c8426fcc7850c28d9d33dee44 Author: Johannes Berg Date: Wed Jul 18 13:04:32 2012 +0200 mac80211: don't send delBA on addBA failure There's no reason to send a delBA when the peer refused our addBA, so change that. Signed-off-by: Johannes Berg commit 582bb505b67847600ee27e4cda108bb99a8b6306 Author: Johannes Berg Date: Wed Jul 18 12:54:46 2012 +0200 mac80211: don't send delBA when removing stations When a station is removed and we stop the aggregation sessions, it's not useful to send delBA since this is due to us or the station disassociating or dropping the connection in some other way, so change that. Signed-off-by: Johannes Berg commit 7f1611469b67739df260a6487b2a5e199e8eeba1 Author: Johannes Berg Date: Wed Jul 18 12:53:34 2012 +0200 mac80211: don't send delBA before disassoc When we disassociate, it's not really useful to send delBA action frames since we're going to send disassoc/deauth anyway, so change that. Signed-off-by: Johannes Berg commit 9642ac0e645198b62f99279704e829a286f58d96 Author: Alex Deucher Date: Thu Sep 13 12:43:41 2012 -0400 drm/radeon: make non-DP PPLL sharing more robust Compare the adjusted clock as well as the crtc mode clock. This handles cases where the driver adjusts the clock for specific special cases. Signed-off-by: Alex Deucher commit 5df3196bac972138fa62ea17ed036161ae710062 Author: Alex Deucher Date: Thu Sep 13 11:52:08 2012 -0400 drm/radeon: store the encoder in the radeon_crtc This saves lots of lookups later. Signed-off-by: Alex Deucher commit 19eca43e5a52a8e47fdd40e940912b2417c7c055 Author: Alex Deucher Date: Thu Sep 13 10:56:16 2012 -0400 drm/radeon: rework crtc pll setup to better support PPLL sharing We need the calculate the pixel clock before allocating a PPLL in order to insure the clocks really match. Signed-off-by: Alex Deucher commit 2f454cf1261ba913e2f660b7555864b340502c60 Author: Alex Deucher Date: Wed Sep 12 18:54:14 2012 -0400 drm/radeon: allow PPLL sharing on non-DP displays If several non-DP displays use the same pixel clock we can use the same PPLL for all of them. If all relevant displays have the same pixel clock, this allows the driver to: - use fewer PPLLs which saves power - support more than two non-DP displays on DCE4+ The current drm modesetting infrastructure doesn't really provide a good framework for validating combinations that work or won't work, so it's possible you could go from a working configuration to a non-working one by changing the mode a one of the displays. However, there this is better than what was there before. Signed-off-by: Alex Deucher commit 9dbbcfc6894957fdbb311ba92c85c026659878b5 Author: Alex Deucher Date: Wed Sep 12 17:39:57 2012 -0400 drm/radeon/dce3: use a single PPLL for all DP displays If possible, use a single PPLL for multiple DP displays on DCE3.x. Signed-off-by: Alex Deucher commit f3dd8508d459a2d0d0bc426144b92f1696d4fe86 Author: Alex Deucher Date: Fri Aug 31 11:56:50 2012 -0400 drm/radeon: rework pll selection (v4) For DP we can use the same PPLL for all active DP encoders. Take advantage of that to prevent cases where we may end up sharing a PPLL between DP and non-DP which won't work. Also clean up the code a bit. v2: - fix missing pll_id assignment in crtc init v3: - fix DP PPLL check - document functions - break in main encoder search loop after matching. no need to keep checking additional encoders. v4: - same as v3, but re-apply to drm-next as the corner cases are fixed properly in subsequent patches. fixes: https://bugs.freedesktop.org/show_bug.cgi?id=54471 Signed-off-by: Alex Deucher commit a59fbb8e18566a346a2736000d979576ab7525fe Author: Alex Deucher Date: Thu Sep 13 12:01:48 2012 -0400 drm/radeon: fix typo in atombios_get_encoder_mode comparing the encoder mode to the encoder id for DVO. Signed-off-by: Alex Deucher commit e729586e33593cd11112ff22fa8f0e801af05b4e Author: Alex Deucher Date: Wed Sep 12 17:58:07 2012 -0400 drm/radeon/atom: fix typo in SetPixelClock handling MiscInfo field should be programmed with the crtc id rather than the pll id. However, at this point the two are the same for chips with this version of the table. Signed-off-by: Alex Deucher commit 6e76a2df91c516714bf1f039b9614696aaaeaeb2 Author: Alex Deucher Date: Thu Sep 6 12:30:37 2012 -0400 drm/radeon: white space cleanup in transmitter setup Makes it more consistent with the surrounding code. Signed-off-by: Alex Deucher commit 2f6fa79a7e4cc380cc55ef967101cee340b8364b Author: Alex Deucher Date: Thu Sep 6 12:26:09 2012 -0400 drm/radeon: clean up encoder dp checks Use the proper struct in the union. That field has the same offset in every struct, so no functional change. Signed-off-by: Alex Deucher commit e971bd5e45764ff76df0ff110a19bf6b924f84d6 Author: Christian König Date: Tue Sep 11 16:10:04 2012 +0200 drm/radeon: rework the VM code a bit more (v2) Roughly based on how nouveau is handling it. Instead of adding the bo_va when the address is set add the bo_va when the handle is opened, but set the address to zero until userspace tells us where to place it. This fixes another bunch of problems with glamor. v2: agd5f: fix build after dropping patch 7/8. Signed-off-by: Christian König commit d59f70216b7166f03fa732964deafc6453d62eb6 Author: Christian König Date: Tue Sep 11 16:10:02 2012 +0200 drm/radeon: fix gem_close_object handling Make the reserve non interruptible. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit d63dfed5e9aa5fbea25a471300ee1b33bdc710d0 Author: Christian König Date: Tue Sep 11 16:10:01 2012 +0200 drm/radeon: let bo_reserve take no_intr instead of no_wait param The no_wait param isn't used anywhere, and actually isn't very usefull at all. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 421ca7ab86aef01b4e22fb171d3d6bad6f1a5b96 Author: Christian König Date: Tue Sep 11 16:10:00 2012 +0200 drm/radeon: move and rename radeon_bo_va function It doesn't really belong into the object functions, also rename it to avoid collisions with struct radeon_bo_va. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit ca19f21ece0ad96c77f45a01c43f3bb582f1a35c Author: Christian König Date: Tue Sep 11 16:09:59 2012 +0200 drm/radeon: move IB pool to 1MB offset Even GPUs can have a null pointer dereference, so move the IB pool to another offset to catch those. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 96a5844f90a6d3b1c0cabfe4870e62e7b1cc4640 Author: Christian König Date: Tue Sep 11 16:09:58 2012 +0200 drm/radeon: fix VA overlap check Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit a36e70b2e55539aba0ba8a934c46b71c235488ac Author: Christian König Date: Tue Sep 11 16:09:57 2012 +0200 drm/radeon: fix VA range check The end offset is exclusive not inclusive. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 1678dbc22e4b2cfe24a7e042d822ddb837e378c0 Author: Christian König Date: Thu Sep 6 13:48:07 2012 +0200 drm/radeon: fix VM syncing with multiple rings When a VM is used on more than one ring we need to sync to the last user. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit e9e2fbe975a1938b1acadb94ac7d5934298974ac Author: Lauri Kasanen Date: Tue Jul 31 17:41:46 2012 +0300 drm/radeon: Remove unused functions This applies on top of drm/radeon: Mark all possible functions / structs as static. Signed-off-by: Lauri Kasanen Signed-off-by: Alex Deucher commit 1109ca09b9e2f2766d64d037a88ea8816559b3b3 Author: Lauri Kasanen Date: Fri Aug 31 13:43:50 2012 -0400 drm/radeon: Mark all possible functions / structs as static Let's allow GCC to optimize better. This exposed some five unused functions, but this patch doesn't remove them. Signed-off-by: Lauri Kasanen Signed-off-by: Alex Deucher commit b9ce0afeef13b18b12caec476f1e6dd76f0f094b Author: Alex Deucher Date: Fri Aug 31 13:28:12 2012 -0400 drm/radeon: remove dead function def Was removed in the async VM update series. Signed-off-by: Alex Deucher commit 4755fab5fa949d68e8579eb2e7b73b8e9e75045e Author: Alex Deucher Date: Thu Aug 30 13:30:49 2012 -0400 drm/radeon: implement bounds checking on thermal controller lookup Don't read past the end of the array if we encounter an unknown thermal controller. Signed-off-by: Alex Deucher commit 7a083293c16bb334945fff8b33e3018fd375b33f Author: Alex Deucher Date: Fri Aug 31 13:51:21 2012 -0400 drm/radeon: document async VM changes in ni.c Signed-off-by: Alex Deucher commit 2a6f1abbb48f1d90f20b8198c4894c0469468405 Author: Christian König Date: Sat Aug 11 15:00:30 2012 +0200 drm/radeon: make page table updates async v2 Currently doing the update with the CP. v2: Rebased on Jeromes bugfix. Make validity comparison more human readable. Signed-off-by: Christian König commit 3e8970f96ba2539539059736039f09624da9fe11 Author: Jerome Glisse Date: Mon Aug 13 12:07:33 2012 -0400 drm/radeon: make sure ib bo is properly bound and up to date in vm space Make sure that the ib bo is bound and is page table is up to date in the virtual address space. Signed-off-by: Jerome Glisse Reviewed-by: Christian König commit 089a786e2cf5d07d495b3cb1ac0b959c6dd10d49 Author: Christian König Date: Sat Aug 11 11:54:05 2012 +0200 drm/radeon: Move looping over the PTEs into chip code Makes it easier to move it into the rings. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit ddf03f5cdd98c6ea486f3007a5542241634c9093 Author: Christian König Date: Thu Aug 9 20:02:28 2012 +0200 drm/radeon: rework VM page table handling Removing the need to wait for anything. Still not ideal, since we need to free pt on va remove. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit ee60e29f1dc650bf2239b757038973ef32f10878 Author: Christian König Date: Thu Aug 9 16:21:08 2012 +0200 drm/radeon: rework VMID handling Move binding onto the ring, simplifying handling a bit. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 9b40e5d8427f12567749978f66e86e5e8fced5ab Author: Christian König Date: Wed Aug 8 12:22:43 2012 +0200 drm/radeon: make VM flushs a ring operation Move flushing the VMs as function into the rings. First step to make VM operations async. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit f82cbddddbd368f391d45738601fa29a75cfbe3b Author: Christian König Date: Thu Aug 9 16:35:36 2012 +0200 drm/radeon: add sync helper function Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit d66a76269a57f84b785f7449818b843de1f07915 Author: Christian König Date: Mon Aug 6 20:45:03 2012 +0200 drm/radeon: remove vm_unbind It actually isn't very useful. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 05b0714768557c036fb9d74c197081fd2cba12bc Author: Christian König Date: Mon Aug 6 20:21:10 2012 +0200 drm/radeon: move VM funcs into asic structure So it looks more like the rest of the driver. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 4bf3dd9264cfb71f18714fcf2f810e276a44170b Author: Christian König Date: Mon Aug 6 18:57:44 2012 +0200 drm/radeon: cleanup VM id handling a bit Store a reference to the VM into the IB structure, that makes calculating the IBs address a bit less complicated. Signed-off-by: Christian König Reviewed-by: Jerome Glisse commit 1f0e29435386e42c942ee8385d10dbfc814f5cfe Author: Alex Deucher Date: Fri Aug 17 10:31:34 2012 -0400 drm/radeon/atom: add consolidate bpc code Several encoder setup functions had the same duplicated code for selecting the proper bpc setting for various atom tables. Consolidate it. Signed-off-by: Alex Deucher commit 37e9b6a62fb775276f8edb5bd2b9f13a3102b9dd Author: Alex Deucher Date: Fri Aug 3 11:39:43 2012 -0400 drm/radeon: rework the backlight control to be an asic callback This cleans up the interface a bit as well. Signed-off-by: Alex Deucher commit e3a1592085988c60a2207eb492b89493573a0303 Author: Alex Deucher Date: Thu Aug 16 11:13:43 2012 -0400 drm/radeon: add initial support for ATCS ACPI methods Just verify the interface and track what functions are supported. Not actually used yet. Signed-off-by: Alex Deucher commit 82e029357d4726bbfb31b4169f82dcaea5fa3eba Author: Alex Deucher Date: Thu Aug 16 14:09:21 2012 -0400 drm/radeon: document radeon_atpx_handler.c (v2) v2: rebase updates Signed-off-by: Alex Deucher commit 492b49a2f21a7ce6cb0abce36017daa06036a626 Author: Alex Deucher Date: Thu Aug 16 14:07:37 2012 -0400 drm/radeon: reorganize ATPX support (v2) - rework the acpi execute code - User proper parameters for ATPX functions v2: rebase fixes Signed-off-by: Alex Deucher commit 48fa412b7451530322cdbe969e404b798c6e204e Author: Alex Deucher Date: Thu Aug 16 14:01:57 2012 -0400 drm/radeon: update ATPX verify interface handling (v2) Verify the ATPX interface and track what ATPX functions are available for future use. v2: rework due to tree changes Signed-off-by: Alex Deucher commit c3c651600bd83de5e1cbb5d9ec34a88efd2856e8 Author: Alex Deucher Date: Thu Aug 2 12:30:49 2012 -0400 drm/radeon: document radeon_acpi.c Signed-off-by: Alex Deucher commit 92fdf89aa95de32dba1cb44fe7f5c54824b4b2c4 Author: Luca Tettamanti Date: Thu Aug 2 11:39:38 2012 -0400 drm/radeon: block the keypress on ATIF events The AMD ACPI interface may use ACPI_VIDEO_NOTIFY_PROBE to signal SBIOS requests; block the keypress in this case since the user did not actually press the mode switch key. Signed-off-by: Luca Tettamanti Signed-off-by: Alex Deucher commit c49170742d6928b16fb3839b47a94cc41630dbe0 Author: Alex Deucher Date: Tue Jul 31 17:14:35 2012 -0400 drm/radeon: re-organize the acpi notifier callback Move it out of the radeon_pm.c and into radeon_acpi.c since we use it for more than just pm now. Signed-off-by: Alex Deucher commit fda4b25c55a59ba12378e4b9e4553f6ea57d802d Author: Luca Tettamanti Date: Mon Jul 30 21:20:35 2012 +0200 drm/radeon: implement handler for ACPI event Set up an handler for ACPI events and respond to brightness change requests from the system BIOS. v2: fix notification when using device-specific command codes (tested by Pali Rohár ); cache the encoder controlling the backlight during the initialization to avoid searching it every time (suggested by Alex Deucher). v3: whitespace fixes (Alex Deucher). Signed-off-by: Luca Tettamanti Signed-off-by: Alex Deucher commit ce3cf821a31f9824eda788cbd3e710d8047e82df Author: Luca Tettamanti Date: Mon Jul 30 21:16:06 2012 +0200 drm/radeon: implement wrapper for GET_SYSTEM_PARAMS Use GET_SYSTEM_PARAMS for retrieving the configuration for the system BIOS notifications. v2: packed struct (Lee, Chun-Yi ) v3: fix enable with device specific command code Signed-off-by: Luca Tettamanti Signed-off-by: Alex Deucher commit fd64ca8a9d9d7e92fc81fe0b23dcf324246fd356 Author: Luca Tettamanti Date: Thu Aug 16 11:11:18 2012 -0400 drm/radeon: implement radeon_atif_verify_interface Wrap the call to VERIFY_INTERFACE and add the parsing of the support vectors. v2: use a packed struct for handling the output of ACPI calls, hides ugly pointer arithmetics (Lee, Chun-Yi ). v3: fix radeon_atif_parse_functions handling (Alex Deucher) Signed-off-by: Luca Tettamanti Signed-off-by: Alex Deucher commit 86504672f7d79986a8ef618fb120044220e3d1eb Author: Luca Tettamanti Date: Sun Jul 29 17:04:43 2012 +0200 drm/radeon: refactor radeon_atif_call Don't hard-code function number, this will allow to reuse the function. v2: add support for the 2nd parameter (from Lee, Chun-Yi ). Signed-off-by: Luca Tettamanti Signed-off-by: Alex Deucher commit f3728734ba78310525bf4a361c7787c7c6fa5d40 Author: Alex Deucher Date: Thu Jul 26 11:32:03 2012 -0400 drm/radeon: add backlight control for atom devices (v2) On systems that use the build in GPU backlight controller, we can use atom tables to change the brightness level. v2: use firmware flags Signed-off-by: Alex Deucher commit 910308802c528f8afe864b694d5456fedd0bb18f Author: Alex Deucher Date: Thu Jul 26 11:05:22 2012 -0400 drm/radeon: rework legacy backlight control To better enable sharing with atom backlight control. Signed-off-by: Alex Deucher commit af7912e57316caa1b705f06b03592cec0737cb36 Author: Alex Deucher Date: Thu Jul 26 09:50:57 2012 -0400 drm/radeon: track whether the GPU controls the backlight (v2) A table in the vbios tells us whether the GPU backlight controller is used or not. If the bit is set, the GPU backlight controller is used; if it is not set, an off-chip backlight controller is used. v2: store all the firmware flags, not just BL control Signed-off-by: Alex Deucher commit efd4e418f2bb8a8b21f96fd44e775eaf6dd55905 Author: Alex Deucher Date: Tue Jul 31 17:18:17 2012 -0400 drm/radeon: add a license header to radeon_apci.c Signed-off-by: Alex Deucher commit 9e05b2f49eb9484e857e9b6c70dea3bbbe564290 Author: Alex Deucher Date: Wed Jul 18 13:28:52 2012 -0400 drm/radeon: add new AMD ACPI header and update relevant code (v2) Add a new header that defines the AMD ACPI interface used for laptops, PowerXpress, and chipset specific functionality and update the current code to use it. Todo: - properly verify the ACPI interfaces - hook up and handle ACPI notifications - make PX code more robust - implement PCIe Gen and width switching using ACPI v2: fix typo in header Signed-off-by: Alex Deucher commit 9e9eb7c60d57620bfe46b2a489e7f56a5925115a Author: Steven Fuerst Date: Wed Aug 15 15:07:16 2012 -0700 Annotate int2float() as being a pure function. This allows gcc to fold duplicate calls into a single call. Since the current users do actually call it multiple times with the same arguments, this is an obvious win. Signed-off-by: Steven Fuerst commit 747f49ba67b8895a5831ab539de551b916f3738c Author: Steven Fuerst Date: Wed Aug 15 15:07:15 2012 -0700 Replace int2float() with an optimized version. We use __fls() to find the most significant bit. Using that, the loop can be avoided. A second trick is to use the behaviour of the rotate instructions to expand the range of the unsigned int to float conversion to the full 32 bits in a branchless way. The routine is now exact up to 2^24. Above that, we truncate which is equivalent to rounding towards zero. Signed-off-by: Steven Fuerst commit 7ff64fcaa7b7ba62d12758e49643f31dd9e90ece Author: Steven Fuerst Date: Wed Aug 15 15:07:14 2012 -0700 Rename i2f() to int2float(), and make it global so one copy can be removed. Remove the copy of i2f() in r600_blit_kms.c We rename the function to something longer now that it is a global symbol. This reduces the likelyhood of unintended clashes later. This might be a candidate for inclusion inside general drm infrastructure. However, at the moment only the radeon driver uses it. Signed-off-by: Steven Fuerst commit ee93b86be118dcdec1a8e29983ed1d010c71bfee Author: Alex Deucher Date: Fri Aug 10 13:26:24 2012 -0400 drm/radeon: remove gui_idle interrupt infrastructure It was only used for dynpm, but has been replaced with a better implementation using fences. Remove it. Signed-off-by: Alex Deucher commit 95f5a3acfaf6f5672420398e01ca32220b36bb90 Author: Alex Deucher Date: Fri Aug 10 13:12:08 2012 -0400 drm/radeon/dynpm: wait for fences on all rings when reclocking 1. Drop gui idle stuff, it's not as reliable as fences and only covers the 3D engine. 2. Wait for fences on all rings. This makes sure all rings are idle when reclocking. Signed-off-by: Alex Deucher commit 62444b7462a2b98bc78d68736c03a7c4e66ba7e2 Author: Alex Deucher Date: Wed Aug 15 17:18:42 2012 -0400 drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) - Stop the displays from accessing the FB - Block CPU access - Turn off MC client access This should fix issues some users have seen, especially with UEFI, when changing the MC FB location that result in hangs or display corruption. v2: fix crtc enabled check noticed by Luca Tettamanti Signed-off-by: Alex Deucher commit 75104fa4f98cdac5e97be5cb59463d49eb08da85 Author: Alex Deucher Date: Wed Aug 15 17:06:28 2012 -0400 drm/radeon/r5xx-r7xx: don't use radeon_crtc for vblank callback (v2) This might be called before we've allocated the radeon_crtcs v2: fix typo in array size Signed-off-by: Alex Deucher commit 94f768fd7458e5e8372b8b7565b594284afb6b89 Author: Alex Deucher Date: Wed Aug 15 16:58:30 2012 -0400 drm/radeon/r1xx-r4xx: don't use radeon_crtc for vblank callback This might be called before we've allocated the radeon_crtcs Signed-off-by: Alex Deucher commit 46437057bd2a178b12d3a55bac06cbbd46eea4be Author: Alex Deucher Date: Wed Aug 15 17:10:32 2012 -0400 drm/radeon: clean up evergreen_get_vblank_counter Use the new offset array rather than open coding it. Signed-off-by: Alex Deucher commit 4a15903db02026728d0cf2755c6fabae16b8db6a Author: Alex Deucher Date: Wed Aug 15 17:13:53 2012 -0400 drm/radeon/dce4+: don't use radeon_crtc for vblank callback This might be called before we've allocated the radeon_crtcs Signed-off-by: Alex Deucher commit 513aa3b0d14be809490d5c151994cc7f047b0718 Author: Johannes Berg Date: Thu Sep 20 16:06:14 2012 +0200 iwlwifi: fix async station command crash Before Emmanuel's change to use a copy of the command ("iwlwifi: get the correct HCMD in the response handler") the iwl_add_sta_callback() function would have used a random pointer to somewhere when processing responses to an async command, while that wasn't valid data it was at least a valid pointer. Now, the pointer will be NULL in this case, thus crashing. Fix this by exiting the function early if no command is passed back which means it was sent asynchronously. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 8e83cd7ca4d2e60b72c92bc9f18ef303a7ce6b6d Merge: 75435c7 a44cf75 Author: Florian Tobias Schandinat Date: Thu Sep 20 13:57:47 2012 +0000 Merge branch 'v3.7-for-florian' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fbdev-next commit 853c70e8dabcb1ae2c38ef2b8d40f6eb5435555b Author: Ben Widawsky Date: Wed Sep 19 10:50:19 2012 -0700 drm/i915: Fix !CONFIG_PM sysfs for real this time Somehow this hunk got dropped from my last patch. We do not have the rc6_attrs when there is no CONFIG_PM so this causes a compilation error. Reported-by: Fengguang Wu Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 41783eea1a7f7d033ace4fd78218dd5f37b2db5f Author: Chris Wilson Date: Tue Sep 18 10:04:02 2012 +0100 drm/i915: Assert that the exec object lookup table is a power-of-two As we make the simplification of using a power-of-two size for the execbuffer handle-to-object TLB, we should validate that this is actually true and so clarify that premise. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 3cce574f0190dd149472059fb69267cf83d290f9 Author: Wang Xingchao Date: Thu Sep 13 11:19:00 2012 +0800 drm/i915: HDMI - Clear Audio Enable bit for Hot Plug unconditionally Clear Audio Enable bit to trigger unsolicated event to notify Audio Driver part the HDMI hot plug change. The patch fixed the bug when remove HDMI cable the bit was not cleared correctly. In intel_enable_hdmi(), if intel_hdmi->has_audio been true, the "Audio enable bit" will be set to trigger unsolicated event to notify Alsa driver the change. intel_hdmi->has_audio will be reset to false from intel_hdmi_detect() after remove the hdmi cable, here's debug log: [ 187.494153] [drm:output_poll_execute], [CONNECTOR:17:HDMI-A-1] status updated from 1 to 2 [ 187.525349] [drm:intel_hdmi_detect], HDMI: has_audio = 0 so when comes back to intel_disable_hdmi(), the "Audio enable bit" will not be cleared. And this cause the eld infomation and pin presence doesnot update accordingly in alsa driver side. This patch will also trigger unsolicated event to alsa driver to notify the hot plug event: [ 187.853159] ALSA sound/pci/hda/patch_hdmi.c:772 HDMI hot plug event: Codec=3 Pin=5 Presence_Detect=0 ELD_Valid=1 [ 187.853268] ALSA sound/pci/hda/patch_hdmi.c:990 HDMI status: Codec=3 Pin=5 Presence_Detect=0 ELD_Valid=0 Signed-off-by: Wang Xingchao Signed-off-by: Daniel Vetter commit 2f745ad3d3ce96cb72d3981570d9e9988442bce8 Author: Chris Wilson Date: Tue Sep 4 21:02:58 2012 +0100 drm/i915: Convert the dmabuf object to use the new i915_gem_object_ops By providing a callback for when we need to bind the pages, and then release them again later, we can shorten the amount of time we hold the foreign pages mapped and pinned, and importantly the dmabuf objects then behave as any other normal object with respect to the shrinker and memory management. Signed-off-by: Chris Wilson Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 68d3472047a572936551f8ff0b6f4016c5a1fdef Author: Daniel Vetter Date: Thu Sep 6 22:08:35 2012 +0200 drm/i915: update dpms property in set_mode Hopefully this makes userspace slightly less confused about us frobbing the dpms state behind its back. Yeah, it would be better to be more careful with not changing the dpms state, but that is quite more invasive. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 172a1ae141a20f8279dfa285d99ff0541b7eb044 Author: Daniel Vetter Date: Thu Sep 6 22:08:34 2012 +0200 drm/i915: don't call dpms funcs after set_mode ... because our current set_mode implementation doesn't bother to adjust for the dpms state, we just forcefully update it. So stop pretending that we're better than we are and rip out this extranous call. Note that this totally confuses userspace, because the exposed connector property isn't actually updated ... Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 46b6f8149a7a631ae8789f4eaebf8c27c1279b5a Author: Daniel Vetter Date: Thu Sep 6 22:08:33 2012 +0200 drm/i915: don't disable fdi links harder in ilk_crtc_enable Because they should have been disabled when shutting down the display pipe previously. To ensure that this is the case, add a few assserts instead of unconditionally disabling the fdi link. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit a14d33592061032be0f8373627eb13882c857742 Author: Daniel Vetter Date: Thu Sep 6 22:08:32 2012 +0200 drm/i915: rip out intel_disable_pch_ports Even with the old crtc helper code we should have disabled all encoders on that pipe by now, and with the new code this would definitely paper over a bug. We already have the necessary checks in place in intel_disable_transcoder, so if we accidentally leave a pch port on, this will be caught. Hence just rip this all out. Note that up to the patch in this giant modeset series that removes the LVDS special case to avoid disabling LVDS in the encoder->prepare callback ("drm/i915/lvds: ditch ->prepare special case"), this was not the case for all outputs. Also note that in commit 1b3c7a47f993bf9ab6c4c7cc3bbf5588052b58f4 Author: Zhenyu Wang Date: Wed Nov 25 13:09:38 2009 +0800 drm/i915: Fix LVDS stability issue on Ironlake this was already discovered independently and worked around. How I bloody hate this entire mess of cludges piled on top of other cludges. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 934d6086ea6b165af9218e8dcc2a9e69e1850743 Author: Chris Wilson Date: Fri Sep 14 11:57:46 2012 +0100 drm/i915: Limit the ioremap of the PCI bar to the registers In the future we may like to experiment with using a WC map of the GTT portion. However, that will conflict with i915.ko mapping the entire bar as UC in order to access the GPU registers. Instead we can shrink the register ioremap to only map the register block. Signed-off-by: Chris Wilson Tested-by (IVB): Ben Widawsky Acked-by: Ben Widawsky [danvet: Squashed-in follow-up fix for gen2/3 registers file size from Chris Wilson.] Signed-off-by: Daniel Vetter commit ac6ae347a50bfb4667438272c0d48f4fd41154db Author: Ben Widawsky Date: Fri Sep 7 19:43:44 2012 -0700 drm/i915: Show render P state thresholds in sysfs This is useful for userspace utilities which wish to use the previous interface, specifically for micromanaging the increase/decrease steps by setting min == max. Reviewed-by: Chris Wilson Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 46ddf194776500e132693dd2c11b28a971070cc0 Author: Ben Widawsky Date: Wed Sep 12 18:12:07 2012 -0700 drm/i915: Add setters for min/max frequency Provide a standardized sysfs interface for setting min, and max frequencies. The code which reads the limits were lifted from the debugfs files. As a brief explanation, the limits are similar to the CPU p-states. We have 3 states: RP0 - ie. max frequency RP1 - ie. "preferred min" frequency RPn - seriously lowest frequency Initially Daniel asked me to clamp the writes to supported values, but in conforming to the way the cpufreq drivers seem to work, instead return -EINVAL (noticed by Jesse in discussion). The values can be used by userspace wishing to control the limits of the GPU (see the CC list for people who care). v4: Make exceeding the soft limits return -EINVAL as well (Daniel) v3: bug fix (Ben) - was passing the MHz value to gen6_set_rps instead of the step value. To fix, deal only with step values by doing the divide at the top. v2: add the dropped mutex_unlock in error cases (Chris) EINVAL on both too min, or too max (Daniel) v2 Reviewed-by: Chris Wilson CC: Daniel Vetter Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit b6f69c9a7f800c9f22cc94aa193f8451b3cc299c Author: Daniel Vetter Date: Sun Sep 9 19:58:56 2012 +0200 drm/i915: rip out edp special case from dp_link_down This has been tons of fun to figure out with git blame. The first notion of this code block goes back to the original cpu edp enabling for ilk in commit 32f9d658aee5be09ebdd28fc730630e61d0b46db Author: Zhenyu Wang Date: Fri Jul 24 01:00:32 2009 +0800 drm/i915: Add eDP support on IGDNG mobile chip Two things are notable in this commit wrt to the this edp special case: - The IS_eDP check _only_ fires for DP A, i.e. cpu edp ports. - The cpu edp port is disabled at the top of the dp_link_down function. My theory is that these hacks was added to work around the completely different modeset sequence for cpu edp ports compared to pch edp ports. With the cpu edp confusion on ilk (and snb/ivb) now fixed up, this shouldn't be required any more. The really interesting question is how this special cases survived this long in the code. The first step is declaring the pch port D as eDP if it's used for an internal panel: commit b329530ca7cdf6bf014f2124efd983e01265d623 Author: Adam Jackson Date: Fri Jul 16 14:46:28 2010 -0400 drm/i915/dp: Correctly report eDP in the core connector type This commit unfortunately failed to notice that not all edp ports are created equal. Then follow a flurry of refactorings, culminating in a patch from Keith Packard which resulted in the current logic (by making it "correct" for all platforms that have edp): commit 417e822deee1d2bcd8a8a60660c40a0903713f2b Author: Keith Packard Date: Tue Nov 1 19:54:11 2011 -0700 drm/i915: Treat PCH eDP like DP in most places None of these cleanups or refactorings supply any reason why we need this code, they've simply carried it on as-is. Hence presume it might be harmful with the current code and rip it out. We do rewrite the link training bits completely anyway when re-training the link. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit ba7a64587bcff8d85666a70b0a515d5fbcaa000c Author: Chris Wilson Date: Fri Sep 14 11:46:00 2012 +0100 drm/i915: Drop the misleading cast to the wrong user pointer type The exec_list is of type drm_i915_gem_exec_object2 and so casting it to a drm_i915_gem_relocation_entry is very confusing! Signed-off-by: Chris Wilson Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit d627b62ff8d4d36761adbcd90ff143d79c94ab22 Author: Lekensteyn Date: Tue Jun 26 00:36:24 2012 +0200 i915: initialize CADL in opregion This is rather a hack to fix brightness hotkeys on a Clevo laptop. CADL is not used anywhere in the driver code at the moment, but it could be used in BIOS as is the case with the Clevo laptop. The Clevo B7130 requires the CADL field to contain at least the ID of the LCD device. If this field is empty, the ACPI methods that are called on pressing brightness / display switching hotkeys will not trigger a notification. As a result, it appears as no hotkey has been pressed. Reference: https://bugs.freedesktop.org/show_bug.cgi?id=45452 Tested-by: Peter Wu Signed-off-by: Peter Wu Acked-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 3739850b46f560a2be29287c3e5c29999d1a7e0e Author: Daniel Vetter Date: Thu Sep 6 22:15:44 2012 +0200 drm/i915: disable the cpu edp port after the cpu pipe See bspec, Vol3 Part2, Section 1.1.3 "Display Mode Set Sequence". This applies to all platforms where we currently support eDP on, i.e. ilk, snb & ivb. Without this change we fail to light up the eDP port on previously unused crtcs (likely because something is stuck on the old pipe), and we also fail to properly disable the old pipe (i.e. bit 30 in the PIPECONF register is stuck as set until the next reboot). v2: Rebased on top of the edp panel off sequence changes in 3.6-rc2. Reviewed-by: Paulo Zanoni Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=44001 Signed-Off-by: Daniel Vetter commit 0c33d8d7cc825afbaf1d2c546fbb238fc45c607d Author: Daniel Vetter Date: Thu Sep 6 22:15:43 2012 +0200 drm/i915: rip out dp port enabling cludges^Wchecks These have been added because dp links are fiddle things and don't like it when we try to re-train an enabled output (or disable a disabled output harder). And because the crtc helper code is ridiculously bad add tracking the modeset state. But with the new code in place it is simply a bug to disable a disabled encoder or to enable an enabled encoder again. Hence convert these to WARNs (and bail out for safety), but flatten all conditionals in the code itself. Reviewed-by: Paulo Zanoni Signed-Off-by: Daniel Vetter commit 0767935e8682157dc98bee03f821faa08b944fe8 Author: Daniel Vetter Date: Thu Sep 6 22:15:42 2012 +0200 drm/i915: robustify edp_pll_on/off With the previous patch to clean up where exactly these two functions are getting called, this patch can tackle the enable/disable code itself: - WARN if the port enable bit is in the wrong state or if the edp pll bit is in the wrong state, just for paranoia's sake. - Don't disable the edp pll harder in the modeset functions just for fun. - Don't set the edp pll enable flag in intel_dp->DP in modeset, do that while changing the actual hw state. We do the same with the actual port enable bit, so this is a bit more consistent. - Track the current DP register value when setting things up and add some comments how intel_dp->DP is used in the disable code. v2: Be more careful with resetting intel_dp->DP - otherwise dpms off->on will fail spectacularly, becuase we enable the eDP port when we should only enable the eDP pll. Reviewed-by: Paulo Zanoni Signed-Off-by: Daniel Vetter commit 2bd2ad643def79b843e5ff3a88d42d505db158ad Author: Daniel Vetter Date: Thu Sep 6 22:15:41 2012 +0200 drm/i915: clean up the cpu edp pll special case By using the new pre_enable/post_disable functions. To ensure that we only frob the cpu edp pll while the pipe is off add the relevant asserts. Thanks to the new output state staging, this is now really easy. With this fixed we can now finally rip out the special-case handling in the dp dpms code and replace it by the common intel_connector_dpms. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit bf49ec8c5241ca1985269ce77df08021a5dd1589 Author: Daniel Vetter Date: Thu Sep 6 22:15:40 2012 +0200 drm/i915: add encoder->pre_enable/post_disable The cpu eDP encoder has some horrible hacks to set up the DP pll at the right time. To be able to move them to the right place, add some more encoder callbacks so that this can happen at the right time. LVDS has some similar funky hacks, but that would require more work (we need to move around the pll setup a bit). Hence for now only wire these new callbacks up for ilk+ - we only have cpu eDP on these platforms. v2: Bikeshed the vtable ordering, requested by Chris Wilson. Reviewed-by: Paulo Zanoni Signed-Off-by: Daniel Vetter commit fba92150aa9959b8f1fa39455315f5e8c59bb702 Author: Daniel Vetter Date: Wed Sep 12 23:24:09 2012 +0200 drm/i915: rip out early dp port write for gm45/ilk It's bogus. If I've followed the history of this piece of code correctly, i.e. the initial register write with the following vblank wait, this goes all the way back to the original enabling of DP support in commit a4fc5ed69817c73e32571ad7837bb707f9890009 Author: Keith Packard Date: Tue Apr 7 16:16:42 2009 -0700 drm/i915: Add Display Port support Unfortunately it seems to be nothing more than glorified duct-tape and sometimes actively harmful. Adam Jackson noticed this for CPT platforms with commit e85194641bec56179dcf5e1704ce5c6bf30340c6 Author: Adam Jackson Date: Thu Jul 21 17:48:38 2011 -0400 drm/i915/dp: Don't turn CPT DP ports on too early Unfortunately this kept the code around for ilk and gm45. The specific failure case I'm seeing here is that after a dpms off/on cycle we have the bits from the last link training (hopefully successful link training) set in intel_dp->DP. This is requiered so that complete_link_train can enable the port with the right tuning values. Unfortunately writing these again to the disabled port at dpms on time kills the port somehow until it's disabled - dp link training fails in an endless loop without this patch on my mobile ilk and gm45. Cc: Chris Wilson Tested-by: Chris Wilson Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51493 Signed-Off-by: Daniel Vetter commit 792496368bcd766926239a5ad105ca9aad797b34 Author: Ben Widawsky Date: Fri Sep 7 19:43:42 2012 -0700 drm/i915: Error checks in gen6_set_rps With the new "standardized" sysfs interfaces we need to be a bit more careful about setting the RPS values. Because the sysfs code and the rps workqueue can run at the same time, if the sysfs setter wins the race to the mutex, the workqueue can come in and set a value which is out of range (ie. we're no longer protecting by RPINTLIM). I was not able to actually make this error occur in testing. Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit d5570a72439b2d972c915208266440c2f330d03d Author: Ben Widawsky Date: Fri Sep 7 19:43:41 2012 -0700 drm/i915: POSTING_READ the new rps value In order to keep our cached values in sync with the hardware, we need a posting read here. CC: Chris Wilson Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit df6eedc81d43c2245885c6baeb28d488c8a4dea4 Author: Ben Widawsky Date: Fri Sep 7 19:43:40 2012 -0700 drm/i915: Add current/max/min GPU freq to sysfs Userspace applications such as PowerTOP are interesting in being able to read the current GPU frequency. The patch itself sets up a generic array for gen6 attributes so we can easily add other items in the future (and it also happens to be just about the cleanest way to do this). The patch is a nice addition to commit 1ac02185dff3afac146d745ba220dc6672d1d162 Author: Daniel Vetter Date: Thu Aug 30 13:26:48 2012 +0200 drm/i915: add a tracepoint for gpu frequency changes Reading the GPU frequncy can be done by reading a file like: /sys/class/drm/card0/render_frequency_mhz Reviewed-by: Chris Wilson Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit c8735b0c3edf9ace136c5c24280c5514d95433f2 Author: Ben Widawsky Date: Fri Sep 7 19:43:39 2012 -0700 drm/i915: #define gpu freq multipler Magic numbers are bad mmmkay. In this case in particular the value is especially weird because the docs say multiple things. We'll need this value for sysfs, so extracting it is useful for that as well. Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit dbdfd8e90c81d0fbabe7f392293f1f28d0cf3c48 Author: Ben Widawsky Date: Fri Sep 7 19:43:38 2012 -0700 drm/i915: variable renames Name variables a bit better for copy-pasters. This got turned up as part of review for upcoming sysfs patches. Reviewed-by: Chris Wilson Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 6591c6e4d7d5d0020b91e960e2fe52e0ba6b2a24 Author: Paulo Zanoni Date: Wed Sep 12 10:06:34 2012 -0300 drm/i915: extract compute_clocks from ironlake_crtc_mode_set Signed-off-by: Paulo Zanoni [danvet: resolved conflicts due to missing some earlier patches.] Signed-off-by: Daniel Vetter commit a1f9e77e1f2f1bf3769798c1596433deff08cd04 Author: Paulo Zanoni Date: Wed Sep 12 10:06:32 2012 -0300 drm/i915: simplify setting DSPCNTR inside ironlake_crtc_mode_set Because declaring a variable in the beginning of the function, then initializing it 100 lines later, then using it 100 lines later does not make our code look good IMHO. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit c8203565b098ebb771991a11fce75fed9fe344a0 Author: Paulo Zanoni Date: Wed Sep 12 10:06:29 2012 -0300 drm/i915: extract ironlake_set_pipeconf form ironlake_crtc_mode_set Because ironlake_crtc_mode_set is a giant function that used to have 404 lines. Let's try to make it less complex/confusing. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 9da3da660d8c19a54f6e93361d147509be3fff84 Author: Chris Wilson Date: Fri Jun 1 15:20:22 2012 +0100 drm/i915: Replace the array of pages with a scatterlist Rather than have multiple data structures for describing our page layout in conjunction with the array of pages, we can migrate all users over to a scatterlist. One major advantage, other than unifying the page tracking structures, this offers is that we replace the vmalloc'ed array (which can be up to a megabyte in size) with a chain of individual pages which helps reduce memory pressure. The disadvantage is that we then do not have a simple array to iterate, or to access randomly. The common case for this is in the relocation processing, which will typically fit within a single scatterlist page and so be almost the same cost as the simple array. For iterating over the array, the extra function call could be optimised away, but in reality is an insignificant cost of either binding the pages, or performing the pwrite/pread. v2: Fix drm_clflush_sg() to not invoke wbinvd as well! And fix the trivial compile error from rebasing. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit f60d7f0c1d55a935475ab394955cafddefaa6533 Author: Chris Wilson Date: Tue Sep 4 21:02:56 2012 +0100 drm/i915: Pin backing pages for pread By using the recently introduced pinning of pages, we can safely drop the mutex in the knowledge that the pages are not going to disappear beneath us, and so we can simplify the code for iterating over the pages. Signed-off-by: Chris Wilson Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 755d22184f1e5015b040acee794542d9cf8a16c5 Author: Chris Wilson Date: Tue Sep 4 21:02:55 2012 +0100 drm/i915: Pin backing pages for pwrite By using the recently introduced pinning of pages, we can safely drop the mutex in the knowledge that the pages are not going to disappear jeneath us, and so we can simplify the code for iterating over the pages. Note: The old code had such complicated page refcounting since it used obj->pages as a micro-optimization if it's there, but that could (before this patch) disappear when we drop the dev->struct_mutex. Hence some manual page refcounting was required for the slow path, complicated by the fact that pages returned by shmem_read_mapping_page already have a pageref, which needs to be dropped again. Signed-off-by: Chris Wilson Reviewed-by: Ben Widawsky [danvet: Added note to explain the question Ben raised in review.] Signed-off-by: Daniel Vetter commit a5570178c059cec59e9835be20bc8546377fa7b5 Author: Chris Wilson Date: Tue Sep 4 21:02:54 2012 +0100 drm/i915: Pin backing pages whilst exporting through a dmabuf vmap We need to refcount our pages in order to prevent reaping them at inopportune times, such as when they currently vmapped or exported to another driver. However, we also wish to keep the lazy deallocation of our pages so we need to take a pin/unpinned approach rather than a simple refcount. Signed-off-by: Chris Wilson Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 37e680a15ff6375ff02773161f817e90a38c51f7 Author: Chris Wilson Date: Thu Jun 7 15:38:42 2012 +0100 drm/i915: Introduce drm_i915_gem_object_ops In order to specialise functions depending upon the type of object, we can attach vfuncs to each object via a new ->ops pointer. For instance, this will be used in future patches to only bind pages from a dma-buf for the duration that the object is used by the GPU - and so prevent them from pinning those pages for the entire of the object. v2: Bonus comments. Signed-off-by: Chris Wilson Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 2514ec86531481713036081e93a353bbd02e542b Author: Sylvain Roger Rieunier Date: Thu Sep 20 10:03:29 2012 +0200 mac80211: fix IBSS auth TX debug message In the IBSS auth TX debug message the BSSID and DA address are reversed, fix that. Signed-off-by: Sylvain Roger Rieunier [reword commit message and make it fit 72 cols] Signed-off-by: Johannes Berg commit ca42613a55aa947704a40945597c6f9b856df437 Author: Johannes Berg Date: Wed Sep 19 11:55:49 2012 +0200 iwlwifi: use eth_broadcast_addr Instead of memcpy() from a static array, just use the new helper function eth_broadcast_addr(). Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 7facf16690dc4160e5ff605271704183ff56b2d9 Merge: 87229ad 3b7a89f Author: Dave Airlie Date: Wed Sep 19 20:00:10 2012 +1000 Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Daniel writes: "The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-) Also a few other things: - Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code. - forcewake code frobbery from Ben, code should be more in-line with what Windows does now. - fixes for the render ring flush on hsw (Paulo) - gpu frequency tracepoint - vlv forcewake changes to better align it with our understanding of the forcewake magic. - a few smaller cleanups" + 2 fixes. * 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (78 commits) drm/i915: fix OOPS in lid_notify drm/i915: correctly update crtc->x/y in set_base drm/fb helper: don't call drm_helper_connector_dpms directly drm/i915: improve modeset state checking after dpms calls drm/i915: add tons of modeset state checks drm/i915: no longer call drm_helper_resume_force_mode drm/i915: disable all crtcs at suspend time drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: switch the load detect code to the staged modeset config drm/i915: WARN if the pipe won't turn off drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: push commit_output_state past crtc disabling drm/i915: implement new set_mode code flow drm/i915: compute masks of crtcs affected in set_mode drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: use staged outuput config in tv->mode_fixup drm/i915: extract adjusted mode computation drm/i915: move output commit and crtc disabling into set_mode drm/i915: remove crtc disabling special case drm/i915: push crtc->fb update into pipe_set_base ... commit 87229ad9de079cb12ee09a3dc16113c390b729d5 Author: Dave Airlie Date: Wed Sep 19 11:12:41 2012 +1000 drm: micro optimise cache flushing We hit this a lot with i915 and although we'd like to engineer things to hit it a lot less, this commit at least makes it consume a few less cycles. from something containing movzwl 0x0(%rip),%r10d to add %r8,%rdx I only noticed it while using perf to profile something else. Reviewed-by: Chris Wilson Signed-off-by: Dave Airlie commit 552bff0c2fec8953ba3793d75ee335032cc0b47c Author: Johannes Berg Date: Wed Sep 19 09:26:06 2012 +0200 cfg80211: constify name parameter to add_virtual_intf The name can't be modified by the driver, make it const. Signed-off-by: Johannes Berg commit 2ad4814fb6ddc78ec17079b5dec9e2cd313a944c Author: Johannes Berg Date: Wed Sep 19 08:20:24 2012 +0200 mac80211: make reset debugfs depend on CONFIG_PM The suspend/resume code depends on CONFIG_PM, so the reset debugfs file can only be made available if that is enabled. Fengguang Wu's zero-day build testing found this. Signed-off-by: Johannes Berg commit 0c1abbd1aa0416258881c303a88e618cbca0759c Author: Jaroslav Resler Date: Tue Sep 11 17:25:32 2012 +0800 Bluetooth: Add support for BCM20702A0 [04ca, 2003] Add another vendor specific ID for BCM20702A0. output of usb-devices: T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=04ca ProdID=2003 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 S: SerialNumber=446D57861623 C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Cho, Yu-Chen Signed-off-by: Gustavo Padovan commit ee66401bb94b1f2ce51089c341dcdd25d26ae631 Author: Gustavo Padovan Date: Wed Aug 15 01:38:11 2012 -0300 Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn Foxconn devices has a vendor specific class of device, we will match them differently now. Cc: stable@vger.kernel.org Signed-off-by: Gustavo Padovan commit 23b3b1330abc643e1fbb7cfffcb6947e2583cff2 Author: Johan Hedberg Date: Thu Sep 6 18:39:27 2012 +0300 Bluetooth: Update management interface revision For each kernel release where commands or events are added to the management interface, the revision field should be increment by one. The increment should only happen once per kernel release and not for every command/event that gets added. The revision value is for informational purposes only, but this simple policy would make any future debugging a lot simple. Signed-off-by: Johan Hedberg Cc: stable@vger.kernel.org Signed-off-by: Gustavo Padovan commit 92a25256f142d55e25f9959441cea6ddeabae57e Author: Johan Hedberg Date: Thu Sep 6 18:39:26 2012 +0300 Bluetooth: mgmt: Implement support for passkey notification This patch adds support for Secure Simple Pairing with devices that have KeyboardOnly as their IO capability. Such devices will cause a passkey notification on our side and optionally also keypress notifications. Without this patch some keyboards cannot be paired using the mgmt interface. Signed-off-by: Johan Hedberg Cc: stable@vger.kernel.org Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 5ad777958621524b48d1bdf4aaf3b26a363d4553 Author: Peter Senna Tschudin Date: Fri Sep 7 17:24:48 2012 +0200 Bluetooth: btuart_cs.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 2c24d454060ae76d7fe2aed267944723001faeff Author: Peter Senna Tschudin Date: Fri Sep 7 17:24:47 2012 +0200 Bluetooth: hci_vhci.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit d650ccae2d6f82a7f5dc33aea6c55b4e25692190 Author: Peter Senna Tschudin Date: Fri Sep 7 17:24:42 2012 +0200 Bluetooth: hci_ll.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit a20890d079aa3130ca3f4e10da207cab9df4a2bb Author: Peter Senna Tschudin Date: Fri Sep 7 17:24:39 2012 +0200 Bluetooth: hci_ldisc.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit ce9b0048e167da5d0fe7c36518af427fbdec655d Author: Peter Senna Tschudin Date: Fri Sep 7 17:24:40 2012 +0200 Bluetooth: bluecard_cs.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit ed44a951c72ab409f932b1c15914488308e86da2 Author: Pandiyarajan Pitchaimuthu Date: Tue Sep 18 16:50:49 2012 +0530 cfg80211/nl80211: Notify connection request failure in AP mode In AP mode, when a station requests connection to an AP and if the request is failed for particular reason, userspace is notified about the failure through NL80211_CMD_CONN_FAILED command. Reason for the failure is sent through the attribute NL80211_ATTR_CONN_FAILED_REASON. Signed-off-by: Pandiyarajan Pitchaimuthu Signed-off-by: Johannes Berg commit 30d08a46ea2a4e44bc1a1f15f243af29c9150282 Author: Arend van Spriel Date: Tue Sep 18 10:59:59 2012 +0200 cfg80211: remove obsolete comment for .sched_scan_stop() callback The kerneldoc comment for .sched_scan_stop() callback describes a driver_initiated flag, but the interface does not hold such a flag. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Johannes Berg commit f3baed51f44dd6b6c7076d2de24d8aed291d8130 Author: Alan Cox Date: Mon Sep 17 11:54:15 2012 +0100 wireless: remove unreachable code The only case where intersected_rd can become non NULL is within an if. All paths from that if return, so the end chunk has therefore squawked its last and is no more. Signed-off-by: Alan Cox Signed-off-by: Johannes Berg commit 51c1327876f35d61c8bdd81fc96e1b501c9380ee Author: Laurent Pinchart Date: Thu Apr 26 13:53:59 2012 +0200 drm: Renesas SH Mobile DRM driver The SH Mobile LCD controller (LCDC) DRM driver supports the main graphics plane in RGB and YUV formats, as well as the overlay planes (in alpha-blending mode only). Only flat panel outputs using the parallel interface are supported. Support for SYS panels, HDMI and DSI is currently not implemented. Signed-off-by: Laurent Pinchart Reviewed-by: Sascha Hauer commit ba623f6a5a419ac31806e77682da38a9f9b5b462 Author: Laurent Pinchart Date: Fri May 18 23:47:40 2012 +0200 drm: Add NV24 and NV42 pixel formats Signed-off-by: Laurent Pinchart commit 2e3b3c42f06ff6801b3d7839757bbdb231619083 Author: Lars-Peter Clausen Date: Mon Jul 2 16:37:47 2012 +0200 DRM: Add DRM KMS/FB CMA helper This patchset introduces a set of helper function for implementing the KMS framebuffer layer for drivers which use the DRM GEM CMA helper function. Signed-off-by: Lars-Peter Clausen Tested-by: Sascha Hauer Acked-by: Sascha Hauer [Make DRM_KMS_CMA_HELPER a boolean Kconfig option] Signed-off-by: Laurent Pinchart commit b9d474500546160dd6af35f60cd8bc20edd13807 Author: Sascha Hauer Date: Wed Jun 27 15:30:18 2012 +0200 DRM: Add DRM GEM CMA helper Many embedded drm devices do not have a IOMMU and no dedicated memory for graphics. These devices use CMA (Contiguous Memory Allocator) backed graphics memory. This patch provides helper functions to be able to share the code. The code technically does not depend on CMA as the backend allocator, the name has been chosen because CMA makes for a nice, short but still descriptive function prefix. Signed-off-by: Sascha Hauer Tested-by: Lars-Peter Clausen [Make DRM_GEM_CMA_HELPER a boolean Kconfig option] Signed-off-by: Laurent Pinchart commit 3b7a89fce3e3dc96b549d6d829387b4439044d0d Author: Daniel Vetter Date: Mon Sep 17 22:27:21 2012 +0200 drm/i915: fix OOPS in lid_notify This goes back to commit c1c7af60892070e4b82ad63bbfb95ae745056de0 Author: Jesse Barnes Date: Thu Sep 10 15:28:03 2009 -0700 drm/i915: force mode set at lid open time It was used to fix an issue on a i915GM based Thinkpad X41, which somehow clobbered the modeset state at lid close time. Since then massive amounts of things changed: Tons of fixes to the modeset sequence, OpRegion support, better integration with the acpi code. Especially OpRegion /should/ allow us to control the display hw cooperatively with the firmware, without the firmware clobbering the hw state behind our backs. So it's dubious whether we still need this. The second issue is that it's unclear who's responsibility it actually is to restore the mode - Chris Wilson suggests to just emit a hotplug event and let userspace figure things out. The real reason I've stumbled over this is that the new modeset code breaks drm_helper_resume_force_mode - it OOPSes derefing a NULL vfunc pointer. The reason this wasn't caught in testing earlier is that in commit c9354c85c1c7bac788ce57d3c17f2016c1c45b1d Author: Linus Torvalds Date: Mon Nov 2 09:29:55 2009 -0800 i915: fix intel graphics suspend breakage due to resume/lid event confusion logic was added to _not_ restore the modeset state after a resume. And since most machines are configured to auto-suspend on lid-close, this neatly papered over the issue. Summarizing, this shouldn't be required on any platform supporting OpRegion. And none of the really old machines I have here seem to require it either. Hence I'm inclined to just rip it out. But in case that there are really firmwares out there that clobber the hw state, replace it with a call to intel_modset_check_state. This will ensure that we catch any issues as soon as they happen. Cc: Chris Wilson Acked-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 6c4c86f51c985a146ff7185abff102fc535f6fa8 Author: Daniel Vetter Date: Mon Sep 10 21:58:30 2012 +0200 drm/i915: correctly update crtc->x/y in set_base While reworking the modeset sequence, this got lost in commit 25c5b2665fe4cc5a93edd29b62e7c05c15dddd26 Author: Daniel Vetter Date: Sun Jul 8 22:08:04 2012 +0200 drm/i915: implement new set_mode code flow I've noticed this because some Xorg versions seem to set up a new mode with every crtc at (0,0) and then pan to the right multi-monitor setup. And since some hacks of mine added more calls to mode_set using the stored crtc->x/y my multi-screen setup blew up. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit ba01dfe18241bf89b058fd8a60218b218ad2bb30 Merge: e975639 9316f0e Author: David S. Miller Date: Mon Sep 17 00:57:32 2012 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== This is another batch of updates intended for the 3.7 stream. There are not a lot of large items, but iwlwifi, mwifiex, rt2x00, ath9k, and brcmfmac all get some attention. Wei Yongjun also provides a series of small maintenance fixes. This also includes a pull of the wireless tree in order to satisfy some prerequisites for later patches. ==================== Signed-off-by: David S. Miller commit 0b2443ed4e07d7973e4554a2cc166bc35447b59e Author: Jerome Glisse Date: Thu Aug 9 11:25:51 2012 -0400 drm/edid: limit printk when facing bad edid Limit printing bad edid information at one time per connector. Connector that are connected to a bad monitor/kvm will likely stay connected to the same bad monitor/kvm and it makes no sense to keep printing the bad edid message. Signed-off-by: Jerome Glisse Reviewed-by: Adam Jackson Signed-off-by: Dave Airlie commit 7ac3c93e5dd74486ca4f8f0b02ae55182658d2e5 Merge: 23666a7 5698bd7 Author: Greg Kroah-Hartman Date: Sun Sep 16 17:31:36 2012 -0700 Merge 3.6-rc6 into tty-next This pulls in the fixes in 3.6-rc6 Signed-off-by: Greg Kroah-Hartman commit b48b63a1f6e26b0dec2c9f1690396ed4bcb66903 Merge: 7f2e6a5 3f0c3c8 Author: David S. Miller Date: Sat Sep 15 11:43:53 2012 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/netfilter/nfnetlink_log.c net/netfilter/xt_LOG.c Rather easy conflict resolution, the 'net' tree had bug fixes to make sure we checked if a socket is a time-wait one or not and elide the logging code if so. Whereas on the 'net-next' side we are calculating the UID and GID from the creds using different interfaces due to the user namespace changes from Eric Biederman. Signed-off-by: David S. Miller commit 9316f0e3c6ba524d8fa14bfded048b252891931a Merge: 7f2e6a5 7a5f799 Author: John W. Linville Date: Fri Sep 14 13:53:49 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 9385d04f2872057a2029901190391fe192b18693 Author: Chun-Yeow Yeoh Date: Fri Sep 14 14:18:31 2012 +0800 mac80211: allow re-open the blocked peer link in mesh Peer link which is blocked using the "iw mesh0 station set plink_action block" is previously not able to re-open using "iw mesh0 station set plink_action open". This patch is intended to solve this. If the station plink state remains at OPN_SNT once open, try block and open again should solve this problem. Signed-off-by: Chun-Yeow Yeoh Signed-off-by: Johannes Berg commit 5d8e4237d2dc73b51ac66dc612c5c42dd7424479 Author: Johannes Berg Date: Tue Sep 11 10:17:11 2012 +0200 mac80211: change locking around ieee80211_recalc_smps Make the function acquire the necessary mutex itself to simplify the callers. Signed-off-by: Johannes Berg commit 04b7b2ff50fc77380c1e711f1d7223734547e41b Author: Johannes Berg Date: Wed Sep 5 13:41:37 2012 +0200 mac80211: handle power constraint/country IE better Currently, mac80211 uses the power constraint IE, and reduces the regulatory max TX power by it. This can cause issues if the AP is advertising a large power constraint value matching a high TX power in its country IE, for example in this case: ... Country: US Environment: Indoor/Outdoor ... Channels [157 - 157] @ 30 dBm ... Power constraint: 13 dB ... What happened here is that our local regulatory TX power is 15 dBm, and gets reduced by 13 dB so we end up with only 2 dBm effective TX power, which is way too low. Instead, handle the country IE/power constraint IE combined and restrict our TX power to the max of the regulatory power and the maximum power advertised by the AP, in this case 17 dBm (= 30 dBm - 13 dB). Also print a message when this happens to let the user know and help us debug issues with it. Reported-by: Carl A. Cook Tested-by: Carl A. Cook Signed-off-by: Johannes Berg commit 5fce5e0bbd44263c36f58ad1113b599d06ed1978 Author: Eric W. Biederman Date: Tue Feb 7 16:47:26 2012 -0800 userns: Convert drm to use kuid and kgid and struct pid where appropriate Blink Blink this had not been converted to use struct pid ages ago? - On drm open capture the openers kuid and struct pid. - On drm close release the kuid and struct pid - When reporting the uid and pid convert the kuid and struct pid into values in the appropriate namespace. Cc: dri-devel@lists.freedesktop.org Acked-by: Dave Airlie Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman commit 78890b5989d96ddce989cde929c45ceeded0fcaf Merge: 1959ec5 55d512e Author: Bjorn Helgaas Date: Thu Sep 13 08:41:01 2012 -0600 Merge commit 'v3.6-rc5' into next * commit 'v3.6-rc5': (1098 commits) Linux 3.6-rc5 HID: tpkbd: work even if the new Lenovo Keyboard driver is not configured Remove user-triggerable BUG from mpol_to_str xen/pciback: Fix proper FLR steps. uml: fix compile error in deliver_alarm() dj: memory scribble in logi_dj Fix order of arguments to compat_put_time[spec|val] xen: Use correct masking in xen_swiotlb_alloc_coherent. xen: fix logical error in tlb flushing xen/p2m: Fix one-off error in checking the P2M tree directory. powerpc: Don't use __put_user() in patch_instruction powerpc: Make sure IPI handlers see data written by IPI senders powerpc: Restore correct DSCR in context switch powerpc: Fix DSCR inheritance in copy_thread() powerpc: Keep thread.dscr and thread.dscr_inherit in sync powerpc: Update DSCR on all CPUs when writing sysfs dscr_default powerpc/powernv: Always go into nap mode when CPU is offline powerpc: Give hypervisor decrementer interrupts their own handler powerpc/vphn: Fix arch_update_cpu_topology() return value ARM: gemini: fix the gemini build ... Conflicts: drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c drivers/rapidio/devices/tsi721.c commit 09e7dcf081b1100d1cdff57fa9eb25c3a834c9d6 Author: Emil Goode Date: Wed Sep 5 23:51:47 2012 +0200 gma500: Remove unused variable This patch removes a unused struct psb_intel_connector Sparse gives a warning: drivers/gpu/drm/gma500/cdv_intel_hdmi.c:142:30: warning: unused variable ‘psb_intel_connector’ [-Wunused-variable] Signed-off-by: Emil Goode Signed-off-by: Dave Airlie commit 3a9950781cccc0a2c219c9369e585945f1de1c0f Author: Wei Yongjun Date: Mon Aug 27 07:07:43 2012 +0000 vmwgfx: remove useless set memory to zero use memset() The memory return by kzalloc() or kmem_cache_zalloc() has already be set to zero, so remove useless memset(0). Signed-off-by: Wei Yongjun Signed-off-by: Dave Airlie commit cd004b3f4cd4169815c82bf9e424fda06978898a Author: Shirish S Date: Thu Aug 30 07:04:06 2012 +0000 drm: edid: add support for E-DDC The current logic for probing ddc is limited to 2 blocks (256 bytes), this patch adds support for the 4 block (512) data. To do this, a single 8-bit segment index is passed to the display via the I2C address 30h. Data from the selected segment is then immediately read via the regular DDC2 address using a repeated I2C 'START' signal. Signed-off-by: Shirish S Reviewed-by: Jean Delvare Reviewed-by: Daniel Vetter Reviewed-by: Ville Syrjala Signed-off-by: Dave Airlie commit 93eb58d53fb14e9eeb1b42f8c04dbd7afc09adf7 Author: Robert P. J. Day Date: Thu Aug 30 11:23:46 2012 +0000 drm: Remove unnecessary test for ARM. Since arch/arm/include/asm/pgtable.h contains: #define io_remap_pfn_range(vma,from,pfn,size,prot) \ remap_pfn_range(vma, from, pfn, size, prot) there is no point treating ARM as a special case in distinguishing between remap_pfn_range() and io_remap_pfn_range(). Signed-off-by: Robert P. J. Day Signed-off-by: Dave Airlie commit 9a6a4b4757175271bc3a289fcb5c69e897039379 Author: Andy Shevchenko Date: Wed Sep 5 12:04:19 2012 +0000 drm: use %*ph to dump small buffers Signed-off-by: Andy Shevchenko Signed-off-by: Dave Airlie commit 14f77fdd58773245a0eae4243c039a420a52c820 Author: Ville Syrjälä Date: Thu Aug 16 14:55:06 2012 +0000 drm: edid: Refactor HDMI VSDB detection There are two slightly different pieces of code for HDMI VSDB detection. Unify the code into a single helper function. Also fix a bug where drm_detect_hdmi_monitor() would stop looking for the HDMI VSDB after the first vendor specific block is found, whether or not that block happened to be the HDMI VSDB. The standard allows for any number of vendor specific blocks to be present. Signed-off-by: Ville Syrjälä Reviewed-by: Adam Jackson Signed-off-by: Dave Airlie commit 8504072a2a47c80344c1cf81537d1d433a979fc6 Author: Ville Syrjälä Date: Thu Aug 16 14:55:05 2012 +0000 drm: edid: Add bounds checking to HDMI VSDB parsing The length of HDMI VSDB must be at least 5 bytes. Other than the minimum, nothing else about the length is specified. Check the length before accessing any additional field beyond the minimum length. Signed-off-by: Ville Syrjälä Reviewed-by: Adam Jackson Signed-off-by: Dave Airlie commit 9e50b9d55e9c38440175a0f27f77708e2270b140 Author: Ville Syrjälä Date: Thu Aug 16 14:55:04 2012 +0000 drm: edid: Add some bounds checking Make sure drm_detect_hdmi_monitor() and drm_detect_monitor_audio() don't access beyond the extension block. Signed-off-by: Ville Syrjälä Reviewed-by: Adam Jackson Signed-off-by: Dave Airlie commit 4a1897d268bcde8a8d0ba7d3d887d70e66b4d6f1 Author: Russell King - ARM Linux Date: Fri Aug 10 22:52:18 2012 +0000 drm: consistently name interlaced modes At the moment, there is an inconsistency in the way modes are named. Modes with timings parsed from the EDID information will call drm_mode_set_name(), which will name the mode using this form: x eg, 1920x1080i for an interlaced mode, or 1920x1080 for a progressive mode. However, timings parsed using the tables in drm_edid_modes.h do not have the 'i' suffix. You are left to deduce that they're interlaced from xrandr's output by the lower vertical refresh frequencies. This patch changes the interlaced mode names in drm_edid_modes.h to follow the style set by drm_mode_set_name(), which makes it clear in xrandr which modes are interlaced and which are not (as xrandr groups the refresh rates on a line according to the name field.) Signed-off-by: Russell King Reviewed-by: Alex Deucher Reviewed-by: Adam Jackson Signed-off-by: Dave Airlie commit fb30edf5e4b43745f33a1df5fec32721f63026c2 Author: David Herrmann Date: Tue Sep 11 18:35:11 2012 +0000 drm: make buffer management work without DRM_MASTER DRM users should be able to create/destroy/manage dumb- and frame-buffers without DRM_MASTER. These ioctls do not affect modesetting so there is no reason to protect them by drm-master. Particularly, destroying buffers should always be possible as a client has only access to buffers that they created. Hence, there is no reason to prevent a client from destroying the buffers, considering a simple close() would destroy them, anyway. Furthermore, a display-server currently cannot shutdown correctly if it does not have DRM_MASTER. If some other display-server becomes active (or the kernel console), then the background display-server is unable to destroy its buffers. Under special curcumstances (like monitor reconfiguration) this might even happen during runtime. Signed-off-by: David Herrmann Signed-off-by: Dave Airlie commit 1959ec5f82acbdf91425b41600f119ebecb5f6a8 Merge: a63ab61 1d35203 Author: Bjorn Helgaas Date: Wed Sep 12 13:54:10 2012 -0600 Merge branch 'pci/stephen-const' into next * pci/stephen-const: make drivers with pci error handlers const scsi: make pci error handlers const netdev: make pci_error_handlers const PCI: Make pci_error_handlers const commit 7a5f799becc51c842ec1a3aeb8dd82651aea7036 Author: Larry Finger Date: Tue Sep 11 16:04:36 2012 -0500 rtlwifi: Remove EXPERIMENTAL as pre-requisite for the drivers All of the rtlwifi-family of drivers have been in the kernel since 3.1 or earlier. The dependence on EXPERIMENTAL can be removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e756af5b30b008f6ffcfebf8ad0b477f6f225b62 Author: Hante Meuleman Date: Tue Sep 11 21:18:52 2012 +0200 brcmfmac: add e-scan support. This patch adds e-scan support (currently i-scan is in use). E-scan is a more powerful and memory efficient method for scanning. E-scan will be the default scan method and eventually, i-scan support will be removed. The scan methods do not make any difference to the end-user. Reviewed-by: Arend Van Spriel Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d74a0b514de6996021573e5406af8d06da188794 Author: Hante Meuleman Date: Tue Sep 11 21:18:51 2012 +0200 brcmfmac: avoid using local usb data. This patch removes usage of some of the local data in the usb host interface driver. This is a step in the preperation to support multiple USB devices. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 64477ebc326d30f1680898f073a958e9e8e5a1e5 Author: Hante Meuleman Date: Tue Sep 11 21:18:50 2012 +0200 brcmfmac: refill buffers on rx protocol error. This patch fixes a bug where rx buffer does not get refilled if the packet received has an rx protocol error. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 35aafa9d6f977bff95c226d12435795086bc820d Author: Hante Meuleman Date: Tue Sep 11 21:18:49 2012 +0200 brcmfmac: Clean up scan related code. Clean up scan related code in preparation of a new scan mechanism (e-scan) which will follow in a separate patch. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c6ab42948d7727e9efb2e29d9a0e68b88150f319 Author: Hante Meuleman Date: Tue Sep 11 21:18:48 2012 +0200 brcmfmac: Add tx flow control on net if queue for USB. Enable tx flow control for USB host interface. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c4fdb05696f315f43eb44c2a44fec1677ba47b31 Author: Hante Meuleman Date: Tue Sep 11 21:18:47 2012 +0200 brcmfmac: Add extra data support to firmware event queueing. Firmware events can contain extra data. This patch adds support to copy this data when it exists. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 90d03ff71b52ba1d9d53f18c07d89566ba0263b4 Author: Hante Meuleman Date: Tue Sep 11 21:18:46 2012 +0200 brcmfmac: Stop all net if queues on tx flow halt. When tx flow is to be blocked due to host interface throttle then all net if queues should be stopped. Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 871fc09f1c8a9c0652afa7c673ae401fdb3f4aeb Author: Daniel Drake Date: Tue Sep 11 11:38:11 2012 -0400 libertas: set mac control synchronously during init CMD_MAC_CONTROL is currently sent async to the firmware, and is sent from the lbs_setup_firmware() path during device init. This means that device init can complete with commands pending, and the if_sdio driver will sometimes power down the device (after init) with this command still pending. This was causing an occasional spurious command timeout after init, leading to a device reset. Fix this by making CMD_MAC_CONTROL synchronous when called from the lbs_setup_firmware() path. Signed-off-by: Daniel Drake Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 46025f550401c830be9773e14d62b7cab8856216 Author: Sujith Manoharan Date: Tue Sep 11 11:04:00 2012 +0530 ath9k: Choose correct LED pin for AR9565 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9aa49ea3f5999a6a36823bd259892088896af140 Author: Sujith Manoharan Date: Tue Sep 11 10:46:38 2012 +0530 ath9k_hw: Rename antenna diversity macros The register macros for antenna diversity are common for AR9462 and AR9565, rename them. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b7f597668657c9c9579dbdff9692aea3e8e9bf5a Author: Sujith Manoharan Date: Tue Sep 11 10:46:24 2012 +0530 ath9k_hw: Handle gentimer termination properly Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 4ac8764ab2290fd83c21b4183ca6a0f279dab277 Author: Avinash Patil Date: Mon Sep 10 18:30:49 2012 -0700 mwifiex: separate TxPD processing routine for AP This patch adds separate tx packet descriptor routine for AP interface. This function fills bss_type, bss_num, wmm packet delay information etc for TxPD going on AP interface. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit fd4c45112800573f2c40a6372c419f6218885b58 Author: Bing Zhao Date: Mon Sep 10 18:30:48 2012 -0700 mwifiex: disable WOW by default Some platforms do not support WOW. Let's change the default wakeup criteria to 0. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit cc0ba0d522c40545a4340e2168ba9967a7a25b22 Author: Amitkumar Karwar Date: Mon Sep 10 18:30:47 2012 -0700 mwifiex: support custom world regulatory domain country 00 (world regulatory domain) doesn't define channels 52 - 64 and 100 - 140. Add these channels to our custom world regulatory domain. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 77c8a14b1f04b823388700195c547fdb6b625d49 Author: Bing Zhao Date: Mon Sep 10 18:30:46 2012 -0700 mwifiex: do not hint regulatory domain with f/w country code We will use world regulatory domain (country 00) as default when driver is loaded. Later after a successful association cfg80211 will change the regulatory domain to a specific country if the AP has advertised country IE. Signed-off-by: Bing Zhao Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit e89e2da29b7e2cba217a3e91a3106b708d0b878d Author: Amitkumar Karwar Date: Mon Sep 10 18:30:45 2012 -0700 mwifiex: use country ie of requested AP while associating AP's country ie is parsed and 11d information is updated in firmware while associating. Previous mwifiex_send_domain_info_cmd_fw() call in association path is not necessary now. Hence it is removed in this patch. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 16051b0e245219563ac8d145f29217ac7a6ce5ec Author: Amitkumar Karwar Date: Mon Sep 10 18:30:44 2012 -0700 mwifiex: update adapter->bss_prio_tbl[j].bss_prio_cur correctly "adapter->bss_prio_tbl[j].bss_prio_head" points to linked list of interfaces with priority 'j'. "bss_prio_tbl[j].bss_prio_cur" is supposed to point to next interface every time the routine for dequeuing the packet is called. This ensures that each interface gets fair chance. Currently we have AP and station interfaces with priority '0'. Therefore "adapter->bss_prio_tbl[0].bss_prio_cur" should alternately point to AP and station nodes. Since "bss_prio_cur" is not correctly updated, for each packet picked for AP, two packets are picked for station interface. This patch fixes the problem by correctly updating "bss_prio_cur". Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a458c0ae6caa1bdb8256955b8cace84d578c9dad Author: Amitkumar Karwar Date: Mon Sep 10 18:30:43 2012 -0700 mwifiex: have same priority for AP and station traffic Currently AP interface has higher priority over station. Hence separate entries are created in "adapter->bss_prio_tbl" for these interfaces and station packet is dequeued only if there is not packet in queue for AP. It is observed that ping for station interface doesn't work if heavy traffic is running on AP. The problem is fixed by having same priority for both the interfaces. This patch also removes an extra initialisation for "priv->bss_priority". Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 09d60ce76487753bfb422d4a0f91b26031089ed0 Author: Amitkumar Karwar Date: Mon Sep 10 18:30:42 2012 -0700 mwifiex: remove AMSDU_AGGR_CTRL command response handler HostCmd_CMD_AMSDU_AGGR_CTRL is never called with GET action. So the code in mwifiex_ret_amsdu_aggr_ctrl() becomes redundant. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 1661aef6159d0c450ca6cebf9a1a1c2777bb9b12 Author: Amitkumar Karwar Date: Mon Sep 10 18:30:41 2012 -0700 mwifiex: remove 11N_CFG command response handler HostCmd_CMD_11N_CFG is never called with GET action. So the code in mwifiex_ret_11n_cfg() becomes redundant. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e69d1ff11c2bf5c95461337535f0121e52bce4a0 Author: Amitkumar Karwar Date: Mon Sep 10 18:30:40 2012 -0700 mwifiex: remove get operation code for SUBSCRIBE EVENT command We don't send this command with GET action. Redundant code in mwifiex_ret_subsc_evt() is removed in this patch. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 420e2b1b4a9120b6f89bc98e37173a6b2a48a798 Author: Rajkumar Manoharan Date: Mon Sep 10 17:05:11 2012 +0530 ath9k_hw: add 8 points for 5G temp slop Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit c21d34a302c21580133748a781af6f03a9a06aa7 Author: Rajkumar Manoharan Date: Mon Sep 10 17:05:10 2012 +0530 ath9k_hw: use peak detection for 5GHz Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 83ad49a96edaf139333be7f3f7ed261dd41e4ad3 Author: Rajkumar Manoharan Date: Mon Sep 10 17:05:09 2012 +0530 ath9k_hw: Wait BT calibration to complete Whenever BT calibration requested, WLAN has to wait for the calibration to be completed. But right now we defer the waiting which might cause BT calibration to fail. Fix that. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit c1154431e3a9ca2ce073b0637a50946941db56a4 Author: Wei Yongjun Date: Mon Sep 10 15:21:59 2012 +0800 rndis_wlan: remove pointless check from rndis_scan() In rndis_scan(), 'request' is actually always valid pointer and the !request check is unneeded, so remove it. Signed-off-by: Wei Yongjun Acked-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0c8070f92f483b764623f6d3960a4d69f8911351 Author: Sujith Manoharan Date: Mon Sep 10 09:20:39 2012 +0530 ath9k: Add PCI ID for AR9565 Enable AR9565. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8565f8bf478e28a416e2816d906a84e323e5629c Author: Sujith Manoharan Date: Mon Sep 10 09:20:29 2012 +0530 ath9k_hw: Program correct PLL value for AR9565 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d43d04a9e10f743c601fca8d9a019798ea7ce866 Author: Sujith Manoharan Date: Mon Sep 10 09:20:20 2012 +0530 ath9k_hw: Fix spur mitigation for AR9565 Exclude CCK spur mitigation, freq 2437 for OFDM and add AR9565-specific logic. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e41db61d55fa58de9854c1d4932ea255f448d4b8 Author: Sujith Manoharan Date: Mon Sep 10 09:20:12 2012 +0530 ath9k: Set correct max streams for AR9565 Also, set the correct chainmask. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a4a2954ff49e72ce3fa1f78a156b2492a023c89d Author: Sujith Manoharan Date: Mon Sep 10 09:20:03 2012 +0530 ath9k_hw: Add AR9565 HW support Various parts of the code require AR9565 checks, this patch adds them. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit aaa53ee97dab2b4c98ea2765e4f16af62d8694bb Author: Sujith Manoharan Date: Mon Sep 10 09:19:54 2012 +0530 ath9k_hw: Add AR9565 initvals Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 77fac465b4b65056a2cec62c1acdc754b7ae86ed Author: Sujith Manoharan Date: Tue Sep 11 20:09:18 2012 +0530 ath9k_hw: Add version/revision macros for AR9565 And recognize the device in the init path. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 390fd9d6c223980190adf44af5c7ba0662ff61e3 Author: Christian Lamparter Date: Sat Sep 8 01:28:42 2012 +0200 p54: fix off-by-one null pointer bug in p54_tx_80211 This patch fixes a regression which was introduced in: "mac80211: move TX station pointer and restructure TX" IP: p54_tx_80211+0x21/0x513 [p54common] Oops: 0000 [#1] SMP Modules linked in: p54usb p54common [...] Pid: 13394, comm: hostapd 3.6.0-rc4-wl+ RIP: 0010:p54_tx_80211+0x21/0x513 RSP: 0018:... EFLAGS: 00010292 [...] Process hostapd Stack: [...] Call Trace: p54_bss_info_changed+0x204/0x21e [p54common] ieee80211_del_station+0x16/0x32 [mac80211] ieee80211_start_ap+0x10f/0x157 [mac80211] nl80211_start_ap+0x315/0x361 [cfg80211] p54_tx_80211 function is called as part of the beacon update. The caller p54_bss_info_changed has to supply a valid tx control struct, or the control->sta will lead to a null pointer dereference. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 28ab58bd6a80408af79999492c8a28c8910ef62e Author: Peter Senna Tschudin Date: Fri Sep 7 17:24:41 2012 +0200 drivers/net/wireless/ath/ath9k/ar9003_mac.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Signed-off-by: John W. Linville commit c9e6e980433a0399c02061a59175bbc819eb8507 Author: Mohammed Shafi Shajakhan Date: Fri Sep 7 15:54:13 2012 +0530 ath9k: Add Generic hardware timer interrupt in debugfs Having generic hardware timer interrupt in debugfs would come handy when we are debugging 3 WIRE BTCOEX issues. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 80fe43f2bbd5138f3b04476bb4a954a2a34bc960 Author: Rajkumar Manoharan Date: Fri Sep 7 12:15:16 2012 +0530 ath9k_hw: Read and configure thermocal for AR9462 Read and configure thermometer calibration results read from OTP card. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 02eba421980d5b7ff8b5e7fd50327b00e5adb430 Author: Rajkumar Manoharan Date: Fri Sep 7 12:15:15 2012 +0530 ath9k_hw: Read and apply thermometer settings from EEPROM Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 84d216c6984d5a4ef62b32652a0cefa75cb03ca3 Author: Peter Senna Tschudin Date: Thu Sep 6 18:09:17 2012 +0200 drivers/net/wireless/rtlwifi/rtl8192de/phy.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Acked-by: Larry Finger Signed-off-by: John W. Linville commit 44afb60f3927c6f732522a477eb77c9db83bd404 Author: Andy Shevchenko Date: Wed Sep 5 11:52:32 2012 +0300 wireless: at76c50x: eliminate hex2str() The hex2str() is substituted by '%*phD' specificator. Signed-off-by: Andy Shevchenko Tested-by: Larry Finger Signed-off-by: John W. Linville commit 827810425befee2c2d86844eb3dce66a78938f06 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:39 2012 +0530 ath9k_htc: Cancel BTCOEX related work before disabling BTCOEX Before disabling BTCOEX in the h/w cancel all BTCOEX related works. This is similar to the commit in ath9k(c32cdbd8) ath9k: Stop the BTCOEX timers before disabling BTCOEX Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7f34778e79048fae1a88100de917277375466de0 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:38 2012 +0530 ath9k_htc: Add a modparam to enable BTCOEX rather than default Enable BTCOEX for WB193(which seems to be the only supported ath9k_htc BTCOEX chipset)only when it is enabled via modparam, rather than enabling it by default. Cc: Vivek Natarajan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit fed27f6faa40575cf35f7663ae12974e83240431 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:37 2012 +0530 ath9k_htc: minor cleanup in ath9k_htc_add_station Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 327967cba4492c36ef498a786016295102521c55 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:36 2012 +0530 ath9k: Cleanup add/change_interface callbacks *Remove all the checks that will be handled by cfg80211 based on the interface combination advertised. For instance, driver supports at the maximum 8 beaconing interface, while we advertise maximum 8 beaconing interface in the interface combination support. *cfg80211 will take care of not allowing us to add an interface that is not supported by the driver, further if the change_interface changes the old interface to a beaconing interface while we had reached the max limit of 8 beaconing interface, again cfg80211 takes care of this stuff! So remove all these checks. *Beautify placing PS wrappers in the appropriate position. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1b29ce42e94a93a821959ba5d46ddd4f235a7217 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:35 2012 +0530 ath9k: Remove an obselete function declaration Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5686cac5bc6c41161cdf879998e16001c92e7bf8 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:34 2012 +0530 ath9k: Make use of ath_stop_ani wrapper Additionally it has a neat debug message informing us that we are stopping the ANI algorithm. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 94ae77ea4600801233663e64025529ba43075643 Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:33 2012 +0530 ath9k: Fix BTCOEX timer triggering comparision Its more correct to convert btcoex_period to 'us' while comparing with btcoex_no_stomp which is in 'us'. Did not find any functionality issues being fixed, as the generic hardware timer triggers are usually refreshed with the newer duty cycle. Cc: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 90be994cd0d70fbe4a97b144806db6cfa497392c Author: Mohammed Shafi Shajakhan Date: Tue Sep 4 19:33:32 2012 +0530 ath9k_hw: Fix invalid MCI GPM index access/caching There is a possibility that AR_MCI_GPM_1 register can return 0xdeadbeef and this results in caching of invalid GPM index in ar9003_mci_is_gpm_valid. Ensure we have appropriate checks to avoid this. Cc: xijin luo Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit af2c8ffe56133928355d1d51978b35115ffbbc2a Author: Andi Kleen Date: Mon Sep 3 21:13:35 2012 +0200 brcm80211: Remove bogus memcpy in ai_detach gcc 4.8 warns for this memcpy. While the copy size is correct, the whole copy seems to be a nop because the destination is never used, and there's no need to use memcpy to copy pointers anyways. And the type of the pointer was wrong, but at least those are always the same. Just remove it. /backup/lsrc/git/linux-lto-2.6/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c: In function 'ai_detach': /backup/lsrc/git/linux-lto-2.6/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c:539:32: warning: argument to 'sizeof' in 'memcpy' call is the same pointer type 'struct si_pub **' as the destination; expected 'struct si_pub *' or an explicit length [-Wsizeof-pointer-memaccess] memcpy(&si_local, &sih, sizeof(struct si_pub **)); ^ Signed-off-by: Andi Kleen Signed-off-by: John W. Linville commit 959cd68d0813b8c0fe62ae90f3d30e26c347cd5f Author: Jussi Kivilinna Date: Sun Sep 2 21:10:44 2012 +0300 zd1211rw: enable support for MFP zd1211rw lacks hardware encryption, so enabling 802.11w is only matter of enabling IEEE80211_HW_MFP_CAPABLE flag. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 03839951515b0ea2b21d649b1fe7b63f9817d0c8 Author: Daniel Golle Date: Sun Sep 9 14:24:39 2012 +0300 rt2x00: add MediaTek/RaLink Rt3352 WiSoC Support for the RT3352 WiSoC was developed for and tested with the ALL5002 devboard running OpenWrt. For now, this supports only devices with internal TXALC. Corrections were made according to the remarks of Stanislaw Gruszka and Gertjan van Wingerde, thank you guys for reviewing! Signed-off-by: Daniel Golle Signed-off-by: John W. Linville commit 3a6a0d8ee88d23e7dda28808c2c890c4db50ccb2 Author: Johannes Berg Date: Fri Sep 7 17:25:27 2012 +0200 mac80211: remove unneeded CONFIG_PM ifdef The functions are only called if CONFIG_PM is set as the callers are under an ifdef, so there's no need to also define no-op functions. Signed-off-by: Johannes Berg commit 15e473046cb6e5d18a4d0057e61d76315230382b Author: Eric W. Biederman Date: Fri Sep 7 20:12:54 2012 +0000 netlink: Rename pid to portid to avoid confusion It is a frequent mistake to confuse the netlink port identifier with a process identifier. Try to reduce this confusion by renaming fields that hold port identifiers portid instead of pid. I have carefully avoided changing the structures exported to userspace to avoid changing the userspace API. I have successfully built an allyesconfig kernel with this change. Signed-off-by: "Eric W. Biederman" Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 83f84d7bd49f9e4deea0a77a76c9882673ee1f3c Author: Johannes Berg Date: Mon Sep 10 11:50:18 2012 +0200 iwlwifi: load firmware in chunks Instead of allocating one big chunk of DMA-coherent memory for the firmware and keeping it around, only vmalloc() the firmware and copy it into a single page of DMA-coherent memory for the upload. The advantage is that we don't need DMA memory for the firmware image that is stored while the driver is operating, we only need it while uploading. This will make it easier for the driver to work if the system has fragmented memory. Signed-off-by: Johannes Berg commit 7439046d9747966bb805ca8bfd1086a876a4b8fd Author: Emmanuel Grumbach Date: Sun Sep 9 16:58:07 2012 +0300 iwlwifi: don't access the HW when it is not available When we kill the radio with the RF kill button we could access the HW after having stopped the APM which would result in the warning below. The flow goes like this: * RF kill iwlwifi notifies the stack which stops the driver fw sends CARD_STATE_NOTIFICATION * iwl_trans_pcie_stop_device stops the APM * the tasklet runs and calls to iwl_rx_handle * iwl_rx_handle calls iwl_rx_queue_restock * iwl_rx_queue_restock tries to access the HW... [255908.543823] ------------[ cut here ]------------ [255908.543843] WARNING: at drivers/net/wireless/iwlwifi/iwl-io.c:150 iwl_grab_nic_access+0x79/0xb0 [iwlwifi]() [255908.543849] Hardware name: Latitude E6410 [255908.543852] Timeout waiting for hardware access (CSR_GP_CNTRL 0x000003d8) [255908.543856] Modules linked in: iwlmvm iwlwifi mac80211 [...] [255908.543935] Pid: 0, comm: swapper Tainted: G W 3.1.0 #1 [255908.543939] Call Trace: [255908.543950] [] warn_slowpath_common+0x72/0xa0 [255908.543980] [] warn_slowpath_fmt+0x33/0x40 [255908.543992] [] iwl_grab_nic_access+0x79/0xb0 [iwlwifi] [255908.544004] [] iwl_write_direct32+0x2b/0xa0 [iwlwifi] [255908.544018] [] iwl_rx_queue_update_write_ptr+0x89/0x1d0 [iwlwifi] [255908.544054] [] iwlagn_rx_queue_restock+0x110/0x140 [iwlwifi] [255908.544067] [] iwl_irq_tasklet+0x82d/0xf40 [iwlwifi] [255908.544096] [] tasklet_action+0xbe/0x100 [255908.544102] [] __do_softirq+0xae/0x1f0 [255908.544227] ---[ end trace d150f49345d85009 ]--- Prevent this. Signed-off-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Signed-off-by: Johannes Berg commit 358a46d47eefadd5be67495682426bd743ce455c Author: Emmanuel Grumbach Date: Sun Sep 9 16:39:18 2012 +0300 iwlwifi: some clean up in transport layer Remove outdated iwlagn prefix to a few functions and fix comments that were not accurate. Signed-off-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Signed-off-by: Johannes Berg commit 2d1c0044ddc708885146af1d6790436a613cac5b Author: Johannes Berg Date: Sun Sep 9 20:59:17 2012 +0200 iwlwifi: fix indentation in iwl_load_given_ucode There's a block of code that's indented too far, move it out to where it should be. Signed-off-by: Johannes Berg Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit ee7d737c45440062320c16bc7ad7bb5c9fe8888e Author: David Spinadel Date: Sun Aug 12 08:14:04 2012 +0300 iwlwifi: stop interrupts before stopping device If an RX interrupt is signalled after or during apm_stop we may try to access the peripherals which are already down. Prevent this by disabling interrupts first. Signed-off-by: David Spinadel Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 8b61fa242ce56838ce1c41db3692b64b4c344776 Author: David Spinadel Date: Wed Aug 8 15:17:26 2012 +0300 iwlwifi: don't reset interupts after disabling iwl_disable_interupts() already resets the register, no need to do it again. Signed-off-by: David Spinadel Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 1bad53824305807bb5cf49d6b588dd9d867586c6 Author: Felix Fietkau Date: Sat Sep 8 11:58:30 2012 +0200 mac80211: validate skb->dev in the tx status path skb->dev might contain a stale reference to a device that was already deleted, and using it unchecked can lead to invalid pointer accesses. Since this is only used for nl80211 tx, iterate over active interfaces to find a match for skb->dev, and discard the tx status if the device is gone. Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg commit b22cfcfcae5b2c1e9b43543b6a23e5ef517de8f8 Author: Eliad Peller Date: Sun Sep 9 14:43:51 2012 +0300 mac80211: use call_rcu() on sta deletion mac80211 calls synchronize_rcu() on sta deletion, which increase the roaming time significantly. Convert it into a call_rcu() mechanism, in order to avoid blocking. Since some of the cleanup functions might sleep, schedule from the call_rcu callback a new work that will do the actual cleanup. In order to make sure the cleanup occurs before the interface went down, flush local->workqueue on ieee80211_do_stop(). Signed-off-by: Yoni Divinsky Signed-off-by: Eliad Peller Signed-off-by: Johannes Berg commit e548c49e6dc6b08b59042930a2e90c69c13c9293 Author: Johannes Berg Date: Tue Sep 4 17:08:23 2012 +0200 mac80211: add key flag for management keys Mark keys that might be used to receive management frames so drivers can fall back on software crypto for them if they don't support hardware offload. As the new flag is only set correctly for RX keys and the existing IEEE80211_KEY_FLAG_SW_MGMT flag can only affect TX, also rename the latter to IEEE80211_KEY_FLAG_SW_MGMT_TX. Signed-off-by: Johannes Berg commit e71dfabab03129182a955663cbd53406714d96c0 Author: Andrei Emeltchenko Date: Thu Sep 6 15:05:46 2012 +0300 Bluetooth: AMP: Add Read Data Block Size to amp_init Add Read Data Block Size HCI cmd to AMP initialization, then it makes possible to send data. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 93f71941c6d3ead73ca74d447b4007c6908f6eb5 Author: Andrei Emeltchenko Date: Thu Sep 6 15:05:44 2012 +0300 Bluetooth: trivial: Remove empty line Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 9472007c62ecc8f21daa2e1e252bf73b67e535fc Author: Andrei Emeltchenko Date: Thu Sep 6 15:05:43 2012 +0300 Bluetooth: trivial: Make hci_chan_del return void Return code is not needed in hci_chan_del Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 6b536b5e5e1da32f3ba1e3f42c7bf2f80d37dc6b Author: Andrei Emeltchenko Date: Fri Aug 31 16:39:28 2012 +0300 Bluetooth: Remove unneeded zero init hdev is allocated with kzalloc so zero initialization is not needed. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 7923296f3f9eebbe3d7bb4c99d73bd7a226e0146 Author: Wei Yongjun Date: Tue Aug 28 21:12:48 2012 +0800 Bluetooth: btmrvl: remove pointless conditional before kfree_skb() Remove pointless conditional before kfree_skb(). Signed-off-by: Wei Yongjun Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 9712ba0bec83579ae63e4d61f79e18c7d0d9d3fd Author: Sachin Kamat Date: Tue Aug 7 10:37:45 2012 +0530 Bluetooth: Use module_platform_driver() in btwilink.c file module_platform_driver() makes the code simpler by eliminating module_init and module_exit calls. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit e04190e0ecb236c51af181c18c545ea076fb9cca Author: Daniel Vetter Date: Fri Sep 7 10:14:52 2012 +0200 drm/fb helper: don't call drm_helper_connector_dpms directly Yet again a case where the fb helper is too intimate with the crtc helper and calls a crtc helepr function directly instead of going through the interface vtable. This fixes console blanking in drm/i915 with the new i915-specific modeset code. Reported-by: Jesse Barnes Tested-by: Jesse Barnes Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 3646f0e5c97703cecfd96cdabb085e78d9b7f680 Author: Stephen Hemminger Date: Fri Sep 7 09:33:15 2012 -0700 netdev: make pci_error_handlers const Signed-off-by: Stephen Hemminger Signed-off-by: Bjorn Helgaas commit ad417a533a5bddedbf6b64c12cc26af7c80866f8 Author: Gertjan van Wingerde Date: Mon Sep 3 03:25:51 2012 +0200 rt2x00: rt2800 - Make probe_hw function common between PCI and USB. Refactor the probe_hw code so that more code can be shared between rt2800pci and rt2800usb. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 99bdf51a6892e7fdff8d879890f075b3bf51d4ef Author: Gertjan van Wingerde Date: Fri Aug 31 19:22:13 2012 +0200 rt2x00: Unify GPIO register field namings The various rt2x00 drivers use different methods to name the different GPIO register fields indicating the GPIO pin value and the fields indicating the direction. Start using a unified naming scheme for the GPIO register fields: - _VAL for fields indicating the GPIO pin value. - _DIR for fields indicating the GPIO pin direction. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo Van Doorn Signed-off-by: John W. Linville commit 605b55186bfb34eab896c50a21409f9eed2e2a34 Author: Gertjan van Wingerde Date: Fri Aug 31 19:22:12 2012 +0200 rt2x00: Align GPIO register definitions with the datasheets. Ensure that all active GPIO pins are included in the GPIO register definitions, nothing more and nothing less. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo Van Doorn Signed-off-by: John W. Linville commit fac805f8c198092de9a2842efd7f5022e2937b18 Merge: 2461c7d f107238 Author: John W. Linville Date: Fri Sep 7 15:07:55 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 2461c7d60f9f3821274e4acf9019cba8b82c94b5 Author: Larry Finger Date: Fri Aug 31 15:39:01 2012 -0500 rtlwifi: Update header file The latest version of the vendor driver for the rtlwifi family includes many changes. This patch incorporates the difference in the main header file. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 8e2c406a5bd3923995f298f32eef25d5c2bcd4a8 Author: Larry Finger Date: Fri Aug 31 15:39:00 2012 -0500 rtlwifi: rtl8192c: rtl8192ce: rtl8192cu: rtl8192se: Remove sparse warnings The rtlwifi family of drivers has the following sparse errors: CHECK drivers/net/wireless/rtlwifi/usb.c drivers/net/wireless/rtlwifi/usb.c:122:17: warning: cast to restricted __le32 CHECK drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c:1157:13: warning: context imbalance in 'rtl92c_dm_refresh_rate_adaptive_mask' - different lock contexts for basic block CHECK drivers/net/wireless/rtlwifi/rtl8192ce/hw.c drivers/net/wireless/rtlwifi/rtl8192ce/hw.c:1909:30: warning: cast to restricted __le32 CHECK drivers/net/wireless/rtlwifi/rtl8192ce/sw.c drivers/net/wireless/rtlwifi/rtl8192ce/sw.c:345:1: warning: symbol 'rtl92ce_pci_ids' was not declared. Should it be static? CHECK drivers/net/wireless/rtlwifi/rtl8192cu/trx.c drivers/net/wireless/rtlwifi/rtl8192cu/trx.c:494:9: warning: cast from restricted __le16 CHECK drivers/net/wireless/rtlwifi/rtl8192se/fw.c drivers/net/wireless/rtlwifi/rtl8192se/fw.c:490:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:490:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:494:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:494:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:499:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:499:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:510:25: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:510:25: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:607:9: warning: cast to restricted __le16 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:607:9: warning: cast to restricted __le16 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:650:9: warning: cast to restricted __le16 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:650:9: warning: cast to restricted __le16 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:652:9: warning: cast to restricted __le16 drivers/net/wireless/rtlwifi/rtl8192se/fw.c:652:9: warning: cast to restricted __le16 CHECK drivers/net/wireless/rtlwifi/rtl8192se/trx.c drivers/net/wireless/rtlwifi/rtl8192se/trx.c:758:9: warning: cast from restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/trx.c:788:17: warning: cast from restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/trx.c:804:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/trx.c:804:17: warning: cast to restricted __le32 drivers/net/wireless/rtlwifi/rtl8192se/trx.c:807:17: warning: cast from restricted __le32 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 229bd9df49cf772b0540ea13d64e8ca1bfcc6b48 Author: Larry Finger Date: Fri Aug 31 15:38:59 2012 -0500 rtlwifi: rtl8192c: rtl8192de: Fix typo in cursta_connectctate Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 908fe11314be4744fb303179a1c46b22dcdc5b87 Author: Jeff Disher Date: Thu Aug 30 18:20:55 2012 -0700 mwifiex: store mwifiex_ds_misc_subsc_evt in mwifiex_private Since mwifiex_ds_misc_subsc_evt is used in an asynchronous case, store the structure in the long-lived mwifiex_private instead of on the calling stack. This fixes a problem where the response of the asynchronous operation would corrupt a stack frame potentially in use by a different thread. Signed-off-by: Jeff Disher Reviewed-by: Sam Leffler Tested-by: Jeff Disher Acked-by: Bing Zhao Signed-off-by: John W. Linville commit cbaa177d2b2f9364c7b9250d8ced75fae326c052 Author: Arend van Spriel Date: Thu Aug 30 19:43:02 2012 +0200 brcmfmac: add callback for nl80211 testmode command This change adds callback for nl80211 testmode, which can be used for testing and debugging purposes with driver and firmware. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 70f0822c5d430ddcca722cd8cd03760ca432c531 Author: Hante Meuleman Date: Thu Aug 30 19:43:01 2012 +0200 brcmfmac: Add 43143 USB support. Added usb device id to list of supported devices. 43143 is a new 802.11n single stream device. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 1212d370e7e00eea38e30d6ac93e907bb351ebfa Author: Hante Meuleman Date: Thu Aug 30 19:43:00 2012 +0200 brcmfmac: Add 43242 USB support. Added usb device id to list of supported devices. 43242 is the new 802.11n 2x2 MIMO device. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 4a1c02ce7f44895d7556735fefbaa7966ddbcb07 Author: Franky Lin Date: Thu Aug 30 19:42:59 2012 +0200 brcmfmac: add BCM43241 sdio interface driver support BCM43241 is an 11abg and 2x2 11n Wifi/BT/FM combo chip that supports 40MHz channel width. This patch intends to enable the driver support for the chip through SDIO bus interface. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Reviewed-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit a77f57475465b1958f167c78dc94288ea0ba1b9c Author: Hante Meuleman Date: Thu Aug 30 19:42:58 2012 +0200 brcmfmac: prevent possible race condition on usb rx control. brcmf_usb_tx_ctlpkt sends message using brcmf_usb_send_ctl then clears boolean and waits for boolean to be set (by another thread). This can result in situation where flag gets cleared while result was already received. First clearing the flag and then sending the data will prevent this. Reviewed-by: Arend Van Spriel (arend@broadcom.com) Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit adfbda62248258a402253744e4eed6b87fb43169 Author: Sujith Manoharan Date: Wed Aug 29 09:20:42 2012 +0530 ath9k: Fix TX filter usage The TX filter bit for a station would be set by the HW when a frame is not acked. A frame would be completed with ATH9K_TXERR_FILT status only when the corresponding filter bit for the destination station is already set. Currently, un-acknowledged packets are added to the pending queue and retried, but the "clear_dest_mask" bit in the descriptor is set only when the TX status has been ATH9K_TXERR_FILT. This results in packet loss and the log shows: wlan0: dropped TX filtered frame, queue_len=0 PS=0 @4309746071 wlan0: dropped TX filtered frame, queue_len=0 PS=0 @4309746076 wlan0: dropped TX filtered frame, queue_len=0 PS=0 @4309746377 ... ... This issue can be resolved by making sure that the destination mask is cleared when the packet is being retried and the earlier TX status is ATH9K_TXERR_XRETRY. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 6babc283c1edd6dec710530a0e168defceb8d704 Author: Wei Yongjun Date: Tue Aug 28 21:12:00 2012 +0800 rtlwifi: rtl8192c: remove pointless conditional before kfree_skb() Remove pointless conditional before kfree_skb(). Signed-off-by: Wei Yongjun Acked-by: Larry Finger Signed-off-by: John W. Linville commit d6b389e9cbe8f645013001902df45f7e7a223a83 Author: Wei Yongjun Date: Tue Aug 28 21:11:34 2012 +0800 rtlwifi: rtl8192de: remove pointless conditional before kfree_skb() Remove pointless conditional before kfree_skb(). Signed-off-by: Wei Yongjun Acked-by: Larry Finger Signed-off-by: John W. Linville commit 84f6a95a265d3716537be91dc1bc04d229ad6000 Author: Bing Zhao Date: Mon Aug 27 20:32:54 2012 -0700 mwifiex: make use of is_zero_ether_addr() Use is_zero_ether_addr() instead of directly using memcmp() to determine if the ethernet address is all zeros. Cc: Wei Yongjun Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a3c2c4f6d8bcd473a7016db93da4f10b3f10f25f Author: Avinash Patil Date: Mon Aug 27 20:32:53 2012 -0700 mwifiex: parse rate info for AP This patch adds support for parsing rates from cfg80211_ap_settings of start_ap handler. This in turn adds support for 11a and 11b phy configurations. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e3a8e0b4358ec7f42c2ae362376543f8d6a32058 Author: Amitkumar Karwar Date: Mon Aug 27 20:32:52 2012 -0700 mwifiex: don't disable wait_q_enabled flag We should not disable "cmd_node->wait_q_enabled" flag here before calling mwifiex_insert_cmd_to_free_q() because we want to wake up the thread waiting for command completion inside this function. The wait_q_enabled flag will be disabled internally upon command completion. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 26fc36ab756d305274f056755705478dc4dda521 Author: Amitkumar Karwar Date: Mon Aug 27 20:32:51 2012 -0700 mwifiex: release semaphore acquired for internal scan operation If "iw connect" command is fired for station interface, when heavy traffic is running on AP interface, internal scan operation performed before actual association is aborted. In this case we missed to release semaphore. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 21cd54a34070c46e87960ce2b50aba9e2f3ecda4 Author: Wei Yongjun Date: Sun Aug 26 09:55:20 2012 +0800 airo: remove duplicated include from airo.c From: Wei Yongjun Remove duplicated include. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 760a6a958c5f537277c6b7bbcad0dfe37a5d3d9c Author: Wei Yongjun Date: Sun Aug 26 09:45:21 2012 +0800 wl18xx: remove duplicated include from main.c From: Wei Yongjun Remove duplicated include. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 6b6752d4880eb263daf2debfcbda06a9185ed9d0 Author: Wei Yongjun Date: Sun Aug 26 09:24:21 2012 +0800 wl3501_cs: use is_broadcast_ether_addr() instead of memcmp() Using is_broadcast_ether_addr() instead of directly use memcmp() to determine if the ethernet address is broadcast address. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 35622dc26eeb1c9046df659be43b3a9316b0bf65 Author: Wei Yongjun Date: Sun Aug 26 08:54:41 2012 +0800 wireless: use is_broadcast_ether_addr() instead of memcmp() Using is_broadcast_ether_addr() instead of directly use memcmp() to determine if the ethernet address is broadcast address. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 4653356f695900de170779fc522e2fc41d710897 Author: Mohammed Shafi Shajakhan Date: Fri Aug 24 16:27:06 2012 +0530 ath9k_hw: small optimization Assign the MCI BT state locally, rather than unnecessarily calling ar9003_mci_state and updating it. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 626a43de90cf5832a54a66f3320dba97dd073c48 Author: Wei Yongjun Date: Fri Aug 24 13:27:10 2012 +0800 mwifiex: use is_zero_ether_addr() instead of memcmp() Using is_zero_ether_addr() instead of directly use memcmp() to determine if the ethernet address is all zeros. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Acked-by: Bing Zhao Signed-off-by: John W. Linville commit a71bf90facfdbb7322acd84c1299d68755ba5dfe Author: Wei Yongjun Date: Fri Aug 24 13:25:30 2012 +0800 mwifiex: use is_broadcast_ether_addr() instead of memcmp() Using is_broadcast_ether_addr() instead of directly use memcmp() to determine if the ethernet address is broadcast address. Signed-off-by: Wei Yongjun Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 0d1c6d1c74c82410c167372c12ff780e39d911b7 Author: Wei Yongjun Date: Thu Aug 23 15:17:09 2012 +0800 airo: use is_zero_ether_addr() and is_broadcast_ether_addr() Using is_zero_ether_addr() and is_broadcast_ether_addr() instead of directly use memcmp() to determine if the ethernet address is all zeros. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit c3a2ee93501645fe9ceeb02335f8d8512770e972 Author: Wei Yongjun Date: Thu Aug 23 15:16:44 2012 +0800 drivers/net: use is_zero_ether_addr() instead of memcmp() Using is_zero_ether_addr() instead of directly use memcmp() to determine if the ethernet address is all zeros. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 6977a6b01dc14a1a3d6b70cacfc22dc83cf11984 Author: Wei Yongjun Date: Thu Aug 23 14:55:02 2012 +0800 orinoco: use is_zero_ether_addr() instead of memcmp() Using is_zero_ether_addr() instead of directly use memcmp() to determine if the ethernet address is all zeros. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 7949d20c133ab00ba3d2ae7b099171046aa32252 Author: Wei Yongjun Date: Thu Aug 23 14:54:05 2012 +0800 ipw2200: use is_zero_ether_addr() and is_broadcast_ether_addr() Using is_zero_ether_addr() and is_broadcast_ether_addr() instead of directly use memcmp() to determine if the ethernet address is all zeros. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 96e716b27ab02534f45a9fb1cb87097997bc6bd5 Author: Wei Yongjun Date: Thu Aug 23 14:53:24 2012 +0800 ipw2100: use is_zero_ether_addr() and is_broadcast_ether_addr() Using is_zero_ether_addr() and is_broadcast_ether_addr() instead of directly use memcmp() to determine if the ethernet address is all zeros. spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 32e31de5c37856dba7f174970806e38199e53d81 Author: Ming Lei Date: Tue Aug 21 16:04:27 2012 +0800 wireless: ath9k-htc: only load firmware in need It is not necessary to hold the firmware memory during the whole driver lifetime, and obviously it does waste memory. Suppose there are 4 ath9k-htc usb dongles working, kernel has to consume about 4*50KBytes RAM to cache firmware for all dongles. After applying the patch, kernel only caches one single firmware image in RAM for all ath9k-htc devices just during system suspend/resume cycle. When system is ready for loading firmware, ath9k-htc can request the loading from usersapce. During system resume, ath9k-htc still can load the firmware which was cached in kernel memory before system suspend. Cc: ath9k-devel@lists.ath9k.org Cc: "Luis R. Rodriguez" Cc: Jouni Malinen Cc: Vasanthakumar Thiagarajan Cc: Senthil Balasubramanian Cc: "John W. Linville" Signed-off-by: Ming Lei Signed-off-by: John W. Linville commit 0374737727b65f31b9357051b421a3141c0d39ec Merge: 4a3e12f c5d4722 Author: John W. Linville Date: Fri Sep 7 14:50:15 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 4a3e12fd7a106bdf092704ea10ff463d2309213a Merge: a4881cc 768be59 Author: John W. Linville Date: Fri Sep 7 14:49:46 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 2cc59e784b54fb95accbd5f5a9d12041eec72dbc Author: Antonio Quartulli Date: Fri Sep 7 13:28:53 2012 +0200 mac80211: reply to AUTH with DEAUTH if sta allocation fails in IBSS Whenever a host gets an AUTH frame it first allocates a new station and then replies with another AUTH frame. However, if sta allocations fails the host should send a DEAUTH frame instead to tell the other end that something went wrong. Signed-off-by: Antonio Quartulli [reword commit message a bit] Signed-off-by: Johannes Berg commit 6ae16775d6bcd57e64100fda78fd01c8e7e7f08d Author: Antonio Quartulli Date: Fri Sep 7 13:28:52 2012 +0200 mac80211: move ieee80211_send_deauth_disassoc outside mlme code Move ieee80211_send_deauth_disassoc() to util.c to make it available for the rest of the mac80211 code. Signed-off-by: Antonio Quartulli [reword commit message] Signed-off-by: Johannes Berg commit 316b6b5df77db801d62ec381cfae0c38ff84252c Author: Peter Senna Tschudin Date: Thu Sep 6 18:09:16 2012 +0200 net/mac80211/scan.c: removes unnecessary semicolon removes unnecessary semicolon Found by Coccinelle: http://coccinelle.lip6.fr/ Signed-off-by: Peter Senna Tschudin Signed-off-by: Johannes Berg commit a1ceb677518a16903c3656c7079f9611315a0422 Merge: 8c3f929 b980514 Author: Daniel Vetter Date: Thu Sep 6 22:51:48 2012 +0200 Merge the modeset-rework, basic conversion into drm-intel-next As a quick reference I'll detail the motivation and design of the new code a bit here (mostly stitched together from patchbomb announcements and commits introducing the new concepts). The crtc helper code has the fundamental assumption that encoders and crtcs can be enabled/disabled in any order, as long as we take care of depencies (which means that enabled encoders need an enabled crtc to feed them data, essentially). Our hw works differently. We already have tons of ugly cases where crtc code enables encoder hw (or encoder->mode_set enables stuff that should only be enabled in enocder->commit) to work around these issues. But on the disable side we can't pull off similar tricks - there we actually need to rework the modeset sequence that controls all this. And this is also the real motivation why I've finally undertaken this rewrite: eDP on my shiny new Ivybridge Ultrabook is broken, and it's broken due to the wrong disable sequence ... The new code introduces a few interfaces and concepts: - Add new encoder->enable/disable functions which are directly called from the crtc->enable/disable function. This ensures that the encoder's can be enabled/disabled at a very specific in the modeset sequence, controlled by our platform specific code (instead of the crtc helper code calling them at a time it deems convenient). - Rework the dpms code - our code has mostly 1:1 connector:encoder mappings and does support cloning on only a few encoders, so we can simplify things quite a bit. - Also only ever disable/enable the entire output pipeline. This ensures that we obey the right sequence of enabling/disabling things, trying to be clever here mostly just complicates the code and results in bugs. For cloneable encoders this requires a bit of special handling to ensure that outputs can still be disabled individually, but it simplifies the common case. - Add infrastructure to read out the current hw state. No amount of careful ordering will help us if we brick the hw on the initial modeset setup. Which could happen if we just randomly disable things, oblivious to the state set up by the bios. Hence we need to be able to read that out. As a benefit, we grow a few generic functions useful to cross-check our modeset code with actual hw state. With all this in place, we can copy&paste the crtc helper code into the drm/i915 driver and start to rework it: - As detailed above, the new code only disables/enables an entire output pipe. As a preparation for global mode-changes (e.g. reassigning shared resources) it keeps track of which pipes need to be touched by a set of bitmasks. - To ensure that we correctly disable the current display pipes, we need to know the currently active connector/encoder/crtc linking. The old crtc helper simply overwrote these links with the new setup, the new code stages the new links in ->new_* pointers. Those get commited to the real linking pointers once the old output configuration has been torn down, before the ->mode_set callbacks are called. - Finally the code adds tons of self-consistency checks by employing the new hw state readout functions to cross-check the actual hw state with what the datastructure think it should be. These checks are done both after every modeset and after the hw state has been read out and sanitized at boot/resume time. All these checks greatly helped in tracking down regressions and bugs in the new code. With this new basis, a lot of cleanups and improvements to the code are now possible (besides the DP fixes that ultimately made me write this), but not yet done: - I think we should create struct intel_mode and use it as the adjusted mode everywhere to store little pieces like needs_tvclock, pipe dithering values or dp link parameters. That would still be a layering violation, but at least we wouldn't need to recompute these kinds of things in intel_display.c. Especially the port bpc computation needed for selecting the pipe bpc and dithering settings in intel_display.c is rather gross. - In a related rework we could implement ->mode_valid in terms of ->mode_fixup in a generic way - I've hunted down too many bugs where ->mode_valid did the right thing, but ->mode_fixup didn't. Or vice versa, resulting in funny bugs for user-supplied modes. - Ditch the idea to rework the hdp handling in the common crtc helper code and just move things to i915.ko. Which would rid us of the ->detect crtc helper dependencies. - LVDS wire pair and pll enabling is all done in the crtc->mode_set function currently. We should be able to move this to the crtc_enable callbacks (or in the case of the LVDS wire pair enabling, into some encoder callback). Last, but not least, this new code should also help in enabling a few neat features: The hw state readout code prepares (but there are still big pieces missing) for fastboot, i.e. avoiding the inital modeset at boot-up and just taking over the configuration left behind by the bios. We also should be able to extend the configuration checks in the beginning of the modeset sequence and make better decisions about shared resources (which is the entire point behind the atomic/global modeset ioctl). Tested-by: Jani Nikula Tested-by: Ben Widawsky Tested-by: Damien Lespiau Tested-by: Rodrigo Vivi Acked-by: Chris Wilson Tested-by: Vijay Purushothaman Acked-by: Vijay Purushothaman Tested-by: Paulo Zanoni Acked-by: Paulo Zanoni Tested-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 23a85b45cfe954ba418f68352351f21cc28decfd Author: Michal Kazior Date: Tue Jun 26 14:37:21 2012 +0200 mac80211: refactor set_channel_type Split functionality for further reuse. Will prevent code duplication when channel context channel_type merging is introduced. Signed-off-by: Michal Kazior Signed-off-by: Johannes Berg commit 964b19f9770cd8d299fa99c84b0ff2e90df9c523 Author: Eliad Peller Date: Wed Sep 5 20:23:56 2012 +0300 mac80211: use synchronize_net() on key destroying __ieee80211_key_destroy() calls synchronize_rcu() in order to sync the tx path before destroying the key. However, synching the tx path can be done with synchronize_net() as well, which is usually faster (the timing might be important for roaming scenarios). Signed-off-by: Eliad Peller Signed-off-by: Johannes Berg commit 761a48d2603c0ff48024bc70c129b00ec37639ed Author: Johannes Berg Date: Wed Sep 5 13:07:00 2012 +0200 mac80211: check power constraint IE size when parsing The power constraint IE is always a single byte so check the size when parsing instead of later. Signed-off-by: Johannes Berg commit f8fffc7e51462f51ffca6d0df505ef16afee2fb6 Author: Johannes Berg Date: Fri Jul 27 15:16:02 2012 +0200 mac80211_hwsim: move module_init/exit These should be with the functions so move the module_init/exit statements. Signed-off-by: Johannes Berg commit 00b14825eead7dd748d15ce6519726d06b3ee0d5 Merge: 882a7c6 a4881cc Author: Johannes Berg Date: Thu Sep 6 17:05:28 2012 +0200 Merge remote-tracking branch 'wireless-next/master' into mac80211-next commit 882a7c69d3c605bfacf32e19033447dc70204d45 Author: Johannes Berg Date: Wed Aug 1 22:32:45 2012 +0200 mac80211: disconnect if channel switch fails Disconnect from the AP if channel switching in the driver failed or if the new channel is unavailable. Signed-off-by: Johannes Berg commit 30dd3edf97abda301150c8cf26fed21e53e3a9ce Author: Johannes Berg Date: Tue Sep 4 19:15:01 2012 +0200 mac80211: don't hang on to sched_scan_ies There's no need to keep a copy of the scheduled scan IEs after the driver has been told, if it requires a copy it must make one. Therefore, we can move sched_scan_ies into the function. Signed-off-by: Johannes Berg commit 944b9e375d89271c39995d363f62cb91734fae5f Merge: a4ed534 7ce8c7a Author: Johannes Berg Date: Thu Sep 6 15:55:50 2012 +0200 Merge remote-tracking branch 'mac80211/master' into mac80211-next Pull in mac80211.git to let the next patch apply without conflicts, also resolving a hwsim conflict. Conflicts: drivers/net/wireless/mac80211_hwsim.c Signed-off-by: Johannes Berg commit 6379103e896a5e5aa707ea818588604ddd80064d Author: Johannes Berg Date: Thu Sep 6 15:33:42 2012 +0200 iwlwifi: remove unused IDI code stubs These stubs are from internal experimental code and aren't needed in the driver in the kernel so just remove them. Signed-off-by: Johannes Berg commit a4ed53466a289a4139405bf7190c78a8e9d8debf Author: Wei Yongjun Date: Thu Sep 6 13:20:53 2012 +0800 mac80211: use list_move instead of list_del/list_add Using list_move() instead of list_del() + list_add(). spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: Johannes Berg commit b980514c9adf403e3f43ead08196f5ce0e61fd05 Author: Daniel Vetter Date: Fri Aug 31 17:37:33 2012 +0200 drm/i915: improve modeset state checking after dpms calls Now that we have solid modeset state tracking and checking code in place, we can do the Full Monty also after dpms calls. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 8af6cf88a5ad7fa41d4eb700cc97f01d0bcd2a69 Author: Daniel Vetter Date: Tue Jul 10 09:50:11 2012 +0200 drm/i915: add tons of modeset state checks ... let's see whether this catches anything earlier and I can track down a few bugs. v2: Add more checks and also add DRM_DEBUG_KMS output so that it's clear which connector/encoder/crtc is being checked atm. Which proved rather useful for debugging ... v3: Add a WARN in the common encoder dpms function, now that also modeset changes properly update the dpms state ... v4: Properly add a short explanation for each WARN, to avoid the need to correlate dmesg lines with source lines accurately. Suggested by Chris Wilson. v5: Also dump (expected, found) for state checks (or wherever it's not apparent from the test what exactly mismatches with expectations). Again suggested by Chris Wilson. v6: Due to an issue reported by Paulo Zanoni I've noticed that the encoder checking is by far not as strict as it could and should be. Improve this. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 9dc10f37e326d5d789929e1886b5a8089ccee5a7 Author: Daniel Vetter Date: Wed Aug 29 22:58:07 2012 +0200 drm/i915: no longer call drm_helper_resume_force_mode Since this only calls crtc helper functions, of which a shocking amount are NULL. Now the curious thing is how the new modeset code worked with this function call still present: Thanks to the hw state readout and the suspend fixes to properly quiescent the register state, nothing is actually enabled at resume (if the bios doesn't set up anything). Which means resume_force_mode doesn't actually do anything and hence nothing blows up at resume time. The other reason things do work is that the fbcon layer has it's own resume notifier callback, which restores the mode. And thanks to the force vt switch at suspend/resume, that then forces X to restore it's own mode. Hence everything still worked (as long as the bios doesn't enable anything). And we can just kill the call to resume_force_mode. The upside of both this patch and the preceeding patch to quiescent the modeset state is that our resume path is much simpler: - We now longer restore bogus register values (which most often would enable the backlight a bit and a few ports), causing flickering. - We now longer call resume_force_mode to restore a mode that the fbcon layer would overwrite right away anyway. Signed-off-by: Daniel Vetter commit a261b246ebd552fd5d5a8ed84cc931bb821c427f Author: Daniel Vetter Date: Thu Jul 26 19:21:47 2012 +0200 drm/i915: disable all crtcs at suspend time We need this to avoid confusing the hw state readout code with the cpt pch plls at resume time: We'd read the new pipe state (which is disabled), but still believe that we have a life pll connected to that pipe (from before the suspend). Hence properly disable pipes to clear out all the residual state. This has the neat side-effect that we don't enable ports prematurely by restoring bogus state from the saved register values. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit ea9d758d6ddb9f4bb9639619100743e8f5fa85a0 Author: Daniel Vetter Date: Tue Jul 10 10:42:52 2012 +0200 drm/i915: push commit_output_state past the crtc/encoder preparing With this change we can (finally!) rip out a few of the temporary hacks and clean up a few other things: - Kill intel_crtc_prepare_encoders, now unused. - Kill the hacks in the crtc_disable/enable functions to always call the encoder callbacks, we now always call the crtc functions with the right encoder -> crtc links. - Also push down the crtc->enable, encoder and connector dpms state updates. Unfortunately we can't add a WARN in the crtc_disable callbacks to ensure that the crtc is always still enabled when disabling an output pipe - the crtc sanitizer of the hw readout path can hit this when it needs to disable an active pipe without any enabled outputs. - Only call crtc->disable if the pipe is already enabled - again avoids running afoul of the new WARN. v2: Copy&paste our own version of crtc_in_use, too. v3: We need to update the dpms an encoder->connectors_active states, too. v4: I've forgotten to kill the unconditional encoder->disable calls in the crtc_disable functions. v5: Rip out leftover debug printk. v6: Properly clear intel_encoder->connectors_active. This wasn't properly cleared when disabling an encoder because it was no longer on the new connector list, but the crtc was still enabled (i.e. switching the encoder of an active crtc). Reported by Jani Nikula. v7: Don't clobber the encoder->connectors_active state of untouched encoders. Since X likes to first disable all outputs with dpms off before setting a new framebuffer, this hit a few warnings. Reported by Paulo Zanoni. v8: Kill the now stale comment warning that intel_crtc->active is not always updated at the right times. Signed-off-by: Daniel Vetter commit fc303101dc9bfe2b079798c948f6ad4245c51e57 Author: Daniel Vetter Date: Mon Jul 9 10:40:58 2012 +0200 drm/i915: switch the load detect code to the staged modeset config Now that set_mode also disables crtcs and expects it's new configuration in the staged output links we need to adjust the load detect code a bit. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 284637d9229dc1115947bb04008730844afbc059 Author: Daniel Vetter Date: Mon Jul 9 09:51:57 2012 +0200 drm/i915: WARN if the pipe won't turn off This seems to be the symptom of a few neat bugs, hence be more obnoxious when this fails. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 1f70385510991992f3aef339982ca790faa52b06 Author: Daniel Vetter Date: Wed Jul 11 16:51:39 2012 +0200 drm/i915: s/intel_encoder_disable/intel_encoder_noop Because that's what it is. Unfortunately we can't rip this out because the fb helper has an incetious relationship with the crtc helper - it likes to call disable_unused_functions, among other things. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 976f8a20139b1f238ab3676a732acf87fbd38c6a Author: Daniel Vetter Date: Sun Jul 8 22:34:21 2012 +0200 drm/i915: push commit_output_state past crtc disabling This requires a few changes - We still need a noop function for crtc->disable, becuase the fb helper is a bit too intimate with the crtc helper. - We need to clear crtc->fb ourselves in intel_crtc_disable now that we no longer rely on the helper's disable_unused_functions to do that. - We need to split out the sare update code, becuase the crtc code can't call update_dpms any more, it needs to disable the crtc unconditionally. This is because we now keep onto the encoder -> crtc mapping of the (still) active output pipe configuration. - To check that we really disable a crtc that still has encoders, insert a WARN_ON(!enabled) in the crtc disable function. - Lastly, we need to walk over all crtcs to update their enabled state after having called commit_output_state - for all disabled crtcs the crtc helper code has done that for us previously. v2: Update connector dpms and encoder->connectors_active after disabling the crtc, too. v3: Noop-out intel_encoder_disable. Similarly to the crtc disable callback used by the crtc helper code we can't simply remove all these encoder callbacks: The fb helper (which we still use) has a rather incetious relationship with the crtc helper code ... Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 25c5b2665fe4cc5a93edd29b62e7c05c15dddd26 Author: Daniel Vetter Date: Sun Jul 8 22:08:04 2012 +0200 drm/i915: implement new set_mode code flow ... using the pipe masks from the previous patch. Well, not quite: - We still need to call the disable_unused_functions helper, until we've moved the call to commit_output_state further down and adjusted intel_crtc_disable a bit. The next patch will do that. - Because we don't support (yet) mode changes on more than one crtc at a time, some of the modeset_pipes checks are a bit hackish - but that only needs fixing once we incorporate global modeset support. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit e2e1ed41ed6e3012464e8a8e7cf7bbcb6d3f7412 Author: Daniel Vetter Date: Sun Jul 8 21:14:38 2012 +0200 drm/i915: compute masks of crtcs affected in set_mode This is definetely a bit more generic than currently required, but if we keep track of all crtcs that need to be disabled/enable (because they loose an encoder or something similar), crtcs that get completely disabled and those that we need to do an actual mode change nicely prepares us for global modeset operations on multiple crtcs. The only big thing missing here would be a global resource allocation step (for e.g. pch plls), which would equally frob these bitmasks if e.g. a crtc only needs a new pll. Or if we need to enable dithering on an another pipe due to bandwidth constrains somewhere. These masks aren't yet put to use in this patch, this will follow in the next one. v2-v5: Fix up the computations for good (hopefully). v6: Fixup a confusion reported by Damien Lespiau: I've conserved the (imo braindead) behaviour of the crtc helper to disable _any_ disconnected outputs if we do a modeset, even when that newly disabled connector isn't connected to the crtc being changed by the modeset. The effect of that is that we could disable an arbitrary number of unrelated crtcs, which I haven't taken into account when writing this code. Fix this up. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit e24c5c2900ba45e2fa5ed8575ab75f6d4c7e8156 Author: Daniel Vetter Date: Sun Jul 8 20:17:15 2012 +0200 drm/i915: use staged outuput config in lvds->mode_fixup - Use the check_cloned helper from the previous patch. - Use encoder->new_crtc to check crtc properties. v2: Kill the double negation with s/!non_cloned/is_cloned, suggested by Jesse Barnes. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 6ed0f796c22cd638fac60f29ff72b3a7a03485e6 Author: Daniel Vetter Date: Sun Jul 8 19:41:43 2012 +0200 drm/i915: use staged outuput config in tv->mode_fixup The "is this encoder cloned" check will be reused by the lvds encoder, hence exract it. v2: Be a bit more careful about that we need to check the new, staged ouput configuration in the check_non_cloned helper ... v3: Kill the double negation with s/!non_cloned/is_cloned/, suggested by Jesse Barnes. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 7758a11340cc8845509303b0bee60401738da82e Author: Daniel Vetter Date: Sun Jul 8 19:40:39 2012 +0200 drm/i915: extract adjusted mode computation While at it, adjust a few things: - Only assigng the new mode to crtc->mode right before calling the mode_set callbacks - none of the previous callbacks depend upon this, they all use the mode argument (as they should). - Check encoder->new_crtc instead of the current crtc to check whether the encoder will be used. This prepares for moving the staged output committing further down in the sequence. Follow-on patches will fix up individual ->mode_fixup callbacks (only tv and lvds are affected though). Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 87f1faa630b2045ccb6ab29f18c62279ddd7ef17 Author: Daniel Vetter Date: Thu Jul 5 23:36:17 2012 +0200 drm/i915: move output commit and crtc disabling into set_mode It's rather pointless to compute crtc->enabled twice right away ;-) The only thing we really have to be careful about is that we frob the dpms state only after a successful modeset and when we've actually haven't just disabled the crtc. Hooray for convoluted interfaces ... Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit ba1c28c900f1aeb9a353f230a99c68cd4e550dde Author: Daniel Vetter Date: Thu Jul 5 23:27:42 2012 +0200 drm/i915: remove crtc disabling special case Originally this has been introduced in commit 6eebd6bb5f1ea04f04019e5c39f87a0f17ffb472 Author: Chris Wilson Date: Mon Nov 28 21:10:05 2011 +0000 drm: Fix lack of CRTC disable for drm_crtc_helper_set_config(.fb=NULL) With the improvements of the output state staging and no longer overwriting crtc->fb before the hw state is updated we can now handle crtc disabling as part of the normal modeset sequence. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 94352cf9a5328bb1a44288e6c2c1276695f8a356 Author: Daniel Vetter Date: Thu Jul 5 22:51:56 2012 +0200 drm/i915: push crtc->fb update into pipe_set_base Passing in the old fb, having overwritten the current fb, leads to some neatly convoluted code. It's much simpler if we defer the crtc->fb update to the place that updates the hw, in pipe_set_base. This way we also don't need to restore anything in case something fails - we only update crtc->fb once things have succeeded. The real reason for this change is that now we keep the old fb assigned to crtc->fb, which allows us to finally move the crtc disable case into the common low-level set_mode function in the next patch. Also don't clobber crtc->x and crtc->y, we neatly pass these down the callchain already. Unfortunately we can't do the same with crtc->mode, because that one is being used in the mode_set callbacks. v2: Don't restore the drm_crtc object any more on failed modesets, since we've lose an fb reference otherwise. Also (and this is the reason this has been found), this totally confused the modeset state tracking, since it clobbers crtc->enabled. Issue reported by Paulo Zanoni. v3: Rip out the entire crtc saving into struct intel_set_config, not just the restoring part. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 9a935856992d68b9194f825ce6e115df7ecc5bca Author: Daniel Vetter Date: Thu Jul 5 22:34:27 2012 +0200 drm/i915: stage modeset output changes This is the core of the new modeset logic. The current code which is based upon the crtc helper code first updates all the link of the new display pipeline and then calls the lower-level set_mode function to execute the required callbacks to get there. The issue with this approach is that for disabling we need to know the _current_ display pipe state, not the new one. Hence we need to stage the new state of the display pipe and only update it once we have disabled the current configuration and before we start to update the hw registers with the new configuration. This patch here just prepares the ground by switching the new output state computation to these staging pointers. To make it clearer, rename the old update_output_state function to stage_output_state. A few peculiarities: - We're also calling the set_mode function at various places to update properties. Hence after a successfule modeset we need to stage the current configuration (for otherwise we might fall back again). This happens automatically because as part of the (successful) modeset we need to copy the staged state to the real one. But for the hw readout code we need to make sure that this happens, too. - Teach the new staged output state computation code the required smarts to handle the disabling of outputs. The current code handles this in a special case, but to better handle global modeset changes covering more than one crtc, we want to do this all in the same low-level modeset code. - The actual modeset code is still a bit ugly and wants to know the new crtc->enabled state a bit early. Follow-on patches will clean that up, for now we have to apply the staged output configuration early, outside of the set_mode functions. - Improve/add comments in stage_output_state. Essentially all that is left to do now is move the disabling code into set_mode and then move the staged state update code also into set_mode, at the right place between disabling things and calling the mode_set callbacks for the new configuration. v2: Disabling a crtc works by passing in a NULL mode or fb, userspace doesn't hand in the list of connectors. We therefore need to detect this case manually and tear down all the output links. v3: Properly update the output staging pointers after having read out the hw state. v4: Simplify the code, add more DRM_DEBUG_KMS output and check a few assumptions with WARN_ON. Essentially all things that I've noticed while debugging issues in other places of the code. v4: Correctly disable the old set of connectors when enabling an already enabled crtc on a new set of crtc. Reported by Paulo Zanoni. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 1aa4b628ee63f55db96c7e820257b6e4948abb74 Author: Daniel Vetter Date: Thu Jul 5 16:20:48 2012 +0200 drm/i915: don't save all the encoder/crtc state in set_config We actually only touch the connector -> encoder and encoder -> crtc linking. So it's enough to just save/restore that. While at it, also switch to kcalloc to allocate these arrays (omission in the commit message spotted by Jesse Barnes). Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 8d3e375e77f09174038b9bfb02b8423cbb187959 Author: Daniel Vetter Date: Thu Jul 5 16:09:09 2012 +0200 drm/i915: convert pointless error checks in set_config to BUGs Because they all are, the ioctl command never calls us with any of these violated. Also drop a equally pointless empty debug message (and also in set_cursor, while we're at it). With all these changes, intel_crtc_set_config is neatly condensed down to it's essence, the actual modeset code (or fb update calling code) v2: The fb helper code is actually stretching ->set_config semantics a bit, it calls it with set->mode == NULL but set->fb != NULL. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 835c5873d6e38cb317091ace7c1f3c40cc0607ce Author: Daniel Vetter Date: Tue Jul 10 18:11:08 2012 +0200 drm/i915: don't update the fb base if there is no fb Otherwise we'll set_fb complains pretty loudly if we the crtc is off and userspace moves the NULL fb around a bit. Yeah, this actually happens in the wild ... Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 431e50f799b356a899a63924883f2b0d1bfaf7b3 Author: Daniel Vetter Date: Tue Jul 10 17:53:42 2012 +0200 drm/i915: implement crtc helper semantics relied upon by the fb helper Yikes! But yeah, we have to do this until someone volunteers to clean up the fb helper and rid it of its incetious relationship with the crtc helper code. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 2e43105183bcecfbe56733785c05bf182df60082 Author: Daniel Vetter Date: Wed Jul 4 22:42:15 2012 +0200 drm/i915: extract intel_set_config_update_output_state Note that this function already clobbers the mode config state, so we have to clean things up if something fails. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 5e2b584ed1563c4c5199510710df6eaa1a36f3b1 Author: Daniel Vetter Date: Wed Jul 4 22:41:29 2012 +0200 drm/i915: extract intel_set_config_compute_mode_changes This computes what exactly changed in the modeset configuration, i.e. whether a full modeset is required or only an update of the framebuffer base address or no change at all. In the future we might add more checks for e.g. when only the output mode changed, so that we could do a minimal modeset for outputs that support this. Like the lvds/eDP panels where we only need to update the panel fitter. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 85f9eb71fec3322dc3670207ca5c1706467e701c Author: Daniel Vetter Date: Wed Jul 4 22:24:08 2012 +0200 drm/i915: extract modeset config save/restore code At the end this won't be of much use to us, but meanwhile just extract it to get a better overview of what exactly set_config does. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit d9e55608cdcd875c4c1f319c1a5a438c7cc55f57 Author: Daniel Vetter Date: Wed Jul 4 22:16:09 2012 +0200 drm/i915: introduce struct intel_set_config intel_crtc_set_config is an unwidly beast and is in serious need of some function extraction. To facilitate that, introduce a struct to keep track of all the state involved. Atm it doesn't do much more than keep track of all the allocated memory. v2: Apply some bikeshed to intel_set_config_free, as suggested by Jesse Barnes. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 7fad798e16fecddd41c6a91728a09f0b9507e40c Author: Daniel Vetter Date: Wed Jul 4 17:51:47 2012 +0200 drm/i915: ensure the force pipe A quirk is actually followed Many BIOSen forget to turn on the pipe A after resume (because they actually don't turn on anything), so we have to do that ourselves when sanitizing the hw state. I've discovered this due to the recent addition of a pipe WARN that takes the force quirk into account. v2: Actually try to enable the pipe with a proper configuration instead of simpyl switching it on with whatever random state the bios left it in after resume. v3: Fixup rebase conflict - the load_detect functions have lost their encoder argument. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 24e804ba9731bf4b05bc17a6702d802e76b3bbc4 Author: Daniel Vetter Date: Thu Jul 26 19:25:46 2012 +0200 drm/i915: rip out intel_dp->dpms_mode We now track the connector state in encoder->connectors_active, and because the DP output can't be cloned, that is sufficient to track the link state. Hence use this instead of adding yet another modeset state variable with dubious semantics at driver load and resume time. Also, connectors_active should only ever be set when the encoder is linked to a crtc, hence convert that crtc test into a WARN. v2: Rebase on top of struct intel_dp moving. v3: The rebase accidentally killed the newly-introduced intel_dp->port Noticed by Paulo Zanoni. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 84bb65bded92028a6c803fef332586fedbe092b2 Author: Daniel Vetter Date: Tue Jul 3 13:19:00 2012 +0200 drm/i915: rip out intel_crtc->dpms_mode Afaict this has been used for two things: - To prevent the crtc enable code from being run twice. We have now intel_crtc->active to track this in a more precise way. - To ensure the code copes correctly with the unknown hw state after boot and resume. Thanks to the hw state readout and sanitize code we have now a better way to handle this. The only thing it still does is complicate our modeset state space. Having outlived its usefullness, let it just die. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 0a91ca29215a41760cca03999498959d0e05d9b3 Author: Daniel Vetter Date: Mon Jul 2 21:54:27 2012 +0200 drm/i915: check connector hw/sw state Atm we can only check the connector state after a dpms call - while doing modeset with the copy&pasted crtc helper code things are too ill-defined for proper checking. But the idea is very much to call this check from the modeset code, too. v2: Fix dpms check and don't presume that if the hw isn't on that it must not be linked up with an encoder (it could simply be switched off with the dpms state). Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 24929352481f085c5f85d4d4cbc919ddf106d381 Author: Daniel Vetter Date: Mon Jul 2 20:28:59 2012 +0200 drm/i915: read out the modeset hw state at load and resume time ... instead of resetting a few things and hoping that this will work out. To properly disable the output pipelines at the initial modeset after resume or boot up we need to have an accurate picture of which outputs are enabled and connected to which crtcs. Otherwise we risk disabling things at the wrong time, which can lead to hangs (or at least royally confused panels), both requiring a walk to the reset button to fix. Hence read out the hw state with the freshly introduce get_hw_state functions and then sanitize it afterwards. For a full modeset readout (which would allow us to avoid the initial modeset at boot up) a few things are still missing: - Reading out the mode from the pipe, especially the dotclock computation is quite some fun. - Reading out the parameters for the stolen memory framebuffer and wrapping it up. - Reading out the pch pll connections - luckily the disable code simply bails out if the crtc doesn't have a pch pll attached (even for configurations that would need one). This patch here turned up tons of smelly stuff around resume: We restore tons of register in seemingly random way (well, not quite, but we're not too careful either), which leaves the hw in a rather ill-defined state: E.g. the port registers are sometimes unconditionally restore (lvds, crt), leaving us with an active encoder/connector but no active pipe connected to it. Luckily the hw state sanitizer detects this madness and fixes things up a bit. v2: When checking whether an encoder with active connectors has a crtc wire up to it, check for both the crtc _and_ it's active state. v3: - Extract intel_sanitize_encoder. - Manually disable active encoders without an active pipe. v4: Correclty fix up the pipe<->plane mapping on machines where we switch pipes/planes. Noticed by Chris Wilson, who also provided the fixup. v5: Spelling fix in a comment, noticed by Paulo Zanoni Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 732ce74f4adfcdac84862fb74c6897b4a152d5e1 Author: Daniel Vetter Date: Mon Jul 2 15:09:45 2012 +0200 drm/i915/dvo: implement get_hw_state Similar to the sdvo code we poke the dvo encoder whether the output is active. Safe that dvo encoders are not standardized, so this requires a new callback into the dvo chip driver. Hence implement that for all 6 dvo drivers. v2: With the newly added ns2501 we now have 6 dvo drivers instead of just 5 ... Acked-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 4ac41f47f8f6ba1d05b39783ea0819435074ef37 Author: Daniel Vetter Date: Mon Jul 2 14:54:00 2012 +0200 drm/i915/sdvo: implement get_hw_state SDVO is the first real special case - we support multiple outputs on the same encoder and the encoder dpms state isn't the same as when just disabling the outputs when the encoder is cloned. Hence we need a real connector get_hw_state function which inquires the sdvo encoder about its active outputs. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit e403fc941aa94ff6cf598c632e5c02e96eed022e Author: Daniel Vetter Date: Mon Jul 2 13:41:21 2012 +0200 drm/i915/crt: implement get_hw_state Note that even though this connector is cloneable we still can use the exact same test to check whether the connector is on or whether the encoder is enabled - both the dpms code and the encoder disable/enable frob the exact same hw state. For dvo/sdvo outputs, this will be different. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit b1dc332c4d1524fe5d901ca91aa4c4e776526b4f Author: Daniel Vetter Date: Mon Jul 2 21:09:00 2012 +0200 drm/i915/lvds: implement get_hw_state Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 9a8ee983e0b77a8b07d3f20a7627202e5f9a7ba5 Author: Daniel Vetter Date: Mon Jul 2 13:34:59 2012 +0200 drm/i915/tv: implement get_hw_state Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 85234cdc28f622dc94d8bb0089635113e2aa5609 Author: Daniel Vetter Date: Mon Jul 2 13:27:29 2012 +0200 drm/i915/hdmi: implement get_hw_state Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 19d8fe154497bc48e25cbed61066731daca3df43 Author: Daniel Vetter Date: Mon Jul 2 13:26:27 2012 +0200 drm/i915/dp: implement get_hw_state Also add some macros to make the pipe computation a bit easier. v2: I've mixed up the CPT and !CPT PORT_TO_PIPE macro variants ... Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit f0947c376f6944ade7079df9f84bbc958a893e0f Author: Daniel Vetter Date: Mon Jul 2 13:10:34 2012 +0200 drm/i915: Add interfaces to read out encoder/connector hw state It is all glorious if we try really hard to only enable/disable an entire display pipe to ensure that everyting happens in the right order. But if we don't know the output configuration when the driver takes over, this will all be for vain because we'll make the hw angry right on the first modeset - we don't know what outputs/ports are enabled and hence have to disable everything in a rather ad-hoc way. Hence we need to be able to read out the current hw state, so that we can properly tear down the current hw state on the first modeset. Obviously this is also a nice preparation for the fastboot work, where we try to avoid the modeset on driver load if it matches what the hw is currently using. Furthermore we'll be using these functions to cross-check the actual hw state with what we think it should be, to ensure that the modeset state machine actually works as advertised. This patch only contains the interface definitions and a little helper for the simple case where we have a 1:1 encoder to connector mapping. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 08a48469691a1b9ed6ee92e726b66d4e59ffc253 Author: Daniel Vetter Date: Mon Jul 2 11:43:47 2012 +0200 drm/i915: WARN when trying to enabled an unused crtc This is the first tiny step towards cross-checking the entire modeset state machine with WARNs. A crtc can only be enabled when it's actually in use, i.e. crtc->active imlies crtc->enabled. Unfortunately we can't (yet) check this when disabling the crtc, because the crtc helpers are a bit slopy with updating state and unconditionally update crtc->enabled before changing the hw state. Fixing that requires quite some more work. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit dbf2b54e78c6976af1f92cd370055a777ae99208 Author: Daniel Vetter Date: Mon Jul 2 11:18:29 2012 +0200 drm/i915: call crtc functions directly Instead of going through the crtc helper function tables. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit c9deac9776b0a95b876bd845ea359d5975c3ba80 Author: Daniel Vetter Date: Mon Jul 2 10:21:35 2012 +0200 drm/i915: rip out encoder->prepare/commit With the new infrastructure we're doing this when enabling/disabling the entire display pipe. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 821112aa413285ae8a49f787ba01ab30e930ad85 Author: Daniel Vetter Date: Mon Jul 2 10:16:35 2012 +0200 drm/i915: simplify intel_crtc_prepare_encoders - We don't have the ->get_crtc callback. - Call intel_encoder->disable directly. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit a6778b3cfd7711951d8973286b783bc061281256 Author: Daniel Vetter Date: Mon Jul 2 09:56:42 2012 +0200 drm/i915: copy&paste drm_crtc_helper_set_mode Together with the static helper functions drm_crtc_prepare_encoders and drm_encoder_disable (which will be simplified in the next patch, but for now are 1:1 copies). Again, no changes beside new names for these functions. Also call our new set_mode instead of the crtc helper one now in all the places we've done so far. v2: Call the function just intel_set_mode to better differentia it from intel_crtc_mode_set which really only does the ->mode_set step of the entire modeset sequence on one crtc. Whereas this function does the global change. Acked-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 6d832d189bb671cfa2c681d97625bab2d6463c66 Author: Daniel Vetter Date: Mon Jul 2 10:45:45 2012 +0200 drm/i915: inline intel_best_encoder Also kill the error-path, we have a fixed connector->encoder mapping. Unfortunately we can't rip out all the ->best_encoder callbacks, these are all still used by the fb_helper. Neat helper layering violation there. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 4f660f49b9d68e53d85f5ce4f5bbf167257e7fc2 Author: Daniel Vetter Date: Mon Jul 2 09:47:37 2012 +0200 drm/i915: call set_base directly And drop the check, we always have it. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 50f56119efcb7ad763c14a9b6c2c8e684050cab0 Author: Daniel Vetter Date: Mon Jul 2 09:35:43 2012 +0200 drm/i915: copy&paste drm_crtc_helper_set_config And the following static functions required by it: drm_encoder_crtc_ok, drm_crtc_helper_disable No changes safe for the s/drm/intel prefix change. Acked-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 61b77ddda6cf6f1f6f543339cfeee4c623f82784 Author: Daniel Vetter Date: Mon Jul 2 00:16:19 2012 +0200 drm/i915: clean up encoder_prepare/commit We no longer need them. And now that all encoders are converted, we can finally move the cpt modeset check to the right place - at the end of the crtc_enable function. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit fa5c73b1b20ffc7e9df83a5e763af1e3b7cc96d3 Author: Daniel Vetter Date: Sun Jul 1 23:24:36 2012 +0200 drm/i915: rip out encoder->disable/enable checks All encoders are now converted so there's no need for these checks any more. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit b2cabb0e1d205708dab11bd9e1b97fd080537096 Author: Daniel Vetter Date: Sun Jul 1 22:42:24 2012 +0200 drm/i915: convert dpms functions of dvo/sdvo/crt Yeah, big patch but I couldn't come up with a neat idea of how to split it up further, that wouldn't break dpms on cloned configs somehow. But the changes in dvo/sdvo/crt are all pretty much orthonogal, so it's not too bad a patch. These are the only encoders that support cloning, which requires a few special changes compared to the previous patches. - Compute the desired state of the display pipe by walking all connected encoders and checking whether any has active connectors. To make this clearer, drop the old mode parameter to the crtc dpms function and rename it to intel_crtc_update_dpms. - There's the curious case of intel_crtc->dpms_mode. With the previous patches to remove the overlay pipe A code and to rework the load detect pipe code, the big users are gone. We still keep it to avoid enabling the pipe twice, but we duplicate this logic with crtc->active, too. Still, leave this for now and just push a fake dpms mode into it that reflects the state of the display pipe. Changes in the encoder dpms functions: - We clamp the dpms state to the supported range right away. This is escpecially important for the VGA outputs, where only older hw supports the intermediate states. This (and the crt->adpa_reg patch) allows us to unify the crt dpms code again between all variants (gmch, vlv and pch). - We only enable/disable the output for dvo/sdvo and leave the encoder running. The encoder will be disabled/enabled when we switch the state of the entire output pipeline (which will happen right away for non-cloned setups). This way the duplication is reduced and strange interaction when disabling output ports at the wrong time avoided. The dpms code for all three types of connectors contains a bit of duplicated logic, but I think keeping these special cases separate is simpler: CRT is the only one that hanldes intermediate dpms state (which requires extra logic to enable/disable things in the right order), and introducing some abstraction just to share the code between dvo and sdvo smells like overkill. We can do that once someone bothers to implement cloning for the more modern outputs. But I doubt that this will ever happen. v2: s/crtc/crt/_set_dpms, noticed by Paulo Zanoni. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 19c63fa8070b09f409f64c5b3bcd0444e6e67b3b Author: Daniel Vetter Date: Wed Jul 11 09:48:04 2012 +0200 drm/i915/dvo: convert to encoder disable/enable Similar to the sdvo conversion. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit ce22c320b8cad000f1b82da6e03848d59c5cf215 Author: Daniel Vetter Date: Sun Jul 1 15:31:04 2012 +0200 drm/i915/sdvo: convert to encoder disable/enable Similar to crt, this doesn't convert the dpms functions. Also similar to crt, we don't switch of the display pipe for the intermediate modes, only DPMS_OFF is truely off. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 2124604b09b1f405d438815d797530c43269cc58 Author: Daniel Vetter Date: Sun Jul 1 14:58:27 2012 +0200 drm/i915/crt: convert to encoder disable/enable CRT is the first output which can be cloned, hence we cannot (yet) move the dpms handling over to disable/enable. This requires some more smarts in intel_crtc_dpms first to set the display pipe status depening upon encoder->connectors_active of all connected encoders. Because that will happen in a separate step, don't touch the dpms functions, yet. v2: Be careful about clearing the _DISABLE flags for intermediate dpms modes - otherwise we might clobber the crt state when another (cloned) connector gets enabled. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit e8cb455876fa8f67c6aba394d0a14b697bf04cc3 Author: Daniel Vetter Date: Sun Jul 1 13:05:48 2012 +0200 drm/i915/dp: convert to encoder disable/enable DP is the first encoder which isn't simple. As commit d240f20f545fa4ed78ce48d1eb62ab529f2b1467 Author: Jesse Barnes Date: Fri Aug 13 15:43:26 2010 -0700 drm/i915: make sure eDP PLL is enabled at the right time discovered, we need to enable the eDP PLL for the cpu port _before_ we enable the pipes and planes. After a few more commits the current solution is to enable the PLL in the dp mode_set function (because this is the only encoder callback the crtc helper code calls before it calls the crtc's commit function). Now I suspect that we actually should enable/disable the entire cpu eDP port before/after planes, but thanks to how the crtc helper code assumes that you can disable an encoder without disabling it's crtc right away, this won't work. The result is that the current prepare/commit hooks don't touch the eDP PLL, but instead it get's frobbed in dp_mode_set and in the dp dpms function. Hence we need to keep things (at least for now) bug-for-bug compatible by using our own special dp dpms function and keep everything else more-or-less as-is (just using our own infrastrucutre now). This mess can only be cleaned up once we control the entire modeset sequence and can move things around freely. v2: Squash unsupported dpms modes to OFF at the beginning of the DP dpms function. v3: Need to set the dpms state to off in dp_disable, otherwise this breaks the newly added WARNs ... v4: Rebased against edp panel off sequence changes in 3.6-rc2 Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit c22834ecbb9ff4af9d82c40aa0984c5a67b7e497 Author: Daniel Vetter Date: Sat Jun 30 15:31:28 2012 +0200 drm/i915/lvds: convert to encoder disable/enable With the previous patch LVDS is also a simple case. Treat it accordingly. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 6b5756a046b6917e2aba4166af3bca0982c65d8d Author: Daniel Vetter Date: Sat Jun 30 10:33:44 2012 +0200 drm/i915/tv: convert to encoder enable/disable Like hdmi tv outputs are simple: They only have 2 states and can't be cloned. Hence give it the same treatment. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 5ab432ef4997ce32c9406721b37ef6e97e57dae1 Author: Daniel Vetter Date: Sat Jun 30 08:59:56 2012 +0200 drm/i915/hdmi: convert to encoder->disable/enable I've picked hdmi as the first encoder to convert because it's rather simple: - no cloning possible - no differences between prepare/commit and dpms off/on switching. A few changes are required to do so: - Split up the dpms code into an enable/disable function and wire it up with the intel encoder. - Noop out the existing encoder prepare/commit functions used by the crtc helper - our crtc enable/disable code now calls back into the encoder enable/disable code at the right spot. - Create new helper functions to handle dpms changes. - Add intel_encoder->connectors_active to better track dpms state. Atm this is unused, but it will be useful to correctly disable the entire display pipe for cloned configurations. Also note that for now this is only useful in the dpms code - thanks to the crtc helper's dpms confusion across a modeset operation we can't (yet) rely on this having a sensible value in all circumstances. - Rip out the encoder helper dpms callback, if this is still getting called somewhere we have a bug. The slight issue with that is that the crtc helper abuses dpms off to disable unused functions. Hence we also need to implement a default encoder disable function to do just that with the new encoder->disable callback. - Note that we drop the cpt modeset verification in the commit callback, too. The right place to do this would be in the crtc's enable function, _after_ all the encoders are set up. But because not all encoders are converted yet, we can't do that. Hence disable this check temporarily as a minor concession to bisectability. v2: Squash the dpms mode to only the supported values - connector->dpms is for internal tracking only, we can hence avoid needless state-changes a bit whithout causing harm. v3: Apply bikeshed to disable|enable_ddi, suggested by Paulo Zanoni. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit ef9c3aee60442d1eaf81fbd7b63f256410cc0aa9 Author: Daniel Vetter Date: Fri Jun 29 22:40:09 2012 +0200 drm/i915: add direct encoder disable/enable infrastructure Just prep work, not yet put to some use. Note that because we're still using the crtc helper to switch modes (and their complicated way to do partial modesets), we need to call the encoder's disable function unconditionally. But once this is cleaned up we shouldn't call the encoder's disable function unconditionally any more, because then we know that we'll only call it if the encoder is actually enabled. Also note that we then need to be careful about which crtc we're filtering the encoder list on: We want to filter on the crtc of the _current_ mode, not the one we're about to set up. For the enabling side we need to do the same trick. And again, we should be able to simplify this quite a bit when things have settled into place. Also note that this simply does not take cloning into account, so dpms needs to be handled specially for the few outputs where we even bother with it. Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit eae307a5304f8c0956b8eab75596abba7ad58a5c Author: Daniel Vetter Date: Fri Jun 29 22:53:09 2012 +0200 drm/i915: rip out crtc prepare/commit indirection Just impendance matching with the the crtc helper stuff. ... and somehow the design of this all ended up in this commit here, too ;-) The big plan is that this new set of crtc display_funcs take full responsibility of modeset operations for the entire display output pipeline (by calling down into object-specific callbacks and functions). The platform-specific callbacks simply know best what the proper order is. This has the drawback that we can't do minimal change-overs any more if a modeset just disables one encoder in a cloned configuration (because we will only expose a disable/enable action that takes down/sets up the entire crtc including all encoders). Imo that's the only sane way to do it though: - The use-case for this is pretty minimal, even when presenting (at least sane people) should use a dual-screen output so that you can see your notes on your panel. Clone mode is imo BS. - With all the clone mode constrains, shared resources, and special ordering requirements (which differ even on the same platform sometimes for different outputs) there's no way we'd get this right for all cases. Especially since this is a under-used feature. - And to top it off: On haswell even dp link re-training requires us to take down the entire display pipe - otherwise the chip dies. So the only sane way is to do a full modeset on every crtc where the output config changes in any way. To support global modeset (i.e. set the configuration for all crtcs at once) we'd then add one more function to allocate global and shared objects in the best ways (e.g. fdi links, pch plls, ...). The crtc functions would then simply use the pre-allocated stuff (and shouldn't be able to fail, ever). We could even do all the object pinning in there (and maybe try to defragment the global gtt if we fail)! Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 76e5a89c0a01c43b09512da633910dd0d8b398be Author: Daniel Vetter Date: Fri Jun 29 22:39:33 2012 +0200 drm/i915: add crtc->enable/disable vfuncs insted of dpms Because that's what we're essentially calling. This is the first step in untangling the crtc_helper induced dpms handling mess we have - at the crtc level we only have 2 states and the magic is just in selecting which one (and atm there isn't even much magic, but on recent platforms where not even the crt output has more than 2 states we could do better). Reviewed-by: Jesse Barnes Signed-Off-by: Daniel Vetter commit 8c3f929b6147e142efc58d5d03dc6fa703b14a5d Author: Ben Widawsky Date: Sun Sep 2 00:24:40 2012 -0700 drm/i915: Enable some sysfs stuff without CONFIG_PM The original patch was actually incorrect in stubbing out the sysfs for l3 parity. commit 5ab3633d6907018b0b830a720e877c3884d679c3 Author: Hunt Xu Date: Sun Jul 1 03:45:07 2012 +0000 drm/i915: make rc6 in sysfs functions conditional Unfortunately Hunt didn't respond to my review comments, and Daniel sucked in the patch again ignoring. Worst of all, I'm too lazy to write the patch for what I originally wanted, which was to keep rc6 sysfs even without CONFIG_PM. This simpler patch does enough to enable us to add more sysfs entries though. Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 768be59f30f2ee8958ba3718101162c694efab12 Author: Hila Gonen Date: Sun Aug 26 11:00:28 2012 +0300 cfg80211: fix indentation checkpatch pointed out an issue, fix it. Signed-off-by: Hila Gonen Signed-off-by: Johannes Berg commit c5d472212024543e32cf3eea4381ab91b9f6b812 Author: David Spinadel Date: Wed Aug 29 16:01:47 2012 +0300 iwlwifi: remove radio_config from eeprom_data No one uses it. Signed-off-by: David Spinadel Reviewed-by: Amit Beka Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 45eab7ccacb2c2e63f7645fa92a7f742898044b4 Author: Johannes Berg Date: Wed Sep 5 00:33:53 2012 +0200 iwlwifi: reduce overhead if tracing disabled Tracing commands builds an array of trace data items even when the tracepoint is disabled. Instead, loop in the tracepoint assignment. This reduces overhead if tracing is compiled into the driver but not enabled and slightly reduces overall driver size as well: text data bss dec hex filename 114514 6509 48 121071 1d8ef before/iwlwifi.ko 114189 6509 48 120746 1d7aa after/iwlwifi.ko Reviewed-by: Emmanuel Grumbach Reviewed-by: Max Stepanov Signed-off-by: Johannes Berg commit 12bf6f45d17038589e0eaa8adeb7ee8169c0e4de Author: Johannes Berg Date: Thu Jul 5 13:05:08 2012 +0200 iwlwifi: report A-MPDU status Since the firmware will give us an A-MPDU bit and only a single PHY information packet for all the subframes in an A-MPDU, we can easily report the minimal A-MPDU information for radiotap. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 188ce5abebf56ec732f652abe608b94c317e4963 Merge: 362b056 a4881cc Author: Johannes Berg Date: Wed Sep 5 16:17:42 2012 +0200 Merge remote-tracking branch 'wireless-next/master' into iwlwifi-next commit e5f5b2fb07353de00ffde49221cffad71e2fecfe Author: Arend van Spriel Date: Fri Aug 24 14:43:31 2012 +0200 wext: include wireless event id when it has a size problem The wext code checks is the event data is within size limits. When this check fails a message is logged with violating size. This patch adds the event id to put us on the right track for resolving that violation. Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Johannes Berg commit 00ea6deb0cb1af8df4ea899330bfd238c93ef164 Author: Johannes Berg Date: Wed Sep 5 15:54:51 2012 +0200 mac80211: don't use kerneldoc for ieee80211_add_rx_radiotap_header Doing so creates warnings, but the function is internal and not part of the 802.11 docbooks, so it from kerneldoc. Signed-off-by: Johannes Berg commit c9a0a3025262c6395ac1464999cade56cddac3d6 Author: Robert P. J. Day Date: Sun Aug 26 14:21:47 2012 -0400 cfg80211: add kerneldoc entry for "vht_cap" Signed-off-by: Robert P. J. Day Signed-off-by: Johannes Berg commit 00a9ac4c014e19fb9ceb70a28406fd962df5b8a7 Author: Wei Yongjun Date: Wed Sep 5 14:34:12 2012 +0800 cfg80211: use list_move_tail instead of list_del/list_add_tail Using list_move_tail() instead of list_del() + list_add_tail(). Signed-off-by: Wei Yongjun Signed-off-by: Johannes Berg commit 362b0563b28506d534a82d9c6cd5fdf58783fda6 Author: Johannes Berg Date: Fri Aug 24 11:13:17 2012 +0200 iwlwifi: fix antenna bitmask The device only supports a maximum of three antennas, and only three bits are used, the fourth bit is the A-MPDU indicator. The only consequence of this is reporting invalid information in radiotap, so this isn't an important change. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 0ef24e528f27683620d78c3393b3df73d804828c Author: Ilan Peer Date: Tue Aug 21 12:43:35 2012 +0300 mac80211: Do not check for valid hw_queues for P2P_DEVICE A P2P Device interface does not have a netdev, and is not expected to be used for transmitting data, so there is no need to assign hw queues for it. Signed-off-by: Ilan Peer Signed-off-by: Johannes Berg commit 95ca19cf8cbf6163805dc9dc6a83f73b3e75ea13 Author: Sedat Dilek Date: Fri Aug 24 21:20:03 2012 +0200 drm: udl: usb: Fix recursive Kconfig dependency In drivers/usb/Kconfig "config USB_ARCH_HAS_HCD" is within "if USB_SUPPORT" statement. In drivers/gpu/drm/Kconfig "config DRM_USB" depends on USB_ARCH_HAS_HCD but selects USB_SUPPORT which leads to the error for udl Kconfig: $ yes "" | make oldconfig scripts/kconfig/conf --oldconfig Kconfig drivers/gpu/drm/udl/Kconfig:1:error: recursive dependency detected! drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD drivers/usb/Kconfig:76: symbol USB_ARCH_HAS_HCD depends on USB_SUPPORT drivers/usb/Kconfig:58: symbol USB_SUPPORT is selected by DRM_USB drivers/gpu/drm/Kconfig:22: symbol DRM_USB is selected by DRM_UDL Fix this by changing from select to depends on USB_SUPPORT in "config DRM_USB". This is a follow-up fix to df0b344300724e00db9fff7eb6406eb91f450b91 in Dave's drm-next GIT branch. [ v2: Restore old status, but change from select to depends on USB_SUPPORT ] Signed-off-by: Sedat Dilek Signed-off-by: Dave Airlie commit 8dee3eea3ccd3b6c00a8d3a08dd715d6adf737dd Author: Ben Widawsky Date: Sat Sep 1 22:59:50 2012 -0700 drm/i915: Never read FORCEWAKE The same designer from the previous patch has told us to never read FORCEWAKE. We only do this for the POSTING_READ(), so simply change that to something within the same cacheline (for no reason in particular other than it sounds nice). In the _mt case we can leverage the gtfifodbg check for the POSTING_READ. This partially reverts commit 6af2d180f82151cf3d58952e35a4f96e45bc453a Author: Daniel Vetter Date: Thu Jul 26 16:24:50 2012 +0200 drm/i915: fix forcewake related hangs on snb v2: commit message, comments about posting read from (Daniel) Note: vlv forcewake doesn't need any changes for this special treatment since FORCEWAKE_VLV is in a totally different register range, and the readback FORCEWAKE_ACK_VLV readback that follows is in the same range. Signed-off-by: Ben Widawsky Acked-by: Chris Wilson [danvet: Added note.] Signed-off-by: Daniel Vetter commit 057d3860613813b2e8507bb932f9a523ad2cca2f Author: Ben Widawsky Date: Sat Sep 1 22:59:49 2012 -0700 drm/i915: Change forcewake timeout to 2ms A designer familiar with the hardware has stated that the forcewake timeout can theoretically be as high as a little over 1ms. Therefore we modify our code to use 2ms (appropriate fudge and because we don't want to round down). Hopefully this can't prevent spurious timeouts. Signed-off-by: Ben Widawsky Acked-by: Chris Wilson [danvet: again fix conflict with vlv patch.] Signed-off-by: Daniel Vetter commit 0cc2764cc4a4bd73df55f8893c871778cf7ddd0f Author: Ben Widawsky Date: Sat Sep 1 22:59:48 2012 -0700 drm/i915: use cpu_relax() in wait_for_atomic As part of the advice given to us from the hardware designers regarding the maximum wait time on the forcewake handshake we need to move from us granularity to ms granularity. In earlier patches to do this, Jani noticed that wait_for_us was properly converted to use cpu_relax(), but wait_for was not. The issue has existed since the introduction of the macro: commit 913d8d110078788c14812dce8bb62c37946821d2 Author: Chris Wilson Date: Sat Aug 7 11:01:35 2010 +0100 drm/i915: Ensure that while(INREG()) are bounded (v2) CC: Jani Nikula Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit b67a4376d53e1ae6eaef05389cfd0e6e5b7097db Author: Ben Widawsky Date: Sat Sep 1 22:59:47 2012 -0700 drm/i915: Extract forcewake ack timeout It's used all over the place, and we want to be able to play around with the value, apparently. Note that it doesn't touch other timeouts of the same value (like gtfifo, and thread C0 wait). Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson [danvet: fixup conflict with vlv forcewake patches.] Signed-off-by: Daniel Vetter commit 5fa7ac9c9cadd598a22c09660c270bdb92da1e91 Author: Jani Nikula Date: Wed Aug 29 16:43:58 2012 +0300 drm/i915: fix sdvo hotplug support check and activation The sdvo hotplug support check and activation has worked by coincidence for TMDS0. The boolean value returned by intel_sdvo_supports_hotplug() was masked with a bit shifted by device number, which also should have been one of SDVO_OUTPUT_* bits instead. Boolean true masked with 1 shifted by 0 just happened to match SDVO_OUTPUT_TMDS0... Get hotplug support as a bit mask, check the correct bits for support, and use the correct bits for activating hotplug support. Signed-off-by: Jani Nikula Reviewed-by: Simon Farnsworth Signed-off-by: Daniel Vetter commit ff04b35af0e40956764596e3d032f786e5451238 Author: Jani Nikula Date: Wed Aug 29 14:08:42 2012 +0300 drm/i915: only enable sdvo hotplug irq if needed Avoid constant wakeups caused by noisy irq lines when we don't even care about the irq. This should be particularly useful for i945g/gm where the hotplug has been disabled: commit 768b107e4b3be0acf6f58e914afe4f337c00932b Author: Daniel Vetter Date: Fri May 4 11:29:56 2012 +0200 drm/i915: disable sdvo hotplug on i945g/gm v2: While at it, remove the bogus hotplug_active read, and do not mask hotplug_active[0] before checking whether the irq is needed, per discussion with Daniel on IRC. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=38442 Tested-by: Dominik Köppl Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit a2c7f6fd4d8d6dff8a561e7bd76b951808143310 Author: Chris Wilson Date: Sat Sep 1 20:51:22 2012 +0100 drm/i915: Convert remaining debugfs iterators over rings to for_each_ring() For code consolidation and future maintainability. Signed-off-by: Chris Wilson Reviewed-and-Tested-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 8a038fd633817b5a05ed46052695d490fccfa5b9 Author: Daniel Vetter Date: Fri Aug 24 17:26:21 2012 +0200 drm/i915: differ error message between forcwake timeouts danvet: in the force wake, both DRM_ERRORs have the same string. useful for .txt shrinkage, horrible for debugging Acked-by: Paul Menzel Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 5ab140a4ac08c895b67c2755e6f988ea92b5818b Author: Daniel Vetter Date: Fri Aug 24 17:26:20 2012 +0200 drm/i915: align vlv forcewake with common lore For some odd reasons, the vlv forcewake code is rather different from all other platforms, with no clear justification. Adjust things: - Don't check whether the gt is awake already (and bail out early), we need to grab a forcewake anyway. Otherwise the chip might go to sleep too early. And this would also screw up our forcewake accounting. - Like all other platforms, check whether the gt has cleared the forcewake bit in the _ACK register before setting it again. - Use _MASKED_BIT_ENABLE/DISABLE macros - Only use bit0 of the forcewake reg, not all 16 bits. - check the gtfifodb reg like on all other platforms in _put. - Drop the POSTING_READs for consistency. v2: Failure to git add ... again. v3: Fixup the spelling fail a bit. Tested-by: "Purushothaman, Vijay A" Tested-by: "Widawsky, Benjamin" Signed-Off-by: Daniel Vetter commit be2cde9a6d922e5e43efd2ad39bc43ce70a5d79b Author: Daniel Vetter Date: Thu Aug 30 13:26:48 2012 +0200 drm/i915: add a tracepoint for gpu frequency changes We've had and still have too many issues where the gpu turbo doesn't quite to what it's supposed to do (or what we want it to do). Adding a tracepoint to track when the desired gpu frequency changes should help a lot in characterizing and understanding problematic workloads. Also, this should be fairly interesting for power tuning (and especially noticing when the gpu is stuck in high frequencies, as has happened in the past) and hence for integration into powertop and similar tools. Cc: Arjan van de Ven Reviewed-by: Chris Wilson Acked-by: Paul Menzel Signed-off-by: Daniel Vetter commit 20e4d407fbe39bd15f6d4ded25e8c307789ecc80 Author: Daniel Vetter Date: Wed Aug 8 23:35:39 2012 +0200 drm/ips: move drps/ips/ilk related variables into dev_priv->ips Like with the equivalent change for gen6+ rps state, this helps in clarifying the code (and in fixing a few places that have fallen through the cracks in the locking review). Signed-off-by: Daniel Vetter commit f39876317a69a104eeaed002d4085348e871bfd1 Author: Paulo Zanoni Date: Fri Aug 17 18:35:43 2012 -0300 drm/i915: add workarounds to gen7_render_ring_flush From Bspec, Vol 2a, Section 1.9.3.4 "PIPE_CONTROL", intro section detailing the various workarounds: "[DevIVB {W/A}, DevHSW {W/A}]: Pipe_control with CS-stall bit set must be issued before a pipe-control command that has the State Cache Invalidate bit set." Note that public Bspec has different numbering, it's Vol2Part1, Section 1.10.4.1 "PIPE_CONTROL" there. There's also a second workaround for the PIPE_CONTROL command itself: "[DevIVB, DevVLV, DevHSW] {WA}: Every 4th PIPE_CONTROL command, not counting the PIPE_CONTROL with only read-cache-invalidate bit(s) set, must have a CS_STALL bit set" For simplicity we simply set the CS_STALL bit on every pipe_control on gen7+ Note that this massively helps on some hsw machines, together with the following patch to unconditionally set the CS_STALL bit on every pipe_control it prevents a gpu hang every few seconds. This is a regression that has been introduced in the pipe_control cleanup: commit 6c6cf5aa9c583478b19e23149feaa92d01fb8c2d Author: Chris Wilson Date: Fri Jul 20 18:02:28 2012 +0100 drm/i915: Only apply the SNB pipe control w/a to gen6 It looks like the massive snb pipe_control workaround also papered over any issues on ivb and hsw. Signed-off-by: Paulo Zanoni [danvet: squashed both workarounds together, pimped commit message with Bsepc citations, regression commit citation and changed the comment in the code a bit to clarify that we unconditionally set CS_STALL to avoid being hurt by trying to be clever.] Signed-off-by: Daniel Vetter commit b31115092724925a434905dc3dbf83a2e752ba4b Author: Paulo Zanoni Date: Fri Aug 17 18:35:42 2012 -0300 drm/i915: add workarounds directly to gen6_render_ring_flush Since gen 7+ now run the new gen7_render_ring_flush function. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4772eaebcdf86dd65630339dbe58316b90f80aed Author: Paulo Zanoni Date: Fri Aug 17 18:35:41 2012 -0300 drm/i915: add gen7_render_ring_flush For now, just a copy of gen6_render_ring_flush. Different gens have different workarounds, so we want different functions. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 85f9e50d815a70780699752c4f2dc1198c2c0b61 Author: Daniel Vetter Date: Fri Aug 31 21:42:26 2012 +0200 drm/i915: move i915_get_extra_insdone out of CONFIG_DEBUG_FS block Otherwise it just won't compile ... Reported-by: Fengguang Wu Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 65983bd605a12edd16a4f39f513aad65f1cad062 Merge: 93bb70e d7c3b93 Author: Dave Airlie Date: Mon Sep 3 12:05:01 2012 +1000 Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Daniel writes: "New stuff for -next. Highlights: - prep patches for the modeset rework. Note that one of those patches touches the fb helper in the common drm code. - hasw hdmi audio support (Wang Xingchao) - improved instdone dumping for gen7 (Ben) - unbound tracking and a few follow-up patches from Chris - dma_buf->begin/end_cpu_access plus fix for drm/udl (Dave) - improve mmio error reporting for hsw - prep patch for WQ_NON_REENTRANT removal (Tejun Heo) " * 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (41 commits) drm/i915: Remove __GFP_NO_KSWAPD drm/i915: disable rc6 on ilk when vt-d is enabled drm/i915: Avoid unbinding due to an interrupted pin_and_fence during execbuffer drm/i915: Use new INSTDONE registers (Gen7+) drm/i915: Add new INSTDONE registers drm/i915: Extract reading INSTDONE drm/i915: Use a non-blocking wait for set-to-domain ioctl drm/i915: Juggle code order to ease flow of the next patch drm/i915: Use cpu relocations if the object is in the GTT but not mappable drm/i915: Extract general object init routine drm/i915: Protect private gem objects from truncate (such as imported dmabuf) drm/i915: Only pwrite through the GTT if there is space in the aperture i915: use alloc_ordered_workqueue() instead of explicit UNBOUND w/ max_active = 1 drm/i915: Find unclaimed MMIO writes. drm/i915: Add ERR_INT to gen7 error state drm/i915: Cantiga+ cannot handle a hsync front porch of 0 drm/i915: fix reassignment of variable "intel_dp->DP" drm/i915: Try harder to allocate an mmap_offset drm/i915: Show pin count in debugfs drm/i915: Show (count, size) of purgeable objects in i915_gem_objects ... commit 4907cb7b193a4f91c1fd30cf679c035e3644c64d Author: Anatol Pomozov Date: Sat Sep 1 10:31:09 2012 -0700 treewide: fix comment/printk/variable typos Signed-off-by: Anatol Pomozov Signed-off-by: Jiri Kosina commit 5e2698df75f44b4378d4eeb87ae43e2b88546869 Author: Paul Bolle Date: Sun Jul 1 23:20:05 2012 +0200 b43: Kconfig: drop unknown symbol 'BRCMSMAC_MODULE' There's no Kconfig symbol BRCMSMAC_MODULE, so the check for it will always fail. There's no need to append _MODULE to tristate symbols anyhow, because the config tools will do the right thing automagically. (While we're touching this Kconfig file replace a tab between "default" and "y" with a space.) Signed-off-by: Paul Bolle Signed-off-by: Jiri Kosina commit c32f38619af6302da58835fb292b159bdd96d11f Merge: 761743e 0dcd505 Author: David S. Miller Date: Fri Aug 31 15:14:10 2012 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Merge the 'net' tree to get the recent set of netfilter bug fixes in order to assist with some merge hassles Pablo is going to have to deal with for upcoming changes. Signed-off-by: David S. Miller commit d7c3b937bdf45f0b844400b7bf6fd3ed50bac604 Author: Sedat Dilek Date: Mon Aug 27 14:02:37 2012 +0200 drm/i915: Remove __GFP_NO_KSWAPD When I pulled-in today's drm-intel-next into linux-next (next-20120824) I saw this build-breakage: drivers/gpu/drm/i915/i915_gem.c: In function 'i915_gem_object_get_pages_gtt': drivers/gpu/drm/i915/i915_gem.c:1778:40: error: '__GFP_NO_KSWAPD' undeclared (first use in this function) drivers/gpu/drm/i915/i915_gem.c:1778:40: note: each undeclared identifier is reported only once for each function it appears in This is caused by commit ba099ef165f8 ("mm: remove __GFP_NO_KSWAPD") and commit b6beae2c2014 ("mm: remove __GFP_NO_KSWAPD fixes") in linux-next (next-20120824). Fix this by removing __GFP_NO_KSWAPD from drm/i915 driver. Signed-off-by: Sedat Dilek Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit e372dc6c62bf0246a07f3291a26c562cc8659fbd Merge: 5d4121c fea7a08 Author: Greg Kroah-Hartman Date: Mon Aug 27 07:13:33 2012 -0700 Merge 3.6-rc3 into tty-next This picks up all of the different fixes in Linus's tree that we also need here. Signed-off-by: Greg Kroah-Hartman commit 93bb70e0c00f1be4cc857e4d8375c44058cce71e Merge: 6f314eb c182ae4 Author: Dave Airlie Date: Mon Aug 27 16:22:20 2012 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next There was some merge conflicts in -next and they weren't so pretty, so backmerge now to avoid them. Conflicts: drivers/gpu/drm/i915/i915_gem.c drivers/gpu/drm/i915/intel_modes.c commit cd7988eea561a70a4f98e431c1395f913672d626 Author: Daniel Vetter Date: Sun Aug 26 20:33:18 2012 +0200 drm/i915: disable rc6 on ilk when vt-d is enabled It blows up. And hopefully this is the root-cause of the mysterious rc6 related hang on ilk. For reference, the commit that enabled rc6 on ilk again is: commit 456470eb583f063ee84c6818251e638598be0fb8 Author: Daniel Vetter Date: Wed Aug 8 23:35:40 2012 +0200 drm/i915: enable rc6 on ilk again Reported-by: Dave Airlie Signed-off-by: Daniel Vetter commit e6acb384807406c1a6ad3ddc91191f7658e63b7a Merge: 255e876 898132a Author: David S. Miller Date: Fri Aug 24 18:54:37 2012 -0400 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace This is an initial merge in of Eric Biederman's work to start adding user namespace support to the networking. Signed-off-by: David S. Miller commit 7788a765205f63abcb8645c16c85a968bd578f4f Author: Chris Wilson Date: Fri Aug 24 19:18:18 2012 +0100 drm/i915: Avoid unbinding due to an interrupted pin_and_fence during execbuffer If we need to stall in order to complete the pin_and_fence operation during execbuffer reservation, there is a high likelihood that the operation will be interrupted by a signal (thanks X!). In order to simplify the cleanup along that error path, the object was unconditionally unbound and the error propagated. However, being interrupted here is far more common than I would like and so we can strive to avoid the extra work by eliminating the forced unbind. v2: In discussion over the indecent colour of the new functions and unwind path, we realised that we can use the new unreserve function to clean up the code even further. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit f20b6213f193f455a62ef9299ceca11f5531dff8 Merge: e6e94e3 a4881cc Author: John W. Linville Date: Fri Aug 24 12:25:30 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 050ee91f128bd767b1413383fea6c973aa464c54 Author: Ben Widawsky Date: Wed Aug 22 11:32:15 2012 -0700 drm/i915: Use new INSTDONE registers (Gen7+) Using the extracted INSTDONE reading, and our new register definitions, update our hangcheck detection and error collection to use it. This primarily means changing == to memcmp, and changing = to memcpy. Hopefully this will give more info on error dump, and provide more accurate hangcheck detection (both are actually TBD). Also, remove the reading of instdone1 from the ring error collection function, and just crap everything in capture_error_state (that could be split into a separate patch if it wasn't so trivial). v2: Now assuming i915_get_extra_instdone does the memset we can clean up the code a bit (Jani) v3: use ARRAY_SIZE as requested earlier by Jani (didn't change sizeof) Updated commit msg Cc: Jani Nikula Signed-off-by: Ben Widawsky Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit d53bd48459a554503e07bc3a4b8bba2b57c2ff48 Author: Ben Widawsky Date: Wed Aug 22 11:32:14 2012 -0700 drm/i915: Add new INSTDONE registers Signed-off-by: Ben Widawsky Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit bd9854f995f56f4bc3f0dc32dc92be02303c6f19 Author: Ben Widawsky Date: Thu Aug 23 15:18:09 2012 -0700 drm/i915: Extract reading INSTDONE INSTDONE is used in many places, and it varies from generation to generation. This provides a good reason for us to extract the logic to read the relevant information. The patch has no functional change. It's prep for some new stuff. v2: move the memset inside of i915_get_extra_instdone (Jani) v3,4: bugs caught by (Jani) Reviewed-by: Jani Nikula Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 3236f57a0162391f84b93f39fc1882c49a8998c7 Author: Chris Wilson Date: Fri Aug 24 09:35:09 2012 +0100 drm/i915: Use a non-blocking wait for set-to-domain ioctl The principal use for set-to-domain is for userspace to serialise operations with a particular buffer, for example to maintain coherency with a CPU map or to ratelimit its rendering by waiting on all previous operations before continuing. As such we tend to hold the struct_mutex for long periods during the synchronisation and so cause contention issues with other users of the graphics device, even for independent operations as memory management. An example is the contention between compiz and X which causes jitter in the display and a drop in peak throughput. The ultimate solution would be a set of fine grained locks and lockless operations, but an intermediate step is to first attempt the synchronisation for set-to-domain without holding the mutex. This introduces a number of race conditions, so we limit it use to the ioctl periphery where we have no dependent state and can safely complete with a locked synchronisation afterwards. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit b361237bcc7cea1d99f770490120d8bc2aed7777 Author: Chris Wilson Date: Fri Aug 24 09:35:08 2012 +0100 drm/i915: Juggle code order to ease flow of the next patch Move the wait-for-rendering logic around in the file so that we can group it together with the subsequent variations. The general goal is to have the lower level routines clustered together and then the higher level logic building upon those low level routines that came before. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 6f314ebbaa2667d67a7206ba78f28e46cf47eda5 Author: Alan Cox Date: Fri Jul 13 15:27:29 2012 +0100 gma500: Fix frequency detection If we have a 266MHz part we set core_freq to 0 in several spots Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit f64c48f1d39cbe9e14dd25104633b486b1226606 Author: Jani Nikula Date: Fri Aug 24 09:42:44 2012 +0300 gma500: remove references to drm_display_info raw_edid field Another reference to raw_edid field of struct drm_display_info was added in gma500 while the whole field was being removed, causing build failure. Remove the hopefully last references to raw_edid. Reported-by: Fengguang Wu Signed-off-by: Jani Nikula Signed-off-by: Dave Airlie commit ce5fdd63752390b89804b1e246de267b398d1515 Author: Dave Airlie Date: Fri Aug 24 13:53:49 2012 +1000 gma500: fix incorrect declaration. this header was incorrect, caused a build failure. Signed-off-by: Dave Airlie commit 504c7267a1e84b157cbd7e9c1b805e1bc0c2c846 Author: Chris Wilson Date: Thu Aug 23 13:12:52 2012 +0100 drm/i915: Use cpu relocations if the object is in the GTT but not mappable This prevents the case of unbinding the object in order to process the relocations through the GTT and then rebinding it only to then proceed to use cpu relocations as the object is now in the CPU write domain. By choosing to use cpu relocations up front, we can therefore avoid the rebind penalty. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 0327d6ba998ca181013a5a1709701a6532a41972 Author: Chris Wilson Date: Sat Aug 11 15:41:06 2012 +0100 drm/i915: Extract general object init routine As we wish to create specialised object constructions in the near future that share the same basic GEM object struct, export the default initializer. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 4d6294bf77834276d41b51154a18663b0a8f2063 Author: Chris Wilson Date: Sat Aug 11 15:41:05 2012 +0100 drm/i915: Protect private gem objects from truncate (such as imported dmabuf) If the object has no backing shmemfs filp, then we obviously cannot perform a truncation operation upon it. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 86a1ee26bb60e1ab8984e92f0e9186c354670aed Author: Chris Wilson Date: Sat Aug 11 15:41:04 2012 +0100 drm/i915: Only pwrite through the GTT if there is space in the aperture Avoid stalling and waiting for the GPU by checking to see if there is sufficient inactive space in the aperture for us to bind the buffer prior to writing through the GTT. If there is inadequate space we will have to stall waiting for the GPU, and incur overheads moving objects about. Instead, only incur the clflush overhead on the target object by writing through shmem. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 78b9c3537e9c88ea3be2224343d2d08d4d2d4e4d Author: Sachin Kamat Date: Wed Aug 1 17:15:32 2012 +0530 drm: Add misssing static storage class specifier in drm_fb_helper.c file Fixes the following sparse warning: drivers/gpu/drm/drm_fb_helper.c:239:6: warning: symbol 'drm_fb_helper_force_kernel_mode' was not declared. Should it be static? Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit ea7f7abcbb3b72bdc7927d043b3e9dc6058bd75a Author: Sachin Kamat Date: Wed Aug 1 17:15:31 2012 +0530 drm: Add missing static storage class specifier in drm_irq.c file Fixes the following sparse warning: drivers/gpu/drm/drm_irq.c:1239:6: warning: symbol 'drm_handle_vblank_events' was not declared. Should it be static? Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 0227a7fdc2a4756aa0e0d1152ce5eada016cf18d Author: Mark Brown Date: Tue Aug 7 11:14:14 2012 +0000 drm/i2c/ch7006: Convert to dev_pm_ops The I2C specific suspend and resume functions have been deprecated and printing a warning on boot for over a year, dev_pm_ops should be used instead so convert to that. Also remove the suspend function since all it does is log. Signed-off-by: Mark Brown Acked-by: Francisco Jerez Signed-off-by: Dave Airlie commit df0b344300724e00db9fff7eb6406eb91f450b91 Author: Sachin Kamat Date: Fri Aug 10 05:30:25 2012 +0000 drm/usb: select USB_SUPPORT in Kconfig DRM_USB selects USB. However, USB depends on USB_SUPPORT and USB_ARCH_HAS_HCD. Thus, selecting USB_SUPPORT in Kconfig avoids the following warning (detected when DisplayLink was selected using exynos4_defconfig): warning: (MOUSE_APPLETOUCH && MOUSE_BCM5974 && MOUSE_SYNAPTICS_USB && JOYSTICK_XPAD && TABLET_USB_ACECAD && TABLET_USB_AIPTEK && TABLET_USB_HANWANG && TABLET_USB_KBTAB && TABLET_USB_WACOM && TOUCHSCREEN_USB_COMPOSITE && INPUT_ATI_REMOTE2 && INPUT_KEYSPAN_REMOTE && INPUT_POWERMATE && INPUT_YEALINK && INPUT_CM109 && RC_ATI_REMOTE && IR_IMON && IR_MCEUSB && IR_REDRAT3 && IR_STREAMZAP && IR_IGUANA && DRM_USB) selects USB which has unmet direct dependencies (USB_SUPPORT && USB_ARCH_HAS_HCD) Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 32285038f533f5bb4ba4c75de7ade710a836b639 Author: Jani Nikula Date: Wed Aug 15 09:34:43 2012 +0000 gma500: remove an unreachable return statement Signed-off-by: Jani Nikula Signed-off-by: Dave Airlie commit f835bc0fcacc7f4e29890938b1c2faecd07eda9e Author: Forest Bond Date: Mon Aug 13 16:29:04 2012 +0000 gma500: psb_intel_crtc: Drop crtc_enable flag. This is set when setting DPMS on and off, but it isn't checked anywhere, so just remove it. Signed-off-by: Forest Bond Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 28bbda39b69af06e77801333c0c28ef9df2f256f Author: Forest Bond Date: Mon Aug 13 16:27:09 2012 +0000 gma500: Fix comment mispelling in cdv_intel_limits definition. Signed-off-by: Forest Bond Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 04cf55e1fa5ff0c83756b803a47cb6bd0b39f38b Author: Huacai Chen Date: Sat Aug 11 09:32:17 2012 +0000 drm: Handle io prot correctly for MIPS. Signed-off-by: Huacai Chen Signed-off-by: Hongliang Tao Signed-off-by: Hua Yan Cc: dri-devel@lists.freedesktop.org Signed-off-by: Dave Airlie commit 451023dc32d4542c21b52ad1692e6e01cb75b099 Author: Jani Nikula Date: Wed Aug 15 09:32:39 2012 +0000 drm: remove the raw_edid field from struct drm_display_info Neither the drm core nor any of the drivers really need the raw_edid field of struct drm_display_info for anything. Instead of being useful, it creates confusion about who is responsible for freeing the memory it points to and setting the field to NULL afterwards, leading to memory leaks and dangling pointers. Remove the raw_edid field, and fix drivers as necessary. Reported-by: Russell King Signed-off-by: Jani Nikula Acked-by: Inki Dae Signed-off-by: Dave Airlie commit 993dcb05e47e357ade19c41f60b39085eeba8787 Author: Jani Nikula Date: Wed Aug 15 09:32:37 2012 +0000 drm/ast: fix EDID memory leak The EDID returned by drm_get_edid() was never freed. Signed-off-by: Jani Nikula Signed-off-by: Dave Airlie commit bcd7235cead59ae4b98324c668c90b291beefcb1 Author: Jani Nikula Date: Wed Aug 15 09:32:36 2012 +0000 drm/i915: fix EDID memory leak in SDVO The EDID returned by drm_get_edid() was never freed. Signed-off-by: Jani Nikula Signed-off-by: Dave Airlie commit 7d406b1cc0419dcfb00ffb46957f27fe809bbb74 Author: Maarten Lankhorst Date: Mon Aug 20 13:54:34 2012 +0000 drm/mgag200: remove unused validate_sequence Signed-off-by: Maarten Lankhorst Signed-off-by: Dave Airlie commit 5d77f13c1e70c252591b06a43e553371781010b4 Author: Maarten Lankhorst Date: Mon Aug 20 13:54:28 2012 +0000 drm/cirrus: Remove unused validate_sequence Signed-off-by: Maarten Lankhorst Signed-off-by: Dave Airlie commit a8e2fad3e96a142a5a395cc64d8bf193d88a7cf0 Author: Maarten Lankhorst Date: Mon Aug 20 13:54:21 2012 +0000 drm/ast: remove unused validate_sequence Signed-off-by: Maarten Lankhorst Signed-off-by: Dave Airlie commit f76c0dde78fbe021801fe904fb5999f3154d4e5d Author: Alan Cox Date: Wed Aug 22 12:00:28 2012 +0000 gma500/cdv: Fix call to cdv_intel_dp_set_m_n We should be making this call not praying that the values are right. In addition as noted by Josiah Standing we should be calling this for eDP as well. Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 4d46259f00c6dd04d53e74cdfa8f8b6ec35c0140 Author: Laurent Pinchart Date: Tue Jul 24 16:47:34 2012 +0100 drm: gma500: Kill the GEM glue layer The private gem_create_mmap_offset() function is now implemented in the DRM core as drm_gem_create_mmap_offset(). Use it and kill the private copy. Signed-off-by: Laurent Pinchart Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 9a9f5786fcccda3cc61eaa8f537690327eff6853 Author: Zhao Yakui Date: Wed Aug 8 13:57:01 2012 +0000 gma500: Disable the clock gating of display controller to make DP/eDP work well I don't know why the DP/eDP is affected by the clock gating. But the test shows that it really fixes the DP/eDP clock issue during enabling DP/eDP. Signed-off-by: Zhao Yakui [Updated to only apply the workaround if the device has DP. We don't want to do this on netbooks] Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit d112a8163f83752361dd639a9a579ae5cc05c6cf Author: Zhao Yakui Date: Wed Aug 8 13:55:55 2012 +0000 gma500/cdv: Add eDP support Introduce the eDP support into the driver. This has been reworked a bit because kernel driver proper uses encoder/connectors while the legacy Intel driver uses the old output stuff. It also diverges on the backlight handling. The legacy Intel driver adds a panel abstraction based upon the i915 one. It's only really used for backlight bits and we have a perfectly good backlight abstraction which can extend instead. Signed-off-by: Zhao Yakui [ported to upstream driver, redid backlight abstraction] Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 35659715c42b5cd148935e8ebd4e5e8e4e256b96 Author: Alan Cox Date: Wed Aug 8 13:55:26 2012 +0000 gma500/cdv: enable the DisplayPort support This will give the basic support only Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 37e7b184da18a9cf42e19f3c3cb42cb30874ac22 Author: Alan Cox Date: Wed Aug 8 13:55:03 2012 +0000 gma500/cdv: sync up and add the displayport code to the build This is mostly just aligning bits of behaviour Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 220801bdb53ceeac01d021ac459d112acc7deb0b Author: Alan Cox Date: Wed Aug 8 13:54:41 2012 +0000 gma500/cdv: add the bits that don't need the new code Based on bits from Yakui We can import various little bits of code before we plumb it all in and hopefully this way catch any regressions more easily. Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 8695b612943561478fd22f28f45e5692e5d078db Author: Alan Cox Date: Wed Aug 8 13:54:15 2012 +0000 gma500: Add the support of display port on CDV Import the pieces we need in order to do DisplayPort. Don't wire them up yet as there is work to do to integrate them. Signed-off-by: Zhao Yakui Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit d66760962d75af12697d5197b3e97d51fe64169c Author: Zhao Yakui Date: Wed Aug 8 13:53:48 2012 +0000 gma500: Program the DPLL lane based on the selected digitial port Based on the spec, the CRT output doesn't use the lane. And the HDMI B output uses the Lane0/1 while the HDMI C output uses the Lane 2/3. But currently it will program all the four lanes for the CRT/HDMI. Signed-off-by: Zhao Yakui [Ported to the in-kernel driver] Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 25e9dc69709afad2be8de4ac2ecd6015356936ca Author: Zhao Yakui Date: Wed Aug 8 13:53:15 2012 +0000 gma500: Fix incorrect SR issue when disabling CRTC already in disabled state Currently when trying to call the DPMS off again for one CRTC with DPMS off, it will firstly disable the SR and can't enable it again because of the incorrect check/logic. In such case the self refresh is still disabled although one CRTC pipe is active. This is wrong. Signed-off-by: Zhao Yakui [Ported to in kernel driver] Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 53621860c38caff37fff99ba5f0b817511907bc4 Author: Tejun Heo Date: Wed Aug 22 16:40:57 2012 -0700 i915: use alloc_ordered_workqueue() instead of explicit UNBOUND w/ max_active = 1 This is an equivalent conversion and will ease scheduled removal of WQ_NON_REENTRANT. Signed-off-by: Tejun Heo Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 32195aec63caf4a3516e720a3e230af9e1dad974 Author: Jiang Liu Date: Tue Jul 24 17:20:30 2012 +0800 drm/radeon: Use PCI Express Capability accessors Use PCI Express Capability access functions to simplify radeon driver. Signed-off-by: Jiang Liu Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Deucher commit 332badc323e3846faca15b110c22d62946c1df60 Author: Jiang Liu Date: Mon Aug 20 14:18:08 2012 -0600 rtlwifi: Use PCI Express Capability accessors Use PCI Express Capability access functions to simplify rtlwifi driver. [bhelgaas: split iwlegacy, iwlwifi, rtlwifi into separate patches] Signed-off-by: Jiang Liu Signed-off-by: Bjorn Helgaas commit a7238b37ce794d75b822865a389429ed007ca983 Author: Jiang Liu Date: Mon Aug 20 14:17:06 2012 -0600 iwlwifi: Use PCI Express Capability accessors Use PCI Express Capability access functions to simplify iwlwifi driver. [bhelgaas: split iwlegacy, iwlwifi, rtlwifi into separate patches] Signed-off-by: Jiang Liu Signed-off-by: Bjorn Helgaas commit 4460eb529231338e01a24a41b1432c0f3c38b089 Author: Jiang Liu Date: Mon Aug 20 14:15:58 2012 -0600 iwlegacy: Use PCI Express Capability accessors Use PCI Express Capability access functions to simplify iwlegacy driver. [bhelgaas: split iwlegacy, iwlwifi, rtlwifi into separate patches] Signed-off-by: Jiang Liu Signed-off-by: Bjorn Helgaas commit 08bd108096b6bc7d830b62e0b468179e5e3d0b89 Author: Jiang Liu Date: Tue Jul 24 17:20:25 2012 +0800 ath9k: Use PCI Express Capability accessors Use PCI Express Capability access functions to simplify ath9k driver. Signed-off-by: Jiang Liu Signed-off-by: Bjorn Helgaas commit eb0ff56366c38b87c048a624407bc699bf06d43f Author: Jiang Liu Date: Tue Jul 24 17:20:24 2012 +0800 atl1c: Use PCI Express Capability accessors Use PCI Express Capability access functions to simplify atl1c driver. Signed-off-by: Jiang Liu Signed-off-by: Bjorn Helgaas commit a4881cc45a3fab4488e16c4934e149cfa620f1a9 Merge: 6de3f7e aba4e6f Author: John W. Linville Date: Thu Aug 23 09:49:42 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 1304a7343b30fc4f16045412efdbb4179a3d9255 Merge: 1d76efe 23dcfa6 Author: David S. Miller Date: Wed Aug 22 14:21:38 2012 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 6de3f7e911d27d6737c79b3f6b5069044ea408ec Merge: 33dd769 40503f7 Author: John W. Linville Date: Wed Aug 22 14:15:47 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit b4c145c1d245c2cc19754dbe4b718f5a48755993 Author: Ben Widawsky Date: Mon Aug 20 16:15:14 2012 -0700 drm/i915: Find unclaimed MMIO writes. ERR_INT on HSW will display unclaimed MMIO accesses. This can be either the result of a driver bug writing to an invalid addresses, or the result of RC6. Signed-off-by: Ben Widawsky Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Reviewed-by: Antti Koskipaa Signed-off-by: Daniel Vetter commit 71e172e8d141fc167b1cca28271fd39c8cf63ed3 Author: Ben Widawsky Date: Mon Aug 20 16:15:13 2012 -0700 drm/i915: Add ERR_INT to gen7 error state ERR_INT can generate interrupts. However since most of the conditions seem quite fatal the patch opts to simply report it in error state instead of adding more complexity to the interrupt handler for little gain (the bits are sticky anyway). Signed-off-by: Ben Widawsky Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Reviewed-by: Antti Koskipaa Signed-off-by: Daniel Vetter commit 44f46b4222a9ba5b21dcdf13f93dc53f48768d2b Author: Chris Wilson Date: Thu Jun 21 13:19:59 2012 +0300 drm/i915: Cantiga+ cannot handle a hsync front porch of 0 This addresses WaPruneModeWithIncorrectHsyncOffset. Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=50236 Signed-off-by: Chris Wilson Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit aba4e6fff8de0c92e53f0e7ef077231e75f7d760 Author: Sujith Manoharan Date: Wed Aug 22 14:21:07 2012 +0530 mac80211: Fix AP mode regression Commit mac80211: avoid using synchronize_rcu in ieee80211_set_probe_resp changed the return value when the probe response template is not present. Revert to the earlier value of 1 - this fixes AP mode for drivers like ath9k. Signed-off-by: Sujith Manoharan Signed-off-by: Johannes Berg commit 33dd7699cefd175c3a5d3d6077db9c8d8322c9a7 Author: Christian Lamparter Date: Tue Jul 31 21:12:16 2012 +0000 carl9170: report A-MPDU status Because the hardware reports whenever an frame was either at the start, in the middle or at the end of a A-MPDU, we can easily report the information for radiotap. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6957802944ec8244cdcfbf50ffbfccf8eceaa413 Author: Antonio Quartulli Date: Sun Aug 12 19:36:41 2012 +0200 ath9k_htc: implement sta_rc_update() mac80211 callback In case of changes in the supported rates set for a given station, it is now possible to use this callback to update the current internal state of the station in the htc driver. Reported-by: Gui Iribarren Signed-off-by: Antonio Quartulli Signed-off-by: John W. Linville commit 01e17dacd47101ad7d33152bbfbbd4394352d2e6 Merge: 22c5649 dcf3396 Author: John W. Linville Date: Tue Aug 21 16:00:21 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Conflicts: drivers/net/wireless/mac80211_hwsim.c commit 06d7de831dab8b93adb86e039a2f3d36604a9197 Author: AceLan Kao Date: Thu Jul 26 09:51:08 2012 +0800 Revert "rfkill: remove dead code" This reverts commit 2e48928d8a0f38c1b5c81eb3f1294de8a6382c68. Those functions are needed and should not be removed, or there is no way to set the rfkill led trigger name. Signed-off-by: AceLan Kao Signed-off-by: Johannes Berg commit f91c8468df97d0ac18132eb38283524a74317901 Author: Vinicius Costa Gomes Date: Fri Aug 17 21:37:59 2012 -0300 Bluetooth: Fix establishing ESCO links Commit 4cd2d98340b4f03d5532c30fdaeb451b035429cb "Bluetooth: Simplify the connection type handling" broke the creation of ESCO links. This patch adds a type parameter to hci_connect_sco() so it creates the connection of the right kind. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit 144ad33020a0af66fbb188ef3f13ca91c5326a69 Author: Syam Sidhardhan Date: Fri Jul 27 23:51:21 2012 +0530 Bluetooth: Use kref for l2cap channel reference counting This patch changes the struct l2cap_chan and associated code to use kref api for object refcounting and freeing. Suggested-by: Andrei Emeltchenko Signed-off-by: Jaganath Kanakkassery Signed-off-by: Syam Sidhardhan Signed-off-by: Gustavo Padovan commit ab19516a50b375c11b9fa442954a43454a730950 Author: Syam Sidhardhan Date: Fri Jul 27 23:51:22 2012 +0530 Bluetooth: debug: Correct the PSM printing Earlier we were printing chan->psm before assigning any value. Signed-off-by: Syam Sidhardhan Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit f0d6a0ea330617454032d6e2ed48759858a44427 Author: Mikel Astiz Date: Thu Aug 9 09:52:30 2012 +0200 Bluetooth: mgmt: Add device disconnect reason MGMT_EV_DEVICE_DISCONNECTED will now expose the disconnection reason to userland, distinguishing four possible values: 0x00 Reason not known or unspecified 0x01 Connection timeout 0x02 Connection terminated by local host 0x03 Connection terminated by remote host Note that the local/remote distinction just determines which side terminated the low-level connection, regardless of the disconnection of the higher-level profiles. This can sometimes be misleading and thus must be used with care. For example, some hardware combinations would report a locally initiated disconnection even if the user turned Bluetooth off in the remote side. Signed-off-by: Mikel Astiz Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit fa1bd91809d58b3c183611556219fafd93c08625 Author: Mikel Astiz Date: Thu Aug 9 09:52:29 2012 +0200 Bluetooth: Fix minor coding style in hci_event.c Replace the status checks with the short form of the boolean expression. Signed-off-by: Mikel Astiz Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 31f470738bf9fefc9399a45710c74322121119ac Author: Andrei Emeltchenko Date: Tue Aug 7 18:05:06 2012 +0300 Bluetooth: trivial: Use preferred method for NULL check Use standard bluetooth way to check NULL pointer !var instead of var == NULL. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 40503f7b48260a91ab65a4f8b00a2c6f004fa807 Author: Amit Beka Date: Mon Aug 6 17:01:05 2012 +0300 iwlwifi: fix FW restart on init FW When unregistered with mac80211, we can't call its functionality for FW restart, so avoid it and prevent automatic FW restart for the init firmware. Signed-off-by: Amit Beka Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 289e5501c3141191dd830957f1d764d3dc14a54f Author: Emmanuel Grumbach Date: Sun Aug 5 16:55:06 2012 +0300 iwlwifi: fix the preparation of the card There is no need to check if the ownership has been relinquished but we should rather try to get it in a loop. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit de9932d13c95c4125d2ed8703f5574fcc108bbcf Author: Xu, Anhua Date: Tue Aug 21 03:06:02 2012 +0000 drm/i915: fix reassignment of variable "intel_dp->DP" In intel_dp_mode_set we OR in the exact same bits twice at the same spot. Kill one of the redundant assignments. This little regression was introduced by: commit 417e822deee1d2bcd8a8a60660c40a0903713f2b Author: Keith Packard Date: Tue Nov 1 19:54:11 2011 -0700 drm/i915: Treat PCH eDP like DP in most places PCH eDP has many of the same needs as regular PCH DP connections, including the DP_CTl bit settings, the TRANS_DP_CTL register. The reachable tag for this commit is: v3.1-5461-g417e822 Signed-off-by: Anhua Xu [danvet: Improved the commit message somewhat and ensured the diff is clearer.] Signed-off-by: Daniel Vetter commit d8cb5086695dcdd076e911fc298a5a6701497371 Author: Chris Wilson Date: Sat Aug 11 15:41:03 2012 +0100 drm/i915: Try harder to allocate an mmap_offset Given the persistence of an offset for the lifetime of an object, itis easy to contemplate how the mmap space becomes badly fragmented to the point that further allocations fail with ENOSPC. Our only recourse at this point is to try to purge the objects to release some space and reattempt the allocation. References: https://bugs.freedesktop.org/show_bug.cgi?id=39552 Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit c110a6d728d0243a755973d34e363952b74af984 Author: Chris Wilson Date: Sat Aug 11 15:41:02 2012 +0100 drm/i915: Show pin count in debugfs Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit b7abb7144356536c41a81eda2bbfd46027e529f6 Author: Chris Wilson Date: Mon Aug 20 11:33:30 2012 +0200 drm/i915: Show (count, size) of purgeable objects in i915_gem_objects Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit c4670ad080a1fe60d49f850e11f64a41db525496 Author: Chris Wilson Date: Mon Aug 20 10:23:27 2012 +0100 drm/i915: Add some sanity checks to unbound tracking A pair of universally true checks that just need to be put in the right place depending on where in the patch sequence you go. Note that i915_gem_object_put_pages_gtt() already gains the BUG_ON(obj->gtt_space), but on reflection that needed to migrate to put_pages(). Signed-off-by: Daniel Vetter commit 6c085a728cf000ac1865d66f8c9b52935558b328 Author: Chris Wilson Date: Mon Aug 20 11:40:46 2012 +0200 drm/i915: Track unbound pages When dealing with a working set larger than the GATT, or even the mappable aperture when touching through the GTT, we end up with evicting objects only to rebind them at a new offset again later. Moving an object into and out of the GTT requires clflushing the pages, thus causing a double-clflush penalty for rebinding. To avoid having to clflush on rebinding, we can track the pages as they are evicted from the GTT and only relinquish those pages on memory pressure. As usual, if it were not for the handling of out-of-memory condition and having to manually shrink our own bo caches, it would be a net reduction of code. Alas. Note: The patch also contains a few changes to the last-hope evict_everything logic in i916_gem_execbuffer.c - we no longer try to only evict the purgeable stuff in a first try (since that's superflous and only helps in OOM corner-cases, not fragmented-gtt trashing situations). Also, the extraction of the get_pages retry loop from bind_to_gtt (and other callsites) to get_pages should imo have been a separate patch. v2: Ditch the newly added put_pages (for unbound objects only) in i915_gem_reset. A quick irc discussion hasn't revealed any important reason for this, so if we need this, I'd like to have a git blame'able explanation for it. v3: Undo the s/drm_malloc_ab/kmalloc/ in get_pages that Chris noticed. Signed-off-by: Chris Wilson [danvet: Split out code movements and rant a bit in the commit message with a few Notes. Done v2] Signed-off-by: Daniel Vetter commit 3b07e9ca26866697616097044f25fbe53dbab693 Author: Tejun Heo Date: Mon Aug 20 14:51:24 2012 -0700 workqueue: deprecate system_nrt[_freezable]_wq system_nrt[_freezable]_wq are now spurious. Mark them deprecated and convert all users to system[_freezable]_wq. If you're cc'd and wondering what's going on: Now all workqueues are non-reentrant, so there's no reason to use system_nrt[_freezable]_wq. Please use system[_freezable]_wq instead. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo Acked-By: Lai Jiangshan Cc: Jens Axboe Cc: David Airlie Cc: Jiri Kosina Cc: "David S. Miller" Cc: Rusty Russell Cc: "Paul E. McKenney" Cc: David Howells commit 43829731dd372d04d6706c51052b9dabab9ca356 Author: Tejun Heo Date: Mon Aug 20 14:51:24 2012 -0700 workqueue: deprecate flush[_delayed]_work_sync() flush[_delayed]_work_sync() are now spurious. Mark them deprecated and convert all users to flush[_delayed]_work(). If you're cc'd and wondering what's going on: Now all workqueues are non-reentrant and the regular flushes guarantee that the work item is not pending or running on any CPU on return, so there's no reason to use the sync flushes at all and they're going away. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo Cc: Russell King Cc: Paul Mundt Cc: Ian Campbell Cc: Jens Axboe Cc: Mattia Dongili Cc: Kent Yoder Cc: David Airlie Cc: Jiri Kosina Cc: Karsten Keil Cc: Bryan Wu Cc: Benjamin Herrenschmidt Cc: Alasdair Kergon Cc: Mauro Carvalho Chehab Cc: Florian Tobias Schandinat Cc: David Woodhouse Cc: "David S. Miller" Cc: linux-wireless@vger.kernel.org Cc: Anton Vorontsov Cc: Sangbeom Kim Cc: "James E.J. Bottomley" Cc: Greg Kroah-Hartman Cc: Eric Van Hensbergen Cc: Takashi Iwai Cc: Steven Whitehouse Cc: Petr Vandrovec Cc: Mark Fasheh Cc: Christoph Hellwig Cc: Avi Kivity commit dcf33963c48e1959c83fda84e336dbb000eefa3f Author: Johannes Berg Date: Mon Jul 30 15:11:56 2012 +0200 mac80211: clean up ieee80211_subif_start_xmit There's no need to carry around a return value that is always NETDEV_TX_OK anyway. Signed-off-by: Johannes Berg commit fe94fe05e9fb7c1bea482d1b0fd09029a711cce2 Author: Johannes Berg Date: Mon Jul 30 12:26:34 2012 +0200 mac80211: pass channel to ieee80211_send_probe_req In multi-channel scenarios, the channel that we will transmit a probe request on isn't always the current channel (which will be NULL anyway) but will instead be the channel that the AP is on. Pass the channel to the ieee80211_send_probe_req() function so it can be used in the different scenarios. The scan code continues to pass the current channel, of course. Signed-off-by: Johannes Berg commit c0af07340aae5db9f976bfe71e2e9bcab3169409 Author: Johannes Berg Date: Thu Jul 26 14:42:10 2012 +0200 mac80211: convert ops checks to WARN_ON There's no need to BUG_ON when a driver registers invalid operations, warn and return an error. Signed-off-by: Johannes Berg commit 9b8648704358e42f9865cd6de7cedb5ac0db67e7 Author: Johannes Berg Date: Thu Jul 26 14:38:32 2012 +0200 mac80211: check operating channel in scan The optimisation of scanning only on the current channel should check the operating channel. Also modify it to compare channel pointer rather than the frequency. Signed-off-by: Johannes Berg commit 4797c7ba93e4049cdda18045c01bbe563aafff69 Author: Johannes Berg Date: Thu Jul 26 14:31:19 2012 +0200 mac80211: use RX status band instead of current band Even for single-channel devices it is possible that we switch the channel temporarily (e.g. for scanning) but while doing so process a received frame that was still received on the old channel, so checking the current band is racy. Use the band from status instead. Signed-off-by: Johannes Berg commit 3d01be72e6fe372a0602221090707a1f04c44646 Author: Johannes Berg Date: Thu Jul 26 14:27:39 2012 +0200 mac80211: don't assume channel is set in tracing With the move to multi-channel and away from drv_config(), hw.conf.channel will not always be set, only for devices using the current API instead of the new channel context APIs. Check the channel is set before adding its frequency to the trace data. Also break some overly long lines in the code. Signed-off-by: Johannes Berg commit f9e6e95b63758202fe2ce43bd7c922db2ff50f80 Author: Johannes Berg Date: Mon Jul 23 14:29:21 2012 +0200 mac80211: use oper_channel in rate init Using hw.conf.channel is wrong as it could be the temporary channel if the station is added from the workqueue while the device is already on another channel. Use oper_channel instead. Signed-off-by: Johannes Berg commit 9e99a127b5724d7a2cd9d2973b10981d56e1d647 Author: Johannes Berg Date: Thu Jul 26 14:22:06 2012 +0200 mac80211: remove freq/chantype from debugfs You can now get these values through iw, and they conflict with multi-channel work. Signed-off-by: Johannes Berg commit e31583cdf0e2eb71c44b1288a2d93405f972da68 Author: Johannes Berg Date: Thu Jul 26 14:07:46 2012 +0200 mac80211: remove almost unused local variable In ieee80211_beacon_get_tim() we can use the txrc.sband instead of a separate local variable. Signed-off-by: Johannes Berg commit 466f310d100ff54f346c1be481af9935c42467b3 Author: Johannes Berg Date: Wed Jul 25 13:51:49 2012 +0200 mac80211: mesh: don't use global channel type Using local->_oper_channel_type in the mesh code is completely wrong as this value is the combination of the various interface channel types and can be a different value from the mesh interface in case there are multiple virtual interfaces. Use sdata->vif.bss_conf.channel_type instead as it tracks the per-vif channel type. Signed-off-by: Johannes Berg commit d348f69f59af769c405c2f43a2d326d7123ef75a Author: Johannes Berg Date: Sun Aug 19 14:51:44 2012 +0200 mac80211: simplify buffers in aes_128_cmac_vector There's no need to use a single scratch buffer and calculate offsets into it, just use two separate buffers for the separate variables. Signed-off-by: Johannes Berg commit 8b3d1cc213f96bfffb5b7808d859b9ad26149e82 Author: Johannes Berg Date: Tue Jun 19 17:29:29 2012 +0200 mac80211_hwsim: add support for P2P Device Advertise support for P2P Device in hwsim to be able to test it. Signed-off-by: Johannes Berg commit 6d71117a279aa30574a8af6c7348570c292285c2 Author: Johannes Berg Date: Tue Jun 19 17:19:44 2012 +0200 mac80211: add IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF Some devices like the current iwlwifi implementation require that the P2P interface address match the P2P Device address (only one P2P interface is supported.) Add the HW flag IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF that allows drivers to request that P2P Interfaces added while a P2P Device is active get the same MAC address by default. Signed-off-by: Johannes Berg commit f142c6b906da451ded2c7a8e17b2a0e6fee3e891 Author: Johannes Berg Date: Mon Jun 18 20:07:15 2012 +0200 mac80211: support P2P Device abstraction After cfg80211 got a P2P Device abstraction, add support to mac80211. Whether it really is supported or not will depend on whether or not the driver has support for it, but mac80211 needs to change to be able to support drivers that need a P2P Device. Signed-off-by: Johannes Berg commit 98104fdeda63d57631c9f89e90a7b83b58fcee40 Author: Johannes Berg Date: Sat Jun 16 00:19:54 2012 +0200 cfg80211: add P2P Device abstraction In order to support using a different MAC address for the P2P Device address we must first have a P2P Device abstraction that can be assigned a MAC address. This abstraction will also be useful to support offloading P2P operations to the device, e.g. periodic listen for discoverability. Currently, the driver is responsible for assigning a MAC address to the P2P Device, but this could be changed by allowing a MAC address to be given to the NEW_INTERFACE command. As it has no associated netdev, a P2P Device can only be identified by its wdev identifier but the previous patches allowed using the wdev identifier in various APIs, e.g. remain-on-channel. Signed-off-by: Johannes Berg commit cc74c0c7d6d623d0d3f13ef64895937edb7b3177 Author: Johannes Berg Date: Wed Aug 1 16:49:34 2012 +0200 mac80211: make ieee80211_beacon_connection_loss_work static There's no need to declare the function in the header file since it's only used in a single place, so make it static. Signed-off-by: Johannes Berg commit 5bc1420b11903e9f8c470d3b33061b8de0c5c005 Author: Johannes Berg Date: Wed Aug 1 16:13:02 2012 +0200 mac80211: check size of channel switch IE when parsing The channel switch IE has a fixed size, so we can discard it in parsing if it's not the right size and use the right struct pointer. Signed-off-by: Johannes Berg commit 3049000b97bbfc90aa9ba413eadc4007e5bce2e0 Author: Johannes Berg Date: Wed Aug 1 15:53:45 2012 +0200 mac80211: fix CSA handling timer The time until the channel switch is in TU, not in milliseconds, so use TU_TO_EXP_TIME() to correctly program the timer. Signed-off-by: Johannes Berg commit 57eebdf3c28fe7134597acad529fc40f99b76601 Author: Johannes Berg Date: Wed Aug 1 15:50:46 2012 +0200 mac80211: clean up CSA handling code Clean up the CSA handling code by moving some of it out of the if and using a C99 initializer for the struct passed to the driver method. While at it, also add a comment that we should wait for a beacon after switching the channel. Signed-off-by: Johannes Berg commit 90bcf867ceef50155a1a14af4dc248061f6b8b94 Author: Johannes Berg Date: Wed Aug 1 15:48:38 2012 +0200 mac80211: remove unneeded 'bssid' variable There's no need to copy the BSSID just to print it, remove the unnecessary variable. Signed-off-by: Johannes Berg commit 4c29867790131c281ef96af507d85e3e5f829408 Author: Johannes Berg Date: Thu Jul 5 11:34:31 2012 +0200 mac80211: support A-MPDU status reporting Support getting A-MPDU status information from the drivers and reporting it to userspace via radiotap in the standard fields. Signed-off-by: Johannes Berg commit 48613ece3d6a2613caa376f51477435cc080f3cd Author: Johannes Berg Date: Thu Jul 5 11:32:16 2012 +0200 wireless: add radiotap A-MPDU status field Define the A-MPDU status field in radiotap, also update the radiotap parser for it and the MCS field that was apparently missed last time. Signed-off-by: Johannes Berg commit e687f61eedab8895e5669cb82cebe0253631cd8c Author: Antonio Quartulli Date: Sun Aug 12 18:24:55 2012 +0200 mac80211: add supported rates change notification in IBSS In IBSS it is possible that the supported rates set for a station changes over time (e.g. it gets first initialised as an empty set because of no available information about rates and updated later). In this case the driver has to be notified about the change in order to update its internal table accordingly (if needed). This behaviour is needed by all those drivers that handle rc internally but leave stations management to mac80211 Reported-by: Gui Iribarren Signed-off-by: Antonio Quartulli [Johannes - add docs, validate IBSS mode only, fix compilation] Signed-off-by: Johannes Berg commit 4bd4c2dd8e734868ae9f0ceb87a6edd27df8f45c Author: Thomas Pedersen Date: Thu Aug 9 18:15:40 2012 -0700 mac80211: clean up mpath_move_to_queue() Use skb_queue_walk_safe instead, and fix a few issues: - didn't free old skbs on moving - didn't react to failed skb alloc - needlessly held a local pointer to the destination frame queue - didn't check destination queue length before adding skb Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit b22bd5221cfe80ee3d345d9deccfd29edf9bafb4 Author: Thomas Pedersen Date: Thu Aug 9 18:15:39 2012 -0700 mac80211: use skb_queue_walk() in mesh_path_assign_nexthop Since all we really want is just to iterate over all skbs, do just that and avoid (de)queueing to a clusmy tmpq. Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit aa7a00809cf6afe3cd6f5af2889110b47b798667 Author: Eyal Shapira Date: Mon Aug 6 14:26:16 2012 +0300 mac80211: avoid using synchronize_rcu in ieee80211_set_probe_resp This could take a while (100ms+) and may delay sending assoc resp in AP mode with WPS or P2P GO (as setting the probe resp takes place there). We've encountered situations where the delay was big enough to cause connection problems with devices like Galaxy Nexus. Switch to using call_rcu with a free handler. [Arik - rework to use plain buffer and instead of skb] Signed-off-by: Eyal Shapira Signed-off-by: Arik Nemtsov Signed-off-by: Johannes Berg commit 225067eedf1f4d4065940232c9069fcb255206ee Author: Daniel Vetter Date: Mon Aug 20 10:23:20 2012 +0200 drm/i915: move functions around Prep work to make Chris Wilson's unbound tracking patch a bit easier to read. Alas, I'd have preferred that moving the page allocation retry loop from bind to get_pages would have been a separate patch, too. But that looks like real work ;-) Signed-off-by: Daniel Vetter commit 83358c85866ebd2af1229fc9870b93e126690671 Author: Wang Xingchao Date: Thu Aug 16 22:43:37 2012 +0800 drm/i915: Haswell HDMI audio initialization Added new haswell_write_eld() to initialize Haswell HDMI audio registers to generate an unsolicited response to the audio controller driver to indicate that the controller sequence should start. Reviewed-by: Imre Deak Signed-off-by: Wang Xingchao Signed-off-by: Daniel Vetter commit 32ecd24264542328893e8649312c301150dbadc5 Author: Dave Airlie Date: Mon Jul 30 14:06:55 2012 +1000 drm/udl: call begin/end cpu access at more appropriate time We need to call these before we transfer the damaged areas to the device not before/after we setup the long lived vmaps. Signed-off-by: Dave Airlie Signed-off-by: Daniel Vetter commit ec6f1bb90c9865d4a5af01b1c643bcf020d88706 Author: Dave Airlie Date: Thu Aug 16 10:15:34 2012 +1000 drm/i915: implement dma buf begin_cpu_access (v2) In order for udl vmap to work properly, we need to push the object into the CPU domain before we start copying the data to the USB device. This along with the udl change avoids userspace explicit mapping to be used. v2: add a flag for userspace to query to know if Intel kernel driver can deal with the vmap flushing properly. In theory udl would need a flag also, but I intend to push the patches very close to each other and other drivers should do the right thing from the start. I've added a test to my intel-gpu-tools prime branch, however testing this is a bit messy since the only way to get udl to vmap is to rendering something. I've tested this with real code as well to make sure it works. Signed-off-by: Dave Airlie [danvet: resolved conflict, which required reallocating the PARAM number to 21.] Signed-off-by: Daniel Vetter commit 0826874a664f9e9479d50fda23923b87a50cda0d Author: Keith Packard Date: Mon Aug 13 21:34:45 2012 -0700 drm/i915: Allow VGA on CRTC 2 This is left over from the old PLL sharing code and isn't useful now that PLLs are shared when possible. Signed-off-by: Keith Packard Signed-off-by: Daniel Vetter commit 523313092abffb21bfe7cd8d37615402b2228850 Author: Damien Lespiau Date: Wed Aug 15 19:23:25 2012 +0100 drm/i915: Don't hardcode the number of pipes in the error state dump New-ish devices have 3 pipes, so let's not just hardcode 2 but use the for_each_pipe() macro and make struct intel_display_error_state is big enough. V2: Also add the number of pipes emitted (Chris Wilson) Signed-off-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 33faad195eec0c72fec84e638623ea25652eed72 Author: Daniel Vetter Date: Sun Aug 12 18:15:48 2012 +0200 drm/fb-helper: don't clobber output routing in setup_crtcs Yet again the too close relationship between the fb helper and the crtc helper code strikes. This time around the fb helper resets all encoder->crtc pointers to NULL before starting to set up it's own mode. Which is total bullocks, because this will clobber the existing output routing, which the new drm/i915 code depends upon to be absolutely correct. The crtc helper itself doesn't really care about that, since it disables unused encoders in a rather roundabout way anyway. Two places call drm_setup_crts: - For the initial fb config. I've auditted all current drivers, and they all allocate their encoders with kzalloc. So there's no need to clear encoder->crtc once more. - When processing hotplug events while showing the fb console. This one is a bit more tricky, but both the crtc helper code and the new drm/i915 modeset code disable encoders if their crtc is changed and that encoder isn't part of the new config. Also, both disable any disconnected outputs, too. Which only leaves encoders that are on, connected, but for some odd reason the fb helper code doesn't want to use. That would be a bug in the fb configuration selector, since it tries to light up as many outputs as possible. v2: Kill the now unused encoders variable. Acked-by: Dave Airlie Signed-Off-by: Daniel Vetter commit 9b138a83675364366388af8b6986b2e52be36bcc Author: Wang Xingchao Date: Thu Aug 9 16:52:18 2012 +0800 drm/i915: ironlake_write_eld code cleanup Use _PIPE macro to get correct register definition for IBX/CPT, discard old variable "i" way. Signed-off-by: Wang Xingchao Reviewed-by: Imre Deak [danvet: Added the DIP_PORT_SEL #define from a preceeding patch in the series that needs more work.] Signed-off-by: Daniel Vetter commit 4f07854dd7fc197d9ea2bd83c26736baabb0b981 Author: Wang Xingchao Date: Thu Aug 9 16:52:16 2012 +0800 drm/i915: write eld info for HDMI audio HDMI audio related registers will be configured in write_eld callback. Signed-off-by: Wang Xingchao Reviewed-by: Imre Deak Signed-off-by: Daniel Vetter commit 9a78b6cce5ebb04ae1b2f99b6c9f5fa54a3428b0 Author: Wang Xingchao Date: Thu Aug 9 16:52:15 2012 +0800 drm/i915: HSW audio registers definition Add hsw audio registers definition Signed-off-by: Wang Xingchao Reviewed-by: Imre Deak Signed-off-by: Daniel Vetter commit 88cefb6c60712982f739f6bbd9f82968aca46033 Author: Daniel Vetter Date: Sun Aug 12 19:27:14 2012 +0200 drm/i915: extract ironlake_fdi_pll_disable Simply to make the ilk+ crtc disable path clearer and more symmetric with the enable function. Also switch to intel_crtc for the enable function. Reviewed-by: Chris Wilson Signed-Off-by: Daniel Vetter commit 5d985ac81ab15631570cad83d187565c7fcfd00a Author: Daniel Vetter Date: Sun Aug 12 19:27:13 2012 +0200 drm/i915: kill a few unused things in dev_priv ... and move a few others only used by i915_dma.c into the dri1 dungeon. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit fac3274c4ee090140410b2f29d3fbd8f10eae186 Author: Daniel Vetter Date: Sun Aug 12 19:27:12 2012 +0200 drm/i915: simplify dvo dpms interface All dvo drivers only support 2 dpms states, and our dvo driver even switches of the dvo port for anything else than DPMS_ON. Hence ditch this complexity and simply use bool enable. While reading through this code I've noticed that the mode_set function of ch7017 is a bit peculiar - it disable the lvds again, even though the crtc helper code should have done that ... This might be to work around an issue at driver load, we pretty much ignore the hw state when taking over. v2: Also do the conversion for the new ns2501 driver. Reviewed-by: Chris Wilson Signed-Off-by: Daniel Vetter commit d2434ab7fb085ac6848acd9d82366f96a642e471 Author: Daniel Vetter Date: Sun Aug 12 21:20:10 2012 +0200 drm/i915: drop intel_encoder argument to load_detect_pipe functions Since it's redundant - we can get the attached encoder in the functions themselves. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 24218aacac65f5b731bbff8eeb09ea7847dda2ef Author: Daniel Vetter Date: Sun Aug 12 19:27:11 2012 +0200 drm/i915: prepare load-detect pipe code for dpms changes A few things need adjustement: - Change the dpms state by calling the dpms connector function and not some crtc helper internal callbacks. Otherwise this will break once we switch to our own dpms handling. - Instead of tracking and restoring intel_crtc->dpms_mode use the connector's dpms variable - the former relies on the dpms compuation rules used by the crtc helper. And it would break when the encoder is cloned and the other output has a different dpms state. But luckily no one is crazy enough for that. - Properly clear the connector -> encoder -> crtc linking, even when failing (note that the crtc helper removes the encoder -> crtc link in disabled_unused_functions for us). Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 6306cb4f809ccf92c1b7bf446635c571e33f5151 Author: Daniel Vetter Date: Sun Aug 12 19:27:10 2012 +0200 drm/i915: rip out the overlay pipe A workaround Now that all affected i830M systems have the pipe A quirk set, we don't need to do any special dances in the overlay code any longer. And reading through the code I'm rather dubios that it actually does what it claims to do ... As a nice benefit this rips out a users of the crtc helper dpms callback. v2: As suggested by Chris Wilson, replace the code by an appropriate WARN to ensure that the pipe A is indeed running. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit a37b9b349ef26cb44f0e8d59c3efbcd9485018b4 Author: Daniel Vetter Date: Sun Aug 12 19:27:09 2012 +0200 drm/i915/ns2501: kill pll A enabling hack With the pipe A quirk properly fixed up for i830M, this shouldn't be required any longer. Reviewed-by: Chris Wilson Signed-Off-by: Daniel Vetter commit dcdaed6eae0d7ed0c68aaa1ebfceb242625b3bf0 Author: Daniel Vetter Date: Sun Aug 12 21:19:34 2012 +0200 drm/i915: add missing gen2 pipe A quirk entries For some odd reason we've missed i830 and a i855 variant. Also kill the two now redundant i830 entries. v2: Don't add the missing 855 id to the pipe A quirk list, we seem to lack justification for it. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit e9a851ed634628489ca4a392740694d0ded78cb9 Author: Xu, Anhua Date: Mon Aug 13 03:08:33 2012 +0000 drm/i915: fix wrong order of parameters in port checking functions Wrong order of parameters passed-in when calling hdmi/adpa /lvds_pipe_enabled(), 2nd and 3rd parameters are reversed. This bug was indroduced by commit 1519b9956eb4b4180fa3f47c73341463cdcfaa37 Author: Keith Packard Date: Sat Aug 6 10:35:34 2011 -0700 drm/i915: Fix PCH port pipe select in CPT disable paths The reachable tag for this commit is v3.1-rc1-3-g1519b99 Signed-off-by: Anhua Xu Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit a22ddff8bedfe33eeb1330bbb7ef1fbe007a42c4 Merge: 20d5a54 d987569 Author: Daniel Vetter Date: Fri Aug 17 08:57:56 2012 +0200 Merge tag 'v3.6-rc2' into drm-intel-next Backmerge Linux 3.6-rc2 to resolve a few funny conflicts before we put even more madness on top: - drivers/gpu/drm/i915/i915_irq.c: Just a spurious WARN removed in -fixes, that has been changed in a variable-rename in -next, too. - drivers/gpu/drm/i915/intel_ringbuffer.c: -next remove scratch_addr (since all their users have been extracted in another fucntion), -fixes added another user for a hw workaroudn. Signed-off-by: Daniel Vetter commit 16698918cdb39ae0d9289741ac2a9ed179f8b8ba Merge: 1f07b62 22c5649 Author: John W. Linville Date: Wed Aug 15 14:29:37 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 1efa29cd414c68725e774d52b248c82d9be44767 Author: Eric W. Biederman Date: Fri Feb 10 14:01:03 2012 -0800 userns: Make the airo wireless driver use kuids for proc uids and gids Cc: Dan Carpenter Cc: Alexey Dobriyan Cc: John W. Linville Acked-by: David S. Miller Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman commit 09d5d4aa647367eeb42352a2bc9d438b9c703670 Author: Andrei Emeltchenko Date: Tue Aug 7 18:05:04 2012 +0300 Bluetooth: trivial: Shorten variable scope Make code more clear by moving sk and bt vars to the place where they are actually used. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit e6dd548b9a3c7b3fcdd2fd97880abf7597e8334b Author: Vinicius Costa Gomes Date: Fri Jul 27 19:33:00 2012 -0300 Bluetooth: Add type information to the hci_connect() debug statement Now that we have a "connect" function for each link type, we should be able to indentify which function is going to be called. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit 4cd2d98340b4f03d5532c30fdaeb451b035429cb Author: Vinicius Costa Gomes Date: Fri Jul 27 19:32:59 2012 -0300 Bluetooth: Simplify a the connection type handling Now that we have separate ways of doing connections for each link type, we can do better than an "if" statement to handle each link type. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit b7d839bfff78a01705f3d7b0acd5257dc7b067c9 Author: Vinicius Costa Gomes Date: Fri Jul 27 19:32:58 2012 -0300 Bluetooth: Refactor SCO connection into its own function We can do the same that we did for the other link types, for SCO connections. The only thing that's worth noting is that as SCO links need an ACL link, this functions uses the function that adds an ACL link. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit db4742756ae2a836618cd5acf599522573589149 Author: Vinicius Costa Gomes Date: Sat Jul 28 22:35:59 2012 -0300 Bluetooth: Refactor ACL connection into its own function The hci_connect() function was starting to get too complicated to be quickly understood. We can separate the creation of a new ACL connection into its own function. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit d04aef4cccf203fdfd1716e9ba458060cbab0928 Author: Vinicius Costa Gomes Date: Fri Jul 27 19:32:56 2012 -0300 Bluetooth: Refactor LE connection into its own function The code that handles LE connection is already quite separated from the rest of the connection procedure, so we can easily put it into its own. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit 1aef866968223ddfd7268457b642a9233f0b8006 Author: Vinicius Costa Gomes Date: Fri Jul 27 19:32:55 2012 -0300 Bluetooth: Rename LE and ACL connection functions These names were causing much confusion, so we rename these functions that send HCI commands to be more similar in naming to the actual HCI commands that will be sent. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit 57f5d0d1d9f8e59819cb0ab4b707364c54b5b2d1 Author: Vinicius Costa Gomes Date: Fri Jul 27 19:32:54 2012 -0300 Bluetooth: Remove some functions from being exported Some connection related functions are only used inside hci_conn.c so no need to have them exported. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo Padovan commit 734cc1783816ae358cef45673a29bf7af974e147 Author: Jiri Slaby Date: Tue Aug 7 21:47:47 2012 +0200 TTY: use tty_port_register_device Currently we have no way to assign tty->port while performing tty installation. There are two ways to provide the link tty_struct => tty_port. Either by calling tty_port_install from tty->ops->install or tty_port_register_device called instead of tty_register_device when the device is being set up after connected. In this patch we modify most of the drivers to do the latter. When the drivers use tty_register_device and we have tty_port already, we switch to tty_port_register_device. So we have the tty_struct => tty_port link for free for those. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 41f63c5359d14ca995172b8f6eaffd93f60fec54 Author: Tejun Heo Date: Fri Aug 3 10:30:47 2012 -0700 workqueue: use mod_delayed_work() instead of cancel + queue Convert delayed_work users doing cancel_delayed_work() followed by queue_delayed_work() to mod_delayed_work(). Most conversions are straight-forward. Ones worth mentioning are, * drivers/edac/edac_mc.c: edac_mc_workq_setup() converted to always use mod_delayed_work() and cancel loop in edac_mc_reset_delay_period() is dropped. * drivers/platform/x86/thinkpad_acpi.c: No need to remember whether watchdog is active or not. @fan_watchdog_active and related code dropped. * drivers/power/charger-manager.c: Seemingly a lot of delayed_work_pending() abuse going on here. [delayed_]work_pending() are unsynchronized and racy when used like this. I converted one instance in fullbatt_handler(). Please conver the rest so that it invokes workqueue APIs for the intended target state rather than trying to game work item pending state transitions. e.g. if timer should be modified - call mod_delayed_work(), canceled - call cancel_delayed_work[_sync](). * drivers/thermal/thermal_sys.c: thermal_zone_device_set_polling() simplified. Note that round_jiffies() calls in this function are meaningless. round_jiffies() work on absolute jiffies not delta delay used by delayed_work. v2: Tomi pointed out that __cancel_delayed_work() users can't be safely converted to mod_delayed_work(). They could be calling it from irq context and if that happens while delayed_work_timer_fn() is running, it could deadlock. __cancel_delayed_work() users are dropped. Signed-off-by: Tejun Heo Acked-by: Henrique de Moraes Holschuh Acked-by: Dmitry Torokhov Acked-by: Anton Vorontsov Acked-by: David Howells Cc: Tomi Valkeinen Cc: Jens Axboe Cc: Jiri Kosina Cc: Doug Thompson Cc: David Airlie Cc: Roland Dreier Cc: "John W. Linville" Cc: Zhang Rui Cc: Len Brown Cc: "J. Bruce Fields" Cc: Johannes Berg commit 22c5649eef0fc37532e20c14d2656b28ca708a69 Author: Christian Lamparter Date: Sat Aug 11 13:09:20 2012 +0200 p54: fix powerpc gcc warnings My commit "p54: parse output power table" introduced the following compiler warnings for powerpc-allmodconfig eeprom.c: In function 'p54_get_maxpower': eeprom.c:291 warning: comparison of distinct pointer types lacks a cast eeporm.c:292 warning: comparison of distinct pointer types lacks a cast eeprom.c:293 warning: comparison of distinct pointer types lacks a cast eeprom.c:294 warning: comparison of distinct pointer types lacks a cast This patch fixes those by using max_t(u16 which forces a type cast. Reported-by: Fengguang Wu Tested-by: Fengguang Wu Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit df32381896f5f0c78a371df2e49ab7c776b1a5ba Author: Marco Porsch Date: Wed Aug 8 07:58:43 2012 +0200 mac80211: fix unnecessary beacon update after peering status change ieee80211_bss_info_change_notify is called everytime a peer link is established or closed, because the accepting_plinks flag in the meshconf IE *might* have changed. With this patch the corresponding functions return the BSS_CHANGED_BEACON flag when a beacon update is necessary. Also it makes mesh_accept_plinks_update the common place to update the accepting_plinks flag. mesh_accept_plinks_update is called upon plink change and also periodically from ieee80211_mesh_housekeeping. Thus, it also picks up changes of local->num_sta. Signed-off-by: Marco Porsch Acked-by: Thomas Pedersen Signed-off-by: John W. Linville commit 20d5a540e55a29daeef12706f9ee73baf5641c16 Author: Daniel Vetter Date: Thu Aug 9 22:33:58 2012 +0200 drm/i915: don't grab dev->struct_mutex for userspace forcewak Since forcewake is now protected by a spinlock, we don't need to grab dev->struct_mutex any more. This way we can also get rid of a stale comment, noticed by Ben Widawsky while reviewing some locking changes. v2: Kill the unused variable ret, noticed by Fengguang Wu. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 89c8d91e31f267703e365593f6bfebb9f6d2ad01 Author: Alan Cox Date: Wed Aug 8 16:30:13 2012 +0100 tty: localise the lock The termios and other changes mean the other protections needed on the driver tty arrays should be adequate. Turn it all back on. This contains pieces folded in from the fixes made to the original patches | From: Geert Uytterhoeven (fix m68k) | From: Paul Gortmaker (fix cris) | From: Jiri Kosina (lockdep) | From: Eric Dumazet (lockdep) Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit faa97bd4a43ac69a55029e3b07708bdff0959c07 Author: Jeff Mahoney Date: Mon Aug 6 15:17:26 2012 -0400 brcmsmac: document firmware dependencies The brcmsmac driver requests firmware but doesn't document the dependency. This means that software that analyzes the modules to determine if firmware is needed won't detect it. Specifically, (at least) openSUSE won't install the kernel-firmware package if no hardware requires it. This patch adds the MODULE_FIRMWARE directives. Signed-off-by: Jeff Mahoney Acked-by: Arend van Spriel Signed-off-by: John W. Linville commit c771b518199eb329c3a38e479b36b36553e25b2d Author: Rajkumar Manoharan Date: Fri Aug 10 16:47:30 2012 +0530 ath9k: tune rc_stats to display only valid rates This could make rc_stats more simpler and ease the debugging. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 23d9939459362c555d2ad18f9c036f55594e7fee Author: Sujith Manoharan Date: Fri Aug 10 16:47:23 2012 +0530 ath9k: Trim rate table Remove ctrl_rate, cw40index, sgi_index, ht_index and calculate the rate index for TX status from the valid_rate_index that is populated at initialization time. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f8a87017f4a9f1638df54dd79d0f5ad1bae51c1d Author: Sujith Manoharan Date: Fri Aug 10 16:47:16 2012 +0530 ath9k: Remove MIMO-PS specific code Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 88dcc2dd717b292d1ef7311a6487c610f709bd10 Author: Sujith Manoharan Date: Fri Aug 10 16:47:09 2012 +0530 ath9k: Cleanup TX status API Calculate the final rate index inside ath_rc_tx_status(). Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c1610117f81ae70b49aaf51ccb9040f2ce5bd358 Author: Sujith Manoharan Date: Fri Aug 10 16:47:03 2012 +0530 ath9k: Bail out properly before calculating rate index Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2e546755b947c08cdc1c4f2bdba70130c6ed0736 Author: Sujith Manoharan Date: Fri Aug 10 16:46:57 2012 +0530 ath9k: Fix RTS/CTS rate selection The current method of assigning the RTS/CTS rate is completely broken for HT mode and breaks P2P operation. Fix this by using the basic_rates provided to the driver by mac80211. For now, choose the lowest supported basic rate for HT frames. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 97f7e8a785b9877098d7f255654b25bf85ae9d6a Author: Sujith Manoharan Date: Fri Aug 10 16:46:50 2012 +0530 ath9k: Do not set IEEE80211_TX_RC_USE_SHORT_PREAMBLE mac80211 does it for us. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3d2776f62140369619b0e6c13ea19b814eed03b4 Author: Sujith Manoharan Date: Fri Aug 10 16:46:44 2012 +0530 ath9k: Unify valid rate calculation routines Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f5c9a804935029a70f14c0336ac054af9b1953a5 Author: Sujith Manoharan Date: Fri Aug 10 16:46:37 2012 +0530 ath9k: Remove ath_rc_set_valid_rate_idx Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 6e1e3743227119e66162f701d73314d0a26dfafe Author: Sujith Manoharan Date: Fri Aug 10 16:46:31 2012 +0530 ath9k: Change rateset calculation Commit "ath9k: Change rate control to use legacy rate as last MRR" resulted in the mixing of HT/legacy rates in a single rateset, which is undesirable. Revert this behavior. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit fc8d023834f6462e1675a28a15da251b3cb28b9a Author: Sujith Manoharan Date: Fri Aug 10 16:46:24 2012 +0530 ath9k: Cleanup index retrieval routines Trim API and remove unused variables. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit dacde3570865202fedcfa7c642d6c2ffde0dd0af Author: Sujith Manoharan Date: Fri Aug 10 16:46:18 2012 +0530 ath9k: Cleanup ath_rc_setvalid_htrates Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c05ea151770f6508e611b789f84c8bf57fa267cd Author: Sujith Manoharan Date: Fri Aug 10 16:46:11 2012 +0530 ath9k: Cleanup ath_rc_setvalid_rates Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ea2771f642315847cdc0d392602fa3039af41743 Author: Sujith Manoharan Date: Fri Aug 10 16:46:04 2012 +0530 ath9k: Cleanup RC init API A reference to the rate table is stored inside the private structure, so there is no need to pass "rate_table" around. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 62a291869bac318d5e6760e45979bcd047dcd503 Author: Sujith Manoharan Date: Fri Aug 10 16:45:52 2012 +0530 ath9k: Simplify rate table initialization Remove various local variables that duplicate information already stored in mac80211. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 126f492355be8c771338b680b3dfbb38a19c88ab Author: Dan Carpenter Date: Thu Aug 9 09:57:57 2012 +0300 mwifiex: use GFP_ATOMIC under spin lock We're holding the sta_list_spinlock here so we can't sleep. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 9c7ff737b6a783a6641dca71fab4f94aaab4bb2a Author: Amitkumar Karwar Date: Wed Aug 8 19:02:56 2012 -0700 mwifiex: notify cfg80211 about MIC failures Call cfg80211_michael_mic_failure() handler when there is a MIC error event from firmware. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 641c869d40c7ec6a34930843f41e95bf1f53f29f Author: Bing Zhao Date: Wed Aug 8 19:01:52 2012 -0700 mwifiex: fix 'smatch' warning in preparing key_material cmd The key length can be 32 bytes for TKIP and 16 bytes for AES_CMAC. 'smatch' warns on memcpy using key_len variable to copy data to a 16 bytes buffer. Use fixed length to avoid the warning. Reported-by: Dan Carpenter Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 85ce5ae52690aab0b3a4a6e9a1c2f951d2d8a5cc Author: Rafał Miłecki Date: Wed Aug 8 19:10:16 2012 +0200 b43legacy: fix logic in GPIO init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6c1872369d53966dc26be71c96c4c5db13f65981 Author: Rafał Miłecki Date: Wed Aug 8 19:10:15 2012 +0200 b43: N-PHY: fix 0x2057 radio calib copy/paste mistake Signed-off-by: Rafał Miłecki Reported-by: Fengguang Wu Signed-off-by: John W. Linville commit 8dd4372e2a462081b92b38af18accb427fa2d554 Author: Bing Zhao Date: Tue Aug 7 16:08:08 2012 -0700 mwifiex: fix powerpc64-linux- compilation warnings These warnings can be detected by using powerpc64-linux toolchain (gcc-4.6.3-nolibc). CC [M] drivers/net/wireless/mwifiex/sta_event.o drivers/net/wireless/mwifiex/sta_event.c: In function 'mwifiex_process_sta_event': drivers/net/wireless/mwifiex/sta_event.c:388:4: warning: comparison of distinct pointer types lacks a cast [enabled by default] CC [M] drivers/net/wireless/mwifiex/uap_event.o drivers/net/wireless/mwifiex/uap_event.c: In function 'mwifiex_process_uap_event': drivers/net/wireless/mwifiex/uap_event.c:258:11: warning: comparison of distinct pointer types lacks a cast [enabled by default] Use min_t() instead of min() to fix the warnings. Reported-by: Fengguang Wu Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 450e9038ee65e3246b2a942669fc79001466f9be Author: Johannes Berg Date: Tue Aug 7 21:46:44 2012 +0200 iwlegacy: clean up suspend/resume There's no need to export the il_pci_suspend and il_pci_resume functions since they're only referenced from il_pm_ops. The latter can also be defined using SIMPLE_DEV_PM_OPS instead of open-coding it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2f9279b5568c4de8c37566f11e7c26292a3f4bf2 Author: Fengguang Wu Date: Tue Aug 7 10:26:53 2012 +0800 mwifiex: fix code mis-alignment after the if statement Signed-off-by: Fengguang Wu Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 987af54fa93b1c01eb3a85229bc93dfe77e6d2e1 Author: Nick Kossifidis Date: Sun Aug 5 22:35:36 2012 +0300 ath5k: Put power_level where it belongs and rename it Put power_level to ah_txpower struct with the rest tx power infos and also rename it to txp_requested to make more sense. v2 make sure we don't memset it to zero on reset Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 493ca5ef4ec8a7e8396d6ab26f48de66bdf73dca Author: Nick Kossifidis Date: Sun Aug 5 22:35:35 2012 +0300 ath5k: Preserve tx power level requested from above on phy_init By using cur_pwr on phy_init we re-use the power level previously set by the driver, not the one we got from above. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 755051993bfcdf07acd84a7ffd08d463b85bfd69 Author: Nick Kossifidis Date: Sun Aug 5 22:35:34 2012 +0300 ath5k: Fix range scaling when setting rate power table rates[i] is unsigned but txp_offset can be negative for newer parts with PDADC table. We cover the case when rates[i] + txp_offset > 63 but we must also cover the case when its < 0 or else rates[i] will overflow. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit d12c5c53ce4c8c65c694d1103673182ef5afdc65 Author: Nick Kossifidis Date: Sun Aug 5 22:35:33 2012 +0300 ath5k: Use correct value for min_pwr and cur_pwr Make sure we don't store the table offsets for min and cur power levels, store the 0.25dB values instead. This way we don't clamp the tx power level to max (because now cur_pwr holds the 0.25dB value, not the table offset) after re-using cur_pwr on reset. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 9bc63816be9bf504414d350e605a4b30f857907d Author: Christian Lamparter Date: Sat Jul 28 02:57:51 2012 +0200 p54: parse output power table For the upcoming tpc changes, the driver needs to provide sensible max output values for each supported channel. And while the eeprom always had a output_limit table, which defines the upper limit for each frequency and modulation, it was never really useful for anything... until now. Note: For anyone wondering about what your card is calibrated for: check "iw list". * 2412 MHz [1] (18.0 dBm) * 2437 MHz [6] (19.0 dBm) [...] * 5180 MHz [36] (18.0 dBm) * 5260 MHz [52] (17.0 dBm) (radar detection) * 5680 MHz [136] (19.0 dBm) (radar detection) (for a Dell Wireless 1450 USB Adapter) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 57f784fed3b9a33084c0cd0f6d08d98f87d2193f Merge: b877f4c cd17dec Author: John W. Linville Date: Fri Aug 10 15:13:12 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 126e9be816e7c0322f5dac994f94d65a8fabcc56 Author: Paulo Zanoni Date: Fri Aug 10 10:03:03 2012 -0300 drm/i915: try harder to find WR PLL clock settings If we don't find the exact refresh rate, go with the next one. This makes some modes work for me. They won't have the best settings, but will at least have something. Just returning from this function when we don't find the perfect settings does not help us at all. Version 2: - Remove duplicate lines on the clock table. - Add back debug message with refresh, p, n2 and r2. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 228d3e367c91af16d672fb8bff78b030acb5efc3 Author: Paulo Zanoni Date: Fri Aug 10 10:05:10 2012 -0300 drm/i915: use the correct encoder type when comparing - intel_encoder->type is INTEL_OUTPUT_SOMETHING - drm_encoder->encoder_type is DRM_MODE_ENCODER_SOMETHING Here we're using intel_encoder, so compare the oranges against oranges. While at it, rename the variable to "intel_encoder" so we keep our naming standards used everywhere. Luckily this was not a bug because both DRM_MODE_ENCODER_DAC and INTEL_OUTPUT_ANALOG are defined as 1. This is the only case where the drm definition matches the intel definition. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit b2eadbc85b2c26df3fd2fe5c53c2a47cfd307249 Author: Chris Wilson Date: Thu Aug 9 10:58:30 2012 +0100 drm/i915: Lazily apply the SNB+ seqno w/a Avoid the forcewake overhead when simply retiring requests, as often the last seen seqno is good enough to satisfy the retirment process and will be promptly re-run in any case. Only ensure that we force the coherent seqno read when we are explicitly waiting upon a completion event to be sure that none go missing, and also for when we are reporting seqno values in case of error or debugging. This greatly reduces the load for userspace using the busy-ioctl to track active buffers, for instance halving the CPU used by X in pushing the pixels from a software render (flash). The effect will be even more magnified with userptr and so providing a zero-copy upload path in that instance, or in similar instances where X is simply compositing DRI buffers. v2: Reverse the polarity of the tachyon stream. Daniel suggested that 'force' was too generic for the parameter name and that 'lazy_coherency' better encapsulated the semantics of it being an optimization and its purpose. Also notice that gen6_get_seqno() is only used by gen6/7 chipsets and so the test for IS_GEN6 || IS_GEN7 is redundant in that function. Signed-off-by: Chris Wilson Reviewed-by: Daniel Vetter Signed-off-by: Daniel Vetter commit 456470eb583f063ee84c6818251e638598be0fb8 Author: Daniel Vetter Date: Wed Aug 8 23:35:40 2012 +0200 drm/i915: enable rc6 on ilk again I have the faint hope that the total absence of any locking for the rps code wasn't too good an idea and could very well have caused some rc6 related regressions. Unfortunately we've never managed to reproduce these issues on any of our own machines, so the only way to go about this is to enable it and see what happens. While at it, kill some stale comments and improve the logging. Acked-by: Ben Widawsky Reviewed-by: Damien Lespiau Signed-Off-by: Daniel Vetter commit 9270388e184fddb83e3b69c6b7f5b523c070e53d Author: Daniel Vetter Date: Thu Aug 9 16:46:01 2012 +0200 drm/i915: fix up ilk drps/ips locking We change the drps/ips sw/hw state from different callers: Our own irq handler, the external intel-ips module and from process context. Most of these callers don't take any lock at all. Protect everything by making the mchdev_lock irqsave and grabbing it in all relevant callsites. Note that we have to convert a few sleeps in the drps enable/disable code to delays, but alas, I'm not volunteering to restructure the code around a few work items. For paranoia add a spin_locked assert to ironlake_set_drps, too. v2: Move one access inside the lock protection. Caught by the dev_priv->ips mass-rename ... v3: Resolve rebase conflict. Reviewed-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 73edd18f610b6dd900cc3a180919dc643fff8513 Author: Daniel Vetter Date: Wed Aug 8 23:35:37 2012 +0200 drm/i915: DE_PCU_EVENT irq is ilk-only Like all the other drps/ips stuff. Hence add the corresponding check, give the function a preciser prefix and move the single reg clearing into the rps handling function, too. Reviewed-by: Ben Widawsky Reviewed-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 35eb73234be6e7fa515c5f1b233ba33d030938cf Author: Daniel Vetter Date: Wed Aug 8 23:35:36 2012 +0200 drm/i915: kill dev_priv->mchdev_lock It's only ever a pointer to the global mchdev_lock, and we don't use it at all. Reviewed-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit c6a828d3269a5d0b9adda1438cf8d7cb2007ca71 Author: Daniel Vetter Date: Wed Aug 8 23:35:35 2012 +0200 drm/i915: move all rps state into dev_priv->rps This way it's easier so see what belongs together, and what is used by the ilk ips code. Also add some comments that explain the locking. Note that (cur|min|max)_delay need to be duplicated, because they're also used by the ips code. v2: Missed one place that the dev_priv->ips change caught ... Reviewed-by: Ben Widawsky Reviewed-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 22bcfc6a4b2288675a54b761ebcd85b9613ab9a6 Author: Daniel Vetter Date: Thu Aug 9 15:07:02 2012 +0200 drm/i915: use mutex_lock_interruptible for debugfs files It's no fun if your shell hangs when the driver has gone on vacation and you want to know why ... Reviewed-by: Damien Lespiau Signed-Off-by: Daniel Vetter commit 004777cb22a29e0a95dd1bfce6816a5a06db1e1d Author: Daniel Vetter Date: Thu Aug 9 15:07:01 2012 +0200 drm/i915: fixup up debugfs rps state handling - Take the dev->struct_mutex around access the corresponding state (and adjusting the rps hw state). - Add an assert to gen6_set_rps to ensure we don't forget about this in the future. - Don't set up the min/max_freq files if it doesn't apply to the hw. And do the same for the gen6+ cache sharing file while at it. v2: Move the gen6+ checks into the read/write callbacks. Thanks to the awesome drm midlayer we can't check that when registering the debugfs files, because the driver is not yet fully set up, specifically the ->load callback hasn't run yet. Oh how I despise this disaster ... v3: Also add a WARN_ON(mutex_is_locked) in set_rps to check the locking. v4: Use mutex_lock_interruptible, suggested by Chris Wilson. Reviewed-by: Ben Widawsky (for v2) Reviewed-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 02d719562ef40483648b2cc46899d4a2ff5953bb Author: Daniel Vetter Date: Thu Aug 9 16:44:54 2012 +0200 drm/i915: properly guard ilk ips state The update_gfx_val function called from mark_busy wasn't taking the mchdev_lock, as it should have. Also sprinkle a few spinlock asserts over the code to document things better. Things are still rather confusing, especially since a few variables in dev_priv are used by both the gen6+ rps code and the ilk ips code. But protected by totally different locks. Follow-on patches will clean that up. v2: Don't add a deadlock ... hence split up update_gfx_val into a wrapper that grabs the lock and an internal __ variant for callsites within intel_pm.c that already have taken the lock. v3: Mark the internal helper as static, noticed by Ben Widawsky. v4: Damien Lespiau had questions about the safety of the ips setup sequence, explain in a comment why it works. Reviewed-by: Damien Lespiau Reviewed-by: Chris Wilson Signed-Off-by: Daniel Vetter commit 745ca3be810b37fba8dd113a028ea71d42e1d892 Author: Paulo Zanoni Date: Wed Aug 8 14:15:32 2012 -0300 drm/i915: add parentheses around PIXCLK_GATE definitions By looking at the current way we're using these definitions I don't think this commit will fix any bug, but programmers from the future are evil and will certainly find ways to combine macro expansion with operator precedence to introduce bugs that are hard to find. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 5e49cea6437566700294fb559ac0c34e053ad8de Author: Paulo Zanoni Date: Wed Aug 8 14:15:31 2012 -0300 drm/i915: reindent Haswell register definitions It's the only part of the i915_reg.h file that looks totally wrongly indented, so I assume my editor config is the correct one. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 602c43d34dcd46b0349b31c9b53b19cd5063ae3f Author: Paulo Zanoni Date: Wed Aug 8 14:15:30 2012 -0300 drm/i915: completely reset the value of DDI_FUNC_CTL Don't rely on previous values already set on the register. Everything we're not explicitly setting should be zero for now. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit dfcef252e024b4ca6fe5be9e1d656ac1929ce894 Author: Paulo Zanoni Date: Wed Aug 8 14:15:29 2012 -0300 drm/i915: correctly set the DDI_FUNC_CTL bpc field Correctly erase the values previously set and also check for 6bpc and 10bpc. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit f63eb7c4528060e54688baafb7a499e9391eefe6 Author: Paulo Zanoni Date: Wed Aug 8 14:15:28 2012 -0300 drm/i915: set the DDI sync polarity bits During my tests, everything worked even if the wrong polarity was set. Still, we should try to set the correct values. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 3f7c447faab3e750b0b2f94edad605ba8eb28a7f Author: Paulo Zanoni Date: Wed Aug 8 14:15:27 2012 -0300 drm/i915: fix pipe DDI mode select Mask the value before changing it and also select DVI when needed. DVI was working in cases where the BIOS was setting the correct value because we were not masking the value before changing it. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit c96ea64ebbbe911becccb20dea1609017caad3c9 Author: Daniel Vetter Date: Wed Aug 8 22:01:51 2012 +0200 drm/i915: dump the device info Handy for lazy people like me, or when people forget to add the output of lspci -nn. v2: Chris Wilson noticed that we have this duplicated already in the i915_capabilites debugfs file. But there \n as separator looks better, which would be a bit verbose in dmesg. Abuse the preprocessor to extract this all. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 65bccb5c708bd9f00d24f041f4f7c45130359448 Author: Daniel Vetter Date: Wed Aug 8 17:42:52 2012 +0200 drm/i915: fixup desired rps frequency computation In commit commit 20b46e59dd102665ce7168baa215e5b1ee66b69b Author: Daniel Vetter Date: Thu Jul 26 11:16:14 2012 +0200 drm/i915: Only set the down rps limit when at the loweset frequency The computation for the new desired frequency was extracted, but since the desired frequency was passed-by value, the adjustments didn't propgate back. Fix this. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 2fedbff948cf5bc1e9977b7bc885aae45bd32f74 Author: Chris Wilson Date: Wed Aug 8 10:23:22 2012 +0100 drm/i915: Add I915_GEM_PARAM_HAS_SEMAPHORES Userspace tries to estimate the cost of ring switching based on whether the GPU and GEM supports semaphores. (If we have multiple rings and no semaphores, userspace assumes that the cost of switching rings between batches is exorbitant and will endeavour to keep the next batch on the active ring - as a coarse approximation to tracking both destination and source surfaces.) Currently userspace has to guess whether semaphores exist based on the chipset generation and the module parameter, i915.semaphores. This is a crude and inaccurate guess as the defaults internally depend upon other chipset features being enabled or disabled, nor does it extend well into the future. By exporting a HAS_SEMAPHORES parameter, we can easily query the driver and obtain an accurate answer. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 6c6cf5aa9c583478b19e23149feaa92d01fb8c2d Author: Chris Wilson Date: Fri Jul 20 18:02:28 2012 +0100 drm/i915: Only apply the SNB pipe control w/a to gen6 The requirements for the sync flush to be emitted prior to the render cache flush is only true for SandyBridge. On IvyBridge and friends we can just emit the flushes with an inline CS stall. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 5a213a55c6d39fd24eaba4610dac21444090a365 Author: Leela Krishna Amudala Date: Wed Aug 8 09:44:49 2012 +0900 include/video: move fimd register headers from platform to include/video This patch moves the contents from regs-fb-v4.h and regs-fb.h to include/video/samsung_fimd.h. Also updates the header inclusion in machine files and driver files accordingly. Signed-off-by: Leela Krishna Amudala Cc: Florian Tobias Schandinat Signed-off-by: Kukjin Kim commit b877f4cf5af86528e07a0182e2b369ded38ccf38 Author: Ying Luo Date: Fri Aug 3 18:06:14 2012 -0700 mwifiex: add AES_CMAC support in key_material cmd The sequence counter will be sent to firmware via key_material command. Signed-off-by: Ying Luo Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 53b112315c015c50e4c092474adb6729269b0fc4 Author: Ying Luo Date: Fri Aug 3 18:06:13 2012 -0700 mwifiex: pass key_params pointer in mwifiex_set_encode 'cipher' and 'seq' coming from cfg80211 add_key handler will be parsed in mwifiex_set_encode() to handle AES_CMAC cipher suite. Signed-off-by: Ying Luo Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 9d7aba63c8630c1fdd7cb321d979c757a1abd20f Author: Ying Luo Date: Fri Aug 3 18:06:12 2012 -0700 mwifiex: rename wapi_rxpn to pn This array was used for wapi_rxpn only. Now it will be used for AES_CMAC as well. So make a generic name for it. Signed-off-by: Ying Luo Signed-off-by: Stone Piao Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3e238a1167cc5693a0d97b946100d74d75b72680 Author: Avinash Patil Date: Fri Aug 3 18:06:11 2012 -0700 mwifiex: cleanup TX/RX BA tables for uAP Cleanup TX/RX BA tables when AP receives deauthentication from associated station. During BSS_IDLE event, all wmm queues, BA streams created for AP interface are deleted. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 5a009adf32d28bacc02da2ddeb69765848266ce1 Author: Avinash Patil Date: Fri Aug 3 18:06:10 2012 -0700 mwifiex: add 11n Block Ack support for uAP This patch adds support for handling BA request and BA setup events for AP interface. RA list is marked as either 11n enabled or disabled from station's capabilities in association request. BA setup is initiated only after some specific number of packets for particular RA list are transmitted. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d1cf3b958cb6940cb4e0a71697458035dad9e5b9 Author: Avinash Patil Date: Fri Aug 3 18:06:09 2012 -0700 mwifiex: support RX AMSDU aggregation for uAP This patch adds support for reception and decoding of AMSDU aggregation frames for AP interface. Patch also adds support for handling AMSDU aggregation event. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 838e4f44929782a2163c7bc95a7cd2da5d8b47f9 Author: Avinash Patil Date: Fri Aug 3 18:06:08 2012 -0700 mwifiex: improve uAP RX handling 1. Separate file for uAP RX handling. 2. If received packet is broadcast/multicast, send it to kernel as well as requeue it back to uAP TX queue. 3. If received packet is for associated STA (intra-BSS), requeue it back to uAP TX queue. 4. In all other cases (packets for AP or inter-BSS packets), pass packet to kernel to handle it accordingly. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 017a92a15a119be3b751456cb04791282721c661 Author: Avinash Patil Date: Fri Aug 3 18:06:07 2012 -0700 mwifiex: create list for associated stations in AP mode After station is associated an entry would be added to station list. This entry would have station specific information such as 11n support, AMSDU size. The entry would be deleted after deauthentication. All station entries would be deleted during BSS_IDLE event. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3d99d9877dabc6468c3df1c990d436bd221b5089 Author: Avinash Patil Date: Fri Aug 3 18:06:06 2012 -0700 mwifiex: separate file for handling AP events Route AP events handling to separate function defined in uap_event.c. AP specific event handling is removed from sta_event.c. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit c82589131840767443f32f6d235a825cbef7b914 Author: Avinash Patil Date: Fri Aug 3 18:06:05 2012 -0700 mwifiex: update 11n status as per start_ap IE If HT IE is present in beacon_data of start_ap cfg80211 handler, enable 11n flag in AP. Disable 11n flag when stop_ap handler is called. Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit bdd37bed619b2445b2a04f398a7fe34b1e416172 Author: Amitkumar Karwar Date: Fri Aug 3 18:06:04 2012 -0700 mwifiex: improve scan delay logic during Tx traffic Earlier scan command was postponed by 20msec multiple times to give preference to Tx traffic until we find empty wmm queue. There is a corner case in which wmm queue becomes empty immediately after processing the packet(before 20msec) and there may be next packet coming after some time. In this case we should not resume scan operation. We will use new flag to check Tx traffic and resume scan operation only if there is no traffic for 200msec. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b7525dbd075414ab2dc3742bacdc386f0f1223b2 Author: Amitkumar Karwar Date: Fri Aug 3 18:06:03 2012 -0700 mwifiex: update max_chan_per_scan correctly for SSID scan As per recent patch "658f37b mwifiex: scan less channels..." less channels are scanned per scan command in associated state. Default number of channels per scan command for normal scan are already 4, but those are 14 for SSID specific scan operation. This code change in this patch is required for SSID specific scan. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit ed1ea6f42ecedbbb3a8c4e0211ad683b8680eebe Author: Amitkumar Karwar Date: Fri Aug 3 18:06:02 2012 -0700 mwifiex: do le_to_cpu conversion for Rx packet header elements We do similar conversion for Tx packet header but it was missing for Rx packet header. Without this fix, Rx packet header won't be correctly parsed on big endian platform. Signed-off-by: Amitkumar Karwar Signed-off-by: Avinash Patil Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit bda1b1b77918ea340bbfb2938a0fd7d5203e430c Author: Yogesh Ashok Powar Date: Fri Aug 3 18:06:01 2012 -0700 mwifiex: correction in MSDU padding logic Padding arithmetic will always work for MSDUs provided first MSDU ends on 4-byte boundary. Fixing it by making sure that all MSDU ends on 4-byte boundary. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7d273ef32a0d68f2751f74f7401de78f3c95afa8 Author: Yogesh Ashok Powar Date: Fri Aug 3 18:06:00 2012 -0700 mwifiex: remove extra padding to AMSDU Since commit: fb3c19bc9687d972b83faf366b38ac807eca8f25, adding extra padding to AMSDU is redundant since same is being performed at mwifiex_11n_aggregate_pkt after forming the AMSDU packet. Fixing it by removing it. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d92a680359ff3230bd1e68ac8f3ac827639f494e Author: Yogesh Ashok Powar Date: Fri Aug 3 18:05:59 2012 -0700 mwifiex: copy MSDU subframes correctly All MSDU subframes, except the first one in AMSDU, were being written wrongly at the location of first MSDU frame. Fixing that by copying the MSDU at skb->tail of AMSDU. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 2a0b50c7703930a1f5d1d32ae116d988e9612cb6 Author: Gabor Juhos Date: Thu Aug 2 16:00:52 2012 +0200 ath9k: fix indentation in ar9003_hw_set_power_per_rate_table The current indentation is off by one tab. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 5fc512439f7a235e6b0ae05e42fa7d875fff3849 Author: Gabor Juhos Date: Thu Aug 2 16:00:51 2012 +0200 ath9k: optimize power level initialization for CTL_[25]GHT20 The first part of the power array is initialized in a loop and the last two values are initialized separately. Extend the loop to cover the last two items, and remove the separate initialization. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit da93c26d0b26139f33cebf9af55715452a10f374 Author: Javier Lopez Date: Fri Jul 27 11:27:25 2012 -0700 carl9170: Add support for NL80211_IFTYPE_MESH_POINT interfaces This patch contains following modifications: - Add mesh capabilities on fw.c to permit creation of mesh interfaces using this driver. - Modify carl9170_set_operating_mode, to use AP-style beaconing with mesh interfaces. - Allow beacon updates for NL80211_IFTYPE_MESH_POINT type in carl9170_handle_command_response. - Add NL80211_IFTYPE_MESH_POINT case on carl9170_op_add_interfaces to support mesh/ap/sta virtual interface combinations. Signed-off-by: Javier Lopez Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit c071b9f666beee2b27b5a4667f099026ca539bd7 Author: Rafał Miłecki Date: Thu Jul 26 10:25:09 2012 +0200 b43: N-PHY: add overriding RF control for rev7+ Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2fdf8c54ea6ea161fa519a701188cbc56a3bb106 Author: Rafał Miłecki Date: Thu Jul 26 08:16:01 2012 +0200 b43: be more user friendly with PHY info First of all, use PHY names instead of magic numbers. It should make configuring kernel easier in case of not enabled PHY type support. Secondly, always print info about PHY. This is really basic info about hardware and quite important for the support level. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 572d37a48557e7d38a5d9b5857627bc29f33a26c Author: Rafał Miłecki Date: Thu Jul 26 00:07:39 2012 +0200 b43: N-PHY: init 0x2057 radio Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d3d178f050813ec6b82b77cc2df668272e10daba Author: Rafał Miłecki Date: Thu Jul 26 00:07:38 2012 +0200 b43: N-PHY: finish 0x2056 radio setup Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0f941777c696e43e773b713a0078599aa22b3551 Author: Rafał Miłecki Date: Thu Jul 26 00:07:37 2012 +0200 b43: add helper waiting for given value in radio reg Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6e6a2cd510351502064c3e2a56f411a19530cd57 Author: Rafał Miłecki Date: Wed Jul 25 16:58:38 2012 +0200 b43: rename host flags defines There are more than 3 registers on new hardware. Host flags handling has to be rewritten, as we can't use u128 type to handle all 5 regs. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 95a96e08967fed6e64e53b2d6a5e153a4d605e11 Author: Larry Finger Date: Tue Jul 24 21:16:42 2012 +0200 p54pci: convert driver to use asynchronous firmware loading Drivers that load firmware from their probe routine have problems with the latest versions of udev as they get timeouts while waiting for user space to start. The problem is fixed by using request_firmware_nowait() and delaying the start of mac80211 until the firmware is loaded. To prevent the possibility of the driver being unloaded while the firmware loading callback is still active, a completion queue entry is used. Signed-off-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d11d354b7b02aac09a20a8157bf990670f169f6f Author: Rafał Miłecki Date: Tue Jul 24 19:18:20 2012 +0200 b43: N-PHY: add PHY rev7+ workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit fa0f2b38607e19a77096173a8d592cff6f10b32e Author: Rafał Miłecki Date: Tue Jul 24 19:18:19 2012 +0200 b43: N-PHY: update workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 858a455ba86b0b515d34972e68095ecd912c08cc Author: Johannes Berg Date: Tue Jul 24 17:35:57 2012 +0200 brcmsmac: use ieee80211_channel_to_frequency Instead of hard-coding almost the same functionality, just use ieee80211_channel_to_frequency() directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cd17decbd9af41c9548bb108ccf156519f8253ec Author: Andre Guedes Date: Fri Jul 27 15:10:16 2012 -0300 Bluetooth: Refactor in hci_le_conn_complete_evt This patch moves the hci_conn check to begining of hci_le_conn_ complete_evt in order to improve code's readability and better error handling. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit b47a09b33a4612ace2958996ce6e0134be23d043 Author: Andre Guedes Date: Fri Jul 27 15:10:15 2012 -0300 Bluetooth: Lookup hci_conn in hci_le_conn_complete_evt This patch does a trivial code refactoring in hci_conn lookup in hci_le_conn_complete_evt. It performs the hci_conn lookup at the begining of the function since it is used by both flows (error and success). Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 0c95ab78be36e56ca69e36bc679f9dfd3d25f31e Author: Andre Guedes Date: Fri Jul 27 15:10:14 2012 -0300 Bluetooth: Find hci_conn by BT_CONNECT state This patch changes hci_cs_le_create_conn to perform hci_conn lookup by state instead of bdaddr. Since we can have only one LE connection in BT_CONNECT state, we can perform LE hci_conn lookup by state. This way, we don't rely on hci_sent_cmd_data helper to find the hci_conn object. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit f00a06ac14becc3d78fecdf2513cc23ee267a96b Author: Andre Guedes Date: Fri Jul 27 15:10:13 2012 -0300 Bluetooth: Refactor hci_cs_le_create_conn This patch does some code refactoring in hci_cs_le_create_conn function. The hci_conn object is only needed in case of failure, therefore hdev locking and hci_conn lookup were moved to if-statement scope. Also, the conn->state check was removed since we should always close the connection if it fails. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 847012c5e04544aef485dfec29c1c07dc90615a4 Author: Andre Guedes Date: Fri Jul 27 15:10:12 2012 -0300 Bluetooth: Remove unneeded code This patch removes some unneeded code from hci_cs_le_create_conn. If the hci_conn is not found, it means this LE connection attempt was triggered by a thrid-party tool (e.g. hcitool). We should not create this new hci_conn in LE Create Connection command status event since it is already properly handled in LE Connection Complete event. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit b9b343d25484bbceaee454ab422daafb1c5eda96 Author: Andre Guedes Date: Fri Jul 27 15:10:11 2012 -0300 Bluetooth: Fix hci_le_conn_complete_evt We need to check the 'Role' parameter from the LE Connection Complete Event in order to properly set 'out' and 'link_mode' fields from hci_conn structure. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 230fd16a2333fef9c012b054a127c7d157f7a7af Author: Andre Guedes Date: Fri Jul 27 15:10:10 2012 -0300 Bluetooth: Trivial refactoring This patch replaces the unlock-and-return statements by the goto statement. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit cd7cf78e9bef269ed482ad8ab572f197ae89af3c Author: Sachin Kamat Date: Fri Jul 27 12:38:41 2012 +0530 Bluetooth: Use devm_kzalloc in dtl1_cs.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 4f8d81584964730b08753da34f1e3fb7981cf742 Author: Sachin Kamat Date: Fri Jul 27 12:38:40 2012 +0530 Bluetooth: Use devm_kzalloc in btwilink.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 Author: Sachin Kamat Date: Fri Jul 27 12:38:39 2012 +0530 Bluetooth: Use devm_kzalloc in btusb.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit fdefa118ebbcadad4adbaaab067be06a96a48e15 Author: Sachin Kamat Date: Fri Jul 27 12:38:38 2012 +0530 Bluetooth: Use devm_kzalloc in btuart_cs.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 3a382772b51bbf55b23701746102bd75b9fe883f Author: Sachin Kamat Date: Fri Jul 27 12:38:37 2012 +0530 Bluetooth: Use devm_kzalloc in btsdio.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit eb17ea3b1ce6302e7416c4ba58754fd70ee3ab62 Author: Sachin Kamat Date: Fri Jul 27 12:38:36 2012 +0530 Bluetooth: Use devm_kzalloc in btmrvl_sdio.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 4f61cb184fd5d16d591303aacf8dd1e623d2137d Author: Sachin Kamat Date: Fri Jul 27 12:38:35 2012 +0530 Bluetooth: Use devm_kzalloc in bt3c_cs.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 704687ce17bf00f557f300e5bcf6c3bdd1f78226 Author: Sachin Kamat Date: Fri Jul 27 12:38:34 2012 +0530 Bluetooth: Use devm_kzalloc in bpa10x.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 1a31c602c3f6de9383eaae28e25859b6304fc3c2 Author: Sachin Kamat Date: Fri Jul 27 12:38:33 2012 +0530 Bluetooth: Use devm_kzalloc in bluecard_cs.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 0213cd8d5ed9cee1d7ffd95566319af1bb36a604 Author: Sachin Kamat Date: Fri Jul 27 12:38:32 2012 +0530 Bluetooth: Use devm_kzalloc in bfusb.c file devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 9357cc60789cfdcbbeeff85d9c423a91d621ae1f Author: Sachin Kamat Date: Fri Jul 27 12:38:31 2012 +0530 Bluetooth: Use devm_kzalloc in bcm203x.c file. devm_kzalloc() eliminates the need to free memory explicitly thereby saving some cleanup code. Signed-off-by: Sachin Kamat Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit de9b9212c7fd3e87608194f1c73fc06cd6cc7dfb Author: Masatake YAMATO Date: Thu Jul 26 01:30:12 2012 +0900 Bluetooth: Added /proc/net/sco via bt_procfs_init() Added /proc/net/sco via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit c6f5df16a2710e64090078dfbaa86c54a27c0874 Author: Masatake YAMATO Date: Thu Jul 26 01:29:49 2012 +0900 Bluetooth: Added /proc/net/rfcomm via bt_procfs_init() Added /proc/net/rfcomm via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit 5b28d95c13e876037d2c692e61862bb3e98249af Author: Masatake YAMATO Date: Thu Jul 26 01:29:25 2012 +0900 Bluetooth: Added /proc/net/l2cap via bt_procfs_init() Added /proc/net/l2cap via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit 5c6ad8eee0a8c5fb4ba8b741008490da9eb66af6 Author: Masatake YAMATO Date: Thu Jul 26 01:29:00 2012 +0900 Bluetooth: Added /proc/net/hidp via bt_procfs_init() Added /proc/net/hidp via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit f7c8663789038c4bc71b81e3c858a35c999347a8 Author: Masatake YAMATO Date: Thu Jul 26 01:28:36 2012 +0900 Bluetooth: Added /proc/net/hci via bt_procfs_init() Added /proc/net/hci via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit 8c8de589cedd375934d96e073d2b9077a00f10c2 Author: Masatake YAMATO Date: Thu Jul 26 01:28:07 2012 +0900 Bluetooth: Added /proc/net/cmtp via bt_procfs_init() Added /proc/net/cmtp via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit 77cf5585a31fdad48c16ddae9be154f5afe22c1c Author: Masatake YAMATO Date: Thu Jul 26 01:27:35 2012 +0900 Bluetooth: Added /proc/net/bnep via bt_procfs_init() Added /proc/net/bnep via bt_procfs_init(). Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit 256a06c8a85df676e80263af349daad1283e529e Author: Masatake YAMATO Date: Thu Jul 26 01:26:32 2012 +0900 Bluetooth: /proc/net/ entries for bluetooth protocols lsof command can tell the type of socket processes are using. Internal lsof uses inode numbers on socket fs to resolve the type of sockets. Files under /proc/net/, such as tcp, udp, unix, etc provides such inode information. Unfortunately bluetooth related protocols don't provide such inode information. This patch series introduces /proc/net files for the protocols. This patch against af_bluetooth.c provides facility to the implementation of protocols. This patch extends bt_sock_list and introduces two exported function bt_procfs_init, bt_procfs_cleanup. The type bt_sock_list is already used in some of implementation of protocols. bt_procfs_init prepare seq_operations which converts protocol own bt_sock_list data to protocol own proc entry when the entry is accessed. What I, lsof user, need is just inode number of bluetooth socket. However, people may want more information. The bt_procfs_init takes a function pointer for customizing the show handler of seq_operations. In v4 patch, __acquires and __releases attributes are added to suppress sparse warning. Suggested by Andrei Emeltchenko. In v5 patch, linux/proc_fs.h is included to use PDE. Build error is reported by Fengguang Wu. Signed-off-by: Masatake YAMATO Signed-off-by: Gustavo Padovan commit 4af66c691f4e5c2db9bb00793669a548e9db1974 Author: Jaganath Kanakkassery Date: Fri Jul 13 18:17:55 2012 +0530 Bluetooth: Free the l2cap channel list only when refcount is zero Move the l2cap channel list chan->global_l under the refcnt protection and free it based on the refcnt. Signed-off-by: Jaganath Kanakkassery Signed-off-by: Syam Sidhardhan Reviewed-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 3064837289259843310b266a9422aca5f5b4b9c7 Author: Jaganath Kanakkassery Date: Fri Jul 13 18:17:54 2012 +0530 Bluetooth: Move l2cap_chan_hold/put to l2cap_core.c Refactor the code in order to use the l2cap_chan_destroy() from l2cap_chan_put() under the refcnt protection. Signed-off-by: Jaganath Kanakkassery Signed-off-by: Syam Sidhardhan Reviewed-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit ee72d150ada90d33cc6e222fbdd7f980c16d974d Author: Andre Guedes Date: Mon Jul 23 18:19:04 2012 -0300 Bluetooth: Remove locking in hci_user_passkey_request_evt This patch removes hdev locking in hci_user_passkey_request_evt since it is not needed. mgmt_user_passkey_request simply calls mgmt_event which does not require hdev locking at all. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 9e66463127ff7238020c3c4e7f84dfbc23e5c2b5 Author: Andrei Emeltchenko Date: Tue Jul 24 16:06:15 2012 +0300 Bluetooth: Make connect / disconnect cfm functions return void Return values are never used because callers hci_proto_connect_cfm and hci_proto_disconn_cfm return void. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit c58e810eb0916f9197378435af72136fb7c97f43 Author: Andre Guedes Date: Tue Jul 24 15:03:53 2012 -0300 Bluetooth: Use lmp_no_flush_capable where applicable This patch replaces all LMP_NO_FLUSH bit checking by the helper macro lmp_no_flush_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 999dcd10a88243ab304966a506b4975ce5f1e3bb Author: Andre Guedes Date: Tue Jul 24 15:03:52 2012 -0300 Bluetooth: Use lmp_sniffsubr_capable where applicable This patch replaces all LMP_SNIFF_SUBR bit checking by the helper macro lmp_sniffsubr_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 6eded1004abb060fbdf69611abc560c717f2bb8b Author: Andre Guedes Date: Tue Jul 24 15:03:51 2012 -0300 Bluetooth: Use lmp_sniff_capable where applicable This patch replaces all LMP_SNIFF bit checking by the helper macro lmp_sniff_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 9f92ebf6c72de444801ab4a922965bd1f90834ae Author: Andre Guedes Date: Tue Jul 24 15:03:50 2012 -0300 Bluetooth: Use lmp_rswitch_capable where applicable This patch replaces all LMP_RSWITCH bit checking by the helper macro lmp_rswitch_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 45db810fb71a94926c10f4dbbb5ca7913983f83b Author: Andre Guedes Date: Tue Jul 24 15:03:49 2012 -0300 Bluetooth: Use lmp_esco_capable where applicable This patch replaces all LMP_ESCO bit checking by the helper macro lmp_esco_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 9a1a1996d54a92cae2affa1de689cb04ebe7bce1 Author: Andre Guedes Date: Tue Jul 24 15:03:48 2012 -0300 Bluetooth: Use lmp_ssp_capable where applicable This patch replaces all LMP_SIMPLE_PAIR bit checking by the helper macro lmp_ssp_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit c383ddc481a1774702473b4bb0d2927aab3f2d5a Author: Andre Guedes Date: Tue Jul 24 15:03:47 2012 -0300 Bluetooth: Use lmp_le_capable where applicable This patch replaces all LMP_LE bit checking by the helper macro lmp_le_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit ed3fa31f35896b42c54333edabf0a9e986fa952c Author: Andre Guedes Date: Tue Jul 24 15:03:46 2012 -0300 Bluetooth: Use lmp_bredr_capable where applicable This patch replaces all LMP_NO_BREDR bit checking by the helper macro lmp_bredr_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo Padovan commit 78eb2f985c17eab34a0ef919b3263d6b08064e98 Author: Andrei Emeltchenko Date: Thu Jul 19 17:03:47 2012 +0300 Bluetooth: Fix processing A2MP chan in security_cfm Do not process A2MP channel in l2cap_security_cfm Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit d9fc1d54f6f8123909cdee4fa98ab1ebf6c8651c Author: Andrei Emeltchenko Date: Thu Jul 19 17:03:46 2012 +0300 Bluetooth: Do not shadow hdr variable Fix compile warnings below: ... net/bluetooth/a2mp.c:505:33: warning: symbol 'hdr' shadows an earlier one net/bluetooth/a2mp.c:498:25: originally declared here ... Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 8e8c7e36fb216d2d072116de3bec6130627ad691 Author: Andrei Emeltchenko Date: Thu Jul 19 17:03:41 2012 +0300 Bluetooth: debug: Fix printing A2MP cmd code format Print A2MP code format according to Bluetooth style. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit bb4b2a9ae38ef3bac69627f35e4f916752631fd1 Author: Andrei Emeltchenko Date: Thu Jul 19 17:03:40 2012 +0300 Bluetooth: mgmt: Managing only BR/EDR HCI controllers Add check that HCI controller is BR/EDR. AMP controller shall not be managed by mgmt interface and consequently user space. Signed-off-by: Andrei Emeltchenko Acked-by: Johan Hedberg Signed-off-by: Gustavo Padovan commit c87985a3ce723995fc7b25e598238d67154108a1 Merge: d155255 0d7614f Author: Greg Kroah-Hartman Date: Mon Aug 6 09:48:31 2012 -0700 Merge tty-next into 3.6-rc1 This handles the merge issue in: arch/um/drivers/line.c arch/um/drivers/line.h And resolves the duplicate patches that were in both trees do to the tty-next branch not getting merged into 3.6-rc1. Signed-off-by: Greg Kroah-Hartman commit f609a43dca2964a8a604ef554be92fa11c3b4c41 Author: Thomas Pedersen Date: Fri Aug 3 12:21:35 2012 -0700 mac80211: skb leak in mesh_plink_frame_tx() Although adding an IE is almost guaranteed to succeed since we already accounted for its length while allocating the skb, we should still free the skb in case of failure. Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit e7570dfb635b0c89570852002c9f85dd1cf82ba1 Author: Thomas Pedersen Date: Fri Aug 3 12:21:34 2012 -0700 mac80211: don't request ack for peering close It doesn't make a lot of sense to wait for an ack in response to a peering close frame since either peer in this exchange could be going down. Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit 3e17f2be31f354fe03e1732bc527a31ff3dd3bb9 Author: Thomas Pedersen Date: Fri Aug 3 12:21:33 2012 -0700 mac80211: remove ieee80211_clean_sdata() This function was only used by mesh, and not really needed since any interface-specific cleanup already happens in the netdev handlers. Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit 0d466b9c6798d431141ab15ae6d5ea413b4d09b2 Author: Thomas Pedersen Date: Fri Aug 3 12:21:32 2012 -0700 mac80211: improve cleanup when leaving mesh It is not necessary to stop the mesh beacon in the mac80211 ndo_stop handler, since cfg80211 has already left the mesh on NETDEV_GOING_DOWN notification. Also some improvements to ieee80211_stop_mesh(): - flush mpath entries. - flush sta entries per-sdata so we don't remove entries belonging to other vifs on the same hw. Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit 19c3b8303d4686aa373c669ee833609b3fb403cc Author: Johannes Berg Date: Wed Aug 1 20:13:36 2012 +0200 mac80211: reset station MLME flags upon new association When associating anew, the old station MLME flags should be cleared. The only exception is the 40 MHz disable flag as it might have been set while the channel was set in a previous authentication attempt so it needs to be kept intact. Signed-off-by: Johannes Berg commit e83e6541cee0a12bc445b0f4fad5214df5803087 Author: Johannes Berg Date: Fri Jul 13 16:23:07 2012 +0200 mac80211: use eth_broadcast_addr Instead of memset(). Signed-off-by: Johannes Berg commit 1411af156524ce42c2a7f989320c4484257f3ff5 Author: Johannes Berg Date: Mon Jul 30 19:48:09 2012 +0200 mac80211: enable WDS carrier only after adding station Enable the carrier on WDS type interfaces only after having added the station entry for the WDS peer so outgoing frames will find it. Signed-off-by: Johannes Berg commit c405c6298eacd423098afacf6020ddbda1b0378b Author: Johannes Berg Date: Mon Jul 30 19:44:12 2012 +0200 mac80211: manage carrier state in mesh Instead of assuming the carrier is on all the time in mesh manage it with joining and leaving the mesh. Signed-off-by: Johannes Berg commit 2d56577bc68e56097a1cd6599b678e8cab758e64 Author: Johannes Berg Date: Mon Jul 23 15:12:51 2012 +0200 mac80211: use correct channel in TX Since we only need the band, remove the channel pointer from struct ieee80211_tx_data and also assign it properly, depending on context, to the correct operating or current channel. Signed-off-by: Johannes Berg commit 6b77863b719a4e32909c218c0d5a83a14f4d98c5 Author: Johannes Berg Date: Mon Jul 23 14:53:27 2012 +0200 mac80211: fix current vs. operating channel in preq/beacon When sending probe requests, e.g. during software scanning, these will go out on the *current* channel, so their IEs need to be built from the current channel. At other times, e.g. for beacons or probe request templates, the IEs will be used on the *operating* channel and using the current channel instead might result in errors. Add the appropriate parameters to respect the difference. Signed-off-by: Johannes Berg commit 679ef4eadde1f8e55074427c0d8de2da55ca81f9 Author: Johannes Berg Date: Mon Jul 23 14:29:21 2012 +0200 mac80211: use oper_channel in utils and config Using hw.conf.channel is wrong as it could be the temporary channel if any function like the beacon get function is called while scanning or during other temporary out-of-channel activities. Use oper_channel instead. Signed-off-by: Johannes Berg commit 568d6e289736c9c78cd8723aa81415daffafeff9 Author: Johannes Berg Date: Mon Jul 23 14:29:21 2012 +0200 mac80211: use oper_channel in managed mlme Using hw.conf.channel is wrong as it could be the temporary channel if any function like the beacon get function is called while scanning or during other temporary out-of-channel activities. Use oper_channel instead. Signed-off-by: Johannes Berg commit 273686d664daae1aa728b76e45720273b26dd876 Author: Johannes Berg Date: Mon Jul 23 14:29:21 2012 +0200 mac80211: use oper_channel in ibss Using hw.conf.channel is wrong as it could be the temporary channel if any function like the beacon get function is called while scanning or during other temporary out-of-channel activities. Use oper_channel instead. Signed-off-by: Johannes Berg commit 6962d602056c88ce470f991a265a33132fb95232 Author: Johannes Berg Date: Mon Jul 23 14:29:21 2012 +0200 mac80211: use oper_channel in mesh Using hw.conf.channel is wrong as it could be the temporary channel if any function like the beacon get function is called while scanning or during other temporary out-of-channel activities. Use oper_channel instead. Signed-off-by: Johannes Berg commit b17166a707e748ad87907f38431a1df26bb643f2 Author: Johannes Berg Date: Fri Jul 27 11:41:27 2012 +0200 mac80211: set channel only once during auth/assoc There's no need to set up the channel during auth and again during assoc, just do it once. Currently this doesn't result in any changes since calling hw_config() with an unchanged channel will return early, but with the channel context work this has an impact on channel context assignment. Signed-off-by: Johannes Berg commit 13e0c8e355983cdd4ea7accc3b3208e80944716d Author: Johannes Berg Date: Fri Jul 27 10:43:16 2012 +0200 mac80211: rename sta to new_sta In ieee80211_prep_connection(), the station (if not NULL) is the new station (representing the AP) that needs to be added. Rename the variable to "new_sta" to clarify this. Signed-off-by: Johannes Berg commit 1b49de26566e7175e8f2d0934db6d9119f553b56 Author: Johannes Berg Date: Fri Jul 27 10:29:14 2012 +0200 mac80211: supress HT/VHT disable if not supported If HT/VHT isn't supported by us we shouldn't print a message that we disabled it, do that only if the AP didn't support WMM and we therefore disable it. Signed-off-by: Johannes Berg commit 36323f817af0376c78612cfdab714b0feb05fea5 Author: Thomas Huehn Date: Mon Jul 23 21:33:42 2012 +0200 mac80211: move TX station pointer and restructure TX Remove the control.sta pointer from ieee80211_tx_info to free up sufficient space in the TX skb control buffer for the upcoming Transmit Power Control (TPC). Instead, the pointer is now on the stack in a new control struct that is passed as a function parameter to the drivers' tx method. Signed-off-by: Thomas Huehn Signed-off-by: Alina Friedrichsen Signed-off-by: Felix Fietkau [reworded commit message] Signed-off-by: Johannes Berg commit ab09587740fddf6b4116be7b6716ab47f34d2634 Author: Eliad Peller Date: Fri Jul 27 12:33:22 2012 +0300 mac80211: add PS flag to bss_conf Currently, ps mode is indicated per device (rather than per interface), which doesn't make a lot of sense. Moreover, there are subtle bugs caused by the inability to indicate ps change along with other changes (e.g. when the AP deauth us, we'd like to indicate CHANGED_PS | CHANGED_ASSOC, as changing PS before notifying about disassociation will result in null-packets being sent (if IEEE80211_HW_SUPPORTS_DYNAMIC_PS) while the sta is already disconnected.) Keep the current per-device notifications, and add parallel per-vif notifications. In order to keep it simple, the per-device ps and the per-vif ps are orthogonal - the per-vif ps configuration is determined only by the user configuration (enable/disable) and the connection state, and is not affected by other vifs state and (temporary) dynamic_ps/offchannel operations (unlike per-device ps). Signed-off-by: Eliad Peller Signed-off-by: Johannes Berg commit 2b2b64380785bdcaaa9a123e7e5829acc749c4ca Author: Arik Nemtsov Date: Fri Jul 27 10:11:33 2012 +0300 wlcore: op_tx: pass sta explicitly when inferring frame hlid avoid using the skb CB for getting the appropriate sta. Signed-off-by: Arik Nemtsov Acked-by: Luciano Coelho Signed-off-by: Johannes Berg commit 930e1915e73dd12c5e3a0e6a5a4349bdb9ab0ab7 Author: Arik Nemtsov Date: Fri Jul 27 10:11:32 2012 +0300 wlcore: don't get the hlid from a queued skb There was a bug hiding here since the hlid was sometimes inferred from the sta, which might be invalid at this point. Instead, propagate the hlid from the skb-queue where we got the skb in the first place. Signed-off-by: Arik Nemtsov Acked-by: Luciano Coelho Signed-off-by: Johannes Berg commit e21768928d73df55e648869d3ae159475d1e4b7d Author: Vladimir Kondratiev Date: Wed Jul 25 13:56:53 2012 +0300 cfg80211: unify IE search Remove ah-hoc IE search code found in the ieee80211_bss_get_ie() and use cfg80211_find_ie() instead. Signed-off-by: Vladimir Kondratiev Signed-off-by: Johannes Berg commit 8c7d857c4a4a552d8d3e1b2e24e1864ec2989285 Author: Emmanuel Grumbach Date: Wed Jul 25 01:42:36 2012 +0300 mac80211: don't call mgd_prepare_tx when associated This doesn't make any sense since we are expected to be on the medium or at least to Tx only when we are on the right channel and the AP/GO can hear us. Move the call to mgd_prepare_tx() for deauth to be only done in case we're sending a deauth while not associated. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 7eeff74c29259e9cb7765e3845c0b74057f744da Author: Johannes Berg Date: Wed Jul 18 10:27:27 2012 +0200 mac80211: don't react to beacon loss if HW monitoring If the HW is monitoring connection loss (as advertised by IEEE80211_HW_CONNECTION_MONITOR) but not filtering beacons (IEEE80211_VIF_BEACON_FILTER) then mac80211 will still start the beacon loss timer and if a few beacons are lost, e.g. due to scanning, drop the connection. If the hardware doesn't advertise connection monitoring, then it won't drop the connection right away but probe the AP, which is intended, but due to the logic in the timer when connection monitoring is done it assumes the connection was actually lost. Fix this problem by not starting the timer when the HW does connection monitoring. Signed-off-by: Johannes Berg commit d545daba5357c1ca377a4fe917ccf4de3a3031e0 Author: Mahesh Palivela Date: Tue Jul 24 03:33:10 2012 +0000 mac80211: VHT (11ac) association Insert VHT IEs into association frames to allow mac80211 to connect as a VHT client. Signed-off-by: Mahesh Palivela [clarify commit message] Signed-off-by: Johannes Berg commit bae35d92b6a1b6fd8c699415ab90aeeea2a56bc3 Author: Chun-Yeow Yeoh Date: Tue Jul 24 11:52:35 2012 +0800 mac80211: don't re-init rate control when receiving mesh beacon Rate control is re-initialized whenever a beacon from a mesh peer received, breaking the algorithms and resulting in low performance. Return early from mesh_peer_init if we already established a link with this peer to avoid this. Signed-off-by: Chun-Yeow Yeoh [clarify commit message] Signed-off-by: Johannes Berg commit da0cabb8de68d9dba254810f65aa7146eb5f47b3 Author: Johannes Berg Date: Wed Jul 25 17:06:47 2012 +0200 iwlwifi: reduce max remain-on-channel duration Due to the way the PAN parameters are set up, the maximum duration isn't 1000 but much lower, set it to 500 which is safe (somewhere around 550 might be possible.) Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit ab3951eb74e7c33a2f5b7b64d72e82f1eea61571 Author: Eugeni Dodonov Date: Mon Jun 18 19:03:38 2012 -0300 drm/i915: prevent possible pin leak on error path We should not hit this under any sane conditions, but still, this does not looks right. CC: Chris Wilson CC: Daniel Vetter CC: stable@vger.kernel.org Reported-by: Herton Ronaldo Krzesinski Reviewed-by: Chris Wlison Signed-off-by: Eugeni Dodonov Signed-off-by: Daniel Vetter commit acbe9475505de68540fab8653131d41d424c4fa3 Author: Daniel Vetter Date: Thu Jul 26 11:50:05 2012 +0200 drm/i915: rip out sanitize_pm again We believe to have squashed all issues around the gen6+ rps interrupt generation and why the gpu sometimes got stuck. With that cleared up, there's no user left for the sanitize_pm infrastructure, so let's just rip it out. Note that 'intel_reg_write 0xa014 0x13070000' is the w/a if we find ourselves stuck again. Acked-by: Chris Wilson Signed-Off-by: Daniel Vetter commit 20b46e59dd102665ce7168baa215e5b1ee66b69b Author: Daniel Vetter Date: Thu Jul 26 11:16:14 2012 +0200 drm/i915: Only set the down rps limit when at the loweset frequency The power docs say that when the gt leaves rc6, it is in the lowest frequency and only about 25 usec later will switch to the frequency selected in GEN6_RPNSWREQ. If the downclock limit expires in that window and the down limit is set to the lowest possible frequency, the hw will not send the down interrupt. Which leads to a too high gpu clock and wasted power. Chris Wilson already worked on this with commit 7b9e0ae6da0a7eaf2680a1a788f08df123724f3b Author: Chris Wilson Date: Sat Apr 28 08:56:39 2012 +0100 drm/i915: Always update RPS interrupts thresholds along with frequency but got the logic inverted: The current code set the down limit as long as we haven't reached it. Instead of only once with reached the lowest frequency. Note that we can't always set the downclock limit to 0, because otherwise the hw will keep on bugging us with downclock request irqs once the lowest level is reached. For similar reasons also always set the upclock limit, otherwise the hw might poke us again with interrupts. v2: Chris Wilson noticed that the limit reg is also computed in sanitize_pm. To avoid duplication, extract the code into a common function. Reviewed-by: Chris Wilson Signed-Off-by: Daniel Vetter commit e6994aeedcee4f71998d89d2c10c5baa419ebeac Author: Chris Wilson Date: Tue Jul 10 10:27:08 2012 +0100 drm/i915: Export ability of changing cache levels to userspace By selecting the cache level (essentially whether or not the CPU snoops any updates to the bo, and on more recent machines whether it resides inside the CPU's last-level-cache) a userspace driver is able to then manage all of its memory within buffer objects, if it so desires. This enables the userspace driver to accelerate uploads and more importantly downloads from the GPU and to able to mix CPU and GPU rendering/activity efficiently. Signed-off-by: Chris Wilson [danvet: Added code comment about where we plan to stuff platform specific cacheing control bits in the ioctl struct.] Signed-off-by: Daniel Vetter commit 42d6ab4839799b2f246748ce663d6b023f02bb73 Author: Chris Wilson Date: Thu Jul 26 11:49:32 2012 +0100 drm/i915: Segregate memory domains in the GTT using coloring Several functions of the GPU have the restriction that differing memory domains cannot be placed next to each other (as the GPU may prefetch beyond the end of one domain and hang as it crosses into the other domain). We use the facility of the drm_mm to mark ranges with a particular color that corresponds to the cache attributes of those pages in order to prevent allocating adjacent blocks of differing memory types. v2: Rebase ontop of drm_mm coloring v2. v3: Fix rebinding existing gtt_space and add a verification routine. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 9679142291f51515bd1bf492535e8a12515558e9 Author: Emmanuel Grumbach Date: Tue Jul 24 01:58:32 2012 +0300 iwlwifi: get the correct HCMD in the response handler Until now, the response handler of a Host Command got the exact same pointer that was also given to the DMA engine. We almost never need to the Host Command that was sent while handling its response, but when we do need it, we see that the command has been modified. This mystery has been elucidated. The FH (our DMA engine) writes its meta data on the buffer in the DRAM. Of course it copies the buffer to the NIC first. This was known to happen for Tx command, but as a matter of fact, it happens to all TFD brought by the FH which doesn't care much about what it brings from DRAM to internal SRAM. So copy the Host Command to yet another buffer so that we can properly pass the buffer that was sent originally to the fw. Do that only if it was request by the user since very few flows need to get the HCMD sent in the response handler. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit ebdfb7a144c53d0b8e771a738f058bc11f0e187f Author: Johannes Berg Date: Wed Jul 18 16:36:57 2012 +0200 iwlwifi: fix aggregation check indentation Align the code to inside the WARN_ON() as it should. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 9da987ac2b88b40c327ce08735b0d46057d180d7 Author: Meenakshi Venkataraman Date: Mon Jul 16 18:43:56 2012 -0700 iwlwifi: rework the iwlwifi debugfs structure The generic part of the driver now creates all debugfs directories. It creates a root directory directly in the the root of the debugfs filesystem and within that directories for each device, named after the device ID of the devices iwlwifi is attached to. In the cfg80211/mac80211 directory there's now a link to the toplevel iwlwifi debugfs directory to make it easier to find the debugfs files. Signed-off-by: Meenakshi Venkataraman Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 273a5768211450a303c455ff111b77d7ae621973 Author: Meenakshi Venkataraman Date: Tue Jul 17 13:05:03 2012 -0700 iwlwifi: clean up properly when registration with mac80211 fails If registration with mac80211 fails, stop the thermal throttling and testmode work that were previously started. Signed-off-by: Meenakshi Venkataraman Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 1c8e11e117c28ef6b9591b489f2bbd38894ba811 Author: Emmanuel Grumbach Date: Mon Jul 16 12:31:28 2012 +0300 iwlwifi: s/iwl_ucode_callback/iwl_req_fw_callback This name emphasizes more the role of the function: the callback called when the ASYNC call to request_firmware completes. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f27b92651d72e863c308ea5dca5615fc98e38ca6 Author: Ben Widawsky Date: Tue Jul 24 20:47:32 2012 -0700 drm/i915: Expand DPF support to Haswell Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit e1ef7cc299839e68dae3f1843f62e52acda04538 Author: Ben Widawsky Date: Tue Jul 24 20:47:31 2012 -0700 drm/i915: Macro to determine DPF support Originally I had a macro specifically for DPF support, and Daniel, with good reason asked me to change it to this. It's not the way I would have gone (and indeed I didn't), but for now there is no distinction as all platforms with L3 also have DPF. Note: The good reasons are that dpf is a l3$ feature (at least on currrent hw), hence I don't expect one to go without the other. Signed-off-by: Ben Widawsky [danvet: added note] Signed-off-by: Daniel Vetter commit 2e4291e0bc6cff9514515a899a8158ea62b3ff90 Author: Ben Widawsky Date: Tue Jul 24 20:47:30 2012 -0700 drm/i915: Add contexts for HSW Basic context support on HSW is no different than previous generations. The size of the context object changes, but that's about it. Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit f047e395ddc9da6c307a10629a237502e627ed85 Author: Chris Wilson Date: Sat Jul 21 12:31:41 2012 +0100 drm/i915: Avoid concurrent access when marking the device as idle/busy As suggested by Daniel, rip out the independent timers for device and crtc busyness and integrate the manual powermanagement of the display engine into the GEM core and its request tracking. The benefits are that the code is a lot smaller, fewer moving parts and should fit more neatly into the overall activity tracking of the driver. v2: Complete overhaul and removal of the racy timers and workers. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit a7b9761d0a2ded58170ffb4d423ff3d7228103f4 Author: Chris Wilson Date: Fri Jul 20 12:41:08 2012 +0100 drm/i915: Split i915_gem_flush_ring() into seperate invalidate/flush funcs By moving the function to intel_ringbuffer and currying the appropriate parameter, hopefully we make the callsites easier to read and understand. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 016fd0c1aee31902d82c1ac32312f1cc32298b66 Author: Chris Wilson Date: Fri Jul 20 12:41:07 2012 +0100 drm/i915: Clear the pending_gpu_fenced_access flag at the start of execbuffer Otherwise once we use the buffer with a BLT command on gen2/3, we will always regard future command submissions as continuing the fenced access. However, now that we flush/invalidate between every batch we can drop this pessimism. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 6ac42f4148bc27e5ffd18a9ab0eac57f58822af4 Author: Daniel Vetter Date: Sat Jul 21 12:25:01 2012 +0200 drm/i915: Replace the complex flushing logic with simple invalidate/flush all Now that we unconditionally flush and invalidate between every batch buffer, we no longer need the complex logic to decide which domains require flushing. Remove it and rejoice. v2 (danvet): Keep around the flip waiting logic. It's gross and broken, I know, but we can't just kill that thing ... even if we just keep it around as a reminder that things are broken. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 26b9c4a57fc3ff0ae6032548870bebfa5cd0de3d Author: Chris Wilson Date: Fri Jul 20 12:41:05 2012 +0100 drm/i915: Remove the explicit flush of the GPU write domain Rely instead on the insertion of the implicit flush before the seqno breadcrumb. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 86d5bc37824f169a03d03bcc47259e82136d6a34 Author: Chris Wilson Date: Fri Jul 20 12:41:04 2012 +0100 drm/i915: Remove explicit flush from i915_gem_object_flush_fence() As the flush is either performed explictly immediately after the execbuffer dispatch, or before the serialisation of last_fenced_seqno we can forgo the explict i915_gem_flush_ring(). Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 69c2fc891343cb5217c866d10709343cff190bdc Author: Chris Wilson Date: Fri Jul 20 12:41:03 2012 +0100 drm/i915: Remove the per-ring write list This is now handled by a global flag to ensure we emit a flush before the next serialisation point (if we failed to queue one previously). Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 65ce3027415d4dc9ee18ef0a135214b4fb76730b Author: Chris Wilson Date: Fri Jul 20 12:41:02 2012 +0100 drm/i915: Remove the defunct flushing list As we guarantee to emit a flush before emitting the breadcrumb or the next batchbuffer, there is no further need for the flushing list. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 0201f1ecf4b81f08799b1fb9c8cdf1125b9b78a6 Author: Chris Wilson Date: Fri Jul 20 12:41:01 2012 +0100 drm/i915: Replace the pending_gpu_write flag with an explicit seqno As we always flush the GPU cache prior to emitting the breadcrumb, we no longer have to worry about the deferred flush causing the pending_gpu_write to be delayed. So we can instead utilize the known last_write_seqno to hopefully minimise the wait times. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit e5f1d962a8e4c5fd6b3a8155c0f7a40b0bff4a96 Author: Chris Wilson Date: Fri Jul 20 12:41:00 2012 +0100 drm/i915: Remove assertion over write domain after i915_gem_object_sync() As we move to lazily clearing the GPU write domain only when the buffer becomes inactive, this leaves a window of opportunity for i915_gem_object_pin_to_display_plane() to detect a seemingly inconsistent value. This function is special as it tries to pipeline the operation to avoid the stall and so may not retires the buffer and we may not get the opportunity to clear the write domain. However, we know all is good, so drop the assertion. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 3bb73aba1ed5198a2c1dfaac4f3c95459930d84a Author: Chris Wilson Date: Fri Jul 20 12:40:59 2012 +0100 drm/i915: Allow late allocation of request for i915_add_request() Request preallocation was added to i915_add_request() in order to support the overlay. However, not all users care and can quite happily ignore the failure to allocate the request as they will simply repeat the request in the future. By pushing the allocation down into i915_add_request(), we can then remove some rather ugly error handling in the callers. v2: Nullify request->file_priv otherwise we chase a garbage pointer when retiring requests. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 540a8950047579a368a9b8fdcc15ab7fdb9921d3 Author: Daniel Vetter Date: Wed Jul 11 16:27:57 2012 +0200 drm/i915: add inte_crt->adpa_reg With the base addresses shifting around, this is easier to handle. Also move to the real reg offset on vlv. Acked-by: Chris Wilson Signed-off-by: Daniel Vetter commit a7e806de4e53f7496a6701194d736a92a80db5b3 Author: Daniel Vetter Date: Wed Jul 11 16:27:55 2012 +0200 drm/i915: create VLV_DSIPLAY_BASE #define Will be used more in the next patch. Signed-off-by: Daniel Vetter commit e9808edd98679680804dfbc42c5ee8f1aa91f617 Author: Chris Wilson Date: Wed Jul 4 12:25:08 2012 +0100 drm/i915: Return a mask of the active rings in the high word of busy_ioctl The intention is to help select which engine to use for copies with interoperating clients - such as a GL client making a request to the X server to perform a SwapBuffers, which may require copying from the active GL back buffer to the X front buffer. We choose to report a mask of the active rings to future proof the interface against any changes which may allow for the object to reside upon multiple rings. Signed-off-by: Chris Wilson [danvet: bikeshed away the write ring mask and add the explanation Chris sent in a follow-up mail why we decided to use masks.] Signed-off-by: Daniel Vetter commit c0c7babc48c4f6943ed3070d04630ea3ac9272ee Author: Ben Widawsky Date: Thu Jul 12 11:01:05 2012 -0700 drm/i915: add register read IOCTL The interface's immediate purpose is to do synchronous timestamp queries as required by GL_TIMESTAMP. The GPU has a register for reading the timestamp but because that would normally require root access through libpciaccess, the IOCTL can provide this service instead. Currently the implementation whitelists only the render ring timestamp register, because that is the only thing we need to expose at this time. v2: make size implicit based on the register offset Add a generation check Reviewed-by: Eric Anholt Cc: Jacek Lawrynowicz Signed-off-by: Ben Widawsky [danvet: fixup the ioctl numerb:] Signed-off-by: Daniel Vetter commit 7434a255a5cf42819b7e42377f18aaa02f6be52b Author: Thomas Richter Date: Wed Jul 18 19:22:30 2012 +0200 drm/i915: Support for ns2501-DVO This patch adds support for the ns2501 DVO, found in some older Fujitsu/Siemens Labtops. It is in the state of "works for me". Includes now proper DPMS support. Includes switching between resolutions - from 640x480 to 1024x768. Currently assumes that the native display resolution is 1024x768. The ns2501 seems to be rather critical - if the output PLL is not running, the chip doesn't seem to be clocked and then doesn't react on i2c messages. Thus, a quick'n-dirty trick ensures that the DVO is active before submitting any i2c messages to it. This is probably to be reviewed. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=17902 Signed-off-by: Thomas Richter [danvet: fixup whitespace fail.] Signed-off-by: Daniel Vetter commit ab9d7c302af858e1bc8f613c3a6f1eea3c4c0364 Author: Paulo Zanoni Date: Tue Jul 17 17:53:45 2012 -0300 drm/i915: add port field to struct intel_dp and use it This will be needed for Haswell, but already has its uses here. This patch started as a small patch written patch by Shobhit Kumar, but it has changed so much that none of its original lines remain. Credits-to: Shobhit Kumar Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 47ea7542a1ac33ba9f15608d2fca00abcc1c11e5 Author: Paulo Zanoni Date: Tue Jul 17 16:55:16 2012 -0300 drm/i915: move common code to intel_dp_set_link_train We have some common code that we always run before calling intel_dp_set_link_train. This common code sets the correct training patterns to the DP variable. If we add more calls to intel_dp_set_link_train, we'll also have to duplicate this common code. So instead of repeating this code whenever we call intel_dp_set_link_train, we move the code to inside the function: now we check which training pattern we're going to set and then we set the DP register according to it. One of the side-effects of this change is that now we never forget to mask the training pattern bits before changing them. It looks like this was working before because we were first masking the bits, then writing 00, 01 and then 11. This patch also enables us to use the intel_dp_set_link_train function when disabling link training: in this case we need to avoid writing the DP_TRAINING_LANE*_SET AUX commands. As a bonus, the big intel_dp_{start,complete}_link_train functions will get smaller and a little bit easier to read. Version 2 changes: - Rewrite commit message. - Also clear the training pattern bits before changing them. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 08d644add0e5f799a47dbe7849401606c522e59e Author: Daniel Vetter Date: Thu Jul 12 20:19:59 2012 +0200 drm/i915: add port parameter to intel_hdmi_init Instead of having a giant if cascade to figure this out according to the passed-in register. We could do quite a bit more cleaning up and all by using the port at more places, but I think this should be part of a bigger rework to introduce a struct intel_digital_port which would keep track of all these things. I guess this will be part of some haswell-DP-induced refactoring. For now this rips out the big cascade, which is what annoyed me so much. v2: Add port variable name back for the func decl (I've tried to trick myself below the 80 char limit). Reviewed-by: Paulo Zanoni Signed-Off-by: Daniel Vetter commit 66a9278eecbef1c746e7fac8f4bcb0485d7aa4d0 Author: Daniel Vetter Date: Thu Jul 12 20:08:18 2012 +0200 drm/i915: simplify possible_clones computation Intel hw only has one MUX for encoders, so outputs are either not cloneable or all in the same group of cloneable outputs. This neatly simplifies the code and allows us to ditch some ugly if cascades in the dp and hdmi init code (well, we need these if cascades for other stuff still, but that can be taken care of in follow-up patches). Note that this changes two things: - dvo can now be cloned with sdvo, but dvo is gen2 whereas sdvo is gen3+, so no problem. Note that the old code had a bug and didn't allow cloning crt with dvo (but only the other way round). - sdvo-lvds can now be cloned with sdvo-non-tv. Spec says this won't work, but the only reason I've found is that you can't use the panel-fitter (used for lvds upscaling) with anything else. But we don't use the panel fitter for sdvo-lvds. Imo this part of Bspec is a) rather confusing b) mostly as a guideline to implementors (i.e. explicitly stating what is already implicit from the spec, without always going into the details of why). So I think we can ignore this - worst case we'll get a bug report from a user with with sdvo-lvds and sdvo-tmds and have to add that special case back in. Because sdvo lvds is a bit special explain in comments why sdvo LVDS outputs can be cloned, but native LVDS and eDP can't be cloned - we use the panel fitter for the later, but not for sdvo. Note that this also uncoditionally initializes the panel_vdd work used by eDP. Trying to be clever doesn't buy us anything (but strange bugs) and this way we can kill the is_edp check. v2: Incorporate review from Paulo - Add in a missing space. - Pimp comment message to address his concerns. Reviewed-by: Paulo Zanoni Signed-Off-by: Daniel Vetter commit ebc0fd882b000b119e0684815db8c2245e61162f Author: Daniel Vetter Date: Wed Jul 11 16:27:56 2012 +0200 drm/i915: group ADPA #defines together Splitting them up between pch and gmch variants just makes it harder to find things. Especially since the hotplug bits are actually valid on earlier chips, too. v2: Fixed the comment as pointed out by Paulo Zanoni. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 9a3b530455380eed28e7a93121c46d7c334153d9 Author: Chris Wilson Date: Sun Jul 15 12:34:24 2012 +0100 drm/i915: Cleanup context switching through do_switch() When bug hunting, I found the interface to do_switch() overly complicated and I believe festered the earlier bug. This aims to make the code a little clearer. Signed-off-by: Chris Wilson Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 54d63ca6605d5eb5d2ed52673b523f5781ead71b Author: Shobhit Kumar Date: Fri Jun 29 16:03:35 2012 -0300 drm/i915: Move DP structs to shared location Move the DP structure to shared location so that it can be used from within the ddi module. Changes from Paulo: - Move less code to intel_drv.h - Remove #include statement - Replace a tab with a space in train_set Signed-off-by: Shobhit Kumar Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit adc8d746caa67fff4b53ba3e5163a6cbacc3b523 Author: Alan Cox Date: Sat Jul 14 15:31:47 2012 +0100 tty: move the termios object into the tty This will let us sort out a whole pile of tty related races. The alternative would be to keep points and refcount the termios objects. However 1. They are tiny anyway 2. Many devices don't use the stored copies 3. We can remove a pty special case Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db Author: Alan Cox Date: Sat Jul 14 15:31:27 2012 +0100 tty: revert incorrectly applied lock patch I sent GregKH this after the pre-requisites. He dropped the pre-requesites for good reason and unfortunately then applied this patch. Without this reverted you get random kernel memory corruption which will make bisecting anything between it and the properly applied patches a complete sod. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 467a3ca5cab64a16b5ec46ebb1895c84c280dcfe Merge: 40c9f61 84a1caf Author: Greg Kroah-Hartman Date: Mon Jul 16 12:32:42 2012 -0700 Merge branch 'v3.6-rc7' into tty-next This is to sync up on Linus's branch to get the other tty and core changes. Signed-off-by: Greg Kroah-Hartman commit f5e3bcc504c3c35cc6e06a9ee42efed7c274066b Author: Alan Cox Date: Fri Jun 29 14:48:36 2012 +0100 tty: localise the lock The termios and other changes mean the other protections needed on the driver tty arrays should be adequate. Turn it all back on. This contains pieces folded in from the fixes made to the original patches | From: Geert Uytterhoeven (fix m68k) | From: Paul Gortmaker (fix cris) | From: Jiri Kosina (lockdep) | From: Eric Dumazet (lockdep) Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman