================================================================ ChangeLog for compat-drivers-v3.8-rc2-3 based on linux-3.8-rc2 ================================================================ 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.8 Updates from the compat.git project: ==================================== git shortlog linux-3.7.y..linux-3.8.y Hauke Mehrtens (8): compat: update list of kernel headers compat: add USB_SUBCLASS_VENDOR_SPEC compat: make compat load without CONFIG_CPU_FREQ compat: add eth_zero_addr() compat: add kref_get_unless_zero() compat: move config_enabled to compat-3.4.h compat: fix compiler warning in nla_get_s64() compat: export platform_device_register_data() Johannes Berg (1): compat: backport unsigned netlink attribute accessors Luis R. Rodriguez (39): compat: fix libc dependency on bin/get-compat-kernels compat: fix typo in bin/get-compat-kernels compat: run ckmake with num cpu threads compat: fix get-compat-kernels for libc issue again compat: change count to 4 for glibc kernel fix compat: add gpio header for kernels older than 2.6.24 compat: backport ethtool_rxfh_indir_default() compat: backport ethtool to mii advertisment conversion helpers compat: backport BQL helpers compat: define NETIF_F_RXCSUM compat: fix addition of NETIF_F_RXCSUM compat: backport PCI MSI-X entry definitions compat: backport alloc_etherdev_mqs() compat: backport definition of PCI_MSIX_ENTRY_CTRL_MASKBIT compat: backport PTR_RET() compat: backport netif_set_real_num_tx_queues() compat: backport netif_set_real_num_rx_queues() compat: rename MDIO exported symbols compat: backplane mode negotiation ethtool definitions compat: backport napi_gro_receive() compat: generate CONFIG_COMPAT_KERNEL_3_8 compat: backport hid_ignore() compat: backport PCI_EXP_LNKCTL_ASPM_L0S and PCI_EXP_LNKCTL_ASPM_L1 compat: backport definition of HID_TYPE_USBNONE compat: add HID_QUIRK_HIDDEV_FORCE and HID_QUIRK_NO_IGNORE compat: add HID_QUIRK_IGNORE compat: backport HID_USB_DEVICE() and HID_BLUETOOTH_DEVICE() compat: backport struct hid_device_id compat: fix compilation on hid_ignore() compat: backport platform_device_register_data() compat: adjust get-compat-kernels for root usage compat: adjust get-compat-kernels for root users compat: add v3.7 to get-compat-kernels compat: add support for forcing get-compat-kernels compat: fix get-compat-kernels for rebuilding kernel headers compat: add 3.2 and 3.3 kernels to rebuild headers compat: rewrite ckmake in Python compat: add ionice to ckmake again compat: move HID_USB_DEVICE and HID_BLUETOOTH_DEVICE Updates from the compat-drivers.git project: ============================================= git shortlog linux-3.7.y..linux-3.8.y Hauke Mehrtens (26): compat-drivers: make patches apply again compat-drivers: deactivate cfg80211 tracing for kernels <= 2.6.32 compat-drivers: add ar5523 driver compat-drivers: refresh patches compat-drivers: remove CONFIG_ATH9K_PKTLOG form config.mk compat-drivers: activate CONFIG_BT_HCIUART_3WIRE in config.mk compat-drivers: add CONFIG_BT_WILINK in config.mk compat-drviers: remove CONFIG_IWM from config.mk compat-drivers: remove CONFIG_WIL6210 from config.mk compat-drivers: add CONFIG_RT2800PCI_RT3290 in config.mk compat-drivers: add CONFIG_MWIFIEX_USB in config.mk compat-drivers: rename drm config symbols compat-drivers: make patches apply again compat-drivers: remove option for alx driver compat-drivers: build RTL8723AE compat-drivers: refresh patches compat-drivers: add import to fix compile error compat-drivers: do not use struct spinlock compat-drivers: print original name and path of patch in refresh compat-drivers: remove copy of README in refresh compat-drivers: prevent mixing patches from different directories in refresh compat-drivers: run refresh for all patches compat-drivers: do not apply patches in natural sort order compat-drivers: make patches apply again compat-drivers: make patches apply again compat-drivers: add old suspend/resume handlers only when function is available Luis R. Rodriguez (41): 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: fix admin-update.sh network compat-drivers: add rtl8723ae code compat-drivers: disable mwifiex for kernels older than 2.6.27 compat-drivers: refresh patches for next-20121129 compat-drivers: move all patch types under patches/ compat-drivers: add support for unified drivers compat-drivers: update refresh-compat scripts compat-drivers: add Debian to scripts/update-initramfs compat-drivers: split up admin-update.sh compat-drivers: add disable_drm to driver-select compat-drivers: fix typo on 0002-enable-alx.patch compat-drivers: fix alx backport on netdev features compat-drivers: fix typo which removed entries on Makefile compat-drivers: fix 11-dev-pm-ops.patch compat-drivers: add the MDIO module compat-drivers: fix alx suspend/resume calls for old kernels compat-drivers: modify release script to support unified drivers compat-drivers: remove ksize() ifdef on scan.c compat-drivers: remove __devexit_p() from 11-dev-pm-ops.patch compat-drivers: fix 45-remove-platform-id-table.patch compat-drivers: fix 62-usb_driver_lpm.patch compat-drivers: remove 67-use_spinlock_t.patch compat-drivers: ship include/linux/bcm47xx_wdt.h compat-drivers: refresh patches for next-20121211 compat-drivers: refresh patches for next-20121214 compat-drivers: refresh -u patches compat-drivers: allow git-paranoia to work on current directory compat-drivers: refresh patches for next-20121218 compat-drivers: fix alx backport patch compat-drivers: update 0001-backport-alx.patch context compat-drivers: refresh patch 0001-backport-alx.patch compat-drivers: refresh 0001-backport-alx.patch compat-drivers: add __devexit_p() for bmca driver compat-drivers: add genlog-3.8 compat-drivers: update genlog-3.8 Ozan Çağlayan (16): compat-drivers: Separate code metrics for each subsystem compat-drivers: Enable CONFIG_DRM_LOAD_EDID_FIRMWARE compat-drivers: Copy core/ subdir of nouveau driver compat-drivers: Handle int's when generating compat_autoconf.h compat-drivers: Rename CONFIG_* vars in nouveau driver compat-drivers: Add missing config check compat-drivers: Rename CONFIG_DRM_NOUVEAU_BACKLIGHT compat-drivers: Fix comments compat-drivers: Enable nouveau DRM driver for kernels >= 3.3 compat-drivers: Update README compat-drivers: Rename CONFIG_DRM_RADEON_KMS compat-drivers: drm: Revert ACPI table size check for < 3.6 compat-drivers: Enable ATI/AMD Radeon for kernels >= 3.2 update-initramfs: Update comments, fix some typos update-initramfs: Silence lsb_release output update-initramfs: Add support for Fedora 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.7-rc2..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-v3.8-rc2-3 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git commit 4a490b78cb7e0e5efa44425df72a9fedc1c36366 Merge: 8d91a42 d5757db Author: Linus Torvalds Date: Sun Dec 30 10:00:37 2012 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull DRM update from Dave Airlie: "This is a bit larger due to me not bothering to do anything since before Xmas, and other people working too hard after I had clearly given up. It's got the 3 main x86 driver fixes pulls, and a bunch of tegra fixes, doesn't fix the Ironlake bug yet, but that does seem to be getting closer. - radeon: gpu reset fixes and userspace packet support - i915: watermark fixes, workarounds, i830/845 fix, - nouveau: nvd9/kepler microcode fixes, accel is now enabled and working, gk106 support - tegra: misc fixes." * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (34 commits) Revert "drm: tegra: protect DC register access with mutex" drm: tegra: program only one window during modeset drm: tegra: clean out old gem prototypes drm: tegra: remove redundant tegra2_tmds_config entry drm: tegra: protect DC register access with mutex drm: tegra: don't leave clients host1x member uninitialized drm: tegra: fix front_porch <-> back_porch mixup drm/nve0/graph: fix fuc, and enable acceleration on all known chipsets drm/nvc0/graph: fix fuc, and enable acceleration on GF119 drm/nouveau/bios: cache ramcfg strap on later chipsets drm/nouveau/mxm: silence output if no bios data drm/nouveau/bios: parse/display extra version component drm/nouveau/bios: implement opcode 0xa9 drm/nouveau/bios: update gpio parsing apis to match current design drm/nouveau: initial support for GK106 drm/radeon: add WAIT_UNTIL to evergreen VM safe reg list drm/i915: disable shrinker lock stealing for create_mmap_offset drm/i915: optionally disable shrinker lock stealing drm/i915: fix flags in dma buf exporting drm/radeon: add support for MEM_WRITE packet ... commit d5757dbe79870d825d0dec30074d48683e1d7e9a Author: Dave Airlie Date: Sun Dec 30 21:58:20 2012 +1000 Revert "drm: tegra: protect DC register access with mutex" This reverts commit 83c0bcb694be31dcd6c04bdd935b96a95a0af548. Lucas pointed out this was a mistake, and I missed the discussion, so just revert it out to save a rebase. Signed-off-by: Dave Airlie commit 500df2e5d870ef5be3d37f0798f770028b69fd47 Author: Lucas Stach Date: Wed Dec 19 21:38:57 2012 +0000 drm: tegra: program only one window during modeset The intention is to program exactly WIN_A, not WIN_A and possibly others. Signed-off-by: Lucas Stach Signed-off-by: Dave Airlie commit e39250aa5246b43aae882274e345620f665ab5ef Author: Lucas Stach Date: Wed Dec 19 21:38:56 2012 +0000 drm: tegra: clean out old gem prototypes There is no gem.c anymore, those functions are implemented by the drm_cma_helpers now. Signed-off-by: Lucas Stach Signed-off-by: Dave Airlie commit fa416ddc0ae5996d894b10f7f49efc2a494b048b Author: Lucas Stach Date: Wed Dec 19 21:38:55 2012 +0000 drm: tegra: remove redundant tegra2_tmds_config entry The 720p and 1080p entries are completely redundant, as we are matching the table entries against <=pclk. Also generalize the comment, as we are using those table entries even when driving other modes than the standard TV ones. Signed-off-by: Lucas Stach Signed-off-by: Dave Airlie commit 83c0bcb694be31dcd6c04bdd935b96a95a0af548 Author: Lucas Stach Date: Wed Dec 19 21:38:54 2012 +0000 drm: tegra: protect DC register access with mutex Window properties are programmed through a shared aperture and have to happen atomically. Also we do the read-update-write dance on some of the shared regs. To make sure that different functions don't stumble over each other protect the register access with a mutex. Signed-off-by: Lucas Stach Signed-off-by: Dave Airlie commit 4026bfb39a3e63e32b3c4a648bb1ac1fd8c6b162 Author: Lucas Stach Date: Wed Dec 19 21:38:53 2012 +0000 drm: tegra: don't leave clients host1x member uninitialized No real problem for now, as nothing is using this, but leaving it unitialized is asking for trouble later on. Signed-off-by: Lucas Stach Signed-off-by: Dave Airlie commit 4049508988a6ad03f51c33bf035bd9b603454830 Author: Lucas Stach Date: Wed Dec 19 21:38:52 2012 +0000 drm: tegra: fix front_porch <-> back_porch mixup Fixes wrong picture offset observed when using HDMI output with a Technisat HD TV. Signed-off-by: Lucas Stach Acked-by: Mark Zhang Tested-by: Mark Zhang Signed-off-by: Dave Airlie commit 8be0e5c427c18a59ce261c496ae2193cbcbafffd Merge: b1d778b da494d7 Author: Dave Airlie Date: Sun Dec 30 13:54:12 2012 +1000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Some fixes for 3.8: - Watermark fixups from Chris Wilson (4 pieces). - 2 snb workarounds, seem to be recently added to our internal DB. - workaround for the infamous i830/i845 hang, seems now finally solid! Based on Chris' fix for SNA, now also for UXA/mesa&old SNA. - Some more fixlets for shrinker-pulls-the-rug issues (Chris&me). - Fix dma-buf flags when exporting (you). - Disable the VGA plane if it's enabled on lid open - similar fix in spirit to the one I've sent you last weeek, BIOS' really like to mess with the display when closing the lid (awesome debug work from Krzysztof Mazur). * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: drm/i915: disable shrinker lock stealing for create_mmap_offset drm/i915: optionally disable shrinker lock stealing drm/i915: fix flags in dma buf exporting i915: ensure that VGA plane is disabled drm/i915: Preallocate the drm_mm_node prior to manipulating the GTT drm_mm manager drm: Export routines for inserting preallocated nodes into the mm manager drm/i915: don't disable disconnected outputs drm/i915: Implement workaround for broken CS tlb on i830/845 drm/i915: Implement WaSetupGtModeTdRowDispatch drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled drm/i915: Prefer CRTC 'active' rather than 'enabled' during WM computations drm/i915: Clear self-refresh watermarks when disabled drm/i915: Double the cursor self-refresh latency on Valleyview drm/i915: Fixup cursor latency used for IVB lp3 watermarks commit b1d778b970ce52e02ca6a7f34ba167fe95bc1cc4 Merge: 344f906 668bbc8 Author: Dave Airlie Date: Sun Dec 30 13:02:48 2012 +1000 Merge branch 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next Misc fixes for reset and new packets for userspace usage. * 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: add WAIT_UNTIL to evergreen VM safe reg list drm/radeon: add support for MEM_WRITE packet drm/radeon: restore modeset late in GPU reset path drm/radeon: avoid deadlock in pm path when waiting for fence drm/radeon: don't leave fence blocked process on failed GPU reset commit eca15296a9c2a5d5d7d8281a710ba4bd0c2e7cd3 Author: Ben Skeggs Date: Thu Dec 20 12:52:06 2012 +1000 drm/nve0/graph: fix fuc, and enable acceleration on all known chipsets Also adds GK106 to chipsets known by ucode. Signed-off-by: Ben Skeggs commit 902530693ef38f3bb007efae594e54443d84fa56 Author: Ben Skeggs Date: Thu Dec 20 12:50:52 2012 +1000 drm/nvc0/graph: fix fuc, and enable acceleration on GF119 Signed-off-by: Ben Skeggs commit 5ddf4d4a543dd3303b20d7e9a4b3549589c5f095 Author: Ben Skeggs Date: Thu Dec 20 07:48:51 2012 +1000 drm/nouveau/bios: cache ramcfg strap on later chipsets This fixes suspend/resume on at least Quadro 400. Signed-off-by: Ben Skeggs commit 3d8ec277394ee0cf9fdd5a411017c3b4f1b0aff2 Author: Ben Skeggs Date: Tue Dec 11 13:32:59 2012 +1000 drm/nouveau/mxm: silence output if no bios data Signed-off-by: Ben Skeggs commit 0dd660d4ab9ceb48f24f4df2ebab3e73d908a1e8 Author: Ben Skeggs Date: Tue Dec 11 12:49:18 2012 +1000 drm/nouveau/bios: parse/display extra version component Signed-off-by: Ben Skeggs commit 1ed731668d011d0ee894d949b80dc3d11fc9ef75 Author: Ben Skeggs Date: Fri Dec 7 13:46:52 2012 +1000 drm/nouveau/bios: implement opcode 0xa9 Signed-off-by: Ben Skeggs commit d2bcea686f21e11415828fcca21a4eb200c6251f Author: Ben Skeggs Date: Fri Dec 7 10:09:17 2012 +1000 drm/nouveau/bios: update gpio parsing apis to match current design Signed-off-by: Ben Skeggs commit caba557020d1e7cbb0dd21811e453589fb51ba53 Author: Ben Skeggs Date: Thu Dec 6 14:45:57 2012 +1000 drm/nouveau: initial support for GK106 Modesetting seems to work alright, as does graphics (using binary driver fuc from nve7...). Lots to be done no doubt, but this'll get an image on the screen for people. Signed-off-by: Ben Skeggs commit 8baf82b368d23aed5c96b01ed7110cdccdd18725 Author: Greg KH Date: Fri Dec 21 13:44:29 2012 +0000 CONFIG_HOTPLUG removal from networking core CONFIG_HOTPLUG is always enabled now, so remove the unused code that was trying to be compiled out when this option was disabled, in the networking core. Cc: Bill Pemberton Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 03ce758e56c483bf5d0035dbd1a53ca2940a3eb0 Author: Greg KH Date: Fri Dec 21 13:42:15 2012 +0000 Drivers: network: more __dev* removal Remove some __dev* markings that snuck in the 3.8-rc1 merge window in the drivers/net/* directory. Cc: Bill Pemberton Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 668bbc81baf0f34df832d8aca5c7d5e19a493c68 Author: Alex Deucher Date: Thu Dec 20 21:19:32 2012 -0500 drm/radeon: add WAIT_UNTIL to evergreen VM safe reg list It's used in a recent mesa commit: http://cgit.freedesktop.org/mesa/mesa/commit/?id=24b1206ab2dcd506aaac3ef656aebc8bc20cd27a and there may be some other cases in the future where it's required. Signed-off-by: Alex Deucher Reviewed-by: Jerome Glisse Cc: stable@vger.kernel.org commit da494d7ca5e0a1afca3480826b5060e15c951e80 Author: Daniel Vetter Date: Thu Dec 20 15:11:16 2012 +0100 drm/i915: disable shrinker lock stealing for create_mmap_offset The mmap offset structure is not part of the drm/i915 code, but provided by gem helpers. To avoid leaky abstractions (by either depending upon implementation details of said helper wrt to preallocations, or reimplementing it in our code and so fuzzing around in internal details of that helpr) simply disable the shrinker lock stealing accross calls into the helper functions. This should fix igt/gem_tiled_swapping. v2: Fix cleanup path confusion bemoaned by Chris Wilson. Reported-by: Mika Kuoppala Cc: Chris Wilson Cc: Mika Kuoppala Signed-off-by: Daniel Vetter commit 677feac291c1ea7f0b84c6e499e858d440b96c7b Author: Daniel Vetter Date: Wed Dec 19 14:33:45 2012 +0100 drm/i915: optionally disable shrinker lock stealing commit 5774506f157a91400c587b85d1ce4de56f0d32f6 Author: Chris Wilson Date: Wed Nov 21 13:04:04 2012 +0000 drm/i915: Borrow our struct_mutex for the direct reclaim added a nice trick to steal the struct_mutex lock in the shrinker if it's the current task holding it. But this also caused the requirement that every place which allocates memory needs to be careful about the gem state of objects, since the shrinker could have pulled the rug out from under it. We've usually solved this by carefully preallocating things or ensure that buffers are pinned already. But the shrinker also reaps mmap offset, so allocating those needs to be careful, too. Now that code has been factored out into some common helpers, so either we have fragile code depending upon the common helper not doing something we don't want it to do. Or we need to reimplement the mmap offset creation and so also leak implementation details into our code. Since this all results in leaky abstraction, cop out by disabling the lock borrowing trick while calling down into the helpers. That way our craziness is nicely confined to files in drm/i915. v2: Split out the change to create_mmap_offset as request by Chris Wilson. Cc: Chris Wilson Cc: Mika Kuoppala Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 5b42427fc38ecb9056c4e64deaff36d6d6ba1b67 Author: Dave Airlie Date: Thu Dec 20 10:51:09 2012 +1000 drm/i915: fix flags in dma buf exporting As pointed out by Seung-Woo Kim this should have been passing flags like nouveau/radeon have. Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie Signed-off-by: Daniel Vetter commit 9eb127cc04c4005c8c0708ce92146d91da862b42 Merge: e327955 152a2a8 Author: Linus Torvalds Date: Wed Dec 19 20:29:15 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Really fix tuntap SKB use after free bug, from Eric Dumazet. 2) Adjust SKB data pointer to point past the transport header before calling icmpv6_notify() so that the headers are in the state which that function expects. From Duan Jiong. 3) Fix ambiguities in the new tuntap multi-queue APIs. From Jason Wang. 4) mISDN needs to use del_timer_sync(), from Konstantin Khlebnikov. 5) Don't destroy mutex after freeing up device private in mac802154, fix also from Konstantin Khlebnikov. 6) Fix INET request socket leak in TCP and DCCP, from Christoph Paasch. 7) SCTP HMAC kconfig rework, from Neil Horman. 8) Fix SCTP jprobes function signature, otherwise things explode, from Daniel Borkmann. 9) Fix typo in ipv6-offload Makefile variable reference, from Simon Arlott. 10) Don't fail USBNET open just because remote wakeup isn't supported, from Oliver Neukum. 11) be2net driver bug fixes from Sathya Perla. 12) SOLOS PCI ATM driver bug fixes from Nathan Williams and David Woodhouse. 13) Fix MTU changing regression in 8139cp driver, from John Greene. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (45 commits) solos-pci: ensure all TX packets are aligned to 4 bytes solos-pci: add firmware upgrade support for new models solos-pci: remove superfluous debug output solos-pci: add GPIO support for newer versions on Geos board 8139cp: Prevent dev_close/cp_interrupt race on MTU change net: qmi_wwan: add ZTE MF880 drivers/net: Use of_match_ptr() macro in smsc911x.c drivers/net: Use of_match_ptr() macro in smc91x.c ipv6: addrconf.c: remove unnecessary "if" bridge: Correctly encode addresses when dumping mdb entries bridge: Do not unregister all PF_BRIDGE rtnl operations use generic usbnet_manage_power() usbnet: generic manage_power() usbnet: handle PM failure gracefully ksz884x: fix receive polling race condition qlcnic: update driver version qlcnic: fix unused variable warnings net: fec: forbid FEC_PTP on SoCs that do not support be2net: fix wrong frag_idx reported by RX CQ be2net: fix be_close() to ensure all events are ack'ed ... commit dcd6a97d1d821335051cbf35b1e2be54955d6276 Merge: 7005cd3 0953e76 Author: Linus Torvalds Date: Wed Dec 19 20:24:25 2012 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm bugfix from Dave Airlie: "Just a single urgent regression fix, seeing a few wierd behaviours I'd like not to persist." * 'drm-next' of git://people.freedesktop.org/~airlied/linux: drm/ttm: fix delayed ttm_bo_cleanup_refs_and_unlock delayed handling commit 4613ca14b9739428abb53bef9cd0f8b3fee23a95 Author: Jerome Glisse Date: Wed Dec 19 12:26:45 2012 -0500 drm/radeon: add support for MEM_WRITE packet To make it easier to debug some lockup from userspace add support to MEM_WRITE packet. Signed-off-by: Jerome Glisse Signed-off-by: Alex Deucher commit d3493574e267c203836bfdcb9c58d8af46fc0da1 Author: Jerome Glisse Date: Fri Dec 14 16:20:46 2012 -0500 drm/radeon: restore modeset late in GPU reset path Modeset path seems to conflict sometimes with the memory management leading to kernel deadlock. This move modesetting reset after GPU acceleration reset. Signed-off-by: Jerome Glisse Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 5f8f635edd8ad5a6416bff4c5ff486500357f473 Author: Jerome Glisse Date: Mon Dec 17 11:04:32 2012 -0500 drm/radeon: avoid deadlock in pm path when waiting for fence radeon_fence_wait_empty_locked should not trigger GPU reset as no place where it's call from would benefit from such thing and it actually lead to a kernel deadlock in case the reset is triggered from pm codepath. Instead force ring completion in place where it makes sense or return early in others. Signed-off-by: Jerome Glisse Reviewed-by: Christian König Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 76903b96adbfbb38b049765add21e02e44c387a5 Author: Jerome Glisse Date: Mon Dec 17 10:29:06 2012 -0500 drm/radeon: don't leave fence blocked process on failed GPU reset Force all fence to signal if GPU reset failed so no process get stuck on waiting fence. Signed-off-by: Jerome Glisse Reviewed-by: Christian König Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 0953e76e91f4b6206cef50bd680696dc6bf1ef99 Author: Maarten Lankhorst Date: Wed Dec 19 18:21:10 2012 +0100 drm/ttm: fix delayed ttm_bo_cleanup_refs_and_unlock delayed handling Fix regression introduced by 85b144f860176 "drm/ttm: call ttm_bo_cleanup_refs with reservation and lru lock held, v3" Slowpath ttm_bo_cleanup_refs_and_unlock accidentally tried to increase refcount on &bo->sync_obj instead of bo->sync_obj. The compiler didn't complain since sync_obj_ref takes a void pointer, so it was still valid c. This could result in lockups, memory corruptions, and warnings like these when graphics card VRAM usage is high: ------------[ cut here ]------------ WARNING: at include/linux/kref.h:42 radeon_fence_ref+0x2c/0x40() Hardware name: System Product Name Pid: 157, comm: X Not tainted 3.7.0-rc7-00520-g85b144f-dirty #174 Call Trace: [] ? warn_slowpath_common+0x74/0xb0 [] ? radeon_fence_ref+0x2c/0x40 [] ? ttm_bo_cleanup_refs_and_unlock+0x18c/0x2d0 [] ? ttm_mem_evict_first+0x1dc/0x2a0 [] ? ttm_bo_man_get_node+0x62/0xb0 [] ? ttm_bo_mem_space+0x28e/0x340 [] ? ttm_bo_move_buffer+0xfc/0x170 [] ? kmem_cache_alloc+0xb2/0xc0 [] ? ttm_bo_validate+0x95/0x110 [] ? ttm_bo_init+0x2ec/0x3b0 [] ? radeon_bo_create+0x18a/0x200 [] ? radeon_bo_clear_va+0x40/0x40 [] ? radeon_gem_object_create+0x92/0x160 [] ? radeon_gem_create_ioctl+0x6c/0x150 [] ? radeon_gem_object_free+0x2f/0x40 [] ? drm_ioctl+0x420/0x4f0 [] ? radeon_gem_pwrite_ioctl+0x20/0x20 [] ? do_vfs_ioctl+0x2e4/0x4e0 [] ? vfs_read+0x118/0x160 [] ? sys_ioctl+0x4c/0xa0 [] ? sys_read+0x51/0xa0 [] ? system_call_fastpath+0x16/0x1b Signed-off-by: Maarten Lankhorst Reported-by: Markus Trippelsdorf Acked-by: Paul Menzel Signed-off-by: Dave Airlie commit d67df2b9edfc42ccc0a9ee5332e2821d487d6b3b Merge: c1e37ea 009b969 Author: John W. Linville Date: Wed Dec 19 13:00:00 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 0fde901f1ddd2ce0e380a6444f1fb7ca555859e9 Author: Krzysztof Mazur Date: Wed Dec 19 11:03:41 2012 +0100 i915: ensure that VGA plane is disabled Some broken systems (like HP nc6120) in some cases, usually after LID close/open, enable VGA plane, making display unusable (black screen on LVDS, some strange mode on VGA output). We used to disable VGA plane only once at startup. Now we also check, if VGA plane is still disabled while changing mode, and fix that if something changed it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57434 Signed-off-by: Krzysztof Mazur Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter commit dc9dd7a20fde95aa81a8307cde79c2dff9f83f3d Author: Chris Wilson Date: Fri Dec 7 20:37:07 2012 +0000 drm/i915: Preallocate the drm_mm_node prior to manipulating the GTT drm_mm manager As we may reap neighbouring objects in order to free up pages for allocations, we need to be careful not to allocate in the middle of the drm_mm manager. To accomplish this, we can simply allocate the drm_mm_node up front and then use the combined search & insert drm_mm routines, reducing our code footprint in the process. Fixes (partially) i-g-t/gem_tiled_swapping Reported-by: Mika Kuoppala Signed-off-by: Chris Wilson Reviewed-by: Jani Nikula [danvet: Again fixup atomic bikeshed.] Signed-off-by: Daniel Vetter commit b81034506fc9b879cb726feb01342be0cdbe6e25 Author: Chris Wilson Date: Fri Dec 7 20:37:06 2012 +0000 drm: Export routines for inserting preallocated nodes into the mm manager Required by i915 in order to avoid the allocation in the middle of manipulating the drm_mm lists. Use a pair of stubs to preserve the existing EXPORT_SYMBOLs for backporting; to be removed later. Cc: Dave Airlie Cc: dri-devel@lists.freedesktop.org Signed-off-by: Chris Wilson Reviewed-by: Jani Nikula [danvet: bikeshedded-away the atomic parameter, it's not yet used anywhere.] Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit b0a2658acb5bf9ca86b4aab011b7106de3af0add Author: Daniel Vetter Date: Tue Dec 18 09:37:54 2012 +0100 drm/i915: don't disable disconnected outputs This piece of neat lore has been ported painstakingly and bug-for-bug compatible from the old crtc helper code. Imo it's utter nonsense. If you disconnected a cable and before you reconnect it, userspace (or the kernel) does an set_crtc call, this will result in that connector getting disabled. Which will result in a nice black screen when plugging in the cable again. There's absolutely no reason the kernel does such policy enforcements - if userspace tries to set up a mode on something disconnected we might fail loudly (since the dp link training fails), but silently adjusting the output configuration behind userspace's back is a recipe for disaster. Specifically I think that this could explain some of our MI_WAIT hangs around suspend, where userspace issues a scanline wait on a disable pipe. This mechanisims here could explain how that pipe got disabled without userspace noticing. Note that this fixes a NULL deref at BIOS takeover when the firmware sets up a disconnected output in a clone configuration with a connected output on the 2nd pipe: When doing the full modeset we don't have a mode for the 2nd pipe and OOPS. On the first pipe this doesn't matter, since at boot-up the fbdev helpers will set up the choosen configuration on that on first. Since this is now the umptenth bug around handling this imo brain-dead semantics correctly, I think it's time to kill it and see whether there's any userspace out there which relies on this. It also nicely demonstrates that we have a tiny window where DP hotplug can still kill the driver. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58396 Cc: stable@vger.kernel.org Tested-by: Peter Ujfalusi Reviewed-by: Rodrigo Vivi Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit c0f041602c33bae10b8e321c49024490d03ced3d Author: Tao Ma Date: Mon Dec 17 15:59:38 2012 -0800 drivers: remove reference to feature-removal-schedule.txt In commit 9c0ece069b32 ("Get rid of Documentation/feature-removal.txt"), Linus removed feature-removal-schedule.txt from Documentation, but there is still some reference to this file. So remove them. Signed-off-by: Tao Ma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 009b969632137f91534db91c19d62f1ae21ba8a0 Author: Vladimir Kondratiev Date: Wed Dec 12 10:56:09 2012 +0200 wireless: fix Atheros drivers compilation Bug introduced in commit: wireless: allow Atheros card to not depend on ath.ko Commit in question changed CONFIG_ATH_COMMON to CONFIG_ATH_CARDS as "Atheros card" indication in drivers/net/wireless/ath/Kconfig but it is used also by drivers/net/wireless/Makefile If there are only Atheros cards that do not require ATH_COMMON, whole Makefile for Atheros cards was not executed; and as result, driver won't compile in this case. Change in CONFIG_ option name should be reflected in the drivers/net/wireless/Makefile Signed-off-by: Vladimir Kondratiev Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 028014c81e3f8a5e8b5f161dceac5e6e5d6314ec Author: Gabor Juhos Date: Tue Dec 11 18:27:34 2012 +0100 rt2x00: zero-out rx_status In commit 'mac80211: support radiotap vendor namespace RX data' new fields were added to 'struct ieee80211_rx_status' and those fileds must be zeroed. However the rt2x00 driver stores driver specific data in the cb array of the rx skbs, so the fields might contain garbage and this can cause unexpected behaviour. The rt2x00 driver from the compat-wireless-2012-12-01 tarball caused the following warning: WARNING: at /devel/ramips/build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/ compat-wireless-2012-12-01/net/mac80211/rx.c:115 ieee80211_rx_irqsafe+0x274/0xbcc [mac80211]() Modules linked in: dwc_otg ledtrig_usbdev nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat pppoe xt_conntrack xt_CT xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack pppox ipt_REJECT xt_TCPMSS xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables ppp_async ppp_generic slhc rt2800pci(O) rt2800lib(O) rt2x00soc(O) rt2x00pci(O) rt2x00lib(O) mac80211(O) usbcore usb_common nls_base crc_itu_t crc_ccitt eeprom_93cx6 cfg80211(O) compat(O) arc4 aes_generic crypto_blkcipher cryptomgr aead crypto_hash crypto_algapi leds_gpio button_hotplug(O) gpio_keys_polled input_polldev input_core Call Trace: [<801e96b4>] dump_stack+0x8/0x34 [<80010a9c>] warn_slowpath_common+0x78/0xa4 [<80010ae0>] warn_slowpath_null+0x18/0x24 [<80a9710c>] ieee80211_rx_irqsafe+0x274/0xbcc [mac80211] The patch ensures that each field gets initialized with zeroes. Cc: Signed-off-by: Gabor Juhos Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b45305fce5bb1abec263fcff9d81ebecd6306ede Author: Daniel Vetter Date: Mon Dec 17 16:21:27 2012 +0100 drm/i915: Implement workaround for broken CS tlb on i830/845 Now that Chris Wilson demonstrated that the key for stability on early gen 2 is to simple _never_ exchange the physical backing storage of batch buffers I've tried a stab at a kernel solution. Doesn't look too nefarious imho, now that I don't try to be too clever for my own good any more. v2: After discussing the various techniques, we've decided to always blit batches on the suspect devices, but allow userspace to opt out of the kernel workaround assume full responsibility for providing coherent batches. The principal reason is that avoiding the blit does improve performance in a few key microbenchmarks and also in cairo-trace replays. Signed-Off-by: Daniel Vetter Signed-off-by: Chris Wilson [danvet: - Drop the hunk which uses HAS_BROKEN_CS_TLB to implement the ring wrap w/a. Suggested by Chris Wilson. - Also add the ACTHD check from Chris Wilson for the error state dumping, so that we still catch batches when userspace opts out of the w/a.] Signed-off-by: Daniel Vetter commit 3c2e81ef344a90bb0a39d84af6878b4aeff568a2 Merge: 221392c 55bde6b Author: Linus Torvalds Date: Mon Dec 17 08:26:17 2012 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull DRM updates from Dave Airlie: "This is the one and only next pull for 3.8, we had a regression we found last week, so I was waiting for that to resolve itself, and I ended up with some Intel fixes on top as well. Highlights: - new driver: nvidia tegra 20/30/hdmi support - radeon: add support for previously unused DMA engines, more HDMI regs, eviction speeds ups and fixes - i915: HSW support enable, agp removal on GEN6, seqno wrapping - exynos: IPP subsystem support (image post proc), HDMI - nouveau: display class reworking, nv20->40 z compression - ttm: start of locking fixes, rcu usage for lookups, - core: documentation updates, docbook integration, monotonic clock usage, move from connector to object properties" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (590 commits) drm/exynos: add gsc ipp driver drm/exynos: add rotator ipp driver drm/exynos: add fimc ipp driver drm/exynos: add iommu support for ipp drm/exynos: add ipp subsystem drm/exynos: support device tree for fimd radeon: fix regression with eviction since evict caching changes drm/radeon: add more pedantic checks in the CP DMA checker drm/radeon: bump version for CS ioctl support for async DMA drm/radeon: enable the async DMA rings in the CS ioctl drm/radeon: add VM CS parser support for async DMA on cayman/TN/SI drm/radeon/kms: add evergreen/cayman CS parser for async DMA (v2) drm/radeon/kms: add 6xx/7xx CS parser for async DMA (v2) drm/radeon: fix htile buffer size computation for command stream checker drm/radeon: fix fence locking in the pageflip callback drm/radeon: make indirect register access concurrency-safe drm/radeon: add W|RREG32_IDX for MM_INDEX|DATA based mmio accesss drm/exynos: support extended screen coordinate of fimd drm/exynos: fix x, y coordinates for right bottom pixel drm/exynos: fix fb offset calculation for plane ... commit 6547fbdbfff62c99e4f7b4f985ff8b3454f33b0f Author: Daniel Vetter Date: Fri Dec 14 23:38:29 2012 +0100 drm/i915: Implement WaSetupGtModeTdRowDispatch I'm not really sure, since the w/a entry is as thin on details as ever, and Bspec doesn't say anything about it. But I've figured only dispatching to rows 0&1 instead of all four should be the right thing for GT1. Reviewed-by: Rodrigo Vivi [danvet: Add the missing snb server GT1 to the check, spotted by Chris Wilson.] Signed-off-by: Daniel Vetter commit 4283908ef7f11a72c3b80dd4cf026f1a86429f82 Author: Daniel Vetter Date: Fri Dec 14 23:38:28 2012 +0100 drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled Quoting from Bspec, 3D_CHICKEN1, bit 10 This bit needs to be set always to "1", Project: DevSNB " Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit f20e0b08b8b2a8432e6abf3683960099f0ab2958 Author: Chris Wilson Date: Fri Dec 7 10:43:25 2012 +0000 drm/i915: Prefer CRTC 'active' rather than 'enabled' during WM computations Only the intel_crtc->active is accurate at the point where we wish to perform WM computations, so use it instead of crtc->enabled. Signed-off-by: Chris Wilson Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 52bd02d8e3fd83201a1a81bdb4ec6fc0b54d24a0 Author: Chris Wilson Date: Fri Dec 7 10:43:24 2012 +0000 drm/i915: Clear self-refresh watermarks when disabled If we elect to disable self-refresh as they require too many FIFO entries, clear the values prior to writing them into the registers. If they are too large they may occupy more bits than available and so corrupt neighbouring WM values. Signed-off-by: Chris Wilson Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit af6c4575afada1a9c411e42439b5d40908865b11 Author: Chris Wilson Date: Tue Dec 11 12:01:43 2012 +0000 drm/i915: Double the cursor self-refresh latency on Valleyview It operates at twice the declared latency, so double the latency value used for the cursor watermark calculation. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50248 Signed-off-by: Chris Wilson CC: Jesse Barnes Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit c43d0188d7be6e45eb52a27ed9df714ca2e04e0a Author: Chris Wilson Date: Tue Dec 11 12:01:42 2012 +0000 drm/i915: Fixup cursor latency used for IVB lp3 watermarks It operates at twice the declared latency, so adjust the computation to avoid potential flicker at low power. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50248 Signed-off-by: Chris Wilson CC: Jesse Barnes Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 55bde6b1442fed8af67b92d21acce67db454c9f9 Merge: 2f3f240 2065209 Author: Dave Airlie Date: Sun Dec 16 06:05:03 2012 +0000 Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Daniel writes: A few leftover fixes for 3.8: - VIC support for hdmi infoframes with the associated drm helper, fixes some black TVs (Paulo Zanoni) - Modeset state check (and fixup if the BIOS messed with the hw) for lid-open. modeset-rework fallout. Somehow the original reporter went awol, so this stalled for way too long until we've found a new victim^Wreporter with broken BIOS. - seqno wrap fixes from Mika and Chris. - Some minor fixes all over from various people. - Another race fix in the pageflip vs. unpin code from Chris. - hsw vga resume support and a few more fdi link fixes (only used for vga on hsw) from Paulo. - Regression fix for DMAR from Zhenyu Wang - I've scavenged memory from my DMAR for a while and it broke right away :( - Regression fix from Takashi Iwai for ivb lvds - some w/a needs to be (partially) moved back into place. Note that these are regressions in -next. - One more fix for ivb 3 pipe support - it now actually seems to work. * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel: (25 commits) drm/i915: Fix missed needs_dmar setting drm/i915: Fix shifted screen on top of LVDS on IVY laptop drm/i915: disable cpt phase pointer fdi rx workaround drm/i915: set the LPT FDI RX polarity reversal bit when needed drm/i915: add lpt_init_pch_refclk drm/i915: add support for mPHY destination on intel_sbi_{read, write} drm/i915: reject modes the LPT FDI receiver can't handle drm/i915: fix hsw_fdi_link_train "retry" code drm/i915: Close race between processing unpin task and queueing the flip drm/i915: fixup l3 parity sysfs access check drm/i915: Clear the existing watermarks for g4x when modifying the cursor sr drm/i915: do not access BLC_PWM_CTL2 on pre-gen4 hardware drm/i915: Don't allow ring tail to reach the same cacheline as head drm/i915: Decouple the object from the unbound list before freeing pages drm/i915: Set sync_seqno properly after seqno wrap drm/i915: Include the last semaphore sync point in the error-state drm/i915: Rearrange code to only have a single method for waiting upon the ring drm/i915: Simplify flushing activity on the ring drm/i915: Preallocate next seqno before touching the ring drm/i915: force restore on lid open ... commit 2f3f24061c5c489074ad492bf694a5a76ebd8fc5 Merge: 652a187 f264638 Author: Dave Airlie Date: Sun Dec 16 05:49:46 2012 +0000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Inki writes: "- add dmabuf attach/detach feature . This patch would resolve performance deterioration issue when v4l2-based driver is using the buffer imported from gem. - drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute . With gem allocation, kernel space mapping isn't allocated and also physical pages aren't mapped with the kernel space. The physical pages are mapped with kernel space though vmap function only for console framebuffer. - add the below two patches I missed. drm: exynos: moved exynos drm device registration to drm driver drm: exynos: moved exynos drm hdmi device registration to drm driver - add IPP subsystem framework and its-based device drivers. . This patch set includes fimc, rotator and gsc drivers to perform image scaling, rotation and color space conversion. - add runtime pm support to hdmi driver. - And fixups and cleanups." * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (30 commits) drm/exynos: add gsc ipp driver drm/exynos: add rotator ipp driver drm/exynos: add fimc ipp driver drm/exynos: add iommu support for ipp drm/exynos: add ipp subsystem drm/exynos: support device tree for fimd drm/exynos: support extended screen coordinate of fimd drm/exynos: fix x, y coordinates for right bottom pixel drm/exynos: fix fb offset calculation for plane drm/exynos: hdmi: Fix potential NULL pointer dereference error drm/exynos: hdmi: Add CONFIG_OF and use of_match_ptr() macro drm/exynos: add support for hdmiphy power control for exynos5 drm/exynos: add runtime pm support for mixer drm/exynos: added runtime pm support for hdmi drm/exynos: fix allocation and cache mapping type drm/exynos: reorder framebuffer init sequence drm/exynos/iommu: fix return value check in drm_create_iommu_mapping() drm/exynos: remove unused vaddr member drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute drm/exynos: add exception codes to exynos_drm_fbdev_create() ... commit f2646380655b32481b5e76c666e1793dfef184bd Author: Eunchul Kim Date: Fri Dec 14 17:58:57 2012 +0900 drm/exynos: add gsc ipp driver This patch adds IPP subsystem-based gsc driver for exynos5 series. GSC is stand for General SCaler and supports the following features: - image scaler/rotator/crop/flip/csc and input/output DMA operations. - image rotation and image effect functions. - writeback and display output operations. - M2M operation to crop, scale, rotation and csc. The below is GSC hardware path: Memory------->GSC------>Memory FIMD--------->GSC------>HDMI FIMD--------->GSC------>Memory Memory------->GSC------>FIMD, Mixer This driver is registered to IPP subsystem framework to be used by user side and user can control the GSC hardware through some interfaces of IPP subsystem framework. Changelog v1 ~ v5: - added comments, code fixups and cleanups. Signed-off-by: Eunchul Kim Signed-off-by: Jinyoung Jeon Signed-off-by: Inki Dae Signed-off-by: Kyungmin.park commit bea8a429d91a1fd9a88c87df28062c632a1081f9 Author: Eunchul Kim Date: Fri Dec 14 17:58:56 2012 +0900 drm/exynos: add rotator ipp driver This patch adds IPP subsystem-based rotator driver. And Rotator supports the following features. - Image crop operation support. - Rotate operation support to 90, 180 or 270 degree. - Flip operation support to vertical, horizontal or both. . as limitaions, the pixel format to source buffer should be same as the one to destination buffer and no scaler. This driver is registered to IPP subsystem framework to be used by user side and user can control the Rotator hardware through some interfaces of IPP subsystem framework. Changelog v6: - fix build warning. Changelog v1 ~ v5: - added comments, code fixups and cleanups. Signed-off-by: Eunchul Kim Signed-off-by: Youngjun Cho Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 16102edb49b6cc7fbb68b10c04a42b78fbceb3ed Author: Eunchul Kim Date: Fri Dec 14 17:58:55 2012 +0900 drm/exynos: add fimc ipp driver FIMC is stand for Fully Interfactive Mobile Camera and supports image scaler/rotator/crop/flip/csc and input/output DMA operations and also supports writeback and display output operations. This driver is registered to IPP subsystem framework to be used by user side and user can control the FIMC hardware through some interfaces of IPP subsystem framework. Changelog v6: - fix build warning. Changelog v1 ~ v5: - add comments, code fixups and cleanups. Signed-off-by: Eunchul Kim Signed-off-by: Jinyoung Jeon Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit c12e2617b25535014a766a0bc3e05134ef817b82 Author: Eunchul Kim Date: Fri Dec 14 17:58:54 2012 +0900 drm/exynos: add iommu support for ipp This patch adds iommu support for IPP subsystem framework. For this, it adds subdrv_probe/remove callback to enable or disable ipp iommu. We can get or put device address to a gem handle from user through exynos_drm_gem_get/put_dma_addr(). Signed-off-by: Eunchul Kim Signed-off-by: Jinyoung Jeon Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit cb471f14b5eebfed22bb9f2d0f06601f171c574a Author: Eunchul Kim Date: Fri Dec 14 18:10:31 2012 +0900 drm/exynos: add ipp subsystem This patch adds Image Post Processing(IPP) support for exynos drm driver. IPP supports image scaler/rotator and input/output DMA operations using IPP subsystem framework to control FIMC, Rotator and GSC hardware and supports some user interfaces for user side. And each IPP-based drivers support Memory to Memory operations with various converting. And in case of FIMC hardware, it also supports Writeback and Display output operations through local path. Features: - Memory to Memory operation support. - Various pixel formats support. - Image scaling support. - Color Space Conversion support. - Image crop operation support. - Rotate operation support to 90, 180 or 270 degree. - Flip operation support to vertical, horizontal or both. - Writeback operation support to display blended image of FIMD fifo on screen A summary to IPP Subsystem operations: First of all, user should get property capabilities from IPP subsystem and set these properties to hardware registers for desired operations. The properties could be pixel format, position, rotation degree and flip operation. And next, user should set source and destination buffer data using DRM_EXYNOS_IPP_QUEUE_BUF ioctl command with gem handles to source and destinition buffers. And next, user can control user-desired hardware with desired operations such as play, stop, pause and resume controls. And finally, user can aware of dma operation completion and also get destination buffer that it contains user-desried result through dequeue command. IOCTL commands: - DRM_EXYNOS_IPP_GET_PROPERTY . get ipp driver capabilitis and id. - DRM_EXYNOS_IPP_SET_PROPERTY . set format, position, rotation, flip to source and destination buffers - DRM_EXYNOS_IPP_QUEUE_BUF . enqueue/dequeue buffer and make event list. - DRM_EXYNOS_IPP_CMD_CTRL . play/stop/pause/resume control. Event: - DRM_EXYNOS_IPP_EVENT . a event to notify dma operation completion to user side. Basic control flow: Open -> Get properties -> User choose desired IPP sub driver(FIMC, Rotator or GSCALER) -> Set Property -> Create gem handle -> Enqueue to source and destination buffers -> Command control(Play) -> Event is notified to User -> User gets destinition buffer complated -> (Enqueue to source and destination buffers -> Event is notified to User) * N -> Queue/Dequeue to source and destination buffers -> Command control(Stop) -> Free gem handle -> Close Changelog v1 ~ v5: - added comments, code fixups and cleanups. Signed-off-by: Eunchul Kim Signed-off-by: Jinyoung Jeon Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit d636ead86fb806085de4ce98693e8d91c419d8f3 Author: Joonyoung Shim Date: Fri Dec 14 15:48:25 2012 +0900 drm/exynos: support device tree for fimd This adds the of_match_table to exynos-drm fimd driver to be probed from the device tree. Changelog v2: - fix build error without CONFIG_OF. Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park commit dd54fee7d440c4a9756cce2c24a50c15e4c17ccb Author: Dave Airlie Date: Fri Dec 14 21:04:46 2012 +1000 radeon: fix regression with eviction since evict caching changes Since 0d0b3e7443bed6b49cb90fe7ddc4b5578a83a88d drm/radeon: use cached memory when evicting for vram on non agp evicting from TTM would try and evict to TTM instead of system, not so good. This should fix: https://bugs.freedesktop.org/show_bug.cgi?id=58272 Signed-off-by: Dave Airlie Signed-off-by: Maarten Lankhorst Signed-off-by: Alex Deucher commit 9d89d78e3a20980205966fba6345645547e59ceb Author: Alex Deucher Date: Fri Dec 14 00:23:06 2012 -0500 drm/radeon: add more pedantic checks in the CP DMA checker non-mem-to-mem transfers require dw aligned byte count. Signed-off-by: Alex Deucher commit 8696e33f06b0c52195152cc6a0e3d52233f486c1 Author: Alex Deucher Date: Thu Dec 13 18:57:07 2012 -0500 drm/radeon: bump version for CS ioctl support for async DMA Signed-off-by: Alex Deucher commit 278a334cbc96d3da66d56235b8ce84081e9a1892 Author: Alex Deucher Date: Thu Dec 13 12:27:28 2012 -0500 drm/radeon: enable the async DMA rings in the CS ioctl This enables the functionality added in the previous patches. Userspace acceleration drivers can use the CS ioctl to submit command buffers to the async DMA rings. Signed-off-by: Alex Deucher commit cd459e525f4faeefa0bf78e1bcba3e04496b2cb5 Author: Alex Deucher Date: Thu Dec 13 12:17:38 2012 -0500 drm/radeon: add VM CS parser support for async DMA on cayman/TN/SI Allows us to use async DMA from userspace. Signed-off-by: Alex Deucher commit d2ead3eaf8a4bf92129eda69189ce18a6c1cc8bd Author: Alex Deucher Date: Thu Dec 13 09:55:45 2012 -0500 drm/radeon/kms: add evergreen/cayman CS parser for async DMA (v2) Allows us to use the DMA ring from userspace. DMA doesn't have a good NOP packet in which to embed the reloc idx, so userspace has to add a reloc for each buffer used and order them to match the command stream. v2: fix address bounds checking Signed-off-by: Alex Deucher commit cf4ccd016bae1a03bb38170eb54b5db4b04e0545 Author: Alex Deucher Date: Fri Nov 18 10:19:47 2011 -0500 drm/radeon/kms: add 6xx/7xx CS parser for async DMA (v2) Allows us to use the DMA ring from userspace. DMA doesn't have a good NOP packet in which to embed the reloc idx, so userspace has to add a reloc for each buffer used and order them to match the command stream. v2: fix address bounds checking, reloc indexing Signed-off-by: Alex Deucher commit 4ac0533abaec2b83a7f2c675010eedd55664bc26 Author: Jerome Glisse Date: Thu Dec 13 12:08:11 2012 -0500 drm/radeon: fix htile buffer size computation for command stream checker Fix the size computation of the htile buffer. Signed-off-by: Jerome Glisse Signed-off-by: Alex Deucher commit 9af20792124850369e764965690b99b20623dfc4 Author: Daniel Vetter Date: Tue Dec 11 23:42:24 2012 +0100 drm/radeon: fix fence locking in the pageflip callback We need to hold bdev->fence_lock while grabbing a reference to the fence, to prevent concurrent clearing/changing of the ttm_bo->sync_obj field. Signed-off-by: Daniel Vetter Signed-off-by: Alex Deucher commit 2c385151ed6db8ded2faa3328f0377e6c5fa1e89 Author: Daniel Vetter Date: Sun Dec 2 14:06:15 2012 +0100 drm/radeon: make indirect register access concurrency-safe With the new per-crtc locking mutliple set-cursor calls could happen in parallel. Out of sheer paranoia I've opted for an irqsave spinlock. But if there's indeed an access from interrupt contexts to these regs it's already broken with the old code, so this can likely just be reduced to a normal spinlock. Otoh the pageflip completion happens from the vblank irq handler ... Signed-off-by: Daniel Vetter Signed-off-by: Alex Deucher commit 2ef9bdfe64079c9d0b98dc89af3af52918b818a0 Author: Daniel Vetter Date: Sun Dec 2 14:02:51 2012 +0100 drm/radeon: add W|RREG32_IDX for MM_INDEX|DATA based mmio accesss Just refactoring to make the next patche simpler. Now all indirect register access in the new modesetting driver should go through the r100_mm_(w|r)reg fucntions. RADEON_READ_MM from the old driver seems to be totally unused, so just kill it. Signed-off-by: Daniel Vetter Signed-off-by: Alex Deucher commit ca555e5ab701d00bd91a541778f5aa432d18d478 Author: Joonyoung Shim Date: Fri Dec 14 15:48:24 2012 +0900 drm/exynos: support extended screen coordinate of fimd The fimd of exynos5 SoC supports extended screen coordinate. Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit f56aad3a697a0189c76100236190e26c1f8e446b Author: Joonyoung Shim Date: Fri Dec 14 15:48:23 2012 +0900 drm/exynos: fix x, y coordinates for right bottom pixel The x, y coordinates of right bottom pixel cannot be negative numbers. Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 60a705a9f97b83b1daf03295bf123af84a46116a Author: Joonyoung Shim Date: Fri Dec 14 15:48:22 2012 +0900 drm/exynos: fix fb offset calculation for plane There is no any reason to change fb offset when CRTC is out of screen. Also, this fixes a typing error. Signed-off-by: Joonyoung Shim Signed-off-by: Kyungmin Park Signed-off-by: Inki Dae commit 1a4513b344fe1361ccb4936cf2c0526693297c33 Author: Sachin Kamat Date: Wed Dec 12 14:24:08 2012 +0530 drm/exynos: hdmi: Fix potential NULL pointer dereference error This is an unlikely case. However to silence the following smatch error add a NULL check: drivers/gpu/drm/exynos/exynos_hdmi.c:2486 hdmi_probe() error: potential NULL dereference 'match'. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae commit 65da03507735f288b2c6250def1f5142bf6d5667 Author: Sachin Kamat Date: Wed Dec 12 14:24:07 2012 +0530 drm/exynos: hdmi: Add CONFIG_OF and use of_match_ptr() macro Add CONFIG_OF to compile conditionally. of_match_ptr eliminates having an #ifdef returning NULL for the case when OF is disabled. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae commit a55622570dc3e2d294db2ca7677cc32d65dfbf33 Author: Rahul Sharma Date: Wed Nov 28 11:30:25 2012 +0530 drm/exynos: add support for hdmiphy power control for exynos5 This patch adds support for controlling power of hdmi phy for exynos5 soc. A special bit is provided in exynos5 for directly switching of PHY while in exynos4, phy power needs to be controlled through i2c settings. I2C configuration may affect the suspend to resume and wake-up time requirements hence not added. Signed-off-by: Rahul Sharma Signed-off-by: Inki Dae commit 000f13083d38681eaa3038c65d499f6ad5d62625 Author: Rahul Sharma Date: Wed Nov 28 11:30:24 2012 +0530 drm/exynos: add runtime pm support for mixer This patch adds support for runtime power management for drm mixer driver. Signed-off-by: Rahul Sharma Signed-off-by: Shirish S Signed-off-by: Inki Dae commit 64327cb35acea0e3046d7c08d90b84ab83d5e7d1 Author: Rahul Sharma Date: Wed Nov 28 11:30:23 2012 +0530 drm/exynos: added runtime pm support for hdmi This patch adds runtime power management support for exynos drm hdmi driver. Signed-off-by: Rahul Sharma Signed-off-by: Shirish S Signed-off-by: Inki Dae commit 1169af218010ec7420c2f66c10284047774ba96c Author: Inki Dae Date: Fri Dec 14 14:34:31 2012 +0900 drm/exynos: fix allocation and cache mapping type This patch fixes memory alloction(contiguous or not) and cache mapping types(cachable or not). For this, it converts each type from user request into dma attribute properly. Changelog v2: - just code cleanup. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit f2c0095acbf250b0e7a714bc42f7f32ddb34cfdf Author: Daniel Vetter Date: Fri Dec 14 13:39:03 2012 +0900 drm/exynos: reorder framebuffer init sequence For user framebuffers it's easier to just inline the exynos_drm_framebuffer_init helper instead of trying to adjust it - most of the things that helper sets up need to be overwritten anyway again due to the multiple backing storage objects support exynos has, but does not use for the fbdev. Changelog v2: - fix NULL point issue to first gem object of exynos drm framebuffer. Signed-off-by: Daniel Vetter Signed-off-by: Inki Dae commit 20652097dadd9a7fb4d652f25466299974bc78f9 Author: Zhenyu Wang Date: Thu Dec 13 23:47:47 2012 +0800 drm/i915: Fix missed needs_dmar setting From Ben's AGP dependence removal change, "needs_dmar" flag has not been properly setup for new chips using new GTT init function. This one adds missed setting of that flag to make sure we do pci mappings with IOMMU enabled. Signed-off-by: Zhenyu Wang Signed-off-by: Daniel Vetter commit 193c0d682525987db59ac3a24531a77e4947aa95 Merge: 8b0cab1 1cb73f8 Author: Linus Torvalds Date: Thu Dec 13 12:14:47 2012 -0800 Merge tag 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI update from Bjorn Helgaas: "Host bridge hotplug: - Untangle _PRT from struct pci_bus (Bjorn Helgaas) - Request _OSC control before scanning root bus (Taku Izumi) - Assign resources when adding host bridge (Yinghai Lu) - Remove root bus when removing host bridge (Yinghai Lu) - Remove _PRT during hot remove (Yinghai Lu) SRIOV - Add sysfs knobs to control numVFs (Don Dutile) Power management - Notify devices when power resource turned on (Huang Ying) Bug fixes - Work around broken _SEG on HP xw9300 (Bjorn Helgaas) - Keep runtime PM enabled for unbound PCI devices (Huang Ying) - Fix Optimus dual-GPU runtime D3 suspend issue (Dave Airlie) - Fix xen frontend shutdown issue (David Vrabel) - Work around PLX PCI 9050 BAR alignment erratum (Ian Abbott) Miscellaneous - Add GPL license for drivers/pci/ioapic (Andrew Cooks) - Add standard PCI-X, PCIe ASPM register #defines (Bjorn Helgaas) - NumaChip remote PCI support (Daniel Blueman) - Fix PCIe Link Capabilities Supported Link Speed definition (Jingoo Han) - Convert dev_printk() to dev_info(), etc (Joe Perches) - Add support for non PCI BAR ROM data (Matthew Garrett) - Add x86 support for host bridge translation offset (Mike Yoknis) - Report success only when every driver supports AER (Vijay Pandarathil)" Fix up trivial conflicts. * tag 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (48 commits) PCI: Use phys_addr_t for physical ROM address x86/PCI: Add NumaChip remote PCI support ath9k: Use standard #defines for PCIe Capability ASPM fields iwlwifi: Use standard #defines for PCIe Capability ASPM fields iwlwifi: collapse wrapper for pcie_capability_read_word() iwlegacy: Use standard #defines for PCIe Capability ASPM fields iwlegacy: collapse wrapper for pcie_capability_read_word() cxgb3: Use standard #defines for PCIe Capability ASPM fields PCI: Add standard PCIe Capability Link ASPM field names PCI/portdrv: Use PCI Express Capability accessors PCI: Use standard PCIe Capability Link register field names x86: Use PCI setup data PCI: Add support for non-BAR ROMs PCI: Add pcibios_add_device EFI: Stash ROMs if they're not in the PCI BAR PCI: Add and use standard PCI-X Capability register names PCI/PM: Keep runtime PM enabled for unbound PCI devices xen-pcifront: Handle backend CLOSED without CLOSING PCI: SRIOV control and status via sysfs (documentation) PCI/AER: Report success only when every device has AER-aware driver ... commit fd62c5450324af7f6cc12897b09b77285cd48a92 Merge: a2013a1 818b930 Author: Linus Torvalds Date: Thu Dec 13 12:00:48 2012 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID subsystem updates from Jiri Kosina: 1) Support for HID over I2C bus has been added by Benjamin Tissoires. ACPI device discovery is still in the works. 2) Support for Win8 Multitiouch protocol is being added, most work done by Benjamin Tissoires as well 3) EIO/ERESTARTSYS is fixed in hiddev/hidraw, fixes by Andrew Duggan and Jiri Kosina 4) ION iCade driver added by Bastien Nocera 5) Support for a couple new Roccat devices has been added by Stefan Achatz 6) HID sensor hubs are now auto-detected instead of having to list all the VID/PID combinations in the blacklist array 7) other random fixes and support for new device IDs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (65 commits) HID: i2c-hid: add mutex protecting open/close race Revert "HID: sensors: add to special driver list" HID: sensors: autodetect USB HID sensor hubs HID: hidp: fallback to input session properly if hid is blacklisted HID: i2c-hid: fix ret_count check HID: i2c-hid: fix i2c_hid_get_raw_report count mismatches HID: i2c-hid: remove extra .irq field in struct i2c_hid HID: i2c-hid: reorder allocation/free of buffers HID: i2c-hid: fix memory corruption due to missing hid declaration HID: i2c-hid: remove superfluous include HID: i2c-hid: remove unneeded test in i2c_hid_remove HID: i2c-hid: i2c_hid_get_report may fail HID: i2c-hid: also call i2c_hid_free_buffers in i2c_hid_remove HID: i2c-hid: fix error messages HID: i2c-hid: fix return paths HID: i2c-hid: remove unused static declarations HID: i2c-hid: fix i2c_hid_dbg macro HID: i2c-hid: fix checkpatch.pl warning HID: i2c-hid: enhance Kconfig HID: i2c-hid: change I2C name ... commit a2013a13e68354e0c8f3696b69701803e13fb737 Merge: dadfab4 106f9d9 Author: Linus Torvalds Date: Thu Dec 13 12:00:02 2012 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial branch from Jiri Kosina: "Usual stuff -- comment/printk typo fixes, documentation updates, dead code elimination." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits) HOWTO: fix double words typo x86 mtrr: fix comment typo in mtrr_bp_init propagate name change to comments in kernel source doc: Update the name of profiling based on sysfs treewide: Fix typos in various drivers treewide: Fix typos in various Kconfig wireless: mwifiex: Fix typo in wireless/mwifiex driver messages: i2o: Fix typo in messages/i2o scripts/kernel-doc: check that non-void fcts describe their return value Kernel-doc: Convention: Use a "Return" section to describe return values radeon: Fix typo and copy/paste error in comments doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c various: Fix spelling of "asynchronous" in comments. Fix misspellings of "whether" in comments. eisa: Fix spelling of "asynchronous". various: Fix spelling of "registered" in comments. doc: fix quite a few typos within Documentation target: iscsi: fix comment typos in target/iscsi drivers treewide: fix typo of "suport" in various comments and Kconfig treewide: fix typo of "suppport" in various comments ... commit a0e41b562b3e302b47f887056d89189b816ce219 Author: Wei Yongjun Date: Mon Dec 10 02:11:13 2012 -0500 drm/exynos/iommu: fix return value check in drm_create_iommu_mapping() In case of error, function arm_iommu_create_mapping() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun Signed-off-by: Inki Dae commit ddd8e9594a2fc2b5bff40308483ec16a88e295ff Author: YoungJun Cho Date: Mon Dec 10 15:44:58 2012 +0900 drm/exynos: remove unused vaddr member This patch removes vaddr member from exynos_drm_overlay structure and also relevant codes for code cleanup. Signed-off-by: YoungJun Cho Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 4744ad2414bd890d37a99df4726be733137aa3f7 Author: Inki Dae Date: Fri Dec 7 17:51:27 2012 +0900 drm/exynos: use DMA_ATTR_NO_KERNEL_MAPPING attribute Changelog v3: just code cleanup. Changelog v2: fix argument to dma_mmap_attr function. - use pages instead of kvaddr because kvaddr is 0 with DMA_ATTR_NO_KERNEL_MAPPING. Changelog v1: When gem allocation is requested, kernel space mapping isn't needed. But if need, such as console framebuffer, the physical pages would be mapped with kernel space though vmap function. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 662aa6d7632cab054277bafda67d13d9a8a81929 Author: Inki Dae Date: Fri Dec 7 18:06:43 2012 +0900 drm/exynos: add exception codes to exynos_drm_fbdev_create() This patch releases allocated resources correctly. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit db7e55ae527ccbca300eb5b15f5428b83325328d Author: Prathyush K Date: Thu Dec 6 20:16:06 2012 +0530 drm/exynos: clear windows in fimd dpms off Changelog v2: Added details of original patch in chromium kernel Changelog v1: When fimd is turned off, we disable the clocks which will stop the dma. Now if we remove the current framebuffer, we cannot disable the overlay but the current framebuffer will still be freed. When fimd resumes, the dma will continue from where it left off and will throw a PAGE FAULT since the memory was freed. This patch fixes the above problem by disabling the fimd windows before disabling the fimd clocks. It also keeps track of which windows were currently active by setting the 'resume' flag. When fimd resumes, the window with a resume flag set is enabled again. Now if a current fb is removed when fimd is off, fimd_win_disable will set the 'resume' flag of that window to zero and return. So when fimd resumes, that window will not be resumed. This patch is based on the following two patches: http://git.chromium.org/gitweb/?p=chromiumos/third_party/kernel.git;a=commitdiff;h=341e973c967304976a762211b6465b0074de62ef http://git.chromium.org/gitweb/?p=chromiumos/third_party/kernel.git;a=commitdiff;h=cfa22e49b7408547c73532c4bb03de47cc034a05 These two patches are rebased onto the current kernel with additional changes like removing 'fimd_win_commit' call from the resume function since this is taken care by encoder dpms, and the modification of resume flag in win_disable. Signed-off-by: Prathyush K Signed-off-by: Sean Paul Signed-off-by: Stephane Marchesin Signed-off-by: Inki Dae commit db43fd1624ed502beed604cd8e77aa921f9e555f Author: Prathyush K Date: Thu Dec 6 20:16:05 2012 +0530 drm/exynos: clear windows in mixer dpms off When mixer is turned off, we disable the clocks which will stop the dma. Now if we remove the current framebuffer, we cannot disable the overlay but the current framebuffer will still be freed. When mixer resumes, the dma will continue from where it left off and will throw a PAGE FAULT since the memory was freed. This patch fixes the above problem by disabling the mixer windows before disabling the mixer clocks. It also keeps track of which windows were currently active by setting the 'resume' flag. When mixer resumes, the window with a resume flag set is enabled again. Now if a current fb is removed when mixer is off, mixer_win_disable will set the 'resume' flag of that window to zero and return. So when mixer resumes, that window will not be resumed. Signed-off-by: Prathyush K Signed-off-by: Inki Dae commit 01ce113ca5b18aea4c97dea62287394ca4f8ad7f Author: Prathyush K Date: Thu Dec 6 20:16:04 2012 +0530 drm/exynos: modify wait_for_vblank of fimd It is more optimium to use wait queues while waiting for vsync so that the current task is put to sleep. This way, the task wont hog the CPU while waiting. We use wait_event_timeout and not an interruptible function since we dont want the function to exit when a signal is pending (e.g. drm release). This patch modifies the wait for vblank function of fimd. Signed-off-by: Prathyush K Signed-off-by: Inki Dae commit 6e95d5e6f572d6bf1e1b0ff4c94ded8e4841d630 Author: Prathyush K Date: Thu Dec 6 20:16:03 2012 +0530 drm/exynos: modify wait_for_vblank of mixer It is more optimium to use wait queues while waiting for vsync so that the current task is put to sleep. This way, the task wont hog the CPU while waiting. We use wait_event_timeout and not an interruptible function since we dont want the function to exit when a signal is pending (e.g. drm release). This patch modifies the wait for vblank function of mixer. Signed-off-by: Prathyush K Signed-off-by: Inki Dae commit 0703397039de7e87f780ebbf6283df7d89997075 Author: Prathyush K Date: Thu Dec 6 20:16:02 2012 +0530 drm/exynos: move fimd wait_for_vblank to manager_ops The wait for vblank callback is moved from overlay_ops to manager_ops for fimd. Signed-off-by: Prathyush K Signed-off-by: Inki Dae commit 8137a2e21a3465d91d86b49cfebcc370438b77bd Author: Prathyush K Date: Thu Dec 6 20:16:01 2012 +0530 drm/exynos: move hdmi's wait_for_vblank to manager_ops The wait_for_vblank callback of hdmi and mixer is now moved from overlay_ops to manager_ops. Signed-off-by: Prathyush K Signed-off-by: Inki Dae commit f74085a9f87087d70028dcc18563dba4a42ce32c Author: Prathyush K Date: Thu Dec 6 20:16:00 2012 +0530 drm/exynos: make wait_for_vblank a manager op Changelog v2: remove unnecessay wait_for_vblank call. - with this patch, wait_for_vblank callback is moved from overlay ops to manager ops so it should be removed and it doesn't need to wait vblank signal at plane disable. Changelog v1: The wait_for_vblank callback is moved from overlay ops to manager ops of exynos drm driver. Also, the check for DPMS OFF of encoder is removed before calling wait_for_vblank. Signed-off-by: Prathyush K Signed-off-by: Inki Dae commit a7b362fb3bba310426b90e7bac83a2206808e425 Author: Inki Dae Date: Wed Nov 28 19:09:31 2012 +0900 drm/exynos: add dmabuf attach/detach callbacks. With this patch, When dma_buf_unmap_attachment is called, the pages of sgt aren't unmapped from iommu table. Instead, when dma_buf_detach is called, that would be done. And also removes exynos_get_sgt function used to get clone sgt and uses attachment's sgt instead. This patch would resolve performance deterioration issue when v4l2-based driver is using the buffer imported from gem. This change is derived from videobuf2-dma-contig.c Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit ae9dace2903db86b27f19d40c1d1b21a6f712895 Author: Rahul Sharma Date: Tue Oct 16 05:50:13 2012 +0530 drm: exynos: moved exynos drm hdmi device registration to drm driver This patch moved the exynos-drm-hdmi platform device registration to the drm driver. When DT is enabled, platform devices needs to be registered within the driver code. This patch fits the requirement of both DT and Non DT based drm drivers. Signed-off-by: Rahul Sharma Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 422bd00ea640b9aacb6bdd3903b76f69e72fba8d Author: Rahul Sharma Date: Tue Oct 16 05:50:12 2012 +0530 drm: exynos: moved exynos drm device registration to drm driver This patch moved the exynos-drm platform device registration to the drm driver. When DT is enabled, platform devices needs to be registered within the driver code. This patch fits the requirement of both DT and Non DT based drm drivers. Signed-off-by: Rahul Sharma Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 6be35c700f742e911ecedd07fcc43d4439922334 Merge: e37aa63 520dfe3 Author: Linus Torvalds Date: Wed Dec 12 18:07:07 2012 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking changes from David Miller: 1) Allow to dump, monitor, and change the bridge multicast database using netlink. From Cong Wang. 2) RFC 5961 TCP blind data injection attack mitigation, from Eric Dumazet. 3) Networking user namespace support from Eric W. Biederman. 4) tuntap/virtio-net multiqueue support by Jason Wang. 5) Support for checksum offload of encapsulated packets (basically, tunneled traffic can still be checksummed by HW). From Joseph Gasparakis. 6) Allow BPF filter access to VLAN tags, from Eric Dumazet and Daniel Borkmann. 7) Bridge port parameters over netlink and BPDU blocking support from Stephen Hemminger. 8) Improve data access patterns during inet socket demux by rearranging socket layout, from Eric Dumazet. 9) TIPC protocol updates and cleanups from Ying Xue, Paul Gortmaker, and Jon Maloy. 10) Update TCP socket hash sizing to be more in line with current day realities. The existing heurstics were choosen a decade ago. From Eric Dumazet. 11) Fix races, queue bloat, and excessive wakeups in ATM and associated drivers, from Krzysztof Mazur and David Woodhouse. 12) Support DOVE (Distributed Overlay Virtual Ethernet) extensions in VXLAN driver, from David Stevens. 13) Add "oops_only" mode to netconsole, from Amerigo Wang. 14) Support set and query of VEB/VEPA bridge mode via PF_BRIDGE, also allow DCB netlink to work on namespaces other than the initial namespace. From John Fastabend. 15) Support PTP in the Tigon3 driver, from Matt Carlson. 16) tun/vhost zero copy fixes and improvements, plus turn it on by default, from Michael S. Tsirkin. 17) Support per-association statistics in SCTP, from Michele Baldessari. And many, many, driver updates, cleanups, and improvements. Too numerous to mention individually. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits) net/mlx4_en: Add support for destination MAC in steering rules net/mlx4_en: Use generic etherdevice.h functions. net: ethtool: Add destination MAC address to flow steering API bridge: add support of adding and deleting mdb entries bridge: notify mdb changes via netlink ndisc: Unexport ndisc_{build,send}_skb(). uapi: add missing netconf.h to export list pkt_sched: avoid requeues if possible solos-pci: fix double-free of TX skb in DMA mode bnx2: Fix accidental reversions. bna: Driver Version Updated to 3.1.2.1 bna: Firmware update bna: Add RX State bna: Rx Page Based Allocation bna: TX Intr Coalescing Fix bna: Tx and Rx Optimizations bna: Code Cleanup and Enhancements ath9k: check pdata variable before dereferencing it ath5k: RX timestamp is reported at end of frame ath9k_htc: RX timestamp is reported at end of frame ... commit 86a1881d08f65a42c17071a59c0088dbe2870246 Author: Jerome Glisse Date: Wed Dec 12 16:43:15 2012 -0500 drm/radeon: fix fence driver for dma ring when wb is disabled The dma ring can't write to register thus have to write to memory its fence value. This ensure that it doesn't try to use scratch register for dma ring fence driver. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=58166 Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher commit 5aa709be7e60a8296859766935f92bce51465341 Author: Alex Deucher Date: Mon Dec 3 19:42:37 2012 -0500 drm/radeon/si: add VM CS checker support for CP DMA Need to verify for copies involving registers. Signed-off-by: Alex Deucher commit 94e014ee98e98dedb080ed1cdf510a583ed0514b Author: Alex Deucher Date: Mon Dec 3 19:32:54 2012 -0500 drm/radeon/cayman: add VM CS checker support for CP DMA Need to verify for copies involving registers. Signed-off-by: Alex Deucher commit 8770b86b3e02c3e30f2ffc42753ff9d62bc428bf Author: Alex Deucher Date: Mon Dec 3 19:18:30 2012 -0500 drm/radeon: add support for CP DMA packet to evergreen CS checker Currently only memory and GDS transfers are allowed. Signed-off-by: Alex Deucher commit 6830f585724e1db5609dab0b059ea2e338bd9cc2 Author: Alex Deucher Date: Mon Dec 3 19:03:23 2012 -0500 drm/radeon: add support for CP DMA packet to r6xx/r7xx CS checker Currently only memory to memory transfers are allowed. Signed-off-by: Alex Deucher commit b997a8ba26377895506a26a3f2b8f1e7abc4ed22 Author: Alex Deucher Date: Mon Dec 3 18:07:25 2012 -0500 drm/radeon: add register headers for CP DMA on r6xx-SI Signed-off-by: Alex Deucher commit 818b930bc15077fc00ff16bb22c5df1857f05afa Merge: f9af7b9 b553131 7a7d6d9 1b42fc4 955dca3 68fd32b 4529eef Author: Jiri Kosina Date: Wed Dec 12 21:41:55 2012 +0100 Merge branches 'for-3.7/upstream-fixes', 'for-3.8/hidraw', 'for-3.8/i2c-hid', 'for-3.8/multitouch', 'for-3.8/roccat', 'for-3.8/sensors' and 'for-3.8/upstream' into for-linus Conflicts: drivers/hid/hid-core.c commit 6253e4c75d96006c06b9ac8f417eba873de2497b Author: Alex Deucher Date: Wed Dec 12 14:30:32 2012 -0500 drm/radeon: improve mc_stop/mc_resume on r5xx-r7xx Along the same lines of what was done for evergreen+ in the last kernel. Signed-off-by: Alex Deucher commit bd25f0783dc3fb72e1e2779c2b99b2d34b67fa8a Author: Jerome Glisse Date: Tue Dec 11 11:56:52 2012 -0500 drm/radeon: fix amd afusion gpu setup aka sumo v2 Set the proper number of tile pipe that should be a multiple of pipe depending on the number of se engine. Fix: https://bugs.freedesktop.org/show_bug.cgi?id=56405 https://bugs.freedesktop.org/show_bug.cgi?id=56720 v2: Don't change sumo2 Signed-off-by: Jerome Glisse Cc: stable@vger.kernel.org Reviewed-by: Alex Deucher commit d025e9e2b890db679f1246037bf65bd4be512627 Author: Jerome Glisse Date: Thu Nov 29 10:35:41 2012 -0500 drm/radeon: do not move bo to different placement at each cs The bo creation placement is where the bo will be. Instead of trying to move bo at each command stream let this work to another worker thread that will use more advance heuristic. agd5f: remove leftover unused variable Signed-off-by: Jerome Glisse Reviewed-by: Alex Deucher commit c6bd5bcc4983f1a2d2f87a3769bf309482ee8c04 Merge: 8966961 b0ab023 Author: Linus Torvalds Date: Tue Dec 11 14:08:47 2012 -0800 Merge tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull TTY/Serial merge from Greg Kroah-Hartman: "Here's the big tty/serial tree set of changes for 3.8-rc1. Contained in here is a bunch more reworks of the tty port layer from Jiri and bugfixes from Alan, along with a number of other tty and serial driver updates by the various driver authors. Also, Jiri has been coerced^Wconvinced to be the co-maintainer of the TTY layer, which is much appreciated by me. All of these have been in the linux-next tree for a while. Signed-off-by: Greg Kroah-Hartman " Fixed up some trivial conflicts in the staging tree, due to the fwserial driver having come in both ways (but fixed up a bit in the serial tree), and the ioctl handling in the dgrp driver having been done slightly differently (staging tree got that one right, and removed both TIOCGSOFTCAR and TIOCSSOFTCAR). * tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (146 commits) staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer() staging/fwserial: Remove superfluous free staging/fwserial: Use WARN_ONCE when port table is corrupted staging/fwserial: Destruct embedded tty_port on teardown staging/fwserial: Fix build breakage when !CONFIG_BUG staging: fwserial: Add TTY-over-Firewire serial driver drivers/tty/serial/serial_core.c: clean up HIGH_BITS_OFFSET usage staging: dgrp: dgrp_tty.c: Audit the return values of get/put_user() staging: dgrp: dgrp_tty.c: Remove the TIOCSSOFTCAR ioctl handler from dgrp driver serial: ifx6x60: Add modem power off function in the platform reboot process serial: mxs-auart: unmap the scatter list before we copy the data serial: mxs-auart: disable the Receive Timeout Interrupt when DMA is enabled serial: max310x: Setup missing "can_sleep" field for GPIO tty/serial: fix ifx6x60.c declaration warning serial: samsung: add devicetree properties for non-Exynos SoCs serial: samsung: fix potential soft lockup during uart write tty: vt: Remove redundant null check before kfree. tty/8250 Add check for pci_ioremap_bar failure tty/8250 Add support for Commtech's Fastcom Async-335 and Fastcom Async-PCIe cards tty/8250 Add XR17D15x devices to the exar_handle_irq override ... commit f9c4d420c12de65e58a1a14ccee03e8b5cf99f5b Merge: 75be437 c66cfd5 Author: John W. Linville Date: Tue Dec 11 16:24:55 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit c66cfd5325bb215a251f4685fac8718b1da33197 Merge: ecbbec2 8acbcdd Author: John W. Linville Date: Tue Dec 11 16:04:03 2012 -0500 Merge branch 'for-john' of git://git.sipsolutions.net/mac80211-next commit ecbbec2eb093d2ef205de371af986f0360fca539 Merge: 36b07d1 25a1726 Author: John W. Linville Date: Tue Dec 11 16:03:03 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 36b07d15a656b657beaf9e6357a341768192fad2 Author: Gabor Juhos Date: Tue Dec 11 00:06:41 2012 +0100 ath9k: check pdata variable before dereferencing it Due to my recent commit (ath9k: allow to load EEPROM content via firmware API) smatch complains about that the 'pdata' variable in 'ath9k_hw_init' can be NULL and it is dereferenced before checking that. That is absolutely correct. Check the 'pdata' variable before using it to avoid a NULL pointer dereference. Reported-by: Dan Carpenter Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit e576defd1fe1ade5afe590eadd556dce5473fc26 Author: Thomas Pedersen Date: Mon Dec 10 14:48:03 2012 -0800 ath5k: RX timestamp is reported at end of frame This is true for at least AR5213, and shouldn't be different for other ath5k PHYs. Tested on AR2413 and AR5414. Signed-off-by: Thomas Pedersen Tested-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 75d7dbc280bb75d2bdce59c5969a812f38255f54 Author: Thomas Pedersen Date: Mon Dec 10 14:48:02 2012 -0800 ath9k_htc: RX timestamp is reported at end of frame Accurate RX timestamp reporting is important for proper IBSS merging, mesh synchronization, and MCCA scheduling. Namely, knowing where the TSF is recorded is needed to sync with the beacon timestamp field. Tested with AR9271. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 96d21371ac8583d0935e5c41a798004084789606 Author: Thomas Pedersen Date: Mon Dec 10 14:48:01 2012 -0800 ath9k: RX timestamp is reported at end of frame Accurate RX timestamp reporting is important for proper IBSS merging, mesh synchronization, and MCCA scheduling. Namely, knowing where the TSF is recorded is needed to sync with the beacon timestamp field. Tested with AR9280. Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit fe8e41054255b0006a823a4ce771d7a717fc9481 Author: John W. Linville Date: Tue Dec 11 15:55:02 2012 -0500 rt2800usb: reorganize 2001:3c1e in usb id table Wi-Fi adapter Someone who physically disassembled the device confirms that its chipset is Ralink RT5370n. (Fixed-up after having already merged original patch. -- JWL) Signed-off-by: Maia Kozheva Reviewed-by: Xose Vazquez Perez Signed-off-by: John W. Linville commit a71258d79e3d05632e90c9f7db5ccf929d276529 Author: Abhijit Pawar Date: Mon Dec 10 19:30:52 2012 +0000 net: remove obsolete simple_strto This patch removes the redundant occurences of simple_strto Signed-off-by: Abhijit Pawar Signed-off-by: David S. Miller commit 335c07b7982eff480afdf8c9b25225511dd07031 Author: Takashi Iwai Date: Tue Dec 11 11:46:29 2012 +0100 drm/i915: Fix shifted screen on top of LVDS on IVY laptop The commit [23670b322: drm/i915: CPT+ pch transcoder workaround] caused a regression on some HP laptops with IvyBridge. The whole laptop screen is shifted downward for a few pixels constantly. The problem appears only on LVDS while DP and VGA seem unaffected. Also, the problem disappears once when go and back from S3. (S4 resume still shows the same problem.) This patch revives the minimum part the commit above dropped. For fixing this regression, only the setup of CHICKEN2 bit in cpt_init_clock_gating() is needed. Signed-off-by: Takashi Iwai Signed-off-by: Daniel Vetter commit a636a9829175987e74ddd28a2e87ed17ff7adfdc Merge: 97a875c bf66a78 Author: Dave Airlie Date: Tue Dec 11 08:46:03 2012 +1000 Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next Alex writes: "adds support for the asynchronous DMA engines on r6xx-SI. These engines are used for ttm bo moves and VM page table updates currently. They could also be exposed via the CS ioctl for userspace use, but I haven't had a chance to add proper CS checker patches for them yet. These patches have been tested extensively internally for months, so they should be pretty solid." * 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: use DMA engine for VM page table updates on SI drm/radeon: add dma engine support for vm pt updates on si (v2) drm/radeon: use DMA engine for VM page table updates on cayman/TN drm/radeon: add dma engine support for vm pt updates on ni (v5) drm/radeon: use async dma for ttm buffer moves on 6xx-SI drm/radeon/kms: add support for dma rings to radeon_test_moves() drm/radeon/kms: Add initial support for async DMA on SI drm/radeon/kms: Add initial support for async DMA on cayman/TN drm/radeon/kms: Add initial support for async DMA on evergreen drm/radeon/kms: Add initial support for async DMA on r6xx/r7xx commit bf66a786c92488dfc99cc7f19bc9eda7b4c98fa6 Author: Alex Deucher Date: Mon Oct 22 12:34:39 2012 -0400 drm/radeon: use DMA engine for VM page table updates on SI DMA engine has special packets to facilitate this and it also keeps the 3D engine free for other things. Signed-off-by: Alex Deucher commit deab48f140d28d788cb2b5705761a92b02e3440d Author: Alex Deucher Date: Mon Oct 22 12:32:54 2012 -0400 drm/radeon: add dma engine support for vm pt updates on si (v2) Async DMA has a special packet for contiguous pt updates which saves overhead. v2: rebase Signed-off-by: Alex Deucher commit 33e5467871b3007c4e6deea95b2cac38a55ff9f5 Author: Alex Deucher Date: Mon Oct 22 12:22:39 2012 -0400 drm/radeon: use DMA engine for VM page table updates on cayman/TN DMA engine has special packets to facilitate this and it also keeps the 3D engine free for other things. Signed-off-by: Alex Deucher commit 3b6b59b610f0c0f351e68ec3eff9ab51ef75fb1a Author: Alex Deucher Date: Mon Oct 22 12:19:01 2012 -0400 drm/radeon: add dma engine support for vm pt updates on ni (v5) Async DMA has a special packet for contiguous pt updates which saves overhead. v2: leave the CP method enabled for now as doing the updates in the DMA rings is not working properly yet. v3: update for 2 level pts v4: rebase v5: drop pte/pde packet. doesn't seem to work on NI. Signed-off-by: Alex Deucher commit 2d6cc7296d4ee128ab0fa3b715f0afde511f49c2 Author: Alex Deucher Date: Fri Jul 20 13:49:49 2012 -0400 drm/radeon: use async dma for ttm buffer moves on 6xx-SI Signed-off-by: Alex Deucher commit 009ee7a0d4520d7d7aa810ca3662c03580ceeaae Author: Alex Deucher Date: Mon Jun 4 18:45:15 2012 -0400 drm/radeon/kms: add support for dma rings to radeon_test_moves() Signed-off-by: Alex Deucher commit 8c5fd7efcc5c037bdfbf6d90639fcdc499824bbd Author: Alex Deucher Date: Tue Dec 4 15:28:18 2012 -0500 drm/radeon/kms: Add initial support for async DMA on SI Pretty much the same as cayman. Some changes to the copy packets. Signed-off-by: Alex Deucher commit f60cbd117a416830d5a7effc208eab8470a19167 Author: Alex Deucher Date: Tue Dec 4 15:27:33 2012 -0500 drm/radeon/kms: Add initial support for async DMA on cayman/TN There are 2 async DMA engines on cayman, one at 0xd000 and one at 0xd800. The programming interface is the same as evergreen however there are some changes to the commands for using vmids. Signed-off-by: Alex Deucher commit 233d1ad59a2895e348259bb6f9f4528a75ea7752 Author: Alex Deucher Date: Tue Dec 4 15:25:59 2012 -0500 drm/radeon/kms: Add initial support for async DMA on evergreen Pretty similar to 6xx/7xx except the count field increased in the packet header and the max IB size increased. Signed-off-by: Alex Deucher commit 4d75658bffea78f0c6f82fd46df1ec983ccacdf0 Author: Alex Deucher Date: Thu Sep 27 15:08:35 2012 -0400 drm/radeon/kms: Add initial support for async DMA on r6xx/r7xx Uses the new multi-ring infrastucture. 6xx/7xx has a single async DMA ring. Signed-off-by: Alex Deucher commit 8acbcddb5fb3a1dc081defe51b6ac42a7ab0b398 Author: Johannes Berg Date: Thu Nov 15 18:27:56 2012 +0100 minstrel: update stats after processing status Instead of updating stats before sending a packet, update them after processing the packet's status. This makes minstrel in line with minstrel_ht. Signed-off-by: Johannes Berg commit 25a172655f837bdb032e451f95441bb4acec51bb Author: Emmanuel Grumbach Date: Wed Nov 28 10:51:34 2012 +0200 iwlwifi: don't handle masked interrupt This can lead to a panic if the driver isn't ready to handle them. Since our interrupt line is shared, we can get an interrupt at any time (and CONFIG_DEBUG_SHIRQ checks that even when the interrupt is being freed). If the op_mode has gone away, we musn't call it. To avoid this the transport disables the interrupts when the hw is stopped and the op_mode is leaving. If there is an event that would cause an interrupt the INTA register is updated regardless of the enablement of the interrupts: even if the interrupts are disabled, the INTA will be changed, but the device won't issue an interrupt. But the ISR can be called at any time, so we ought ignore the value in the INTA otherwise we can call the op_mode after it was freed. I found this bug when the op_mode_start failed, and called iwl_trans_stop_hw(trans, true). Then I played with the RFKILL button, and removed the module. While removing the module, the IRQ is freed, and the ISR is called (CONFIG_DEBUG_SHIRQ enabled). Panic. Cc: stable@vger.kernel.org Signed-off-by: Emmanuel Grumbach Reviewed-by: Gregory Greenman Signed-off-by: Johannes Berg commit 27edb1accf5695ff00a32c85c4a00ac7e1e7f298 Author: Emmanuel Grumbach Date: Sun Dec 2 09:56:44 2012 +0200 iwlwifi: silently ignore fw flaws in Tx path We know that we have issues with the fw in the reclaim path. This is why iwl_reclaim doesn't complain too loud when it happens since it is recoverable. Somehow, the caller of iwl_reclaim however WARNed when it happens. This doesn't make any sense. When I digged into the history of that code, I discovered that this bug occurs only when we receive a BA notification. So move the W/A in the BA notification handling code where it was before. This patch addresses: http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2387 Cc: stable@vger.kernel.org Reported-by: Florian Reitmeir Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 8907a6fb6281a9aa25df2c7e2996cedcd6e5559f Author: Tim Gardner Date: Fri Dec 7 06:28:34 2012 -0700 iwlwifi: iwlagn_request_scan: Fix check for priv->scan_request The WARN_ON_ONCE() check for scan_request will not correctly detect a NULL pointer for scan_type == IWL_SCAN_NORMAL. Make it explicit that the check only applies to normal scans. Convert WARN_ON_ONCE to WARN_ON since priv->scan_request really _can't_ be NULL for normal scans. If it is then we should emit frequent warnings. This smatch warning led to scrutiny of iwlagn_request_scan(): drivers/net/wireless/iwlwifi/dvm/scan.c:894 iwlagn_request_scan() error: we previously assumed 'priv->scan_request' could be null (see line 792) Signed-off-by: Tim Gardner Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 539526b4137bc0e7a8806c38c8522f226814a0e6 Author: Daniel Vetter Date: Sat Dec 8 12:58:33 2012 +0100 drm/i915: disable cpt phase pointer fdi rx workaround We've originally added this in commit 291427f5fdadec6e4be2924172e83588880e1539 Author: Jesse Barnes Date: Fri Jul 29 12:42:37 2011 -0700 drm/i915: apply phase pointer override on SNB+ too and then copy-pasted it over to ivb/ppt. The w/a was originally added for ilk/ibx in commit 5b2adf897146edeac6a1e438fb67b5a53dbbdf34 Author: Jesse Barnes Date: Thu Oct 7 16:01:15 2010 -0700 drm/i915: add Ironlake clock gating workaround for FDI link training and fixed up a bit in commit 6f06ce184c765fd8d50669a8d12fdd566c920859 Author: Jesse Barnes Date: Tue Jan 4 15:09:38 2011 -0800 drm/i915: set phase sync pointer override enable before setting phase sync pointer It turns out that this w/a isn't actually required on cpt/ppt and positively harmful on ivb/ppt when using fdi B/C links - it results in a black screen occasionally, with seemingfully everything working as it should. The only failure indication I've found in the hw is that eventually (but not right after the modeset completes) a pipe underrun is signalled. Big thanks to Arthur Runyan for all the ideas for registers to check and changes to test, otherwise I couldn't ever have tracked this down! Cc: "Runyan, Arthur J" Cc: stable@vger.kernel.org Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 78f18df4b323d2ac14d6c82e2fc3c8dc4556bccc Author: Felix Fietkau Date: Mon Dec 10 17:40:21 2012 +0100 b43: fix tx path skb leaks ieee80211_free_txskb() needs to be used instead of dev_kfree_skb_any for tx packets passed to the driver from mac80211 Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 596ab5ec3bf10a22be30d7cb1d903a4b83fd607c Author: Felix Fietkau Date: Mon Dec 10 16:40:41 2012 +0100 ath5k: fix tx path skb leaks ieee80211_free_txskb() needs to be used instead of dev_kfree_skb_any for tx packets passed to the driver from mac80211 Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit ab5c4f71d8c7add173a2d32e5beefdaaf1b7cbbc Author: Gabor Juhos Date: Mon Dec 10 15:30:28 2012 +0100 ath9k: allow to load EEPROM content via firmware API The calibration data for devices w/o a separate EEPROM chip can be specified via the 'eeprom_data' field of 'ath9k_platform_data'. The 'eeprom_data' is usually filled from board specific setup functions. It is easy if the EEPROM data is mapped to the memory, but it can be complicated if it is stored elsewhere. The patch adds support for loading of the EEPROM data via the firmware API to avoid this limitation. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 0e4b9f2f12e94686855605eda64ea534a95d77f2 Author: Gabor Juhos Date: Mon Dec 10 15:30:27 2012 +0100 ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' The 'ath9k_hw_nvram_read' function takes a 'struct ath_common *' as its first argument. Almost each of its caller has a 'struct ath_hw *' parameter in their argument list, and that is dereferenced in order to get the 'struct ath_common' pointer. Change the first argument of 'ath9k_hw_nvram_read' to be a 'struct ath_hw *', and remove the dereference calls from the callers. Also change the type of the first argument of the ar9300_eeprom_read_{byte,word} functions. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7177d8f998c452701ad5352cca12408e26f80b07 Author: Gabor Juhos Date: Mon Dec 10 15:30:26 2012 +0100 ath9k: add EEPROM offset to debug message Show the EEPROM offset of the failed read operation in 'ath9k_hw_nvram_read'. The debug message is more informative this way. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 2fd2cdfb6d2f3c3d18f2e47f41679a7bde9bcbf3 Author: Gabor Juhos Date: Mon Dec 10 15:30:25 2012 +0100 ath9k: move duplicated debug message to 'ath9k_hw_nvram_read' The fill_eeprom functions are printing the same debug message in case the 'ath9k_hw_nvram_read' function fails. Remove the duplicated code from fill_eeprom functions and add the ath_dbg call directly into 'ath9k_hw_nvram_read'. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit b7c0c238898d200e80487516e2b67aba2a522cc0 Author: Felix Fietkau Date: Mon Dec 10 14:03:17 2012 +0100 ath9k_hw: Fix signal strength / channel noise reporting While AR_PHY_CCA_NOM_VAL_* does contain the expected internal noise floor for a chip measured in clean air, it refers to the lowest expected reading. Depending on the frequency, this measurement can vary by about 6db, thus causing a higher reported channel noise and signal strength. Factor in the 6db offset when converting internal noisefloor to channel noise. This patch makes the reported values more accurate for all chips without affecting NF calibration behavior. Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Signed-off-by: John W. Linville commit 3edfd10b45ae4ebe8ff905f626708c49e4fdc167 Author: Sujith Manoharan Date: Mon Dec 10 08:20:27 2012 +0530 ath9k_hw: Update intivals for AR9340 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 1562580e37e7a6936d591fd04cf9d7b79a096bf0 Author: Sujith Manoharan Date: Mon Dec 10 07:22:38 2012 +0530 ath9k_hw: Calculate the correct training power for PAPRD Assign the training power for PAPRD based on the chip. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0f21ee8d9c8a041b974cfb75d81d07b61bd0869f Author: Sujith Manoharan Date: Mon Dec 10 07:22:37 2012 +0530 ath9k_hw: Add HW cap for PAPRD Add a HW capability to indicate whether PAPRD is enabled for the card, since PAPRD could be enabled in the EEPROM, but disabled in the driver. This makes things clearer. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d882d242e4bfb2016e611a5aab0112fcece7a8ac Author: Sujith Manoharan Date: Mon Dec 10 07:22:36 2012 +0530 ath9k_hw: Fix PAPRD retraining for AR9485 Retraining of PAPRD based on agc2_pwr is required for chips other than AR9485. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 36d2943ba738a601e29cbd86fa6ab6ac838f3905 Author: Sujith Manoharan Date: Mon Dec 10 07:22:35 2012 +0530 ath9k_hw: Various trivial fixes for PAPRD * Remove unneeded memset. All the values in the PAPRD gain table are filled, so there is no need to zero out the arrays. * Use GFP_KERNEL in ar9003_paprd_create_curve This is called from the PAPRD work, so the atomic variant is not needed. * Change return type of ar9003_paprd_setup_gain_table Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 19f7842240eb30b1fdf4eacdd444bc9f61f97382 Author: Sujith Manoharan Date: Mon Dec 10 07:22:34 2012 +0530 ath9k: Fix redundant PS wrappers Move the PowerSave wrappers outside ath_paprd_activate(), since they are already being used in ath_paprd_calibrate(). Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 914d0f4def3817c295d3e8cbb7ea53bef8b0efcb Author: Sujith Manoharan Date: Mon Dec 10 07:22:33 2012 +0530 ath9k: Add a few debug messages for PAPRD Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8c723e2df2411eb02e697efb31f309136b747f7a Author: Sujith Manoharan Date: Mon Dec 10 07:22:32 2012 +0530 ath9k_hw: Fix PAPRD training The PAPRD training control registers have to be programmed with values that depend on the chip. This patch ensures that the correct values are chosen for the chip in use. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b8a95db7df48b5b2d378ff526f674c877c7fa8a1 Author: Sujith Manoharan Date: Mon Dec 10 07:22:31 2012 +0530 ath9k_hw: Fix PAPRD registers for AR9485 Various PAPRD registers are at addresses that are different from those for the rest of the chips in the AR9003 family. Fix them. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b3cd8021379306c0be6932e4d3b4b01efc681769 Author: Gabor Juhos Date: Sun Dec 9 23:57:09 2012 +0100 ath9k: ar9003: fix OTP register offsets for AR9340 Trying to access the OTP memory on the AR9340 causes a data bus error like this: Data bus error, epc == 86e84164, ra == 86e84164 Oops[#1]: Cpu 0 $ 0 : 00000000 00000061 deadc0de 00000000 $ 4 : b8115f18 00015f18 00000007 00000004 $ 8 : 00000001 7c7c3c7c 7c7c7c7c 7c7c7c7c $12 : 7c7c3c7c 001f0041 00000000 7c7c7c3c $16 : 86ee0000 00015f18 00000000 00000007 $20 : 00000004 00000064 00000004 86d71c44 $24 : 00000000 86e6ca00 $28 : 86d70000 86d71b20 86ece0c0 86e84164 Hi : 00000000 Lo : 00000064 epc : 86e84164 ath9k_hw_wait+0x58/0xb0 [ath9k_hw] Tainted: G O ra : 86e84164 ath9k_hw_wait+0x58/0xb0 [ath9k_hw] Status: 1100d403 KERNEL EXL IE Cause : 4080801c PrId : 0001974c (MIPS 74Kc) Modules linked in: ath9k(O+) ath9k_common(O) ath9k_hw(O) ath(O) ar934x_nfc mac80211(O) usbcore usb_common scsi_mod nls_base nand nand_ecc nand_ids crc_ccitt cfg80211(O) compat(O) arc4 aes_generic crypto_blkcipher cryptomgr aead crypto_hash crypto_algapi ledtrig_timer ledtrig_default_on leds_gpio Process insmod (pid: 459, threadinfo=86d70000, task=87942140, tls=779ac440) Stack : 802fb500 000200da 804db150 804e0000 87816130 86ee0000 00010000 86d71b88 86d71bc0 00000004 00000003 86e9fcd0 80305300 0002c0d0 86e74c50 800b4c20 000003e8 00000001 00000000 86ee0000 000003ff 86e9fd64 80305300 80123938 fffffffc 00000004 000058bc 00000000 86ea0000 86ee0000 000001ff 878d6000 99999999 86e9fdc0 86ee0fcc 86e9e664 0000c0d0 86ee0000 0000700000007000 ... Call Trace: [<86e84164>] ath9k_hw_wait+0x58/0xb0 [ath9k_hw] [<86e9fcd0>] ath9k_hw_setup_statusring+0x16b8/0x1c7c [ath9k_hw] Code: 0000a812 0040f809 00000000 <00531024> 1054000b 24020001 0c05b5dc 2404000a 26520001 The cause of the error is that the OTP register offsets are different on the AR9340 than the actually used values. Cc: # 3.0+ Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit fd7b9270120ca7e53fbf0469febe0c68acf6a0a2 Author: Maia Kozheva Date: Sun Dec 9 16:07:40 2012 +0700 rt2800usb: Add support for 2001:3c1e (D-Link DWA-125 rev B1) USB Wi-Fi adapter D-Link DWA-125/B1 is a relatively new USB Wi-Fi adapter, using a Ralink chipset supported by the rt2800usb driver. Currently, to work around the problem (it's missing in all present kernel versions, up to and including 3.7.x), I had to add this to /etc/rc.local: echo 2001 3c1e >> /sys/bus/usb/drivers/rt2800usb/new_id After that, the device works without problems. Been using it for over a week with no bugs in sight. The attached patch is trivial and simply adds the new USB ID to the list of devices handled by rt2800usb. Signed-off-by: Maia Kozheva Signed-off-by: John W. Linville commit fc5e286ff4ff6da3e76e6eb58c535e250ad2ff18 Author: Christian Lamparter Date: Sat Dec 8 15:24:56 2012 +0100 carl9170: fix copy and paste mishap in carl9170_handle_mpdu This patch fixes a regression which was introduced by: "carl9170: split up carl9170_handle_mpdu" Previously, the ieee80211_rx_status was kept on the stack of carl9170_handle_mpdu. Now it's passed into the function as a pointer parameter. Hence, the old memcpy call needs to be fixed. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9dd4ea51544de0f9679630592daa3d2147f298ed Author: Hauke Mehrtens Date: Fri Dec 7 17:10:03 2012 +0100 brcmsmac: add support for BCM43224 with PCI id of 14e4:a8d8 This device can be found on some embedded devices connected to a Broadcom SoC like the BCM4718. I tested this with my Netgear WNDR3400 v1. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 512ae05611179e6e98a48b5ddc4d263b7eb8a587 Author: Hauke Mehrtens Date: Fri Dec 7 17:04:13 2012 +0100 brcmsmac: do a read after the write of the objmem on broken PCIe controllers As described in the documentation of bcma_wflush16 in drivers/net /wireless/brcm80211/brcmsmac/types.h some PCIe controllers of Broadcom SoCs are broken. The PCIe controller on these SoCs are mostly used to connect some additional wifi device to the SoC and some of these wifi devices are supported by brcmsmac. For my BCM43224 connected to the broken PCIe controller of the BCM4718 I need an extra read after write in brcms_b_write_objmem() to prevent a Data bus error. This fixes the problem reading tsf_random later. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 4f7dc951e2dad489fb89b03d3f968d3a229dc9ec Author: Sujith Manoharan Date: Fri Dec 7 20:25:30 2012 +0530 ath9k: Fix regression in 'xmit' debugfs file Commit "ath9k: Fix the 'xmit' debugfs file" changed the the array size of ath_stats.txstats to IEEE80211_NUM_ACS, which is wrong because the HW queue number is used to update the statistics. Revert back to using ATH9K_NUM_TX_QUEUES. Reported-by: Felix Fietkau Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 576d28a7c73013717311cfcb514dbcae27c82eeb Author: Larry Finger Date: Thu Dec 6 21:55:16 2012 -0600 b43legacy: Fix firmware loading when driver is built into the kernel Recent versions of udev cause synchronous firmware loading from the probe routine to fail because the request to user space times out. The original fix for b43legacy (commit a3ea2c7) moved the firmware load from the probe routine to a work queue, but it still used synchronous firmware loading. This method is OK when b43legacy is built as a module; however, it fails when the driver is compiled into the kernel. This version changes the code to load the initial firmware file using request_firmware_nowait(). A completion event is used to hold the work queue until that file is available. The remaining firmware files are read synchronously. Signed-off-by: Larry Finger Cc: Stable (V3.4+) Signed-off-by: John W. Linville commit 6f80f01483d122174d9aa7864a8ac4050ba6daaa Author: Hauke Mehrtens Date: Fri Dec 7 00:35:53 2012 +0100 brcmsmac: add support for cores with revision 17 This adds support for bcma wifi core revision 17 which is found on BCM4716/4717/4718 SoCs. The firmware version 610.812 for brcmsmac found in linux-firmware does not support these cores, but a firmware generated with b43-fwcutter from the proprietary broadcom wireless driver works with these chips. This wifi core contains a revision 5 N-PHY and a revision 7 radio of type 0x2056. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 9c170e068636deb3e3f96114034bb711675f0faa Author: Felix Fietkau Date: Thu Dec 6 18:40:11 2012 +0100 Revert "ath9k_hw: Update AR9003 high_power tx gain table" This reverts commit f74b9d365ddd33a375802b064f96a5d0e99af7c0. Turns out reverting commit a240dc7b3c7463bd60cf0a9b2a90f52f78aae0fd "ath9k_hw: Updated AR9003 tx gain table for 5GHz" was not enough to bring the tx power back to normal levels on devices like the Buffalo WZR-HP-G450H, this one needs to be reverted as well. This revert improves tx power by ~10 db on that device Signed-off-by: Felix Fietkau Cc: stable@vger.kernel.org Cc: rmanohar@qca.qualcomm.com Signed-off-by: John W. Linville commit 168867351887f2a05f2550da6869926a1882f190 Author: Arend van Spriel Date: Wed Dec 5 15:26:04 2012 +0100 brcmfmac: remove WL_CONN() macro Get rid of WL_CONN(...) macro in favor of brcmf_dbg(CONN,...) Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 4e8a008e578635addbd5470215fdb6678051435a Author: Arend van Spriel Date: Wed Dec 5 15:26:03 2012 +0100 brcmfmac: remove WL_SCAN() macro Get rid of WL_SCAN(...) macro in favor of brcmf_dbg(SCAN,...) Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d96b801f0f549f86510e1731b56dfb4c3de86b6f Author: Arend van Spriel Date: Wed Dec 5 15:26:02 2012 +0100 brcmfmac: remove WL_TRACE() macro Get rid of WL_TRACE(...) macro in favor of brcmf_dbg(TRACE,...) Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 647c9ae0dde3b9dbcaa2e078f3b89a410ab9322c Author: Arend van Spriel Date: Wed Dec 5 15:26:01 2012 +0100 brcmfmac: replace WL_INFO() macro Get rid of WL_INFO() in favor of brcmf_dbg(INFO,...). Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 57d6e91a42377578771c4d3f47e55e53a9bb9ee1 Author: Arend van Spriel Date: Wed Dec 5 15:26:00 2012 +0100 brcmfmac: replace WL_ERR() with brcmf_err() Getting rid of wl_cfg80211 specific error log macro. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 9623aba87cd088b37965229697402097ec26c836 Author: Arend van Spriel Date: Wed Dec 5 15:25:59 2012 +0100 brcmfmac: consolidate debug macros in wl_cfg80211 The source file wl_cfg80211.c has its own debug macros and levels. This patch maps the macros to the ones used in the rest of the brcmfmac driver. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 5e8149f5036afe2d94b5fafc9ff752283804a752 Author: Arend van Spriel Date: Fri Dec 7 10:49:57 2012 +0100 brcmfmac: error messages should not be suppressed The call to brcmf_dbg(ERROR, ...) only resulted in a log message when compiled with -DDEBUG. Error messages are valuable for resolving issues so this patch replaces it with brcmf_err(...) so they always end up in the log. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit dc5cbdfdf7936178361c386de84aaf64e8842789 Author: Arend van Spriel Date: Wed Dec 5 15:25:56 2012 +0100 brcmfmac: use one list of event defintions Currently, adding a new event requires modification in two source files. Use macro definition to have one place and have better maintainability. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d8df4901b351f5cac83cce78749e93215fa25ed9 Author: Arend van Spriel Date: Wed Dec 5 15:25:55 2012 +0100 brcmsmac: fix uninitialized variable warning on arm architecture Using gcc v4.7.2 gave following warning: CC [M] drivers/net/wireless/brcm80211/brcmsmac/aiutils.o brcmsmac/aiutils.c: In function 'ai_deviceremoved': brcmsmac/aiutils.c:733:9: error: 'w' may be used uninitialized in this function [-Werror=uninitialized] Inspection of the pci_read_config_dword() function showed it can return without modifying the output variable 'w' so this patch initializes it to 0. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Piotr Haber Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit d9cb2596503d937ccf68b83d3aff1056765a6b1e Author: Arend van Spriel Date: Wed Dec 5 15:25:54 2012 +0100 brcmfmac: rework bus interface Rework the bus interface between common driver part and bus-specific driver part. It prepares for adding tracing in bus-specific callback functions. 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 8e3c1b77435d93c0207d4701ca5b3e84d40c983d Author: Johannes Berg Date: Mon Dec 10 13:44:19 2012 +0100 mac80211: a few whitespace fixes Signed-off-by: Johannes Berg commit 4b5511ebc7e1cf94e4f13be19c2cf3e90edc3395 Author: Abhijit Pawar Date: Sun Dec 9 23:12:28 2012 +0000 net: remove obsolete simple_strto This patch replace the obsolete simple_strto with kstrto Signed-off-by: Abhijit Pawar Acked-by: Neil Horman Signed-off-by: David S. Miller commit 97a875cbdf89a4638eea57c2b456c7cc4e3e8b21 Author: Maarten Lankhorst Date: Wed Nov 28 11:25:44 2012 +0000 drm/ttm: remove no_wait_reserve, v3 All items on the lru list are always reservable, so this is a stupid thing to keep. Not only that, it is used in a way which would guarantee deadlocks if it were ever to be set to block on reserve. This is a lot of churn, but mostly because of the removal of the argument which can be nested arbitrarily deeply in many places. No change of code in this patch except removal of the no_wait_reserve argument, the previous patch removed the use of no_wait_reserve. v2: - Warn if -EBUSY is returned on reservation, all objects on the list should be reservable. Adjusted patch slightly due to conflicts. v3: - Focus on no_wait_reserve removal only. Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit e7ab20197be3ee5fd75441e1cff0c7cdfea5bf1a Author: Maarten Lankhorst Date: Wed Nov 28 11:25:43 2012 +0000 drm/ttm: cope with reserved buffers on lru list in ttm_mem_evict_first, v2 Replace the goto loop with a simple for each loop, and only run the delayed destroy cleanup if we can reserve the buffer first. No race occurs, since lru lock is never dropped any more. An empty list and a list full of unreservable buffers both cause -EBUSY to be returned, which is identical to the previous situation, because previously buffers on the lru list were always guaranteed to be reservable. This should work since currently ttm guarantees items on the lru are always reservable, and reserving items blockingly with some bo held are enough to cause you to run into a deadlock. Currently this is not a concern since removal off the lru list and reservations are always done with atomically, but when this guarantee no longer holds, we have to handle this situation or end up with possible deadlocks. Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 2b7b3ad2fb8f904ae9ba7ca71323bc11c0978d91 Author: Maarten Lankhorst Date: Wed Nov 28 11:25:42 2012 +0000 drm/ttm: cope with reserved buffers on swap list in ttm_bo_swapout, v2 Replace the while loop with a simple for each loop, and only run the delayed destroy cleanup if we can reserve the buffer first. No race occurs, since lru lock is never dropped any more. An empty list and a list full of unreservable buffers both cause -EBUSY to be returned, which is identical to the previous situation. Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 85b144f860176ec18db927d6d9ecdfb24d9c6483 Author: Maarten Lankhorst Date: Thu Nov 29 11:36:54 2012 +0000 drm/ttm: call ttm_bo_cleanup_refs with reservation and lru lock held, v3 By removing the unlocking of lru and retaking it immediately, a race is removed where the bo is taken off the swap list or the lru list between the unlock and relock. As such the cleanup_refs code can be simplified, it will attempt to call ttm_bo_wait non-blockingly, and if it fails it will drop the locks and perform a blocking wait, or return an error if no_wait_gpu was set. The need for looping is also eliminated, since swapout and evict_mem_first will always follow the destruction path, no new fence is allowed to be attached. As far as I can see this may already have been the case, but the unlocking / relocking required a complicated loop to deal with re-reservation. Changes since v1: - Simplify no_wait_gpu case by folding it in with empty ddestroy. - Hold a reservation while calling ttm_bo_cleanup_memtype_use again. Changes since v2: - Do not remove bo from lru list while waiting Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 68d18ad7fbc16288aa230ec0ffb4416fd4363c87 Author: Paulo Zanoni Date: Sat Dec 1 12:04:26 2012 -0200 drm/i915: set the LPT FDI RX polarity reversal bit when needed If we fail to set the bit when needed we get some nice FDI link training failures (AKA "black screen on VGA output"). While we don't really know how to properly choose whether we need to set the bit or not (VBT?), just read the initial value set by the BIOS and store it for later usage. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit dde86e2db54545ef981b64805097a7b4c3156d6e Author: Paulo Zanoni Date: Sat Dec 1 12:04:25 2012 -0200 drm/i915: add lpt_init_pch_refclk We need this code to init the PCH SSC refclk and the FDI registers. The BIOS does this too and that's why VGA worked before this patch, until you tried to suspend the machine... This patch implements the "Sequence to enable CLKOUT_DP for FDI usage and configure PCH FDI/IO" from our documentation. v2: - Squash Damien Lespiau's reset spelling fix on top. - Add a comment that we don't need to bother about the ULT special case Damien noticed, since ULT won't have VGA. - Add a comment to rip out the SDV codepaths once haswell ships for real. Signed-off-by: Paulo Zanoni (v1) Signed-off-by: Daniel Vetter commit 6ed9ccb41209b93409c92eb8c130eada4e0832ef Author: Maarten Lankhorst Date: Wed Nov 28 11:25:40 2012 +0000 drm/radeon: allow move_notify to be called without reservation The few places that care should have those checks instead. This allows destruction of bo backed memory without a reservation. It's required for being able to rework the delayed destroy path, as it is no longer guaranteed to hold a reservation before unlocking. However any previous wait is still guaranteed to complete, and it's one of the last things to be done before the buffer object is freed. Signed-off-by: Maarten Lankhorst Signed-off-by: Dave Airlie commit 4154f051e74e6a5db174c8f4fc8a2f9c8a6b2541 Author: Maarten Lankhorst Date: Wed Nov 28 12:25:39 2012 +0100 drm/ttm: change fence_lock to inner lock This requires changing the order in ttm_bo_cleanup_refs_or_queue to take the reservation first, as there is otherwise no race free way to take lru lock before fence_lock. Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 1a1494def7eacbd25db05185aa2e81ef90892460 Merge: 8de9e41 71bfe91 Author: Dave Airlie Date: Sat Dec 8 13:17:07 2012 +1000 Merge branch 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux into drm-next Alex writes: Pretty minor -next pull request. We some additional new bits waiting internally for release. Hopefully Monday we can get at least some of them out. The others will probably take a few more weeks. Highlights of the current request: - ELD registers for passing audio information to the sound hardware - Handle GPUVM page faults more gracefully - Misc fixes Merge radeon test * 'drm-next-3.8' of git://people.freedesktop.org/~agd5f/linux: (483 commits) drm/radeon: bump driver version for new info ioctl requests drm/radeon: fix eDP clk and lane setup for scaled modes drm/radeon: add new INFO ioctl requests drm/radeon/dce32+: use fractional fb dividers for high clocks drm/radeon: use cached memory when evicting for vram on non agp drm/radeon: add a CS flag END_OF_FRAME drm/radeon: stop page faults from hanging the system (v2) drm/radeon/dce4/5: add registers for ELD handling drm/radeon/dce3.2: add registers for ELD handling radeon: fix pll/ctrc mapping on dce2 and dce3 hardware Linux 3.7-rc7 powerpc/eeh: Do not invalidate PE properly Revert "drm/i915: enable rc6 on ilk again" ALSA: hda - Fix build without CONFIG_PM of/address: sparc: Declare of_iomap as an extern function for sparc again PM / QoS: fix wrong error-checking condition bnx2x: remove redundant warning log vxlan: fix command usage in its doc 8139cp: revert "set ring address before enabling receiver" MPI: Fix compilation on MIPS with GCC 4.4 and newer ... Conflicts: drivers/gpu/drm/exynos/exynos_drm_encoder.c drivers/gpu/drm/exynos/exynos_drm_fbdev.c drivers/gpu/drm/nouveau/core/engine/disp/nv50.c commit 988d6ee8b2e8694830036821933372b22f3d1935 Author: Paulo Zanoni Date: Sat Dec 1 12:04:24 2012 -0200 drm/i915: add support for mPHY destination on intel_sbi_{read, write} This way we should be able to write mPHY registers using the Sideband Interface in the next commit. Also fixed some syntax oddities in the related code. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit d4b1931c149e1cf78a930d7abde00bd378272e6e Author: Paulo Zanoni Date: Thu Nov 29 11:29:32 2012 -0200 drm/i915: reject modes the LPT FDI receiver can't handle More specifically, the LPT FDI RX only supports 8bpc and a maximum of 2 lanes, so anything above that won't work and should be rejected. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 248138b59880a3cc69e9b7f0e06fb0caedd58305 Author: Paulo Zanoni Date: Thu Nov 29 11:29:31 2012 -0200 drm/i915: fix hsw_fdi_link_train "retry" code We were previously doing exactly what the "mode set sequence for CRT" document mandates, but whenever we failed to train the link in the first tentative, all the other subsequent retries always failed. In one of my monitors that has 47 modes, I was usually getting around 3 failures when running "testdisplay -a". After this patch, even if we fail in the first tentative, we can succeed in the next ones. So now when running "testdisplay -a" I see around 3 times the message "FDI link training done on step 1" and no failures. Notice that now the "retry" code looks a lot like the DP retry code. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 71bfe916ebe6d026cd3d0e41c398574fc1228e03 Author: Alex Deucher Date: Fri Dec 7 20:00:30 2012 -0500 drm/radeon: bump driver version for new info ioctl requests Signed-off-by: Alex Deucher commit 93927f9c1db5f55085457e820f0631064c7bfa34 Author: Alex Deucher Date: Tue Dec 4 16:50:28 2012 -0500 drm/radeon: fix eDP clk and lane setup for scaled modes Need to use the adjusted mode since we are sending native timing and using the scaler for non-native modes. Signed-off-by: Alex Deucher Reviewed-by: Jerome Glisse cc: stable@vger.kernel.org commit 2e1a7674f65eb2c9118ab59d9c8aa9c731da6b85 Author: Alex Deucher Date: Tue Dec 4 12:55:37 2012 -0500 drm/radeon: add new INFO ioctl requests Add requests to get the number of shader engines (SE) and the number of SH per SE. These are needed for geometry and tesselation shaders in the 3D driver as well as setting up PA_SC_RASTER_CONFIG on SI asics. Signed-off-by: Alex Deucher commit a02dc74b317d78298cb0587b9b1f6f741fd5c139 Author: Alex Deucher Date: Tue Nov 13 18:03:41 2012 -0500 drm/radeon/dce32+: use fractional fb dividers for high clocks Fixes flickering with some high res montiors. Signed-off-by: Alex Deucher CC: stable@vger.kernel.org commit 0d0b3e7443bed6b49cb90fe7ddc4b5578a83a88d Author: Jerome Glisse Date: Wed Nov 28 13:47:55 2012 -0500 drm/radeon: use cached memory when evicting for vram on non agp Force the use of cached memory when evicting from vram on non agp hardware. Also force write combine on agp hw. This is to insure the minimum cache type change when allocating memory and improving memory eviction especialy on pci/pcie hw. Signed-off-by: Jerome Glisse commit 57f570838341507682b7705f1d950608ef2182bd Author: Marek Olšák Date: Sun Dec 2 21:03:33 2012 +0100 drm/radeon: add a CS flag END_OF_FRAME No version bump is required because setting the flag on older DRM has no effect. This only reserves the bit and doesn't use it. I assume we will use it for buffer eviction heuristics. Signed-off-by: Marek Olšák commit ae133a1129790ec288b429b5f08ab4701633844a Author: Christian König Date: Tue Sep 18 15:30:44 2012 -0400 drm/radeon: stop page faults from hanging the system (v2) Redirect invalid memory accesses to the default page instead of locking up the memory controller. Also enable the invalid memory access interrupts and start spamming system log with it. v2 (agd5f): fix up against 2 level PT changes Signed-off-by: Christian König Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org commit 1dd06ae8db716e17ec7e06244b858606edf378c0 Author: Greg Kroah-Hartman Date: Thu Dec 6 14:30:56 2012 +0000 drivers/net: fix up function prototypes after __dev* removals The __dev* removal patches for the network drivers ended up messing up the function prototypes for a bunch of drivers. This patch fixes all of them back up to be properly aligned. Bonus is that this almost removes 100 lines of code, always a nice surprise. Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit a875621ec15318f0ba35907726ee2cb9e9e0c6b7 Author: Bjorn Helgaas Date: Wed Dec 5 13:51:19 2012 -0700 ath9k: Use standard #defines for PCIe Capability ASPM fields Use the standard #defines for PCIe Capability ASPM fields. Previously we used PCIE_LINK_STATE_L0S and PCIE_LINK_STATE_L1 directly, but these are defined for the Linux ASPM interfaces, e.g., pci_disable_link_state(), and only coincidentally match the actual register bits. PCIE_LINK_STATE_CLKPM, also part of that interface, does not match the register bit. Signed-off-by: Bjorn Helgaas commit 438a0f0a1faa3dd00c0460e8232cd712215a6d46 Author: Bjorn Helgaas Date: Wed Dec 5 13:51:21 2012 -0700 iwlwifi: Use standard #defines for PCIe Capability ASPM fields Use the standard #defines rather than creating local definitions for PCIe Capability ASPM fields. Signed-off-by: Bjorn Helgaas Acked-by: Johannes Berg commit b9d146e30a2d855229f0944152f84aef1a21553b Author: Bjorn Helgaas Date: Wed Dec 5 13:51:20 2012 -0700 iwlwifi: collapse wrapper for pcie_capability_read_word() iwl_pciexp_link_ctrl() has only one call site and no longer provides any useful abstraction, so collapse it into the caller. Signed-off-by: Bjorn Helgaas Acked-by: Johannes Berg commit f93eaffcacb43b5764fb440ef50bf88dc7a2eb3e Author: Bjorn Helgaas Date: Wed Dec 5 13:51:20 2012 -0700 iwlegacy: Use standard #defines for PCIe Capability ASPM fields Use the standard #defines rather than creating local definitions for PCIe Capability ASPM fields. Signed-off-by: Bjorn Helgaas Acked-by: Stanislaw Gruszka commit 94e1561344a7ef0e2aaed7c72050f8e4e82db1fe Author: Bjorn Helgaas Date: Wed Dec 5 13:51:20 2012 -0700 iwlegacy: collapse wrapper for pcie_capability_read_word() il_pcie_link_ctl() has only one call site and no longer provides any useful abstraction, so collapse it into the caller. Signed-off-by: Bjorn Helgaas Acked-by: Stanislaw Gruszka commit 8024dc191025d6b981563236df02da5c0db0854d Merge: fd3065b 9e2ff36 Author: John W. Linville Date: Fri Dec 7 13:03:50 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit e7d83ed8d0c486fc342e93291e31b3283e3721e7 Author: Johannes Berg Date: Fri Dec 7 11:58:26 2012 +0100 wext: explicitly cast -110 to u8 This doesn't generate any different code, but will suppress a spurious smatch warning. Signed-off-by: Johannes Berg commit 4529eefad087f97b33c0f31984d924b1f15d7bae Author: Lamarque V. Souza Date: Thu Dec 6 12:39:55 2012 -0200 HID: hidp: fallback to input session properly if hid is blacklisted This patch against kernel 3.7.0-rc8 fixes a kernel oops when turning on the bluetooth mouse with id 0458:0058 [1]. The mouse in question supports both input and hid sessions, however it is blacklisted in drivers/hid/hid-core.c so the input session is one that should be used. Long ago (around kernel 3.0.0) some changes in the bluetooth subsystem made the kernel do not fallback to input session when hid session is not supported or blacklisted. This patch restore that behaviour by making the kernel try the input session if hid_add_device returns ENODEV. The patch exports hid_ignore() from hid-core.c so that it can be used in the bluetooth subsystem. [1] https://bugzilla.kernel.org/show_bug.cgi?id=39882 Signed-off-by: Lamarque V. Souza Acked-by: Gustavo Padovan Signed-off-by: Jiri Kosina commit c8a8ab4472619e6936a224c5a950750d640aefbb Author: Johannes Berg Date: Thu Dec 6 13:46:54 2012 +0100 iwlwifi: change TX code to suppress smatch warning By using a few temporary variables, smatch can track what's happening and stops complaining that we access beyond the tid_data array. This also makes the generated code a bit smaller, so it's a win all around. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 50c16e2251b63224c05e35d80d434a479a312b4a Author: Chaitanya Date: Fri Dec 7 12:19:34 2012 +0530 mac80211: warn only once if ampdu_action isn't assigned New drivers that might not support ampdu_action yet while in development cause a lot of warnings, use WARN_ON_ONCE instead. Signed-off-by: T Krushna Chaitanya Signed-off-by: Johannes Berg commit 8d96bb61fcfa11fb0c0da0d4f1331b7ca231bec1 Author: Emmanuel Grumbach Date: Tue Dec 4 22:53:30 2012 +0200 iwlwifi: reset_ict in stop_hw Since the device is taken down in stop_hw, call reset_ict from there too. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6a06b6c131d529f2913513355dd9e7c4e05e8e42 Author: Emmanuel Grumbach Date: Sun Dec 2 13:07:30 2012 +0200 iwlwifi: move prph handling into the transport New transports may handle it internally for better performance. Also move the tracing inside PRPH access which will make the output more readable: iwlwifi_dev_ioread_prph32: Read 0x0 from SCD_AGGR_SEL (32-bit) instead of the corresponding accesses to HBUS_TARG_PRPH_*. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit b7998c8b4459deff3ea9c939e90812439423ab89 Author: Eytan Lifshitz Date: Sat Dec 1 20:59:49 2012 +0200 iwlwifi: Change define and struct names in iwl-eeprom-parse.h Since we will have several forms of NVM (EEPROM, OTP, etc.) and they will have different layouts, make the parsed data more generic. This allows functional code to be independent of a specific layout. Also change some variables and function names from having "eeprom" to "nvm" in their name. Signed-off-by: Eytan Lifshitz Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 9e2ff36beae4bedbad2a69d458f9404f35fcb528 Author: Bill Pemberton Date: Mon Dec 3 09:56:43 2012 -0500 rtlwifi: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit b74324d1048271240f65b2d91816d15e72dd80dd Author: Bill Pemberton Date: Mon Dec 3 09:56:42 2012 -0500 wlcore/wl18xx/wl12xx: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Luciano Coelho Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit fd549f135c43d60b92aff7cfbbfdf4e79b6cc631 Author: Bill Pemberton Date: Mon Dec 3 09:56:41 2012 -0500 rtl8187: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Herton Ronaldo Krzesinski Cc: Hin-Tak Leung Cc: Larry Finger Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit fb4e899dea7ea5e540db1deb71442d37bb8100fc Author: Bill Pemberton Date: Mon Dec 3 09:56:40 2012 -0500 rtl8187: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 692023597a5ec01fa2e5e3eec36948c7655009f6 Author: Bill Pemberton Date: Mon Dec 3 09:56:39 2012 -0500 rt2x00: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Ivo van Doorn Cc: Gertjan van Wingerde Cc: Helmut Schaa Cc: users@rt2x00.serialmonkey.com (moderated for non-subscribers) Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 337b563f72f2e379f11411614f68f3ec73f30592 Author: Bill Pemberton Date: Mon Dec 3 09:56:38 2012 -0500 p54: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Christian Lamparter Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit baa366cda6ec9bf033301a4f547c26c833bd5930 Author: Bill Pemberton Date: Mon Dec 3 09:56:37 2012 -0500 orinoco: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 8dee5eef2ab313e519e6ce3c3bf9a16cfc6f5907 Author: Bill Pemberton Date: Mon Dec 3 09:56:36 2012 -0500 mwl8k: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Lennert Buytenhek Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit fbdb7fcefe95cb77b9d692e6f9c7c02ecc846c10 Author: Bill Pemberton Date: Mon Dec 3 09:56:35 2012 -0500 libertas: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Dan Williams Cc: libertas-dev@lists.infradead.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit d00064d4f775150017835f2c93905f05691e1649 Author: Bill Pemberton Date: Mon Dec 3 09:56:34 2012 -0500 iwlwifi: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Johannes Berg Cc: Wey-Yi Guy Cc: Intel Linux Wireless Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit a027cb88bf692b86948c5495650665a2a1d5535f Author: Bill Pemberton Date: Mon Dec 3 09:56:33 2012 -0500 iwlegacy: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit eb9248eee600092dcd982ce12b964c90e30c075c Author: Bill Pemberton Date: Mon Dec 3 09:56:32 2012 -0500 ipw2x00: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Stanislav Yakovlev Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit fcff0c0887f7286eda3ce47d8934acb3a78e1076 Author: Bill Pemberton Date: Mon Dec 3 09:56:31 2012 -0500 brcm80211: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Brett Rudley Cc: Roland Vossen Cc: Arend van Spriel Cc: Franky (Zhenhui) Lin Cc: Kan Yan Cc: brcm80211-dev-list@broadcom.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 157c9436e6e740b0fb3f3c10da0e2f68731a8052 Author: Bill Pemberton Date: Mon Dec 3 09:56:30 2012 -0500 b43: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Stefano Brivio Cc: b43-dev@lists.infradead.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 991683ca49908a78ff00942d6832523657e578b7 Author: Bill Pemberton Date: Mon Dec 3 09:56:29 2012 -0500 atmel: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit e829cf961bfd3c2c5ef0a2c5a51734c1628ce77e Author: Bill Pemberton Date: Mon Dec 3 09:56:28 2012 -0500 ath5k: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Cc: linux-wireless@vger.kernel.org Cc: ath5k-devel@lists.ath5k.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 04bfffb8053c7206c3b63c25c0775b6ad7053270 Author: Bill Pemberton Date: Mon Dec 3 09:56:27 2012 -0500 wireless: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 9e2b29d0d6ae05fb1ead7df68a209eece9c7749a Author: Bill Pemberton Date: Mon Dec 3 09:56:26 2012 -0500 rfkill: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Johannes Berg Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 8df0f1e5cbd4ff1e2059a1e11bd89b35aa5ed004 Author: Wei Yongjun Date: Wed Dec 5 03:08:11 2012 -0500 ipw2200: return error code on error in ipw_wx_get_auth() We have assinged error code to 'ret' when get auth from some option is not supported but never used it, but we'd better return the error code. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 9304a1c7430590a7ee8ded5fc401ef483123de66 Author: Wei Yongjun Date: Tue Dec 4 03:30:20 2012 -0500 brcmsmac: remove duplicated include from debug.c Remove duplicated include. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit f5685ba675449b072feab6a5391a9ef9f604bc94 Author: Helmut Schaa Date: Mon Dec 3 22:35:39 2012 +0100 rt2x00: Only specify interface combinations if more then one interface is possible Otherwise rt2500* triggers a warning in cfg80211, from net/wireless/core.c: /* Combinations with just one interface aren't real */ if (WARN_ON(c->max_interfaces < 2)) This was introduced in commit 55d2e9da744ba11eae900b4bfc2da72eace3c1e1: rt2x00: Replace open coded interface checking with interface combinations. Reported-by: Stefan Lippers-Hollmann Tested-by: Stefan Lippers-Hollmann Signed-off-by: Helmut Schaa Cc: stable@vger.kernel.org [3.7+] Acked-by: Gertjan van Wingerde Acked-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 1981e881fd32160bf886a09b12794c640aafffb3 Author: Christian Lamparter Date: Mon Dec 3 18:48:05 2012 +0100 carl9170: explain why sta cannot be NULL for ampdus Dan Carpenter reported that smatch detected a potential problem with the code [1]: drivers/net/wireless/ath/carl9170/tx.c:1488 carl9170_op_tx() error: we previously assumed 'sta' could be null (see line 1482) drivers/net/wireless/ath/carl9170/tx.c 1482 if (sta) { ^^^^^ New check. [...] 1485 } 1487 if (info->flags & IEEE80211_TX_CTL_AMPDU) { 1488 run = carl9170_tx_ampdu_queue(ar, sta, skb); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Old dereference of "sta" inside the call to carl9170_tx_ampdu_queue(). A range of solutions have been discussed in [2] and we agreed on the following: " > we might as well add a comment to carl9170_tx_ampdu_queue > and explain the situation [in a way that's obvious to a > human reader]. This way we can save the "if"... which is > a small win since carl9170_op_tx is sort of a hot-path. Putting a comment there is fine. Without the comment it's easy for a human reader to get confused why the check is there. So long as humans can read the code, that's all that matters." [1] [2] Reported-by: Dan Carpenter Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f241b244dd4703a560c74e2538f27fd466c8d41f Author: Luis R. Rodriguez Date: Thu Nov 29 12:45:09 2012 -0800 brcmfmac: convert struct spinlock to spinlock_t spinlock_t should always be used. LD drivers/net/wireless/brcm80211/built-in.o CHECK drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.o CHECK drivers/net/wireless/brcm80211/brcmfmac/fwil.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/fwil.o CHECK drivers/net/wireless/brcm80211/brcmfmac/fweh.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/fweh.o CHECK drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.o CHECK drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/dhd_common.o CHECK drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.o CHECK drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.o CHECK drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.o CHECK drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.o CHECK drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.o CHECK drivers/net/wireless/brcm80211/brcmfmac/usb.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/usb.o CHECK drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.c CC [M] drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.o LD [M] drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.o LD drivers/net/wireless/brcm80211/brcmsmac/built-in.o CHECK drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c:1311:6: warning: context imbalance in 'brcms_down' - unexpected unlock drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c:1598:6: warning: context imbalance in 'brcms_rfkill_set_hw_state' - unexpected unlock CC [M] drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.o CHECK drivers/net/wireless/brcm80211/brcmsmac/ucode_loader.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/ucode_loader.o CHECK drivers/net/wireless/brcm80211/brcmsmac/ampdu.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/ampdu.o CHECK drivers/net/wireless/brcm80211/brcmsmac/antsel.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/antsel.o CHECK drivers/net/wireless/brcm80211/brcmsmac/channel.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/channel.o CHECK drivers/net/wireless/brcm80211/brcmsmac/main.c drivers/net/wireless/brcm80211/brcmsmac/main.c:6246:36: warning: Initializer entry defined twice drivers/net/wireless/brcm80211/brcmsmac/main.c:6246:43: also defined here CC [M] drivers/net/wireless/brcm80211/brcmsmac/main.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy_shim.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy_shim.o CHECK drivers/net/wireless/brcm80211/brcmsmac/pmu.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/pmu.o CHECK drivers/net/wireless/brcm80211/brcmsmac/rate.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/rate.o CHECK drivers/net/wireless/brcm80211/brcmsmac/stf.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/stf.o CHECK drivers/net/wireless/brcm80211/brcmsmac/aiutils.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/aiutils.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c:3313:46: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:17688:47: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:18187:53: warning: cast truncates bits from constant value (ffff3fff becomes 3fff) drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:21160:36: warning: cast truncates bits from constant value (ffff3fff becomes 3fff) drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:23321:35: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:28343:44: warning: cast truncates bits from constant value (ffff1fff becomes 1fff) CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_n.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_n.o CHECK drivers/net/wireless/brcm80211/brcmsmac/phy/phy_qmath.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/phy/phy_qmath.o CHECK drivers/net/wireless/brcm80211/brcmsmac/dma.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/dma.o CHECK drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.o CHECK drivers/net/wireless/brcm80211/brcmsmac/debug.c CC [M] drivers/net/wireless/brcm80211/brcmsmac/debug.o LD [M] drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.o LD drivers/net/wireless/brcm80211/brcmutil/built-in.o CHECK drivers/net/wireless/brcm80211/brcmutil/utils.c CC [M] drivers/net/wireless/brcm80211/brcmutil/utils.o LD [M] drivers/net/wireless/brcm80211/brcmutil/brcmutil.o Building modules, stage 2. MODPOST 3 modules CC drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.mod.o LD [M] drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko CC drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.mod.o LD [M] drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko CC drivers/net/wireless/brcm80211/brcmutil/brcmutil.mod.o LD [M] drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko Cc: Brett Rudley Cc: Roland Vossen Cc: Arend van Spriel Cc: Franky (Zhenhui) Lin Cc: Kan Yan Cc: linux-wireless@vger.kernel.org Cc: brcm80211-dev-list@broadcom.com Reported-by: Hauke Mehrtens Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 403e16731ffddc097eae89f53f9a7b0f0c9769c4 Merge: 55cb079 da29d2a Author: John W. Linville Date: Thu Dec 6 14:58:41 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Conflicts: drivers/net/wireless/mwifiex/sta_ioctl.c net/mac80211/scan.c commit 55cb0797fa779e36f62876a8aa44cbf3984e8d59 Merge: 795e936 2898149 Author: John W. Linville Date: Thu Dec 6 14:55:57 2012 -0500 Merge tag 'nfc-fixes-3.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-3.0 This is an NFC LLCP fix for 3.7 and contains only one patch. It fixes a potential crash when receiving an LLCP HDLC frame acking a frame that is not the last sent one. In that case we may dereference an already freed pointer. commit e7d841ca03b7ab668620045cd7b428eda9f41601 Author: Chris Wilson Date: Mon Dec 3 11:36:30 2012 +0000 drm/i915: Close race between processing unpin task and queueing the flip Before queuing the flip but crucially after attaching the unpin-work to the crtc, we continue to setup the unpin-work. However, should the hardware fire early, we see the connected unpin-work and queue the task. The task then promptly runs and unpins the fb before we finish taking the required references or even pinning it... Havoc. To close the race, we use the flip-pending atomic to indicate when the flip is finally setup and enqueued. So during the flip-done processing, we can check more accurately whether the flip was expected. v2: Add the appropriate mb() to ensure that the writes to the page-flip worker are complete prior to marking it active and emitting the MI_FLIP. On the read side, the mb should be enforced by the spinlocks. Signed-off-by: Chris Wilson Cc: stable@vger.kernel.org [danvet: Review the barriers a bit, we need a write barrier both before and after updating ->pending. Similarly we need a read barrier in the interrupt handler both before and after reading ->pending. With well-ordered irqs only one barrier in each place should be required, but since this patch explicitly sets out to combat spurious interrupts with is staged activation of the unpin work we need to go full-bore on the barriers, too. Discussed with Chris Wilson on irc and changes acked by him.] Signed-off-by: Daniel Vetter commit 0b7dff4faed07f55be2a98dd0eafc02623174236 Author: Johannes Berg Date: Wed Dec 5 09:49:14 2012 +0100 mac80211: cancel work instead of waiting for it to do nothing If the sdata work is pending while the interface is stopped, we currently flush it. If it's not running this means waiting for it to run, which could take a while if the workqueue is backlogged. However, the work exits right away if it starts to run while the interface is already stopping. There's no point in waiting for that, so use cancel_work_sync() instead. Reported-by: Ben Greear Tested-by: Ben Greear Signed-off-by: Johannes Berg commit 01331040e6442ad09181bfaacd8bb9687dce2389 Author: Johannes Berg Date: Wed Dec 5 16:45:31 2012 +0100 wireless: fix VHT max AMPDU exponent definition This is really a 3-bit field, not a single bit, so declare a mask and shift. Also fix hwsim, it advertises the maximum possible. While at it reindent all the defines using tabs instead of spaces. Change-Id: I7cd81c0d72f76deb5010aba5bfa3dd312006e898 Signed-off-by: Johannes Berg commit 815b8092bd5242d580038213da9179a5a4f69116 Author: Marco Porsch Date: Wed Dec 5 15:04:26 2012 -0800 mac80211: don't drop mesh peering frames from unknown STA Previously, mesh peering frames from a STA without a station entry were being dropped. Mesh Peering Open and other frames (WLAN_CATEGORY_SELF_PROTECTED) are valid mesh peering frames even if received from a yet unknown station; the STA entry will be created in mesh_peer_init later. The problem didn't occur previously since both STAs receive each other's beacons which created the STA entry. However, this causes an unnecessary delay and beacons might not be received if either node is in PS mode. Signed-off-by: Marco Porsch [reword commit log a bit] Signed-off-by: Johannes Berg commit 8de9e417757fb9f130f55a38f4ee7027b60de1c7 Merge: 00f09af 5849556 Author: Dave Airlie Date: Thu Dec 6 14:08:09 2012 +1000 Merge branch 'connector-to-object-prop' of git://github.com/robclark/kernel-omap4 into drm-next * 'connector-to-object-prop' of git://github.com/robclark/kernel-omap4: drm: remove legacy drm_connector_property fxns drm/nouveau: drm_connector_property -> drm_object_property drm/i915: One more drm_connector_property -> drm_object_property drm/i2c: drm_connector_property -> drm_object_property drm/vmwgfx: drm_connector_property -> drm_object_property drm/udl: drm_connector_property -> drm_object_property drm/shmob: drm_connector_property -> drm_object_property drm/radeon: drm_connector_property -> drm_object_property drm/gma500: drm_connector_property -> drm_object_property commit ebf69cb8331d7336e4bcd442a2ca69bb61739a58 Author: Daniel Vetter Date: Wed Dec 5 09:52:14 2012 +0100 drm/i915: fixup l3 parity sysfs access check When l3 parity support for Haswell was enabled in commit f27b92651d72e863c308ea5dca5615fc98e38ca6 Author: Ben Widawsky Date: Tue Jul 24 20:47:32 2012 -0700 drm/i915: Expand DPF support to Haswell no one noticed that the patch which introduced this macro commit e1ef7cc299839e68dae3f1843f62e52acda04538 Author: Ben Widawsky Date: Tue Jul 24 20:47:31 2012 -0700 drm/i915: Macro to determine DPF support missed one spot. Fix this. Cc: Ben Widawsky Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57441 Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 751413eadc8f0c7691a6cbd40a913ef0ae6b2ce4 Author: Helmut Schaa Date: Wed Dec 5 14:36:12 2012 +0100 mac80211: skip radiotap space calculation if no monitor exists The radiotap header length "needed_headroom" is only required if we're sending the skb to a monitor interface. Hence, move the calculation a bit later so the calculation can be skipped if no monitor interface is present. Signed-off-by: Helmut Schaa Signed-off-by: Johannes Berg commit ab9d6e4ffe192427ce9e93d4f927b0faaa8a941e Author: Stanislaw Gruszka Date: Mon Dec 3 12:59:04 2012 +0100 Revert: "rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails" This revert: commit be03d4a45c09ee5100d3aaaedd087f19bc20d01f Author: Andreas Hartmann Date: Tue Apr 17 00:25:28 2012 +0200 rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails To fix problem workaround by above commit use IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL flag (see change log for "mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL" patch). Resolve: https://bugzilla.kernel.org/show_bug.cgi?id=42828 Bisected-by: Francisco Pina Martins Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka Signed-off-by: Johannes Berg commit 5b632fe85ec82e5c43740b52e74c66df50a37db3 Author: Stanislaw Gruszka Date: Mon Dec 3 12:56:33 2012 +0100 mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL Commit f0425beda4d404a6e751439b562100b902ba9c98 "mac80211: retry sending failed BAR frames later instead of tearing down aggr" caused regression on rt2x00 hardware (connection hangs). This regression was fixed by commit be03d4a45c09ee5100d3aaaedd087f19bc20d01 "rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails". But the latter commit caused yet another problem reported in https://bugzilla.kernel.org/show_bug.cgi?id=42828#c22 After long discussion in this thread: http://mid.gmane.org/20121018075615.GA18212@redhat.com and testing various alternative solutions, which failed on one or other setup, we have no other good fix for the issues like just revert both mentioned earlier commits. To do not affect other hardware which benefit from commit f0425beda4d404a6e751439b562100b902ba9c98, instead of reverting it, introduce flag that when used will restore mac80211 behaviour before the commit. Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka [replaced link with mid.gmane.org that has message-id] Signed-off-by: Johannes Berg commit b98ea05861d76f458029096e8b2939fcb58e9530 Author: Saravana Date: Tue Dec 4 19:47:42 2012 +0530 mac80211: add debug file for mic failure The mic failure count provides the number of mic failures that have happened on a given key (without a countermeasure being started, since that would remove the key). Signed-off-by: Saravana [fix NULL pointer issues] Signed-off-by: Johannes Berg commit a144c2e9f17b738ac47716f1fb033cbfcfcde934 Author: Rahul Sharma Date: Mon Nov 26 10:52:57 2012 +0530 drm/exynos: sending AVI and AUI info frames This patch adds code for composing AVI and AUI info frames and send them every VSYNC. This patch is important for hdmi certification. v3: - Moved enums, macros to exynos_hdmi.c. - Corrected hex format. - Added static to hdmi_reg_infoframe. v2: - Added few blank lines. - Corrected comments format. - Added comments for 2's Complement calculation for check sum. v1: - Remove un-necessary blank lines. - Change the case of hex constants. Signed-off-by: Rahul Sharma Signed-off-by: Fahad Kunnathadi Signed-off-by: Shirish S Acked-by: Seung-Woo Kim Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit a4d8de5f1b765aef577a9347f2166d61a5b0a2db Author: Sachin Kamat Date: Mon Nov 26 09:47:14 2012 +0530 drm/exynos: Use devm_clk_get in exynos_drm_fimd.c devm_clk_get is device managed and makes error handling and exit code simpler. Also fixes an error related to returning 'ret' without initialising with error code. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 9f49d9fba35df369482ee39905f90372e86b4439 Author: Sachin Kamat Date: Fri Nov 23 14:13:27 2012 +0530 drm/exynos: Use devm_* APIs in exynos_hdmi.c devm_* functions are device managed and make error handling and exit code simpler. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 37f508614e04cfc4a7a2cc0f286efd5d4bde4d23 Author: Sachin Kamat Date: Fri Nov 23 14:13:26 2012 +0530 drm/exynos: Use devm_clk_get in exynos_mixer.c devm_clk_get is device managed and makes error handling and exit code simpler. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit df3d90e5f3f09e5bc940250e2a90a7e15343a4b6 Author: Sachin Kamat Date: Fri Nov 23 09:11:59 2012 +0530 drm/exynos: Fix potential NULL pointer dereference Pointer was being dereferenced after freeing. Fixes the following error: drivers/gpu/drm/exynos/exynos_drm_g2d.c:323 g2d_userptr_put_dma_addr() error: dereferencing freed memory 'g2d_userptr' Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit dc625537f7d4301a7e3f6a8476bd624b09508488 Author: Sachin Kamat Date: Fri Nov 23 09:11:58 2012 +0530 drm/exynos: Use devm_clk_get in exynos_drm_g2d.c devm_clk_get is device managed and makes error handling and exit code simpler. Signed-off-by: Sachin Kamat Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 640631d04cd2cfbb4792d6a8fc5fcab14ee273a5 Author: Prathyush K Date: Thu Nov 22 12:18:35 2012 +0530 drm/exynos: use sgt instead of pages for framebuffer address The 'pages' structure in the exynos gem buffer has been removed. So we get the fix.smem_start from the first sgl of the scatter gather table. Signed-off-by: Prathyush K Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit a3f9bcab509a4bf003942e7e2048904cfe7cb5c5 Author: Rahul Sharma Date: Tue Nov 20 16:58:26 2012 +0530 drm: exynos: fix for loosing display mode header during mode adjustment This patch is to preserve the display mode header during the mode adjustment. Display mode header is overwritten with the adjusted mode header which is throwing the stack dump. Signed-off-by: Rahul Sharma Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 3dc5fa9a157b9675775446fb83888b1803e0288a Author: Egbert Eich Date: Tue Nov 20 04:30:16 2012 -0500 drm/exynos: fix memory leak to EDID block drm_get_edid() returns a pointer to an EDID block. The caller is responsible to free this pointer itself. Here the pointer gets assigned to the local variable raw_edid. Therefore it should be freed before the variable goes out of scope. Signed-off-by: Egbert Eich Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 465ed6606018b56d55219b6c58a7b98793d8cbcc Author: Prathyush K Date: Tue Nov 20 19:32:56 2012 +0900 drm/exynos: remove 'pages' and 'page_size' elements in exynos gem buffer Changelog v2: Removed redundant check for invalid sgl. Added check for valid page_offset in the beginning of exynos_drm_gem_map_buf. Changelog v1: The 'pages' structure is not required since we can use the 'sgt'. Even for CONTIG buffers, a SGT is created (which will have just one sgl). This SGT can be used during mmap instead of 'pages'. The 'page_size' element of the structure is also not used anywhere and is removed. This patch also fixes a memory leak where the 'pages' structure was being allocated during gem buffer allocation but not being freed during deallocate. Signed-off-by: Prathyush K Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit dd265850f10a16e4525ed002f0173a1acd8c8876 Author: Prathyush K Date: Mon Nov 19 13:55:28 2012 +0530 drm/exynos: add exynos drm specific fb_mmap function Changelog v3: Passing the actual buffer size instead of vm_size to dma_mmap_attrs. Changelog v2: Extracting the private data from fb_info structure to obtain the exynos gem buffer structure. Now, dma address is obtained from the exynos gem buffer structure and not from smem_start. Also calling dma_mmap_attrs (instead of dma_mmap_writecombine) with the same attributes used during allocation. Changelog v1: This patch adds a exynos drm specific implementation of fb_mmap which supports mapping a non-contiguous buffer to user space. This new function does not assume that the frame buffer is contiguous and calls dma_mmap_writecombine for mapping the buffer to user space. dma_mmap_writecombine will be able to map a contiguous buffer as well as non-contig buffer depending on whether an IOMMU mapping is created for drm or not. Signed-off-by: Prathyush K Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 1daa892c1df5c329375d791ca169db22f18e5c28 Author: Inki Dae Date: Thu Nov 22 17:41:23 2012 +0900 drm/exynos: make sure that overlay data are updated Changelog v2: fix a little bit performance issue to previous patch. - When drm framebuffer is destroyed, make sure that overlay data are updated to real hardwrae for all encoders instead of waiting for vblank every page flip request. For this, it adds a new function, exynos_drm_encoder_complete_scanout function. Changelog v1: This patch removes wait_for_vblank call from exynos_drm_encoder_plane_disable function and move it to exynos_drm_encoder_plane_commit function. Disabling dma channel to each plane doens't need vblank signal to update data to real hardware. But updating overlay data to real hardware does need vblank signal. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 8c919b28932d2a1fcadd196bbf36d8866afc458a Author: Chris Wilson Date: Tue Dec 4 16:33:19 2012 +0000 drm/i915: Clear the existing watermarks for g4x when modifying the cursor sr In a couple of places we attempt to adjust the existing watermark registers to update them for the new cursor watermarks. This goes horribly wrong as instead of clearing the cursor bits prior to or'ing in the new values, we clear the rest of the register with the result that the watermark registers contain bogus values. References: https://bugs.freedesktop.org/show_bug.cgi?id=47034 Signed-off-by: Chris Wilson Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit bfd7590d3eed3650e910a22a92dc23ea50e60a41 Author: Jani Nikula Date: Tue Dec 4 16:36:28 2012 +0200 drm/i915: do not access BLC_PWM_CTL2 on pre-gen4 hardware The BLC_PWM_CTL2 register does not exist before gen4. While at it, do a slight drive by cleanup of the code. Signed-off-by: Jani Nikula Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit a6662dbae0b3a7a91317ec88b5aa0cf8d716f183 Author: Johannes Berg Date: Tue Dec 4 20:49:42 2012 +0100 cfg80211: check no-OFDM flag for channels wider than 20 MHz For channels wider than 20 MHz OFDM will be used, so when checking whether or not a channel is usable, check for the no-OFDM flag if the channel is wider than 20 MHz. Signed-off-by: Johannes Berg commit 2f91a96799d155d56a0663dbe00fc45c6721a763 Author: Simon Wunderlich Date: Mon Dec 3 22:21:30 2012 +0100 mac80211: adapt slot time in IBSS mode In 5GHz/802.11a, we are allowed to use short slot times. Doing this may increases performance by 20% for legacy connections (54 MBit/s). I can confirm this in my tests (27% more throughput using iperf), and also have a small positive effect (5% more throughput) for HT rates, tested on 1 stream. Signed-off-by: Simon Wunderlich Signed-off-by: Mathias Kretschmer Signed-off-by: Johannes Berg commit 5b07c66059313fc998d28cf6775fd1a8bbb034aa Author: Inki Dae Date: Thu Nov 8 21:52:54 2012 +0900 drm/exynos: add vm_ops to specific gem mmaper Changelog v3: use drm_file's file object instead of gem object's - gem object's file represents the shmem storage so process-unique file object should be used instead. Changelog v2: call mutex_lock before drm_vm_open_locked is called. Changelog v1: This patch makes it takes a reference to gem object when specific gem mmap is requested. For this, it sets dev->driver->gem_vm_ops to vma->vm_ops. And this patch is based on exynos-drm-next-iommu branch of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 2a3098ff6c2109557868f9f230f4725312dcb882 Author: Inki Dae Date: Sun Nov 4 05:48:52 2012 -0800 drm/exynos: add userptr feature for g2d module This patch adds userptr feautre for G2D module. The userptr means user space address allocated by malloc(). And the purpose of this feature is to make G2D's dma able to access the user space region. To user this feature, user should flag G2D_BUF_USRPTR to offset variable of struct drm_exynos_g2d_cmd and fill struct drm_exynos_g2d_userptr with user space address and size for it and then should set a pointer to drm_exynos_g2d_userptr object to data variable of struct drm_exynos_g2d_cmd. The last bit of offset variable is used to check if the cmdlist's buffer type is userptr or not. If userptr, the g2d driver gets user space address and size and then gets pages through get_user_pages(). (another case is counted as gem handle) Below is sample codes: static void set_cmd(struct drm_exynos_g2d_cmd *cmd, unsigned long offset, unsigned long data) { cmd->offset = offset; cmd->data = data; } static int solid_fill_test(int x, int y, unsigned long userptr) { struct drm_exynos_g2d_cmd cmd_gem[5]; struct drm_exynos_g2d_userptr g2d_userptr; unsigned int gem_nr = 0; ... g2d_userptr.userptr = userptr; g2d_userptr.size = x * y * 4; set_cmd(&cmd_gem[gem_nr++], DST_BASE_ADDR_REG | G2D_BUF_USERPTR, (unsigned long)&g2d_userptr); ... } int main(int argc, char **argv) { unsigned long addr; ... addr = malloc(x * y * 4); ... solid_fill_test(x, y, addr); ... } And next, the pages are mapped with iommu table and the device address is set to cmdlist so that G2D's dma can access it. As you may know, the pages from get_user_pages() are pinned. In other words, they CAN NOT be migrated and also swapped out. So the dma access would be safe. But the use of userptr feature has performance overhead so this patch also has memory pool to the userptr feature. Please, assume that user sends cmdlist filled with userptr and size every time to g2d driver, and the get_user_pages funcion will be called every time. The memory pool has maximum 64MB size and the userptr that user had ever sent, is holded in the memory pool. This meaning is that if the userptr from user is same as one in the memory pool, device address to the userptr in the memory pool is set to cmdlist. And last, the pages from get_user_pages() will be freed once user calls free() and the dma access is completed. Actually, get_user_pages() takes 2 reference counts if the user process has never accessed user region allocated by malloc(). Then, if the user calls free(), the page reference count becomes 1 and becomes 0 with put_page() call. And the reverse holds as well. This means how the pages backed are used by dma and freed. This patch is based on "drm/exynos: add iommu support for g2d", https://patchwork.kernel.org/patch/1629481/ Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 1119707e225c1627ed3f413a569e297883946fb2 Author: Prathyush K Date: Wed Nov 7 15:58:58 2012 +0530 drm/exynos: remove unnecessary sg_alloc_table call The function dma_get_sgtable will allocate a sg table internally so it is not necessary to allocate a sg table before it. The unnecessary 'sg_alloc_table' call is removed. Signed-off-by: Prathyush K Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 4ddc404bc0b3750b015b021653a88943591f40f6 Author: Rahul Sharma Date: Mon Nov 5 21:04:29 2012 +0530 drm: exynos: fix for mapping of dma buffers This patch fixes the problem of mapping contigous and non contigous dma buffers. Currently page struct is calculated from the buf->dma_addr which is not the physical address. It is replaced by buf->pages which points to the page struct of the first page of contigous memory chunk. This gives the correct page frame number for mapping. Non-contigous dma buffers are described using SG table and SG lists. Each valid SG List is pointing to a single page or group of pages which are physically contigous. Current implementation just maps the first page of each SG List and leave the other pages unmapped, leading to a crash. Given solution finds the page struct for the faulting page through parsing SG table and map it. Signed-off-by: Rahul Sharma Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit ea6d66c3a797376d21b23dc8261733ce35970014 Author: Inki Dae Date: Fri Nov 2 16:10:39 2012 +0900 drm/exynos: remove EXYNOS_BO_NONCONTIG type checking. With iommu support, non-continuous buffer also is supported so this patch removes these checking from exynos_drm_gem_get/put_dma_addr funciton. This patch is based on the below patch set, "drm/exynos: add iommu support for -next". http://www.spinics.net/lists/dri-devel/msg29041.html Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit d87342c10de68d75ecd976556299c68a300c3834 Author: Inki Dae Date: Sat Nov 3 21:53:24 2012 -0700 drm/exynos: add iommu support for g2d Chagelog v2: removed unnecessary structure, struct g2d_gem_node. Chagelog v1: This patch adds iommu support for g2d driver. For this, it adds subdrv_probe/remove callback to enable or disable g2d iommu. And with this patch, in case of using g2d iommu, we can get or put device address to a gem handle from user through exynos_drm_gem_get/put_dma_addr(). Actually, these functions take a reference to a gem handle so that the gem object used by g2d dma is released properly. And runqueue_node has a pointer to drm_file object of current process to manage gem handles to owner. This patch is based on the below patch set, "drm/exynos: add iommu support for -next". http://www.spinics.net/lists/dri-devel/msg29041.html Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 1055b39facd1bf8f84031a07385f84b46a20540f Author: Inki Dae Date: Fri Oct 19 17:37:35 2012 +0900 drm/exynos: add iommu support for hdmi driver Changelog v2: move iommu support feature to mixer side. And below is Prathyush's comment. According to the new IOMMU framework for exynos sysmmus, the owner of the sysmmu-tv is mixer (which is the actual device that does DMA) and not hdmi. The mmu-master in sysmmu-tv node is set as below in exynos5250.dtsi sysmmu-tv { - mmu-master = <&mixer>; }; Changelog v1: The iommu will be enabled when hdmi sub driver is probed and will be disabled when removed. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 093d369d4e8e8b6361317edd83935bdf8a0c83de Author: Bill Pemberton Date: Mon Dec 3 09:23:56 2012 -0500 net/atheros: remove __dev* attributes CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton Cc: Jay Cliburn Cc: Chris Snook Signed-off-by: Greg Kroah-Hartman commit 795e9364215dc98b1dea888ebae22383ecbbb92a Author: Florian Fainelli Date: Mon Dec 3 16:56:34 2012 +0100 mwl8k: remove useless pci shutdown callback and stray debugging This patch removes a left over debugging print present in the pci shutdown callback, since this callback does not do anything useful, get rid of it entirely. Signed-off-by: Florian Fainelli Signed-off-by: John W. Linville commit d6d82020d07711f0095f2925bc1b9a28f94bb9b5 Author: Gabor Juhos Date: Sun Dec 2 18:34:47 2012 +0100 rt2x00: rt2800lib: introduce RFCSR3_VCOCAL_EN On the RF3290,RF5360,RF5370,RF5372,RF5390,RF5392 radio frontends, the VCO calibration can be controlled via the RFCSR3 register. The current code uses the RFCSR30_RF_CALIBRATION constant to enable the calibration, however that belongs to the RFCSR30 register. Although the values of the constant is correct, but using that for another register is confusing. Add a new definition for the VCO calibration enable bit of the RFCSR3 register and use that in the relevant places in order to avoid confusions. The patch contains no functional changes. Signed-off-by: Gabor Juhos Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit fc1b63d75d9551bbfaff178a3f191c3d05db8c6e Author: Gabor Juhos Date: Sun Dec 2 17:24:02 2012 +0100 rt2x00: rt2800lib: remove trailing semicolons from RFCSR3_* defines Signed-off-by: Gabor Juhos Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 649a6ac4a7d6eab2752893d69f722ccd9674dd4e Author: Christian Lamparter Date: Sun Dec 2 16:52:00 2012 +0100 carl9170: fix signal strength reporting issues On A-MPDU frames, the hardware only reports valid signal strength data for the last subframe. This patch fixes it by flagging everything but the last subframe in an A-MPDU to tell mac80211 to ignore the signal strength entirely. Otherwise the empty value (= 0 dbm) will distort the average quite badly. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 33e274e66949a0806fb760b6f99543ba0d32ce02 Author: Gabor Juhos Date: Sun Dec 2 15:53:29 2012 +0100 rt2x00: rt2800lib: fix indentation in rt2800_init_rfcsr The patch contains no functional changes. Signed-off-by: Gabor Juhos Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e6d227b97691584068675a624abe1bce4f9434cb Author: Gabor Juhos Date: Sun Dec 2 15:53:28 2012 +0100 rt2x00: rt2800lib: fix indentation of some rt2x00_rt calls The patch contains no functional changes. Signed-off-by: Gabor Juhos Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 6dac3447425d932fa76a4e69d32eead9dd090b27 Author: Dan Carpenter Date: Sun Dec 2 13:36:09 2012 +0300 p54: potential signedness issue in p54_parse_rssical() "entries" is unsigned here, so it is never less than zero. In theory, len could be less than offset so I have added a check for that. Signed-off-by: Dan Carpenter Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 06ef5c4bbb9816e7a7eb44917f11c2e3375fb51a Merge: 55cec50 0b27a4b Author: John W. Linville Date: Mon Dec 3 13:46:03 2012 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 0b27a4b97cb1874503c78453c0903df53c0c86b2 Author: Gustavo Padovan Date: Mon Dec 3 15:36:51 2012 -0200 Revert "Bluetooth: Fix possible deadlock in SCO code" This reverts commit 269c4845d5b3627b95b1934107251bacbe99bb68. The commit was causing dead locks and NULL dereferences in the sco code: [28084.104013] BUG: soft lockup - CPU#0 stuck for 22s! [kworker/u:0H:7] [28084.104021] Modules linked in: btusb bluetooth ] _raw_spin_lock+0xd/0x10 [28084.104021] [] sco_conn_del+0x58/0x1b0 [bluetooth] [28084.104021] [] sco_connect_cfm+0xb9/0x2b0 [bluetooth] [28084.104021] [] hci_sync_conn_complete_evt.isra.94+0x1c9/0x260 [bluetooth] [28084.104021] [] hci_event_packet+0x74d/0x2b40 [bluetooth] [28084.104021] [] ? __kfree_skb+0x3d/0x90 [28084.104021] [] ? kfree_skb+0x36/0x90 [28084.104021] [] ? hci_send_to_monitor+0x10e/0x190 [bluetooth] [28084.104021] [] ? hci_send_to_monitor+0x10e/0x190 [bluetooth] Cc: stable@vger.kernel.org Reported-by: Chan-yeol Park Signed-off-by: Gustavo Padovan commit f2592d3ee3c5817981f343b90bfb9c5612f38d23 Author: Andrei Emeltchenko Date: Thu Nov 29 17:46:08 2012 +0200 Bluetooth: trivial: Change NO_FCS_RECV to RECV_NO_FCS Make code more readable by changing CONF_NO_FCS_RECV which is read as "No L2CAP FCS option received" to CONF_RECV_NO_FCS which means "Received L2CAP option NO_FCS". This flag really means that we have received L2CAP FRAME CHECK SEQUENCE (FCS) OPTION with value "No FCS". Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit cbabee788ff881b87bbaf258caf080b49a61fa43 Author: Andrei Emeltchenko Date: Thu Nov 29 17:46:07 2012 +0200 Bluetooth: Process receiving FCS_NONE in L2CAP Conf Rsp Process L2CAP Config rsp Pending with FCS Option 0x00 (No FCS) which is sent by Motorola Windows 7 Bluetooth stack. The trace is shown below (all other options are skipped). ... < ACL data: handle 1 flags 0x00 dlen 48 L2CAP(s): Config req: dcid 0x0043 flags 0x00 clen 36 ... FCS Option 0x00 (No FCS) > ACL data: handle 1 flags 0x02 dlen 48 L2CAP(s): Config req: dcid 0x0041 flags 0x00 clen 36 ... FCS Option 0x01 (CRC16 Check) < ACL data: handle 1 flags 0x00 dlen 47 L2CAP(s): Config rsp: scid 0x0043 flags 0x00 result 4 clen 33 Pending ... > ACL data: handle 1 flags 0x02 dlen 50 L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 4 clen 36 Pending ... FCS Option 0x00 (No FCS) < ACL data: handle 1 flags 0x00 dlen 14 L2CAP(s): Config rsp: scid 0x0043 flags 0x00 result 0 clen 0 Success > ACL data: handle 1 flags 0x02 dlen 14 L2CAP(s): Config rsp: scid 0x0041 flags 0x00 result 0 clen 0 Success ... Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 60918918a9f3455859a4be0d4e381003cbdb843f Author: Andrei Emeltchenko Date: Thu Nov 29 17:46:06 2012 +0200 Bluetooth: Fix missing L2CAP EWS Conf parameter If L2CAP_FEAT_FCS is not supported we sould miss EWS option configuration because of break. Make code more readable by combining FCS configuration in the single block. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 5d05416e0907b0dd30b62b002bed3b85e6efbd61 Author: Andrei Emeltchenko Date: Thu Nov 29 17:46:05 2012 +0200 Bluetooth: AMP: Check that AMP is present and active Before starting quering remote AMP controllers make sure that there is local active AMP controller. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit ced5c338d7b696021058c23fb6a286def2171df5 Author: Andrei Emeltchenko Date: Wed Nov 28 17:59:42 2012 +0200 Bluetooth: AMP: Mark controller radio powered down after HCIDEVDOWN After getting HCIDEVDOWN controller did not mark itself as 0x00 which means: "The Controller radio is available but is currently physically powered down". The result was even if the hdev was down we return in controller list value 0x01 "status 0x01 (Bluetooth only)". Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 5e4e3972b8da23e270fa37670caec4d32f2197f7 Author: Andrei Emeltchenko Date: Wed Nov 28 17:59:39 2012 +0200 Bluetooth: Refactor l2cap_send_disconn_req l2cap_send_disconn_req takes 3 parameters of which conn might be derived from chan. Make this conversion inside l2cap_send_disconn_req. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit ffa88e02bc67a1496fae762ad899e8f49136e7a1 Author: Gustavo Padovan Date: Fri Nov 23 16:50:51 2012 -0200 Bluetooth: Move double negation to macros Some comparisons needs to double negation(!!) in order to make the value of the field boolean. Add it to the macro makes the code more readable. Signed-off-by: Gustavo Padovan commit 20714bfef84d3e690c9c6f8e9cd46543b5ae1eed Author: Frédéric Dalleau Date: Wed Nov 21 10:51:12 2012 +0100 Bluetooth: Implement deferred sco socket setup In order to authenticate and configure an incoming SCO connection, the BT_DEFER_SETUP option was added. This option is intended to defer reply to Connect Request on SCO sockets. When a connection is requested, the listening socket is unblocked but the effective connection setup happens only on first recv. Any send between accept and recv fails with -ENOTCONN. Signed-off-by: Frédéric Dalleau Signed-off-by: Gustavo Padovan commit b96e9c671b05f95126753a22145d4509d45ca197 Author: Frédéric Dalleau Date: Wed Nov 21 10:51:11 2012 +0100 Bluetooth: Add BT_DEFER_SETUP option to sco socket This option will set the BT_SK_DEFER_SETUP bit in socket flags. Signed-off-by: Frédéric Dalleau Signed-off-by: Gustavo Padovan commit b9b5ef188e5a2222cfc16ef62a4703080750b451 Author: Gustavo Padovan Date: Wed Nov 21 00:50:21 2012 -0200 Bluetooth: cancel power_on work when unregistering the device We need to cancel the hci_power_on work in order to avoid it run when we try to free the hdev. [ 1434.201149] ------------[ cut here ]------------ [ 1434.204998] WARNING: at lib/debugobjects.c:261 debug_print_object+0x8e/0xb0() [ 1434.208324] ODEBUG: free active (active state 0) object type: work_struct hint: hci _power_on+0x0/0x90 [ 1434.210386] Pid: 8564, comm: trinity-child25 Tainted: G W 3.7.0-rc5-next- 20121112-sasha-00018-g2f4ce0e #127 [ 1434.210760] Call Trace: [ 1434.210760] [] ? debug_print_object+0x8e/0xb0 [ 1434.210760] [] warn_slowpath_common+0x87/0xb0 [ 1434.210760] [] warn_slowpath_fmt+0x41/0x50 [ 1434.210760] [] debug_print_object+0x8e/0xb0 [ 1434.210760] [] ? hci_dev_open+0x310/0x310 [ 1434.210760] [] ? _raw_spin_unlock_irqrestore+0x55/0xa0 [ 1434.210760] [] __debug_check_no_obj_freed+0xa5/0x230 [ 1434.210760] [] ? bt_host_release+0x10/0x20 [ 1434.210760] [] debug_check_no_obj_freed+0x15/0x20 [ 1434.210760] [] kfree+0x227/0x330 [ 1434.210760] [] bt_host_release+0x10/0x20 [ 1434.210760] [] device_release+0x65/0xc0 [ 1434.210760] [] kobject_cleanup+0x145/0x190 [ 1434.210760] [] kobject_release+0xd/0x10 [ 1434.210760] [] kobject_put+0x4c/0x60 [ 1434.210760] [] put_device+0x12/0x20 [ 1434.210760] [] hci_free_dev+0x24/0x30 [ 1434.210760] [] vhci_release+0x31/0x60 [ 1434.210760] [] __fput+0x122/0x250 [ 1434.210760] [] ? rcu_user_exit+0x9d/0xd0 [ 1434.210760] [] ____fput+0x9/0x10 [ 1434.210760] [] task_work_run+0xb2/0xf0 [ 1434.210760] [] do_notify_resume+0x77/0xa0 [ 1434.210760] [] int_signal+0x12/0x17 [ 1434.210760] ---[ end trace a6d57fefbc8a8cc7 ]--- Cc: stable@vger.kernel.org Reported-by: Sasha Levin Signed-off-by: Gustavo Padovan commit dc2a0e20fbc85a71c63aa4330b496fda33f6bf80 Author: Gustavo Padovan Date: Tue Nov 20 23:25:54 2012 -0200 Bluetooth: Add missing lock nesting notation This patch fixes the following report, it happens when accepting rfcomm connections: [ 228.165378] ============================================= [ 228.165378] [ INFO: possible recursive locking detected ] [ 228.165378] 3.7.0-rc1-00536-gc1d5dc4 #120 Tainted: G W [ 228.165378] --------------------------------------------- [ 228.165378] bluetoothd/1341 is trying to acquire lock: [ 228.165378] (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+...}, at: [] bt_accept_dequeue+0xa0/0x180 [bluetooth] [ 228.165378] [ 228.165378] but task is already holding lock: [ 228.165378] (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+...}, at: [] rfcomm_sock_accept+0x58/0x2d0 [rfcomm] [ 228.165378] [ 228.165378] other info that might help us debug this: [ 228.165378] Possible unsafe locking scenario: [ 228.165378] [ 228.165378] CPU0 [ 228.165378] ---- [ 228.165378] lock(sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM); [ 228.165378] lock(sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM); [ 228.165378] [ 228.165378] *** DEADLOCK *** [ 228.165378] [ 228.165378] May be due to missing lock nesting notation Cc: stable@vger.kernel.org Signed-off-by: Gustavo Padovan commit 633cf8f5056c3e72158e4dbc387b3d65926d2d55 Author: Ville Syrjälä Date: Mon Dec 3 18:43:32 2012 +0200 drm/i915: Don't allow ring tail to reach the same cacheline as head From BSpec: "If the Ring Buffer Head Pointer and the Tail Pointer are on the same cacheline, the Head Pointer must not be greater than the Tail Pointer." The easiest way to enforce this is to reduce the reported ring space. References: Gen2 BSpec "1. Programming Environment" / 1.4.4.6 "Ring Buffer Use" Gen3 BSpec "vol1c Memory Interface Functions" / 2.3.4.5 "Ring Buffer Use" Gen4+ BSpec "vol1c Memory Interface and Command Stream" / 5.3.4.5 "Ring Buffer Use" v2: Include the exact BSpec references in the description v3: s/64/I915_RING_FREE_SPACE, and add the BSpec information to the code Signed-off-by: Ville Syrjälä Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 1c4c3a99435c8891469fe6fca5ccd5fbe16f295a Author: Alex Deucher Date: Mon Dec 3 11:59:21 2012 -0500 drm/radeon/dce4/5: add registers for ELD handling Signed-off-by: Alex Deucher commit fbed600af159b9dce78dd74c4bff56b40bb19d47 Author: Alex Deucher Date: Mon Dec 3 11:52:49 2012 -0500 drm/radeon/dce3.2: add registers for ELD handling Signed-off-by: Alex Deucher commit a2165e312381f35b8abd7dcb8a8ab955bc60d867 Author: Chris Wilson Date: Mon Dec 3 11:49:00 2012 +0000 drm/i915: Decouple the object from the unbound list before freeing pages As we may actually allocate in order to save the physical swizzling bits during the free, we have to be careful not to trigger the shrinker on the same object. Signed-off-by: Chris Wilson [danvet: Added a small comment in the code to really drive the scariness of this patch home.] Signed-off-by: Daniel Vetter commit da29d2a5780d80857773d7776b7603a449b0b6e0 Author: Marco Porsch Date: Mon Dec 3 11:23:37 2012 +0100 cfg80211: fix channel error on mesh join Fix an error on mesh join when no channel has been explicitly set beforehand. Also remove a double semicolon. Signed-off-by: Marco Porsch Signed-off-by: Johannes Berg commit 246dc3fddf4a01bb47dd56215a48dd2b270520db Author: Simon Wunderlich Date: Fri Nov 30 19:17:27 2012 +0100 mac80211: return if CSA is not handle If channel contexts are enabled, the CSA should not be processed further. A return is missing here. Signed-off-by: Simon Wunderlich Signed-off-by: Johannes Berg commit 45c2aa989125bdb5ad064f5b32636edce044a84e Author: Masanari Iida Date: Fri Nov 30 22:08:31 2012 +0900 wireless: mwifiex: Fix typo in wireless/mwifiex driver Correct spelling typo in wireless/mwifiex driver. Signed-off-by: Masanari Iida Acked-by: Bing Zhao Signed-off-by: Jiri Kosina commit 55cec505559dade9e7776de8f3d23fc3e54e091d Author: Seth Forshee Date: Thu Nov 29 07:36:00 2012 -0600 brcmsmac: Fix possible NULL pointer dereference in _dma_ctrlflags() There's a debug message to warn if this function is passed a NULL pointer, but in order to print the message we have to dereference the pointer. Obviously this isn't a good idea, so remove the message. Reported-by: Fengguang Wu Signed-off-by: Seth Forshee Signed-off-by: John W. Linville commit 697978383e94fff79fc72d9dbf1a03db8ac9784a Author: Masanari Iida Date: Fri Nov 30 22:08:31 2012 +0900 wireless: mwifiex: Fix typo in wireless/mwifiex driver Correct spelling typo in wireless/mwifiex driver. Signed-off-by: Masanari Iida Signed-off-by: John W. Linville commit 244a77e9d708d5a23eed21a4fb62a62acc9c69a6 Author: Hauke Mehrtens Date: Thu Nov 29 23:27:17 2012 +0100 rtlwifi: use SIMPLE_DEV_PM_OPS rtlwifi only provides pm callbacks for functions covered by pm sleep and they are also just called if CONFIG_PM_SLEEP is set. Only add functions rtl_pci_suspend and rtl_pci_resume if CONFIG_PM_SLEEP is set and use SIMPLE_DEV_PM_OPS instead of manually filling struct dev_pm_ops. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 88823492736a43f04d2ee114e0ec2b7725d3be35 Author: Hauke Mehrtens Date: Thu Nov 29 23:27:16 2012 +0100 p54pci: use SIMPLE_DEV_PM_OPS p54pci does not provide any runtime pm callbacks, so support for PM_RUNTIME is not needed and we could go to PM_SLEEP. This also makes it possible to use SIMPLE_DEV_PM_OPS instead of manually filling struct dev_pm_ops. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 88427588993db079a1b2cdbcba69f3c162f8ee21 Author: Hauke Mehrtens Date: Thu Nov 29 23:27:15 2012 +0100 ath9k: use SIMPLE_DEV_PM_OPS ath9k does not provide any runtime pm callbacks, so support for PM_RUNTIME is not needed and we could go to PM_SLEEP. This also makes it possible to use SIMPLE_DEV_PM_OPS instead of manually filling struct dev_pm_ops. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit dac67975f3dc8565e4254b1d7a49618494f1a2f1 Author: Daniel Stamer Date: Thu Nov 29 17:09:26 2012 +0100 rtlwifi: rtl8192se: Fixed coding style issues in the driver This patch fixes almost all coding issues in the rtl8192se driver. Only exception is putting trailing */ on separate lines. Signed-off-by: Daniel Stamer Acked-by: Larry Finger Signed-off-by: John W. Linville commit 904f137d478215b7c5c1daabae03618ed2f703cf Author: Johannes Berg Date: Wed Nov 28 21:53:45 2012 +0100 mwifiex: fix struct member mismatch Using bss->information_elements and treating bss->len_beacon_ies as its size is wrong, the real size is len_information_elements. Found while I was reviewing the use of this cfg80211 API (as it is actually potentially broken due to races.) Signed-off-by: Johannes Berg Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 1b4e027e1b1176b70a59665c0de58c04c7a4e210 Author: Hante Meuleman Date: Wed Nov 28 21:44:14 2012 +0100 brcmfmac: change debug output for received event. see header. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit b41fc3d740ae80a82167acbe848583da4a74d006 Author: Hante Meuleman Date: Wed Nov 28 21:44:13 2012 +0100 brcmfmac: fix bug in setting mgmt ie and parsing vndrs ie. Parsing vndrs ie was not taking len of tlv itself in account. Setting mgmt ie was missing check for length indicating non configured ie and wrongly checking available length. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 128ce3b6f3b5d3c59dd46de8fff6aef0c1d4ff51 Author: Arend van Spriel Date: Wed Nov 28 21:44:12 2012 +0100 brcmfmac: remove mode from struct brcmf_cfg80211_conf The mode should be stored and used per virtual interface. Remove the mode from device global structure and rework the code to use the mode from brcmf_cfg80211_vif. 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 903e0eeeb9b0d8c587ddd37fd6664a734f827b56 Author: Arend van Spriel Date: Wed Nov 28 21:44:11 2012 +0100 brcmfmac: get rid of struct brcmf_cfg80211_info::link_up attribute This attribute indicates successful IBSS or AP connection has been established. However, this no longer works for virtual interfaces. As it turns out this attribute is identical to the CONNECTED bit in struct brcmf_cfg80211_vif::sme_state. This patch removes the attribute and rework some functions relying on it. 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 b6fc28a158076ca2764edc9a6d1e1402f56e1c0c Author: Piotr Haber Date: Wed Nov 28 21:44:10 2012 +0100 brcmsmac: support 4313iPA Add support for 4313 iPA variant. It is a variant of already supported 4313 ePA and needs some PHY changes to work properly. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit b83576341664957978e125f5f5db2f15496980b1 Author: Piotr Haber Date: Wed Nov 28 21:44:09 2012 +0100 brcmsmac: move PHY functions Move functions in preparation for 4313iPA changes Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 8e21df23894e12937fb3b51197bf5d0c4d7cc8ba Author: Piotr Haber Date: Wed Nov 28 21:44:08 2012 +0100 brcmsmac: hardware info in debugfs Put basic information about hardware in debugfs. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Reviewed-by: Arend van Spriel Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Acked-by: Seth Forshee Signed-off-by: John W. Linville commit 57fe504817ccec9b6ac23e973d2925343bf1e3b6 Author: Piotr Haber Date: Wed Nov 28 21:44:07 2012 +0100 brcmsmac: fix bounds checking in tx/rx brcms_b_txstatus and brcms_b_recv are off by one when doing bounds checking on number of packets to process Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Reviewed-by: Arend van Spriel Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 94d9902dc06a28a1b25cf56a7cdc057608bdf48b Author: Piotr Haber Date: Wed Nov 28 21:44:06 2012 +0100 brcmsmac: cleanup in isr code brcms_c_isr returns true if interrupt was for us and if dpc should be scheduled which is the same thing. Simplify it. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Reviewed-by: Arend van Spriel Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit c4dea35e34f5f46e1701156153a09cce429d1ea9 Author: Piotr Haber Date: Wed Nov 28 21:44:05 2012 +0100 brcmsmac: handle packet drop during transmit correctly The .tx() callback function can drop packets when there is no space in the DMA fifo. Propagate that information to caller and make sure the freed sk_buff reference is not accessed. Reviewed-by: Arend van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Piotr Haber Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 23c1d7f65975762386760e36c00f149059e537e2 Author: Vladimir Kondratiev Date: Wed Nov 28 18:57:19 2012 +0200 wireless: allow Atheros card to not depend on ath.ko There are 2 different things: - sub-menu for "Atheros Wireless cards" family - module ath.ko with common Atheros code Until now, they both used to depend on the same Kconfig variable ATH_COMMON. Thus, being "Atheros card" and "depending on ath.ko" was the same. To allow module to belong to the "Atheros Wireless cards" family but not use ath.ko, 2 conditions above need to be separated. So, this patch introduce new Kconfig variable ATH_CARDS for belonging to the "Atheros Wireless Cards" family; while ATH_COMMON becomes hidden variable to express dependency on common Atheros code in ath.ko. Modules that depend on this common code now express it by setting ATH_COMMON. Right now, ath6kl do not depend on common code and thus do not set ATH_COMMON. Signed-off-by: Vladimir Kondratiev Signed-off-by: John W. Linville commit a56c919f05eb73f6d791cc14992f4b451059b68c Author: Sujith Manoharan Date: Wed Nov 28 15:08:55 2012 +0530 ath9k: Remove redundant NULL assignment 'bf_next' is cleared using ATH_TXBUF_RESET() in both the callsites of ath_tx_get_buffer(). Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a145daf7f04696d0cec98d5328760fe65fe418c5 Author: Sujith Manoharan Date: Wed Nov 28 15:08:54 2012 +0530 ath9k: Implement sta_add_debugfs/sta_remove_debugfs Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit de7b7604eae91f00cd587f8541eec11a7fc505aa Author: Sujith Manoharan Date: Wed Nov 28 15:08:53 2012 +0530 ath9k: Replace WME_NUM_TID with IEEE80211_NUM_TIDS Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c175db87411f0e79924a48563d5f595b9a352907 Author: Sujith Manoharan Date: Wed Nov 28 15:08:52 2012 +0530 ath9k: Move ethtool functions to debug.c The ethtool statistics are available only when CONFIG_ATH9K_DEBUGFS is enabled, move these functions to debug.c Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 6c50f9459e62eb133563fd23606f68bfc9d120e8 Author: Helmut Schaa Date: Wed Nov 28 10:28:52 2012 +0100 rt2x00: Use addr_mask to disallow invalid MAC addresses in mutli-bssid mode Reported-by: Petr Stetiar Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd0d83c220086dba81055e59b7c1f63f94b27003 Author: Avinash Patil Date: Tue Nov 27 12:09:20 2012 -0800 mwifiex: advertise GreenField, 40MHz intolerance support to cfg80211 This patch adds support for advertising GreenField, 40MHz intolerance or LDPC coding support to cfg80211. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d6144d85f830848ab31eb5d073d9bb4742b64e03 Author: Rajkumar Manoharan Date: Tue Nov 27 13:51:32 2012 +0530 ath9k: Fix buffer overflow error The commit "ath9k: stomp audio profiles on weak signal strength" failed to take care of new stomp type while programming concurrent tx priority. That leads to array index out of bounds access. drivers/net/wireless/ath/ath9k/btcoex.c:414 ath9k_hw_btcoex_set_concur_txprio() error: buffer overflow 'stomp_txprio' 4 <= 4 Reported-by: Dan Carpenter Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 584955632841c069678833f3320b4f6d21a8215e Author: Rob Clark Date: Thu Oct 11 20:50:56 2012 -0500 drm: remove legacy drm_connector_property fxns Replace references to and remove the connector property fxns, which have been superseded with the more general object property fxns: + drm_connector_attach_property -> drm_object_attach_property + drm_connector_property_set_value -> drm_object_property_set_value + drm_connector_property_get_value -> drm_object_property_get_value Signed-off-by: Rob Clark commit 2db83827dc7679c1f4925bb116e1f7deb13192e2 Author: Rob Clark Date: Thu Oct 11 20:42:04 2012 -0500 drm/nouveau: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit 6de6d8463002b490b1cdc62f4d29c45430f2da85 Author: Rob Clark Date: Thu Oct 11 20:36:04 2012 -0500 drm/i915: One more drm_connector_property -> drm_object_property One new drm_connector_attach_property() snuck in after the initial patch was written. Signed-off-by: Rob Clark commit ec61c71d0dba24efe5868a92f6ba538a50d4823c Author: Rob Clark Date: Thu Oct 11 20:50:10 2012 -0500 drm/i2c: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit b8b163ba9dcf20685bb193fb986989f1c68c3637 Author: Rob Clark Date: Thu Oct 11 20:47:14 2012 -0500 drm/vmwgfx: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit 99d1dba6d926582ebfecbb06579094db353622e2 Author: Rob Clark Date: Thu Oct 11 20:46:48 2012 -0500 drm/udl: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit c708a56d8e93d872b88eb87a5f32fc3e663c14db Author: Rob Clark Date: Thu Oct 11 20:45:53 2012 -0500 drm/shmob: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit e35755fa343995d85b1069513300bd7bd4eca117 Author: Rob Clark Date: Thu Oct 11 20:44:52 2012 -0500 drm/radeon: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit a69ac9ea85d87b57166a1c017c5019447b854a68 Author: Rob Clark Date: Thu Oct 11 20:38:23 2012 -0500 drm/gma500: drm_connector_property -> drm_object_property Signed-off-by: Rob Clark commit a544ab7f9c09df591758931301a7c509bba6c913 Author: Johannes Berg Date: Tue Nov 13 21:36:27 2012 +0100 mac80211: simplify loop in minstrel_ht Signed-off-by: Johannes Berg commit 9caf03640279e64d0ba36539b42daa1b43a49486 Author: Johannes Berg Date: Thu Nov 29 01:25:20 2012 +0100 cfg80211: fix BSS struct IE access races When a BSS struct is updated, the IEs are currently overwritten or freed. This can lead to races if some other CPU is accessing the BSS struct and using the IEs concurrently. Fix this by always allocating the IEs in a new struct that holds the data and length and protecting access to this new struct with RCU. Signed-off-by: Johannes Berg commit b9a9ada14aab17f08c1d9735601f1097cdcfc6de Author: Johannes Berg Date: Thu Nov 29 13:00:10 2012 +0100 mac80211: remove probe response temporary buffer allocation Instead of allocating a temporary buffer to build IEs build them right into the SKB. Signed-off-by: Johannes Berg commit c604b9f219422e969fe371cc7259de34c3c5601d Author: Johannes Berg Date: Thu Nov 29 12:45:18 2012 +0100 mac80211: make ieee80211_build_preq_ies safer Instead of assuming 200 bytes are always enough for all the IEs we add, give the length of the buffer to the function and warn instead of overrunning. Signed-off-by: Johannes Berg commit f94f8b168cf2e46da180bbba2afd626d7af0579d Author: Johannes Berg Date: Wed Nov 28 22:42:34 2012 +0100 cfg80211: fix cmp_hidden_bss The cmp_bss() comparator function uses memcmp() to compare the SSID. This means that cmp_hidden_bss() needs to similarly return a number bigger than zero (use 1) instead of -1 when ie1 is bigger than ie2, which is the case if an ie2 byte is non-zero. Signed-off-by: Johannes Berg commit 915de2ff4a79f1f98362035060777b6c8ce889bb Author: Johannes Berg Date: Wed Nov 28 22:39:37 2012 +0100 cfg80211: fix whitespace in scan handling Fix a number of indentation and similar issues. Signed-off-by: Johannes Berg commit b629ea3db4c0da4465ffa532914e4a3081f93cdf Author: Johannes Berg Date: Wed Nov 28 22:14:56 2012 +0100 cfg80211: don't BUG_ON BSS struct issues There's no need to stop the machine, just leak the BSS entry if there's an issue with its hold counter when freeing. Signed-off-by: Johannes Berg commit 41e31b8b902397d5d507b275050fcbe8adaf4ff4 Author: Antonio Quartulli Date: Fri Nov 30 00:18:12 2012 +0100 mac80211: allow userspace registration for probe requests in IBSS This change allows userspace to register for probe request frames on an IBSS interface. Userspace then has to handle them and send replies. Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit 372039031c62886c8c5b57a7b0111446e9caefa8 Author: Marco Porsch Date: Fri Nov 23 12:23:18 2012 -0800 mac80211: fix for mesh sync to indicate TBTT adjustment Currently the mesh sync code checks, whether peers indicate TBTT adjustment, but it never sets the corresponding flag itself. By setting ifmsh->tbtt_adjusting to true, it will set the corresponding field in the mesh configuration IE of own beacons. This indication will be set in the current beacon. The TBTT adjustment will be performed afterwards, affecting the next beacon. Thus, the first beacon with stable TBTT will not indicate adjustment anymore and peers will continue tracking the new offset. Signed-off-by: Marco Porsch Signed-off-by: Johannes Berg commit c04d61500d706b20361eef02e819b9bed8e92c01 Author: Simon Wunderlich Date: Thu Nov 29 18:37:22 2012 +0100 nl80211: Fix HT_IBSS feature check in ibss_join There is a standalone if, seems to be a regression of commit "nl80211/cfg80211: add VHT MCS support". Signed-off-by: Simon Wunderlich Signed-off-by: Johannes Berg commit 59f547ac5ba71a01232b023cb80f1fe05739dbbf Author: Emmanuel Grumbach Date: Wed Nov 28 16:42:09 2012 +0200 iwlwifi: return real info in probe failure Don't return a hard coded -EFAULT, but rather the error that occurred in the flow. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 1f2e651c9aa4be5ace193b6a8f48e4b068a60207 Author: Saravana Date: Thu Nov 29 19:54:19 2012 +0530 mac80211: add debugfs file for last rx rate Add a debugfs file showing the rate at which the last packet is received. Signed-off-by: Saravana [fix whitespace] Signed-off-by: Johannes Berg commit 003e676af5044c2168dafbb49c7b8d61dd68cc60 Author: Saravana Date: Wed Nov 28 18:29:38 2012 +0530 mac80211: re-organize the rx rate calculation logic Currently the logic to fill a struct rate_info with a STA's last RX rate is accessible only in the cfg.c. As the RX rate calculation might be needed elsewhere, split this out into a separate function. Signed-off-by: Saravana [fix various whitespace issues, reword commit log] Signed-off-by: Johannes Berg commit 91b8c050b2a2ed3a1277de53d90e1899f28225e8 Author: Saravana Date: Thu Nov 29 19:22:37 2012 +0530 mac80211: add debugfs file for current tx rate Add a debugfs file showing the current tx rate. The information available in the rc_stats file doesn't evidently provides us the current tx rate. This patch adds the support for the same. Signed-off-by: Saravana Signed-off-by: Johannes Berg commit db94357dbd79359496cd5189640cc36bb3c35733 Author: Saravana Date: Wed Nov 28 18:27:09 2012 +0530 mac80211: add debugfs file for last ack signal Add a debugfs file showing the signal strength of the ack frame that is received for the currently sent tx packet Signed-off-by: Saravana Signed-off-by: Johannes Berg commit bcc5cd1c5fad9b4471aafff0d74d9d0fcde1c27d Author: Inki Dae Date: Fri Oct 19 17:16:36 2012 +0900 drm/exynos: add iommu support to fimd driver The iommu will be enabled when fimd sub driver is probed and will be disabled when removed. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 0519f9a12d0113caab78980c48a7902d2bd40c2c Author: Inki Dae Date: Sat Oct 20 07:53:42 2012 -0700 drm/exynos: add iommu support for exynos drm framework Changelog v4: - fix condition to drm_iommu_detach_device funtion. Changelog v3: - add dma_parms->max_segment_size setting of drm_device->dev. - use devm_kzalloc instead of kzalloc. Changelog v2: - fix iommu attach condition. . check archdata.dma_ops of drm device instead of subdrv device's one. - code clean to exynos_drm_iommu.c file. . remove '#ifdef CONFIG_ARM_DMA_USE_IOMMU' from exynos_drm_iommu.c and add it to driver/gpu/drm/exynos/Kconfig. Changelog v1: This patch adds iommu support for exynos drm framework with dma mapping api. In this patch, we used dma mapping api to allocate physical memory and maps it with iommu table and removed some existing codes and added new some codes for iommu support. GEM allocation requires one device object to use dma mapping api so this patch uses one iommu mapping for all sub drivers. In other words, all sub drivers have same iommu mapping. Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit e7783ba3bf1c631278be6620875fbfa6b0eba905 Author: Imre Deak Date: Fri Nov 2 13:30:50 2012 +0200 drm: hold event_lock while accessing vblank_event_list Currently the only users of drm_vblank_off() are i915 and gma500, neither of which holds the event_lock when calling this function. Fix this by holding the event_lock while traversing the list. Signed-off-by: Imre Deak Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 9fb7dff5ec238c8f71ef9b06256957a0db585c04 Author: Imre Deak Date: Fri Nov 2 13:30:49 2012 +0200 drm/exynos: fix lockdep for event_lock wrt. vbl_time_lock Currently the exynos driver calls drm_vblank_off() with the event_lock held, while drm_vblank_off() will lock vbl_time and vblank_time_lock. This lock dependency chain conflicts with the one in drm_handle_vblank() where we first lock vblank_time_lock and then the event_lock. Fix this by removing the above drm_vblank_off() calls which are in fact never executed: drm_dev->vblank_disable_allowed is only ever non-zero during driver init, until it's set in {fimd,vidi}_subdrv_probe. Both the driver init and open code is protected by drm_global_mutex, so the earliest page flip ioctl can happen only after vblank_disable_allowed is set to 1. Thus {fimd,vidi}_finish_pageflip - with pending flip events - will always get called with vblank_disable_allowed being 1. Signed-off-by: Imre Deak Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit e1f48ee58a90ddf84f514334b5d395a358596492 Author: Imre Deak Date: Fri Nov 2 13:30:48 2012 +0200 drm/exynos: call drm_vblank_put for each queued flip event It's guaranteed that for each event on pageflip_event_list we have called drm_vblank_get() - see exynos_drm_crtc_page_flip() - so checking for this is redundant. Also we need to call drm_vblank_put() for each event on the list, not only once, otherwise we'd leak vblank references if there are multiple events on the list. Signed-off-by: Imre Deak Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit 85473328bac6170aabb5e13d2542d11d1fc4cc76 Author: Imre Deak Date: Fri Nov 2 13:30:47 2012 +0200 drm/exynos: hold event_lock while accessing pageflip_event_list Signed-off-by: Imre Deak Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park commit fdd66e06ce71cdcdb515ef355d4f2fc90e151503 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 6ecf18f9e769f77e918f2a18b35faf2a4844ad1a 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 8e8755dd8f9ca8a0da4c4cbff164fc42b4456539 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 fa3692d1edebf67a4c93e9c6dbef7b0e0d23cb49 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 9d934799025072d0a9c47b0ac6b9541418e5e88c 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 7b01e260a6cad9152eefb44ce64f3a2073af1e6b Author: Mika Kuoppala Date: Wed Nov 28 17:18:45 2012 +0200 drm/i915: Set sync_seqno properly after seqno wrap i915_gem_handle_seqno_wrap() will zero all sync_seqnos but as the wrap can happen inside ring->sync_to(), pre wrap seqno was carried over and overwrote the zeroed sync_seqno. When wrap is handled, all outstanding requests will be retired and objects moved to inactive queue, causing their last_read_seqno to be zero. Use this to update the sync_seqno correctly. RING_SYNC registers after wrap will contain pre wrap values which are >= seqno. So injecting the semaphore wait into ring completes immediately. Original idea for using last_read_seqno from Chris Wilson. Signed-off-by: Mika Kuoppala Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit df2b23d97919601218e9229ff517afea83fe5520 Author: Chris Wilson Date: Tue Nov 27 17:06:54 2012 +0000 drm/i915: Include the last semaphore sync point in the error-state Should be useful to know what the driver thought the other ring's seqno was when it last used a semaphore. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit 3e9605018ab3e333d51cc90fccfde2031886763b Author: Chris Wilson Date: Tue Nov 27 16:22:54 2012 +0000 drm/i915: Rearrange code to only have a single method for waiting upon the ring Replace the wait for the ring to be clear with the more common wait for the ring to be idle. The principle advantage is one less exported intel_ring_wait function, and the removal of a hardcoded value. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit b662a0663230853fccdfceeda5db031f5d4b657c Author: Chris Wilson Date: Tue Nov 27 16:22:53 2012 +0000 drm/i915: Simplify flushing activity on the ring As we now always preallocate the seqno before writing to the ring, we can trivially test if we have any pending activity on the ring by inspecting the olr. This makes it then possible to flush operations that are not normally associated with a request, like power-management. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit 9d7730914f4cd496e356acfab95b41075aa8eae8 Author: Chris Wilson Date: Tue Nov 27 16:22:52 2012 +0000 drm/i915: Preallocate next seqno before touching the ring Based on the work by Mika Kuoppala, we realised that we need to handle seqno wraparound prior to committing our changes to the ring. The most obvious point then is to grab the seqno inside intel_ring_begin(), and then to reuse that seqno for all ring operations until the next request. As intel_ring_begin() can fail, the callers must already be prepared to handle such failure and so we can safely add further checks. This patch looks like it should be split up into the interface changes and the tweaks to move seqno wrapping from the execbuffer into the core seqno increment. However, I found no easy way to break it into incremental steps without introducing further broken behaviour. v2: Mika found a silly mistake and a subtle error in the existing code; inside i915_gem_retire_requests() we were resetting the sync_seqno of the target ring based on the seqno from this ring - which are only related by the order of their allocation, not retirement. Hence we were applying the optimisation that the rings were synchronised too early, fortunately the only real casualty there is the handling of seqno wrapping. v3: Do not forget to reset the sync_seqno upon module reinitialisation, ala resume. Signed-off-by: Chris Wilson Cc: Mika Kuoppala Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=863861 Reviewed-by: Mika Kuoppala [v2] Signed-off-by: Daniel Vetter commit 45e2b5f640b3766da3eda48f6c35f088155c06f3 Author: Daniel Vetter Date: Fri Nov 23 18:16:34 2012 +0100 drm/i915: force restore on lid open There seem to be indeed some awkwards machines around, mostly those without OpRegion support, where the firmware changes the display hw state behind our backs when closing the lid. This force-restore logic has been originally introduced in commit c1c7af60892070e4b82ad63bbfb95ae745056de0 Author: Jesse Barnes Date: Thu Sep 10 15:28:03 2009 -0700 drm/i915: force mode set at lid open time but after the modeset-rework we've disabled it in the vain hope that it's no longer required: commit 3b7a89fce3e3dc96b549d6d829387b4439044d0d Author: Daniel Vetter Date: Mon Sep 17 22:27:21 2012 +0200 drm/i915: fix OOPS in lid_notify Alas, no. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54677 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57434 Tested-by: Krzysztof Mazur Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit b5d177946a30b097fbd1e5afa7c11acdeeb6bad8 Author: Chris Wilson Date: Thu Nov 22 13:07:20 2012 +0000 drm/i915: Wait upon the last request seqno, rather than a future seqno In commit 69c2fc891343cb5217c866d10709343cff190bdc Author: Chris Wilson Date: Fri Jul 20 12:41:03 2012 +0100 drm/i915: Remove the per-ring write list the explicit flush was removed from i915_ring_idle(). However, we continued to wait upon the next seqno which now did not correspond to any request (except for the unusual condition of a failure to queue a request after execbuffer) and so would wait indefinitely. This has an important side-effect that i915_gpu_idle() does not cause the seqno to be incremented. This is vital if we are to be able to idle the GPU to handle seqno wraparound, as in subsequent patches. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit 4f1ba0f83a6d4abd055cf75af43954b38df8dcaf Author: Mika Kuoppala Date: Mon Nov 12 14:20:19 2012 +0200 drm/i915: fix possible NULL dereference of dev_priv Dereference dev_priv only after we know it is valid. Found with smatch. Signed-off-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit fc37381cc8ae2c24b8ece33659e69a0605ca074c Author: Chris Wilson Date: Fri Nov 23 11:57:56 2012 +0000 drm/i915: Increase the response time for slow SDVO devices Some devices may respond very slowly and only flag that the reply is pending within the first 15us response window. Be kind to such devices and wait a further 15ms, before checking for the pending reply. This moves the existing special case delay of 30ms down from the detection routine into the common path and pretends to explain it... v2: Simplify the loop constructs as suggested by Jani Nikula. References: https://bugs.freedesktop.org/show_bug.cgi?id=36997 Signed-off-by: Chris Wilson Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 9a69b885e964cf93064f1a16ddd06ebb7d46ac17 Author: Paulo Zanoni Date: Fri Nov 23 12:09:27 2012 -0200 drm/i915: set the VIC of the mode on the AVI InfoFrame We currently set "0" as the VIC value of the AVI InfoFrames. According to the specs this should be fine and work for every mode, so to my point of view we can't consider the current behavior as a bug. The problem is that we recently received a bug report (Kernel bug #50371) from a user that has an AV receiver that gives a black screen for any mode with VIC set to 0. So in order to make at least some modes work for him, this patch sets the correct VIC number when sending AVI InfoFrames. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50371 Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 374a868a726eb8a1cb28ba88805e51ce34222f8d Author: Paulo Zanoni Date: Fri Nov 23 12:09:26 2012 -0200 drm: add drm_mode_cea_vic This function returns the VIC of the mode. This value can be used when creating AVI InfoFrames. Cc: Thierry Reding Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50371 Signed-off-by: Paulo Zanoni Reviewed-by: Thierry Reding Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 7136470d4b37b46565b29b8b9425a8361421483b Merge: bd3b49f 2ff4aeac Author: Dave Airlie Date: Thu Nov 29 20:23:56 2012 +1000 Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Daniel writes: Besides the big item of lifting the "preliminary hw support" tag from the Haswell code, just small bits&pieces all over: - Leftover Haswell patches and some fixes from Paulo - LyncPoint PCH support (for hsw) - OOM handling improvements from Chris Wilson - connector property and send_vblank_event refactorings from Rob Clark - random pile of small fixes Note that the send_vblank refactorings will cause some locking WARNs to show up. Imre has fixed that up, but since all the driver changes outside of the drm core have been for exonys, those four patches are merged through the exonys-next tree. Meh, I've forgotten to cherry-pick an important fix from Ben for a regression in the 3.8 gen6+ gtt code. New pull request below. While I'm at it, the hdmi VIC patch for the drm edid code is still in my queue, I'll send you that in the next 3.8-fixes pull. * 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (33 commits) drm/i915: Fix pte updates in ggtt clear range drm/i915: promote Haswell to full support drm/i915: Report the origin of the LVDS fixed panel mode drm/i915: LVDS fallback to fixed-mode if EDID not present drm/i915/sdvo: kfree the intel_sdvo_connector, not drm_connector, on destroy drm/i915: drm_connector_property -> drm_object_property drm/i915: use drm_send_vblank_event() helper drm/i915: Use pci_resource functions for BARs. drm/i915: Borrow our struct_mutex for the direct reclaim drm/i915: Defer assignment of obj->gtt_space until after all possible mallocs drm/i915: Apply the IBX transcoder A w/a for HDMI to SDVO as well drm/i915: implement WaMbcDriverBootEnable on Haswell drm/i915: fix intel_ddi_get_cdclk_freq for ULT machines drm/i915: make the panel fitter work on pipes B and C on Haswell drm/i915: make the panel fitter work on pipes B and C on IVB drm/i915: don't intel_crt_init if DDI A has 4 lanes drm/i915: make DP work on LPT-LP machines drm/i915: fix false positive "Unclaimed write" messages drm/i915: use cpu/pch transcoder on intel_enable_pipe drm/i915: don't limit Haswell CRT encoder to pipe A ... commit 2ff4aeac39dbdcac934694413767f09a27965e11 Author: Ben Widawsky Date: Mon Nov 26 21:52:54 2012 -0800 drm/i915: Fix pte updates in ggtt clear range This bug was introduced by me: commit e76e9aebcdbfebae8f4cd147e3c0f800d36e97f3 Author: Ben Widawsky Date: Sun Nov 4 09:21:27 2012 -0800 drm/i915: Stop using AGP layer for GEN6+ The existing code uses memset_io which follows memset semantics in only guaranteeing a write of individual bytes. Since a PTE entry is 4 bytes, this can only be correct if the scratch page address is 0. This caused unsightly errors when we clear the range at load time, though I'm not really sure what the heck is referencing that memory anyway. I caught this is because I believe we have some other bug where the display is doing reads of memory we feel should be cleared (or we are relying on scratch pages to be a specific value). Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit dbeca2ea4642d9de0a59ac141b2825ea6804f408 Author: Mahesh Palivela Date: Thu Nov 29 14:11:07 2012 +0530 cfg80211: Remove unused VHT chan code Cleanup of unused VHT channel config related code. Signed-off-by: Mahesh Palivela Signed-off-by: Johannes Berg commit ca062415338b62a3688528d4a298db733ad27003 Author: Jingoo Han Date: Thu Nov 29 13:26:05 2012 +0900 drm/pci: add missing variable initialization Fixed build warning as below: drivers/gpu/drm/drm_pci.c: In function 'drm_pcie_get_speed_cap_mask': drivers/gpu/drm/drm_pci.c:496:9: warning: 'lnkcap' may be used uninitialized in this function [-Wuninitialized] drivers/gpu/drm/drm_pci.c:497:10: warning: 'lnkcap2' may be used uninitialized in this function [-Wuninitialized] Signed-off-by: Jingoo Han Signed-off-by: Dave Airlie commit a8f559efb26f0d19abd819b1d59b2564f4bfa7e8 Author: Sachin Kamat Date: Tue Nov 20 11:35:32 2012 +0530 drm/nouveau/device: Remove duplicate inclusion of core/device.h core/device.h was included twice. Signed-off-by: Sachin Kamat Signed-off-by: Ben Skeggs commit 24c89e9b630639d081066f8c3d21568b5e4c61d8 Author: Sachin Kamat Date: Tue Nov 20 11:23:50 2012 +0530 drm/nouveau: remove duplicate inclusion of nouveau_ttm.h nouveau_ttm.h was included twice. Signed-off-by: Sachin Kamat Signed-off-by: Ben Skeggs commit edc260d06181cbf38d5cd326e6cf824d8e2e0eaf Author: Ben Skeggs Date: Tue Nov 27 11:05:36 2012 +1000 drm/nouveau/fifo: trigger engine context unload before zeroing context pointer Fixes a PCE0 page fault noticed on NVD9 during module unload. Signed-off-by: Ben Skeggs commit c9aa763fe9690a334d0636f88e6eb85340f36f89 Author: Daniel J Blueman Date: Sat Nov 24 10:11:46 2012 +0800 drm/nouveau: prevent log mangling On 3.7-rc6, add missing newline to to prevent the following kernel log line getting appended to the current one after switching the integrated GPU and suspending the discrete GPU. Signed-off-by: Daniel J Blueman Signed-off-by: Ben Skeggs commit 04c8c21085e13011a2eaf3ae518ab44e23e21917 Author: Marcin Slusarz Date: Sun Nov 25 23:04:23 2012 +0100 drm/nouveau: unpin various bo's before destroying These objects leak VRAM - but only on module unload. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 124ea297c8f0e0a3a567af0894fdbe05caaf80ec Author: Marcin Slusarz Date: Sun Nov 25 23:02:28 2012 +0100 drm/nouveau: unpin pushbuffer bo before destroying it Fixes GART leak (as accounted by nouveau_drm.gem.gart_available). Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 3f69e7605d6b072b9890845bb6d9f982bcd879ec Author: Marcin Slusarz Date: Sun Nov 25 23:01:28 2012 +0100 drm/nouveau: remove misleading comment from nouveau_prime_new Copy/pasted from nouveau_gem_new. Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit ae4ba7371c72ad7714eff50f011b9c8010e8c91a Author: Marcin Slusarz Date: Sun Nov 25 23:00:57 2012 +0100 drm/nouveau: raise reporting levels of some messages Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 507ceb15187fe302b9ba2d3da5559041be51c3bf Author: Martin Peres Date: Tue Nov 27 00:30:32 2012 +0100 drm/nouveau/core: fix the assumption that NVDEV_XXXX is always under 32 It fixes a bug that would have been introduced when adding more sudevs/engines. Signed-off-by: Martin Peres Signed-off-by: Ben Skeggs commit d1be7e9be14328da7c8f4a86a27d803af5d6bd42 Author: Ben Skeggs Date: Fri Nov 23 11:20:11 2012 +1000 drm/nouveau/ppp: remove nouveau_ppp base class Signed-off-by: Ben Skeggs commit fb9bff26f11cfa22ae480b54f20d958c89619996 Author: Ben Skeggs Date: Fri Nov 23 11:14:49 2012 +1000 nve0/ppp: enable support via nvc0's implementation NVIDIA also appear to use the same class on Fermi/Kepler for PPP. Will allow use of the engine if firmware (nvXX_fuc086) provided. Signed-off-by: Ben Skeggs commit 4a7950140b960694326489ba6c2429fd7830c93b Author: Maarten Lankhorst Date: Fri Nov 23 11:13:36 2012 +1000 nvc0/ppp: initial implementation of engine Will allow use of the engine if firmware (nvXX_fuc086) provided. Signed-off-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit 7d8bd91bf43a220f506ebf01abdee487e7117469 Author: Maarten Lankhorst Date: Fri Nov 23 11:10:45 2012 +1000 nvc0/vp: initial implementation of engine Will allow use of the engine if firmware (nvXX_fuc085) provided. Signed-off-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit 23c14ed2eccc925c2afabcfb7e46b4b45d7fdf70 Author: Maarten Lankhorst Date: Fri Nov 23 11:08:23 2012 +1000 nvc0/bsp: initial implementation of engine Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit 66433c2af8ddd968d1b808dbe09f619fa9154dd3 Author: Ben Skeggs Date: Thu Nov 22 16:01:06 2012 +1000 drm/nouveau/vdec: remove nouveau_{bsp,vp} base classes, use nouveau_engine directly Later chipsets use falcon anyway, and I can't currently see a good need for a shared base class. PPP will get the same treatment once Maarten's patches are merged. Signed-off-by: Ben Skeggs commit f3295b3c99016dfaf8a38f9090e0c30db8bbbc0c Author: Ben Skeggs Date: Thu Nov 22 15:54:46 2012 +1000 drm/nve0/fifo: allow for future binding of ppp contexts No support for the class yet, but will be pulled in with Maarten's Fermi vdec patches. The Kepler PPP class is identical. Signed-off-by: Ben Skeggs commit a7416d0d8a0348b5b472fe148293b9efe7ad4fed Author: Ben Skeggs Date: Thu Nov 22 15:48:41 2012 +1000 drm/nve0/vp: implement initial support for engine Will allow use of the engine if firmware (nvXX_fuc085) provided. Signed-off-by: Ben Skeggs commit b2f04fc6cbf1467baf86a364efe3783be8f76a33 Author: Ben Skeggs Date: Thu Nov 22 15:42:23 2012 +1000 drm/nve0/bsp: implement initial support for engine Will allow use of the engine if firmware (nvXX_fuc084) provided. Signed-off-by: Ben Skeggs commit 4946980099c617ba7612f97f77cba7ece5b7f820 Author: Ben Skeggs Date: Thu Nov 22 13:43:55 2012 +1000 drm/nve0: allow specification of channel engine type in abi16 call Previously, if either vram/gart handles were specified as ~0, the ioctl call would fail. In order to hack engine selection into the ioctl for kepler, we now define (fb_ctxdma_handle == ~0) to mean "engine mask is in tt_ctxdma_handle". This approach also allows new userspace to detect lack of support for non-PGRAPH channels on older kernels. Signed-off-by: Ben Skeggs commit 43598875b35fdd3f699954078b7df24b5647a27a Author: Ben Skeggs Date: Thu Nov 22 13:27:37 2012 +1000 drm/nouveau/core: implement shortcut for simple engctx construction Signed-off-by: Ben Skeggs commit e5e454f918051e4ff4be98777ee25437d48c3a1e Author: Ben Skeggs Date: Thu Nov 22 13:02:06 2012 +1000 drm/nvc0/copy: share interrupt handler with nva3 Signed-off-by: Ben Skeggs commit 874309a5b77f40915369af01cebd18db695d68ae Author: Ben Skeggs Date: Thu Nov 22 12:57:32 2012 +1000 drm/nv50/fb: implement trap handler as subdev interrupt handler nv50_fb_trap() will now be called automagically by the mc intr handler, rather than each engine's handler having to check for traps manually. Signed-off-by: Ben Skeggs commit e0cdd1e5451efb46515804550aa7eaa9672b0cf0 Author: Ben Skeggs Date: Thu Nov 22 12:49:42 2012 +1000 drm/nouveau/mc: allow calling of multiple handlers for a give intr bit Signed-off-by: Ben Skeggs commit 3cb0ebddd05b5bbdbd7d7214ee6983a034a0b0be Author: Ben Skeggs Date: Thu Nov 22 12:37:30 2012 +1000 drm/nouveau/copy: remove nouveau_copy base class nva3/nvc0 are using falcon, nve0 is now using engine directly. Signed-off-by: Ben Skeggs commit 586ae46d656b1086cab74b4ade4a3e82e56e980b Author: Ben Skeggs Date: Thu Nov 22 12:33:25 2012 +1000 drm/nvc0/copy: use nouveau_falcon base class Reviewed-by: Maarten Lankhorst Signed-off-by: Ben Skeggs commit 8365f2fd5c6b1b9869bd3f0fb96d9ff75d6efbbc Author: Ben Skeggs Date: Thu Nov 22 12:27:05 2012 +1000 drm/nva3/copy: use nouveau_falcon base class Signed-off-by: Ben Skeggs commit 27abc13e47d7366bf87d6f9c61b118de27ab48da Author: Ben Skeggs Date: Thu Nov 22 12:18:57 2012 +1000 drm/nv98/crypt: use nouveau_falcon base class Signed-off-by: Ben Skeggs commit e3aaa946bd7d0073bd338c159778015ed32ecb5b Author: Ben Skeggs Date: Wed Nov 21 21:02:32 2012 +1000 drm/nouveau: initial falcon (fuc) engine base class implementation Signed-off-by: Ben Skeggs commit 2d8b9ccbcee694c9ce681ec596df642e52ddcb15 Author: Dave Airlie Date: Fri Nov 2 11:04:28 2012 +1000 drm/nouveau: convert to dev_pm_ops This is a precursor to dynamic power management support for nouveau, we need to use pm ops for that, so first convert the driver to using pm ops interfaces. Signed-off-by: Dave Airlie Signed-off-by: Ben Skeggs commit c839d748bdaa4f373368abeef3efc18e21e78313 Author: Dave Airlie Date: Fri Nov 2 11:04:27 2012 +1000 drm/nouveau: Add interface to detect optimus and v1 support This is required to decide if we can auto-powerdown and how to implement it. Signed-off-by: Dave Airlie Signed-off-by: Ben Skeggs commit bf2c886a857dcf61f2354796a8858a230f2737fa Author: Ben Skeggs Date: Wed Nov 21 14:49:54 2012 +1000 drm/nouveau/disp: add support for 10bpc over DisplayPort Signed-off-by: Ben Skeggs commit e225f446a0808ce38b124df489d0568c05c3057a Author: Ben Skeggs Date: Wed Nov 21 14:40:21 2012 +1000 drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge Signed-off-by: Ben Skeggs commit 4f6029da58ba9204c98e33f4f3737fe085c87a6f Author: Ben Skeggs Date: Fri Nov 16 11:54:31 2012 +1000 drm/nv50-nvc0: switch to common disp impl, removing previous version Signed-off-by: Ben Skeggs commit f9887d091149406de5c8b388f7e0bb6932dd621b Author: Ben Skeggs Date: Wed Nov 21 13:03:42 2012 +1000 drm/nvd0/disp: implement support for colour vibrance control Ported from original nv50 commit by Christoph, with added support for the setting on later chipsets. Signed-off-by: Ben Skeggs commit 647bf61d0399515c526c125450cadaade79b1988 Author: Ben Skeggs Date: Mon Nov 19 10:18:25 2012 +1000 drm/nvd0/disp: remove fetching of capabilities report Unused, and caused a race with evo_sync(). Will revisit using it properly later on. Signed-off-by: Ben Skeggs commit 63718a0730c666edcac94c261d1df5edef80fd23 Author: Ben Skeggs Date: Fri Nov 16 11:44:14 2012 +1000 drm/nvd0/disp: enable support for older display classes Signed-off-by: Ben Skeggs commit 47057302f075578618ea36fc3c4c97a5a6f97f00 Author: Ben Skeggs Date: Fri Nov 16 13:58:48 2012 +1000 drm/nvd0/disp: support creation of fb dma objects on older chipsets Signed-off-by: Ben Skeggs commit ed5085a589fbc784d25f2fe54b3239bce2c86d3d Author: Ben Skeggs Date: Fri Nov 16 13:16:51 2012 +1000 drm/nvd0/disp: implement support for older DISP_SYNC classes Signed-off-by: Ben Skeggs commit 419e8dc0afa4e0b2746f39dbef287f0c4befbbf2 Author: Ben Skeggs Date: Fri Nov 16 11:40:34 2012 +1000 drm/nvd0/disp: implement sor support for older display classes Signed-off-by: Ben Skeggs commit 97b19b5c6f32842c92800b62b367cc5a91555188 Author: Ben Skeggs Date: Fri Nov 16 11:21:37 2012 +1000 drm/nvd0/disp: implement dac support for older display classes Signed-off-by: Ben Skeggs commit de8268c503de7754ae7d535c3b114b1c83e00612 Author: Ben Skeggs Date: Fri Nov 16 10:24:31 2012 +1000 drm/nvd0/disp: start implementing support for older display classes Currently unused, but checkpointing the merged head handling routines. Signed-off-by: Ben Skeggs commit 8f2abc2586279166722f0d88d24990baba4a2eaf Author: Ben Skeggs Date: Thu Nov 15 18:58:01 2012 +1000 drm/nouveau/dp: remove last bits of VBIOS parsing from DRM code Signed-off-by: Ben Skeggs commit 6c8e4633d351f6f794c8a5c03f19e8d5a25f9639 Author: Ben Skeggs Date: Thu Nov 15 18:56:02 2012 +1000 drm/nouveau/dp: move core link training calls to common code Signed-off-by: Ben Skeggs commit b6e4ad200a726a32c7083f491383713bc8680f86 Author: Ben Skeggs Date: Mon Nov 12 09:55:16 2012 +1000 drm/nouveau: remove (now obsolete) BIT U table parsing from DRM code Signed-off-by: Ben Skeggs commit 186ecad21c854385823a430b1402053ae7fd59dc Author: Ben Skeggs Date: Fri Nov 9 12:09:48 2012 +1000 drm/nv50/disp: move remaining interrupt handling into core Signed-off-by: Ben Skeggs commit 4a230fa61884ffe6b6a806563eee82f12a60fa1e Author: Ben Skeggs Date: Fri Nov 9 11:25:37 2012 +1000 drm/nvd0/disp: calculate U script id in supervisor interrupt This is like we do on nv50:nvd9 already. There's been no problems seen yet with using this *seemingly* scratch register to store the value, but we won't be able to do this anymore once nv50's code is merged. Signed-off-by: Ben Skeggs commit 8e9e3d2deacc460fbb8a4691140318f6e85e6891 Author: Ben Skeggs Date: Fri Nov 9 10:54:38 2012 +1000 drm/nv84/disp: move hdmi control into core Signed-off-by: Ben Skeggs commit a4feaf4ea5359db96a253154eafca358d16152b2 Author: Ben Skeggs Date: Fri Nov 9 10:38:10 2012 +1000 drm/nva3/disp: move hda codec handling to core Signed-off-by: Ben Skeggs commit f7960736d0b8647fd149687d15deb79e47122d69 Author: Ben Skeggs Date: Fri Nov 9 09:53:28 2012 +1000 drm/nv50/disp: move dp link training helpers into core Signed-off-by: Ben Skeggs commit 7ebb38b556485449bfaa506a196439f6a6fd6ebd Author: Ben Skeggs Date: Fri Nov 9 09:38:06 2012 +1000 drm/nv50/disp: call into core for dac load detection Signed-off-by: Ben Skeggs commit ef22c8bb7b3fac45919b7fde412d36d1a8367d51 Author: Ben Skeggs Date: Fri Nov 9 09:32:56 2012 +1000 drm/nv50/disp: call into core to handle dac/sor power state changes Signed-off-by: Ben Skeggs commit 2d0aca211994241c36f2bcfff7141e708f66b005 Author: Ben Skeggs Date: Fri Nov 9 09:22:31 2012 +1000 drm/nv50/disp: allocate display from driver core EVO channels still handled "manually", this won't be ported here, and will instead be held off until nv50_display/nvd0_display are merged. Signed-off-by: Ben Skeggs commit 75f8693f30017855c6ab33679ac60e4c339193e4 Author: Ben Skeggs Date: Thu Nov 8 17:41:06 2012 +1000 drm/nouveau/bios: implement some dcb output entry parsing/matching functions Signed-off-by: Ben Skeggs commit ed58aee93c45d5095253d9bc370b418e3d767940 Author: Ben Skeggs Date: Thu Nov 8 14:59:26 2012 +1000 drm/nvd0/disp: handle DP transfer unit setup from second supervisor interrupt This is what we've done forever in nv50_display.c, and also allows the last direct MMIO accesses to be removed from nvd0_display.c. Signed-off-by: Ben Skeggs commit 1c30cd09e37e0804f604f3932c695da13e9d442f Author: Ben Skeggs Date: Thu Nov 8 14:22:28 2012 +1000 drm/nvd0/disp: move HDMI control to core Signed-off-by: Ben Skeggs commit 0a9e2b959f2a1673ca9315df8e0b6dec1069060e Author: Ben Skeggs Date: Thu Nov 8 14:03:56 2012 +1000 drm/nvd0/disp: move HDA codec setup to core Signed-off-by: Ben Skeggs commit 35b21d39a541a5c3678520004a66d6b6d8700964 Author: Ben Skeggs Date: Thu Nov 8 12:08:55 2012 +1000 drm/nvd0/disp: call into core to handle dac power state changes Signed-off-by: Ben Skeggs commit 74b6685089591fa275929109f7b839bf386890a0 Author: Ben Skeggs Date: Thu Nov 8 12:01:39 2012 +1000 drm/nvd0/disp: call into core to handle sor power state changes Signed-off-by: Ben Skeggs commit 6c5a04249d7afeea3e0ed971e7813f84e29a1706 Author: Ben Skeggs Date: Wed Nov 7 16:43:00 2012 +1000 drm/nvd0/disp: move link training helpers into core as display methods Signed-off-by: Ben Skeggs commit fb445b3c23a4ae75190e814d952be6dce6181abe Author: Ben Skeggs Date: Wed Nov 7 16:28:35 2012 +1000 drm/nouveau/core: allow representing method ranges in nouveau_omthds Signed-off-by: Ben Skeggs commit cbe7270d48670889a88705478a68d000b0bc3f6e Author: Ben Skeggs Date: Wed Nov 7 16:16:41 2012 +1000 drm/nouveau/core: expose full method calling capabilities with nv_exec nv_call() just allows mthd+u32 submission, nv_exec() exposes the mthd+data+size interface which will be used in future commits. Signed-off-by: Ben Skeggs commit 65c78660fbbdac1e4f1d35fad1164d4536463189 Author: Ben Skeggs Date: Tue Nov 6 16:03:51 2012 +1000 drm/nouveau/bios: implement "full" BIT 'd' table (and subtable) parsing in core Signed-off-by: Ben Skeggs commit 14464b8cd643467cb97335eb75ea676260dd0ad8 Author: Ben Skeggs Date: Fri Nov 2 11:33:27 2012 +1000 drm/nvd0/disp: move remaining interrupt handling to core Signed-off-by: Ben Skeggs commit 206c38a9f1905d3054778f26289591376829d5ad Author: Ben Skeggs Date: Thu Nov 1 11:09:53 2012 +1000 drm/nouveau/core: add some missing subdev/engine disable flags Signed-off-by: Ben Skeggs commit b6caea505879c4a606cf364442fd1f06f6c40e30 Author: Ben Skeggs Date: Fri Nov 2 11:02:47 2012 +1000 drm/nouveau/bios: implement BIT 'U' table (and subtable) parsing in core This will, in the near future, replace what's currently in the DRM nouveau_bios.c code. Signed-off-by: Ben Skeggs commit b5a794b0f1fdf17b92ed4f8a63ed23c7a3325841 Author: Ben Skeggs Date: Tue Oct 16 14:18:32 2012 +1000 drm/nvd0/disp: allocate display and evo channels from driver core Signed-off-by: Ben Skeggs commit d6bf2f370703c0cab60bf1f5bf871a3f00eb8872 Author: Ben Skeggs Date: Tue Oct 30 10:59:12 2012 +1000 drm/nouveau: run mode_config destructor before destroying internal display state Later changes will depend on being able to pull down CRTCs etc with the master display state still intact. Signed-off-by: Ben Skeggs commit 94e5c39bad56a7b097d3b168b90a72cc1633c8f1 Author: Ben Skeggs Date: Mon Oct 29 13:36:45 2012 +1000 drm/nouveau/drm/nvd0/disp: display->disp Signed-off-by: Ben Skeggs commit dd0e3d53f06710e008507ce97f21d9420b245ce7 Author: Ben Skeggs Date: Tue Oct 16 14:00:31 2012 +1000 drm/nvd0/disp: introduce a nvd0_head as a subclass of nouveau_crtc This will be used instead of storing a heap of per-head data (such as evo channels) in nvd0_display in some other way. Signed-off-by: Ben Skeggs commit 46654061bbf62ead0a7cbbaae9f95908a692adce Author: Ben Skeggs Date: Tue Aug 28 14:10:39 2012 +1000 drm/nvd0-nve0/disp: initial implementation of evo channel classes Signed-off-by: Ben Skeggs commit 944234d6a2c46a4666533904b7ea8c79807e9072 Author: Ben Skeggs Date: Tue Oct 30 10:03:38 2012 +1000 drm/nv50/disp: allow PCI_US pushbuf binding commit 370c00f939c5dddd527ab5cfa8740ba7683ac630 Author: Ben Skeggs Date: Tue Aug 14 14:11:49 2012 +1000 drm/nv50/disp: initial implementation of the various channel object classes Signed-off-by: Ben Skeggs commit 446b05a077fc880ccb135ed894285e4cf47e8c56 Author: Ben Skeggs Date: Tue Aug 14 12:50:14 2012 +1000 drm/nv50/disp: enable interrupts and setup memory area Signed-off-by: Ben Skeggs commit ab77214a8eb008efbba413fd04bdacc81d20f813 Author: Ben Skeggs Date: Tue Aug 14 11:29:57 2012 +1000 drm/nv50/disp: copy caps to evo Signed-off-by: Ben Skeggs commit 70cabe4a14ae606a5329abb5489e4ef0d896d03d Author: Ben Skeggs Date: Tue Aug 14 10:04:04 2012 +1000 drm/nv50/disp: create skeleton display/channel object classes Signed-off-by: Ben Skeggs commit 47a1e0fe4bbef313e85660547c0935eb70769632 Author: Ben Skeggs Date: Mon Oct 8 14:44:00 2012 +1000 drm/nvd0/dmaobj: initial bind() method implementation Currently unused, and rudimentary. Lots to figure out here still, but this is sufficient for what disp will need. Signed-off-by: Ben Skeggs commit 80fe155ba6844f3cf2f083cbd34be12bb391ec4a Author: Ben Skeggs Date: Mon Oct 8 14:34:35 2012 +1000 drm/nvc0/dmaobj: implement initial bind() method Currently unused. Signed-off-by: Ben Skeggs commit f756944a219cb2d38b0859e8af680f9b216de1e3 Author: Ben Skeggs Date: Mon Oct 8 14:29:16 2012 +1000 drm/nv50/dmaobj: extend class to allow gpu-specific attributes to be defined disp is going to need to be able to create more specific dma objects than was previously possible. Signed-off-by: Ben Skeggs commit 344e107df7a5c365287aabe9df7df58b3765246b Author: Ben Skeggs Date: Mon Oct 8 14:11:35 2012 +1000 drm/nvd0/dmaobj: duplicate fermi class, will diverge real soon now The hardware dmaobj format completely changed in GF119, so these will need a separate implementation. Signed-off-by: Ben Skeggs commit 82d23aea108886c869fce4c1e3178db5f57b6e9c Author: Ben Skeggs Date: Mon Oct 8 13:39:13 2012 +1000 drm/nvc0/dmaobj: stub bind function for now so we can call unconditionally Signed-off-by: Ben Skeggs commit 6c1689a08cf54e58c19eb565528a293f36f731be Author: Ben Skeggs Date: Mon Oct 8 12:58:23 2012 +1000 drm/nouveau/dmaobj: move parent class check to bind() method Otherwise when nvc0- gains a bind() method (disp needs it), the fifo engine will attempt to create a dma object for the push buffer, which is unnecessary on fermi. The only sane place to put these checks is in the bind method itself, and have it unconditionally called from wherever it might be needed. Signed-off-by: Ben Skeggs commit f86770aaaa9a4d9cc68c8a9adc351ab7f47e6345 Author: Ben Skeggs Date: Wed Aug 29 10:54:49 2012 +1000 drm/nouveau/dmaobj: merge everything except ctor and bind together Simplifies things a little, and currently no reason to need chipset-specific dmaobj constructors. Signed-off-by: Ben Skeggs commit 0a32241d8b58ab11d629b78adf81803bca918b69 Author: Ben Skeggs Date: Sat Nov 17 21:51:30 2012 +1000 drm/nouveau: pass address to object accessor functions as u64 Will be required by future work. Make the API change now to catch any (but hopefully none) unexpected fallout. Signed-off-by: Ben Skeggs commit 66bb7e1d670f57ffd17ffbfddf049167f97d2d74 Author: Ben Skeggs Date: Wed Nov 21 15:04:51 2012 +1000 drm/nouveau/gpio: place upper limit on using old-school tvdac bios data Signed-off-by: Ben Skeggs commit 9da49599a70eceac405287f34485ed57fe035393 Author: Ben Skeggs Date: Wed Nov 21 15:02:47 2012 +1000 drm/nouveau: remove newline-only NV_DEBUG calls This used to output the function name, now doesn't, so just looks stupid. Signed-off-by: Ben Skeggs commit d432a2db7df5d089bb022d8cbb30f6d6dc785039 Author: Marcin Slusarz Date: Sun Nov 11 19:52:59 2012 +0100 drm/nv50: decode PGRAPH status registers on TLB flush fail SIgned-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 1f2285d462c02ef9b82ee9c553a31884c23994f0 Author: Viktor Novotný Date: Sat Nov 10 19:24:06 2012 +0100 drm/nouveau/clk: fix crystal frequency retrieval on nv25 Signed-off-by: Viktor Novotný Signed-off-by: Ben Skeggs commit fced4b221177f48743a1ea29ad3f592da1215d87 Author: Marcin Slusarz Date: Sun Nov 11 19:57:35 2012 +0100 drm/nouveau: remove unused variable from nouveau_bios_shadow_of drivers/gpu/drm/nouveau/core/subdev/bios/base.c: warning: unused variable 'i' Reported-by: Geert Uytterhoeven Signed-off-by: Marcin Slusarz Signed-off-by: Ben Skeggs commit 7ef19e454ee832ac8fd7c35329d5e86679d337b2 Author: Ben Skeggs Date: Tue Oct 30 13:55:13 2012 +1000 drm/nv40/fb: use an actual compressed zeta format SPLIT is apparently just that, and only splits Z and S components. Signed-off-by: Ben Skeggs commit d7da62845be013171b5a3807214bc63874d89bb3 Author: Ben Skeggs Date: Thu Oct 11 15:46:30 2012 +1000 drm/nv30/fb: enable z compression Signed-off-by: Ben Skeggs commit 2f1cb96d656418815f8f83ce027f5d96095ba717 Author: Ben Skeggs Date: Thu Oct 11 15:13:10 2012 +1000 drm/nv40/fb: enable z compression Signed-off-by: Ben Skeggs commit fd3a5225864cfa51633c0b4eff145b92e8b4ba1c Author: Ben Skeggs Date: Fri Oct 12 11:24:39 2012 +1000 drm/nv20/fb: fixup compression tag allocation size Signed-off-by: Ben Skeggs commit fafa0cb37eaa0632bc4c29fc4e02e18d7a73bebf Author: Ben Skeggs Date: Thu Oct 11 14:08:16 2012 +1000 drm/nv30-nv40/graph: poke zcomp regs from tile_prog hook Signed-off-by: Ben Skeggs commit e1344412ae0d25277d4ca0bbaf337ad72d93eaaf Author: Ben Skeggs Date: Wed Oct 10 12:52:00 2012 +1000 drm/nv30-nv40/fb: call zcomp setup hook from tiling setup Signed-off-by: Ben Skeggs commit dac1558d49d0a9f932babd66144459ef3dd5dfa9 Author: Ben Skeggs Date: Wed Oct 10 11:31:11 2012 +1000 drm/nouveau/fb: create tag heap from common code for all relevant chipsets A nv2x bug wrt hardcoded tag counts is now also fixed as a side-effect. Signed-off-by: Ben Skeggs commit 268d5a30173a77a6e762d98adb8d411ccd714b25 Author: Ben Skeggs Date: Wed Oct 10 11:18:00 2012 +1000 drm/nv30/fb: start bashing zcomp registers with 'disabled' (for now) Signed-off-by: Ben Skeggs commit 7e0f992b796e102d32b75392fba38be7cab1c5a9 Author: Ben Skeggs Date: Wed Oct 10 12:13:38 2012 +1000 drm/nouveau: replace some open-coded mm_initialised checks Signed-off-by: Ben Skeggs commit 6d338081a6008b3638ca45e0020c5a0cebe362fd Author: Ben Skeggs Date: Wed Oct 10 11:09:48 2012 +1000 drm/nouveau/fb: read TILE_BASE after writing it to avoid a hardware race Apparently needed for turbocache nv4x chips at least, we'll just do it everywhere... Signed-off-by: Ben Skeggs commit 5f8e256704e86df795037b18395fdf102b75199e Author: Ben Skeggs Date: Wed Oct 10 10:57:49 2012 +1000 drm/nv40/fb: start bashing zcomp registers on relevant chipsets Always bashing "disabled" for now, actual compressing coming up... Signed-off-by: Ben Skeggs commit 150ccf161f5a83468409afa689081bb66f7d4585 Author: Ben Skeggs Date: Wed Oct 10 10:41:04 2012 +1000 drm/nv30-nv40/fb: make use of bankoff for zeta buffers, where supported Signed-off-by: Ben Skeggs commit d33db63b3775409b1725cb4f5d17eb7cab2cc656 Author: Ben Skeggs Date: Wed Oct 10 10:34:29 2012 +1000 drm/nv20/fb: fix zcomp register calculation on big-endian systems Signed-off-by: Ben Skeggs commit 4ae207453ee0c68cc927c71c54277255a6f62f99 Author: Ben Skeggs Date: Tue Oct 9 16:03:23 2012 +1000 drm/nv40/fb: split implementation into nv40/nv41/nv44/nv46/nv47/nv49/nv4e pieces Wow, this is a nice complicated mess of build-your-own-mc blocks... Signed-off-by: Ben Skeggs commit 11bac407081caa36e8540fac459d922442d9f153 Author: Ben Skeggs Date: Tue Oct 9 15:56:16 2012 +1000 drm/nv30/fb: split implementation into nv34(nv10)/nv30/nv35 pieces Signed-off-by: Ben Skeggs commit a8749af1a0584757e52124774b603ff901f99690 Author: Ben Skeggs Date: Tue Oct 9 15:48:11 2012 +1000 drm/nv20/fb: split implementation into nv20/nv25 pieces There's more stuff that can be shared in the constructor, will be merged together again later. Signed-off-by: Ben Skeggs commit 67e9e9f6ca185149e7612573b9258ede28a62d88 Author: Ben Skeggs Date: Tue Oct 9 15:41:09 2012 +1000 drm/nouveau/fb: split tile and compression region handling This is in preparation for extending the support to the remaining chipsets, to allow for sharing more functions. Signed-off-by: Ben Skeggs commit de2b8b8bbb2f5ad713c7eecd88f78666a54dc438 Author: Ben Skeggs Date: Thu Oct 11 22:45:15 2012 -0400 drm/nouveau/bios: attempt to fetch entire acpi rom image in one shot v2: fdo#55948 - the _ROM method silently truncates size to 4KiB, perform a checksum test and fall back to slow _ROM access on failure. Signed-off-by: Ben Skeggs commit 79d38f7d6cf545ff838dd5227869f3916d1d100d Merge: 03f52a0 0751f86 Author: John W. Linville Date: Wed Nov 28 10:56:03 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/iwlwifi/pcie/tx.c commit b4991f3f7bdc2402a3d7d841eb4376bda4f7a56b Author: Emmanuel Grumbach Date: Tue Nov 27 21:36:54 2012 +0200 iwlwifi: clear trans->op_mode pointer when it is leaving Since the op_mode is leaving, the transport should set its pointer to it to NULL to not point to freed memory. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 52e2a99eee77cc4a47e183eb7f5102301a31e282 Author: Emmanuel Grumbach Date: Sun Nov 25 14:42:25 2012 +0200 iwlwifi: read the Rx write pointer only once The FH (DMA engine) tells the driver the index of the last ready (closed) Rx buffer. This data is in closed_rb_num. If we read this data several times we may get inconsistencies between the code and the debug prints which can make it harder to debug issues here. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 59cf1d65f7d69739a29a16fe678ebc4e1215e9c0 Author: Helmut Schaa Date: Tue Nov 27 18:03:13 2012 +0100 mac80211: don't reinit rate control when mesh sta exists This fixes some unintended resets of the rate control statistics when minstrel_ht is used resulting in non-optimal throughput on mesh links. Tested-by: Emanuel Taube Signed-off-by: Helmut Schaa Signed-off-by: Johannes Berg commit 478622e81c735ecd83d45ee6be3fd45d500aaa3b Author: Helmut Schaa Date: Tue Nov 27 18:23:06 2012 +0100 mac80211: reject setting masked mac addresses If a driver registers an address mask we should ensure that no interface gets an address assigned that isn't covered by the registered address mask. This prevents invalid configurations from reaching the device and causing problems. Signed-off-by: Helmut Schaa [change function flow to reduce indentation, fix locking] Signed-off-by: Johannes Berg commit 0624760c96da3ffeaec8027a016475ae752d75e1 Author: Dan Carpenter Date: Tue Nov 27 20:31:19 2012 +0300 mac80211: fix potential NULL dereference Smatch complains that we could dereference skb later in the function. It's probably unlikely, but we may as well return here and avoid it. Signed-off-by: Dan Carpenter [change summary] Signed-off-by: Johannes Berg commit d9d8b01978f6510a262ddc4da3b3694d5b149cfe Author: Johannes Berg Date: Mon Nov 26 12:51:52 2012 +0100 nl80211: remove unnecessary checks The CQM TX-error rate/interval can't be less than zero since they're unsigned values, remove checks. Also fix indentation of the function. Signed-off-by: Johannes Berg commit 28164fdad85ec806f30c76fe98ed0e3abc91d2d7 Author: Daniel Vetter Date: Thu Nov 1 14:45:18 2012 +0100 drm/doc: add new dp helpers into drm DocBook I didn't bother with documenting the really trivial new "extract something from dpcd" helpers, but the i2c over aux ch is now documented a bit. v2: Clarify the comment for i2c_dp_aux_add_bus a bit. v3: Fix more spelling fail spotted by Laurent Pinchart. Acked-by: Laurent Pinchart Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit d0ddc0338af8265e65bd5e4ca72e3d8e61e41d8d Author: Daniel Vetter Date: Thu Nov 1 14:45:17 2012 +0100 drm/doc: integrate fb helper reference into docs Again only minimal changes to make kerneldoc no longer shout. Plus a little introduction in the form of a inline DOC: section to quickly explain what this is all about. v2: Fixup spelling fail. Acked-by: Laurent Pinchart Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 0d4ed4c8f937a0b1aa1cb60e16a41e2f7b0123ca Author: Daniel Vetter Date: Thu Nov 1 14:45:16 2012 +0100 drm/doc: integrate crtc helper api into docbook - Add the missing doc for drm_helper_move_panel_connectors_to_head. - Fixup any outdated stuff in existing sections. I've only looked at those kerneldoc headers that actually resulted in a complaint from the kerneldoc parser tool. v2: - Actually include the docbook snippet in the right patch. - Fix spelling fail. v3: It's now called drm_crtc_helper_set_mode, spotted by Laurent Pinchart. Acked-by: Laurent Pinchart Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 670c1ef6508c8fdd83dc55968fc1ce7284d849a7 Author: Daniel Vetter Date: Thu Nov 22 09:53:55 2012 +0100 drm/edid: tune down debug message in parse_hdmi_vsdb Those tend to be totally not interesting for end-users, and for debugging we tend to dump the entire noise anyway by enabling all debug messages. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57388 Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit dff98e529e06fb1c801ba26953299b3390bdd34d Author: James Hogan Date: Fri Nov 23 11:12:10 2012 +0000 drm: only build ati_pcigart if PCI enabled Prevent ati_pcigart.c being built unless PCI is enabled. The exported functions in this file are only used by drivers which depend on PCI (namely r128 and radeon), and it tries to use PCI specific functions (pci_unmap_page, pci_map_page, and pci_dma_mapping_error) that cause compiler errors when PCI is disabled. Signed-off-by: James Hogan Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit d08a9b9cd82f668a5437c23e59063387ca3ecec5 Author: Thomas Hellstrom Date: Wed Nov 21 16:04:18 2012 +0100 drm/vmwgfx: Tighten the security around buffer maps Make sure that other DRM clients can't map the contents of non-shareable buffer objects. Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Signed-off-by: Dave Airlie commit 219e81536c8776b30ccf3262c1ceaeaddf7a231a Author: Thierry Reding Date: Wed Nov 21 09:50:41 2012 +0100 drm: tegra: Add Tegra30 support Add support for host1x, the display controllers and HDMI on the Tegra30 SoC. Signed-off-by: Thierry Reding Tested-by: Stephen Warren Tested-by: Mark Zhang Signed-off-by: Dave Airlie commit ac8f7c4894bea3ae1af31e78fea31b1ba3347834 Author: Thierry Reding Date: Thu Nov 22 19:37:17 2012 +0000 drm: tegra: Use framebuffer pitch as line stride Instead of using the stride derived from the display mode, use the pitch associated with the currently active framebuffer. This fixes a bug where the LCD display content would be skewed when enabling HDMI with a video mode different from that of the LCD. Signed-off-by: Thierry Reding Tested-by: Terje Bergstrom Tested-by: Mark Zhang Tested-by: Stephen Warren Signed-off-by: Dave Airlie commit 82fe50bcc87e508e85250c87b745296a36a07897 Author: Thomas Hellstrom Date: Wed Nov 21 14:53:21 2012 +0000 drm/ttm: Optimize vm locking using kref_get_unless_zero v3 Removes the need for a write lock each time we call ttm_bo_unref(). v2: Remove an unused variable. v3: Really remove the unused variable. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 5293908afa04b651cc8a7e85ba0938b71f97c2f8 Author: Thomas Hellstrom Date: Tue Nov 20 12:16:51 2012 +0000 drm/ttm: Use the hashtab _rcu interface for ttm_objects Also move a kref_init() out of spinlocked region Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit ae8df2ae8aa27bfeb8d1b99e8adaac5810a97fa8 Author: Thomas Hellstrom Date: Tue Nov 20 12:16:50 2012 +0000 drm/ttm: Fix locking in an error path Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 35f62a582947ab151c013eaa8cf339e00a5941ab Author: Thomas Hellstrom Date: Tue Nov 20 12:16:49 2012 +0000 drm/vmwgfx: Free user-space fence objects correctly They need to be freed after an rcu grace period. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 384cc2f9688994dfd505011ba3b08e0a702030b0 Author: Thomas Hellstrom Date: Tue Nov 20 12:16:47 2012 +0000 drm: Add a hash-tab rcu-safe API While hashtab should now be RCU-safe, Add a drm_ht_xxx_api for consumers to use to make it obvious what locking mechanism is used. Document the way the rcu-safe interface should be used. Don't use rcu-safe list traversal in modify operations where we should use a spinlock / mutex anyway. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 339afbf4819e5c7c0a0422af43b8c2eccd059abf Author: Johannes Berg Date: Wed Nov 14 15:21:17 2012 +0100 mac80211: support P2P GO powersave configuration If the low-level driver wants to support P2P GO powersave configuration, it must set the cfg80211 flags and mac80211 will pass the parameters to it. Signed-off-by: Johannes Berg commit 53cabad70ecf0c245b41285de64a74a6c3ee9933 Author: Johannes Berg Date: Wed Nov 14 15:17:28 2012 +0100 nl80211: support P2P GO powersave configuration If a driver supports P2P GO powersave, allow it to set the new feature flags for it and allow userspace to configure the parameters for it. This can be done at GO startup and later changed with SET_BSS. Signed-off-by: Johannes Berg commit 5164892184d1b9ce19e45e97e9ca405ea8b9ceb2 Author: Johannes Berg Date: Thu Nov 22 23:00:18 2012 +0100 mac80211: support (partial) VHT radiotap information Add some information that we have about VHT to radiotap. This at least lets one see the MCS and NSS information. Signed-off-by: Johannes Berg commit f2d9d270c15ae0139b54a7e7466d738327e97e03 Author: Johannes Berg Date: Thu Nov 22 14:11:39 2012 +0100 mac80211: support VHT association Determine the VHT channel from the AP's VHT operation IE (if present) and configure the hardware to that channel if it is supported. If channel contexts cause a channel to not be usable, try a smaller bandwidth. Signed-off-by: Johannes Berg commit 9f5e8f6efc7c2601136b27d9c7325c245f8fd19a Author: Johannes Berg Date: Thu Nov 22 16:59:45 2012 +0100 cfg80211: rework chandef checking and export it Some of the chandef checking that we do in cfg80211 to check if a channel is supported or not is also needed in mac80211, so rework that a bit and export the functions that are needed. Signed-off-by: Johannes Berg commit 725d255e70a98fc5dc0f4ce7fa173c33c8515a07 Author: Christian Lamparter Date: Sat Nov 24 14:23:25 2012 +0100 p54: improve TSF timestamp precision The LMAC API states that the TSF clock value of every rx'ed frame is a "usec accurate timestamp of the hardware clock at the end of frame (before OFDM SIFS EOF padding)". Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1d815ef4b8b8ebd6ef2cffcad663ae91d15646a2 Author: Johannes Berg Date: Fri Nov 23 23:46:19 2012 +0100 iwlwifi: initialize rx_status The vendor radiotap patch added a few fields to struct ieee80211_rx_status that need to be zero, initialize the struct instead of using whatever was left on the stack. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg Tested-by: Kalle Valo Signed-off-by: John W. Linville commit d369167f0ac513e05ba1f7895bea8b7c64ac5a4e Author: Johannes Berg Date: Thu Nov 22 12:58:16 2012 +0100 iwlegacy: initialize rx_status The vendor radiotap patch added a few fields to struct ieee80211_rx_status that need to be zero, initialize the struct instead of using whatever was left on the stack. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fbbdcc0213bbf74acb5d6d210a9cb4db557edd30 Author: Joe Perches Date: Wed Nov 21 10:17:34 2012 -0800 brcmsmac: Add __printf verification to logging prototypes Adding __printf helps spot format and argument mismatches. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 62c8003ecb973986958e9dade4a7e598349caf48 Merge: e4cb3ff ec81608 Author: John W. Linville Date: Mon Nov 26 14:46:41 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 501f9d4c1d5cb524e7c2be1203b5edc4a8edf593 Author: Paul Bolle Date: Tue Nov 20 22:31:06 2012 +0100 radeon: Fix typo and copy/paste error in comments Signed-off-by: Paul Bolle Signed-off-by: Jiri Kosina commit ec816087e8978b74c1bd5fae0e335dd97d964e9f Author: Johannes Berg Date: Fri Nov 16 17:22:28 2012 +0100 cfg80211: fix some tracing output issues In some cases, e.g. probe_status, there were spaces missing so the trace output was confusing. Also make it more like mac80211 when printing netdevs/wiphys to make reading a combined log easier. Signed-off-by: Johannes Berg commit a3ad5c3dd55624fde4d663e50b5261c396f6ece5 Author: Johannes Berg Date: Tue Nov 20 17:34:10 2012 +0100 mac80211_hwsim: remove printing scan config The frequencies will be printed when actually doing the scan, and the IEs can be captured on the hwsim0 monitor. Signed-off-by: Johannes Berg commit b296005c000ae1c82d7bae7be7d10bb71758d1e4 Author: Johannes Berg Date: Mon Nov 12 11:51:50 2012 +0100 mac80211_hwsim: advertise VHT support If the number of channels is > 1, which means that hwsim will use mac80211 channel contexts, it can also advertise VHT support. Signed-off-by: Johannes Berg commit 8bc83c24638b72421e783b96b5a05c1f4109a51d Author: Johannes Berg Date: Fri Nov 9 18:38:32 2012 +0100 mac80211: support VHT rates in TX info To achieve this, limit the number of retries to 31 (instead of 255) and use the three bits that are then free for VHT flags. Signed-off-by: Johannes Berg commit 5614618ec498320e3b686fea246e50b833865c34 Author: Johannes Berg Date: Fri Nov 9 15:07:02 2012 +0100 mac80211: support drivers reporting VHT RX Add support to mac80211 for having drivers report received VHT MCS information. Signed-off-by: Johannes Berg commit db9c64cf8d9d3fcbc34b09d037f266d1fc9f928c Author: Johannes Berg Date: Fri Nov 9 14:56:41 2012 +0100 nl80211/cfg80211: add VHT MCS support Add support for reporting and calculating VHT MCSes. Note that I'm not completely sure that the bitrate calculations are correct, nor that they can't be simplified. Signed-off-by: Johannes Berg commit 4bf88530be971bf95a7830ca61b4120980bf4347 Author: Johannes Berg Date: Fri Nov 9 11:39:59 2012 +0100 mac80211: convert to channel definition struct Convert mac80211 (and where necessary, some drivers a little bit) to the new channel definition struct. This will allow extending mac80211 for VHT, which is currently restricted to channel contexts since there are no drivers using that which makes it easier. As I also don't care about VHT for drivers not using the channel context API, I won't convert the previous API to VHT support. Signed-off-by: Johannes Berg commit 3d9d1d6656a73ea8407734cfb00b81d14ef62d4b Author: Johannes Berg Date: Thu Nov 8 23:14:50 2012 +0100 nl80211/cfg80211: support VHT channel configuration Change nl80211 to support specifying a VHT (or HT) using the control channel frequency (as before) and new attributes for the channel width and first and second center frequency. The old channel type is of course still supported for HT. Also change the cfg80211 channel definition struct to support these by adding the relevant fields to it (and removing the _type field.) This also adds new helper functions: - cfg80211_chandef_create to create a channel def struct given the control channel and channel type, - cfg80211_chandef_identical to check if two channel definitions are identical - cfg80211_chandef_compatible to check if the given channel definitions are compatible, and return the wider of the two This isn't entirely complete, but that doesn't matter until we have a driver using it. In particular, it's missing - regulatory checks on the usable bandwidth (if that even makes sense) - regulatory TX power (database can't deal with it) - a proper channel compatibility calculation for the new channel types Signed-off-by: Johannes Berg commit 683b6d3b31a51956ea540df00abb0b78894924c1 Author: Johannes Berg Date: Thu Nov 8 21:25:48 2012 +0100 cfg80211: pass a channel definition struct Instead of passing a channel pointer and channel type to all functions and driver methods, pass a new channel definition struct. Right now, this struct contains just the control channel and channel type, but for VHT this will change. Also, add a small inline cfg80211_get_chandef_type() so that drivers don't need to use the _type field of the new structure all the time, which will change. Signed-off-by: Johannes Berg commit fe4b31810c06cc6518fb193efb9b3c3289b55832 Author: Johannes Berg Date: Thu Nov 8 19:20:56 2012 +0100 nl80211: add documentation for channel type Signed-off-by: Johannes Berg commit 42d97a599eb6b2aab3a401b3e5799a399d6c7652 Author: Johannes Berg Date: Thu Nov 8 18:31:02 2012 +0100 cfg80211: remove remain-on-channel channel type As mwifiex (and mac80211 in the software case) are the only drivers actually implementing remain-on-channel with channel type, userspace can't be relying on it. This is the case, as it's used only for P2P operations right now. Rather than adding a flag to tell userspace whether or not it can actually rely on it, simplify all the code by removing the ability to use different channel types. Leave only the validation of the attribute, so that if we extend it again later (with the needed capability flag), it can't break userspace sending invalid data. Signed-off-by: Johannes Berg commit 028e8da0723a6f6a00d9d1e3dae9ad448a28987e Author: Johannes Berg Date: Mon Nov 26 11:57:41 2012 +0100 mac80211: fix managed mode channel flags handling If ieee80211_prep_channel() decides that HT should be disabled (because the HT IEs from the AP were invalid) it will set the IEEE80211_STA_DISABLE_HT to not send HT capabilities to the AP when associating. If this happens during authentication, the flag will be lost and we send HT frames, even if the channel config was set up for non-HT. This can lead to issues. Fix this by always resetting the ifmgd flags to zero when the channel context is released so that the flag resetting in ieee80211_mgd_assoc() isn't necessary. To make the code a bit easier move the call to release the channel in ieee80211_set_disassoc() to the end of the function together with the flag resetting (which needs to be at the end to avoid timers setting flags.) Signed-off-by: Johannes Berg commit 453e66f247f4ecb98cfef653164d428d087187d8 Author: Marco Porsch Date: Wed Nov 21 18:40:32 2012 -0800 mac80211: remove mesh config macros from mesh_plink.c Use shortcut pointer instead where it is appropriate. Signed-off-by: Marco Porsch Signed-off-by: Johannes Berg commit 40aefedc8b494d6a7006ceb9d051fbc58268c86e Author: Marco Porsch Date: Wed Nov 21 18:40:31 2012 -0800 mac80211: refactor ieee80211_set_qos_hdr Return early if not a QoS Data frame. Give proper documentation. Signed-off-by: Marco Porsch Signed-off-by: Johannes Berg commit 65821635d26d3173a3b22781e2c60d5e6fcaeb22 Author: Marco Porsch Date: Wed Nov 21 18:40:30 2012 -0800 mac80211: move Mesh Capability field definition to ieee80211.h Signed-off-by: Marco Porsch [prefix with IEEE80211_] Signed-off-by: Johannes Berg commit 7bed20503f62ae9660c7b5cd6c3603960e422450 Author: Antonio Quartulli Date: Sun Nov 25 23:24:27 2012 +0100 mac80211: in ADHOC print debug message for every Auth message The debug message has to be printed also for an Auth message with auth_sequence != 1. This helps understanding whether the two Auth messages are exchanged correctly or not. Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit e584da5e3cc0b299d4b86072941cbe6dd9a046a8 Author: Antonio Quartulli Date: Sun Nov 25 23:13:42 2012 +0100 mac80211: in ADHOC don't update last_rx if sta is not authorized It does not make sense to keep a station alive if it is not authorised at all. If IBSS/RSN is used it could also be the case that something went wrong during the keys exchange and the stations ended up in a not recoverable state. By not updating last_rx we are giving the station a chance to be deleted and to start the key exchange once again from scratch. Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit c216e6417f473ab4666f539844652bf2f4129777 Author: Arend van Spriel Date: Sun Nov 25 19:13:28 2012 +0100 cfg80211: change function signature of cfg80211_get_p2p_attr() The function cfg80211_get_p2p_attr() can fail and returns a negative error code. However, the return type is unsigned int. The largest positive number is determined by desired_len variable in the function, which is u16. So changing the return type to int to allow easy error checking. Also change the type for the attribute to enum for improved type checking. Signed-off-by: Arend van Spriel [fix indentation, don't use u8 attr variable] Signed-off-by: Johannes Berg commit 24bc518a6888e4c97add5a5ebbff11c1ccac219f Merge: b3e3bd71 194d983 Author: David S. Miller Date: Sun Nov 25 12:49:17 2012 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/wireless/iwlwifi/pcie/tx.c Minor iwlwifi conflict in TX queue disabling between 'net', which removed a bogus warning, and 'net-next' which added some status register poking code. Signed-off-by: David S. Miller commit 70b12bb415463c1bd146b67c5fbf6784fd046ad9 Author: Paulo Zanoni Date: Tue Nov 20 13:32:30 2012 -0200 drm/i915: promote Haswell to full support Since it should be working a little bit better now. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 0172bb75073e11a5aa9d8a953bdaefb8709f00c8 Author: Johannes Berg Date: Fri Nov 23 14:23:30 2012 +0100 cfg80211: use DS or HT operation IEs to determine BSS channel Currently, mac80211 checks the DS params IE if present and uses it for the (primary) BSS channel, instead of the one that the frame was received on. This is particularly useful in the 2.4 GHz band since a frame is often received on one of the adjacent channels due to overlap. Move this code to cfg80211 so other drivers also do this. Additionally, on 5 GHz, in particular with some (possibly) upcoming changes in 802.11ai and duplicate transmissions when wider channels are used, something similar happens. So if present, also use the (primary) channel information contained in the HT operation IE. Signed-off-by: Johannes Berg commit 03ae834faac9831181ae471543d9f640b75c652b Author: Johannes Berg Date: Thu Nov 22 14:34:05 2012 +0100 mac80211: disable HT advertising unless AP supports it If the AP doesn't support HT, or more importantly if it does but we have to disable it because its IEs are broken, don't advertise HT support in our association request. Otherwise, we configure our channel to be a 20 MHz non-HT channel but the AP might still think we support HT, or even 40 MHz. Signed-off-by: Johannes Berg commit a8243b72459be78240e5e07f987c625f8d976c14 Author: Johannes Berg Date: Thu Nov 22 14:32:09 2012 +0100 mac80211: rename IEEE80211_STA_DISABLE_11N to HT Since the 11n spec amendment was rolled into the 2012 version, "11n" no longer makes sense. Use "HT" instead. Signed-off-by: Johannes Berg commit 76c5fa0fb99e694e123f05f62382b717b857b6a9 Author: Johannes Berg Date: Thu Nov 22 14:17:23 2012 +0100 mac80211: fix RX chains configuration If the driver doesn't support 40 MHz channels, then mac80211 erroneously sets number of RX chains to one although the number of chains is independent of the support for 40 MHz channels. Fix this by checking the 40 MHz support only for the code that sets the 40 MHz channel not the complete HT code block. This also means the HT20 channel type will always be set in the changed code block so there's no need to set it in case we override the AP due to invalid IEs in the probe response/beacon. The indentation is a bit quirky, but I'm rewriting this code for VHT support so this will change again very soon. Signed-off-by: Johannes Berg commit 605f1a5b5e87cf4005b56b77083ff473c846431a Author: Johannes Berg Date: Thu Nov 22 10:20:58 2012 +0100 mac80211: fix radiotap vendor area skipping The radiotap vendor area in the skb head must be skipped and accounted for in a few functions until it is removed. I missed this in my patch, so a few places use this data as though it was the 802.11 header, fix these places. Reported-by: Wojciech Dubowik Tested-by: Wojciech Dubowik Signed-off-by: Johannes Berg commit 6a9d51b768e2073736ce43164b639ed8da6791ca Author: Chris Wilson Date: Wed Nov 21 16:14:03 2012 +0000 drm/i915: Report the origin of the LVDS fixed panel mode Signed-off-by: Chris Wilson Reviewed-by: Jani Nikula [danvet: resolve conflict around the call to intel_crtc_mode_get. And add the missing NULL check Chris spotted while at it.] Signed-off-by: Daniel Vetter commit 2aa4f09917d9854928074bb5bf1b9d8a9364a67f Author: Chris Wilson Date: Wed Nov 21 16:14:04 2012 +0000 drm/i915: LVDS fallback to fixed-mode if EDID not present Use the recorded panel fixed-mode to populate the get_modes() request in the absence of an EDID. Fixes regression from commit 9cd300e038d492af4990b04e127e0bd2df64b1ca Author: Jani Nikula Date: Fri Oct 19 14:51:52 2012 +0300 drm/i915: Move cached EDID to intel_connector Signed-off-by: Chris Wilson Cc: Jani Nikula Cc: Jesse Barnes Reviewed-by: Jani Nikula [danvet: Drop the retval-changing hunk, as suggested by Jani in his review and acked by Chris.] Signed-off-by: Daniel Vetter commit 4b745b1e54efa5154a06ed606ad82660773602b3 Author: Jani Nikula Date: Mon Nov 12 18:31:36 2012 +0200 drm/i915/sdvo: kfree the intel_sdvo_connector, not drm_connector, on destroy Since the base fields in both struct intel_connector and struct intel_sdvo_connector are at the beginning of the enclosing struct, the pointers are essentially the same, but there is no requirement or guarantee that this is always the case. Kfree the enclosing intel_sdvo_connector pointer that was originally allocated, not the enclosed drm_connector, in case someone ever rearranges the structs. Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit 662595df9fcba6e8d6f9ac905c960425cca38697 Author: Rob Clark Date: Thu Oct 11 20:36:04 2012 -0500 drm/i915: drm_connector_property -> drm_object_property v2: Rebased. Signed-off-by: Rob Clark Reviewed-by: Jani Nikula (v1) [danvet: Pimp commit message a bit.] Signed-off-by: Daniel Vetter commit e4cb3ff9311e0817e65cda7bc53898348aab7527 Author: John W. Linville Date: Wed Nov 21 14:59:46 2012 -0500 rtl8723ae: fix build break from "mac80211: support RX_FLAG_MACTIME_END" CC drivers/net/wireless/rtlwifi/rtl8723ae/trx.o drivers/net/wireless/rtlwifi/rtl8723ae/trx.c: In function ‘rtl8723ae_rx_query_desc’: drivers/net/wireless/rtlwifi/rtl8723ae/trx.c:324:21: error: ‘RX_FLAG_MACTIME_MPDU’ undeclared (first use in this function) drivers/net/wireless/rtlwifi/rtl8723ae/trx.c:324:21: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [drivers/net/wireless/rtlwifi/rtl8723ae/trx.o] Error 1 Signed-off-by: John W. Linville commit 75c8ec71fb29ed59c4b9bda2f411ed3b09164cf7 Merge: 1e60896 77d2ece Author: John W. Linville Date: Wed Nov 21 14:43:51 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 1e60896fe07307baa5f3ca1a220dfa9792657352 Merge: ad66786 eea54c8 Author: John W. Linville Date: Wed Nov 21 14:38:49 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next Conflicts: drivers/net/wireless/iwlwifi/pcie/trans.c commit ad66786718989c20c91e855baa40371e01daf0a1 Author: Seth Forshee Date: Wed Nov 21 09:24:31 2012 -0600 brcmsmac: Remove stray argument from debug macro One of the debug macro invocations ended up with a stray 0 argument where the format string should be. Remove it. Signed-off-by: Seth Forshee Signed-off-by: John W. Linville commit 6940c9bed1b4d3840e7cabc31104548a12f8dbd0 Author: Seth Forshee Date: Wed Nov 21 09:24:30 2012 -0600 brcmsmac: Remove unused wlc_prio2prec_map and _BRCMS_PREC_* constants Fixes sparse warning: drivers/net/wireless/brcm80211/brcmsmac/main.c:308:10: sparse: symbol 'wlc_prio2prec_map' was not declared. Should it be static? Signed-off-by: Seth Forshee Signed-off-by: John W. Linville commit 580bdac386daa25e0432cbb4078d1cc3919127e3 Author: Sujith Manoharan Date: Wed Nov 21 18:13:15 2012 +0530 ath9k: Remove 'stations' debugfs file The 'stations' debugfs file has multiple issues. It doesn't scale to an arbitrary number of associated stations and allocating 64K is not elegant either. Now that changes have been made in mac80211 to support dynamic creation/deletion of driver-specific debugfs files on station addition/removal, remove this file and make use of the mac80211 hooks (which will be done in a sebsequent patch). Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 4d28f771ff2ca0701999b037df38ad06e949edf6 Author: Sujith Manoharan Date: Wed Nov 21 18:13:14 2012 +0530 ath9k: Fix rate control debugging Update the rate statistics only when debugfs has been enabled in ath9k and mac80211 and move the stat() functions under proper conditionals. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 1c11e10b6a64f14427be518ccc2a242b73fc3d9f Author: Sujith Manoharan Date: Wed Nov 21 18:13:13 2012 +0530 ath9k: Fill remove_sta_debugfs() callback Remove the rate control statistics debugfs file properly via remove_sta_debugfs(). Also, check for both MAC80211_DEBUGFS and ATH9K_DEBUGFS config options. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c0b74876ee4873dc89d80b59f5e890a1d0a87be1 Author: Sujith Manoharan Date: Wed Nov 21 18:13:12 2012 +0530 ath9k: Add a debugfs file to dump queue statistics Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 78ef731ce549dd9baf6eba8cf52f61727613690a Author: Sujith Manoharan Date: Wed Nov 21 18:13:11 2012 +0530 ath9k: Fix the 'xmit' debugfs file The 'xmit' debugfs file has become big and unwieldy, fix multiple issues with its usage: * Store TX counters/statistics only for the 4 Access Categories. Use IEEE80211_NUM_ACS instead of ATH9K_NUM_TX_QUEUES. * Move various utility macros to debug.h, they can be reused elsewhere. * Remove tx_complete_poll_work_seen. * Remove code that accesses various internal queue-specific variables without any locking whatsoever. HW/SW queue details will be handled in a subsequent patch. * Do not print internal values like txq_headidx and txq_headidx. They were mostly unused anyway, considering code like: PRX("txq_tailidx: ", txq_headidx); * Handle 'txprocdesc' for EDMA too. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit bea843c73854becf998047a83af22a90de3fd19b Author: Sujith Manoharan Date: Wed Nov 21 18:13:10 2012 +0530 ath9k/ath9k_htc: Remove WME macros Use the macros provided by mac80211 and remove redundant declarations inside the drivers. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 067293876ef9be3f29492d4b80c267bbd6369b92 Author: Stanislav Yakovlev Date: Tue Nov 20 23:54:20 2012 +0000 net/wireless: ipw2200: introduce ipw_set_geo function Move regulatory domain initialization code to a separate function. Signed-off-by: Stanislav Yakovlev Signed-off-by: John W. Linville commit 2884561a6472d6f9c960ccf2250a72ca058167a1 Author: Rajkumar Manoharan Date: Tue Nov 20 18:30:01 2012 +0530 ath9k: stomp audio profiles on weak signal strength On lower WLAN signal strength, WLAN downlink traffic might suffer from retransmissions. At the mean time, playing SCO/A2DP profiles is affecting WLAN stability. In such scenario, by stomping SCO/A2DP BT traffic completely for a BTCOEX period, gives WLAN traffic an oppertunity to recover PHY rate. It also improves WLAN stability at lower RSSI without sacificing BT traffic. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b88083bfb37297330240a478bef76316ee3f1b9b Author: Rajkumar Manoharan Date: Tue Nov 20 18:30:00 2012 +0530 ath9k: Fix MCI reset in BT cal_req This patch reverts the commit "ath9k_hw: Wait BT calibration to complete" and bail out from MCI interrupt routine for chip reset. The above commit stalls the WLAN TCP traffic while bringing up and down the BT interface iteratively. Fixing this properly by queueing up chip reset and bailing out properly from tasklet routine. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit ca90ef443cab31a5481d8a7f85514d28368fef44 Author: Rajkumar Manoharan Date: Tue Nov 20 18:29:59 2012 +0530 ath9k: Process FATAL interrupts at first FATAL and WATCHDOG interrupts should be processed first followed by others. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d2ff5ee919f0b1377595df80ba49c9921ce4ee62 Merge: b311749 2b2fec4 Author: John W. Linville Date: Wed Nov 21 13:03:00 2012 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit b3117494772d8f906625905c6e203af745ee3530 Merge: e2ff049 400e020 Author: John W. Linville Date: Wed Nov 21 12:57:56 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless Conflicts: drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c drivers/net/wireless/iwlwifi/pcie/tx.c commit 45a066eba491683beb2d65a19e625b50129dca44 Author: Rob Clark Date: Mon Oct 8 14:50:40 2012 -0500 drm/i915: use drm_send_vblank_event() helper Signed-off-by: Rob Clark Signed-off-by: Daniel Vetter commit b5c621584ba57e6112864dcd79b71020c9525f6a Author: Ben Widawsky Date: Mon Nov 19 12:23:44 2012 -0800 drm/i915: Use pci_resource functions for BARs. This was leftover crap from kill-agp. The current code is theoretically broken for 64b bars. (I resist removing theoretically because I am too lazy to test). We still need to ioremap things ourselves because we want to ioremap_wc the PTEs. v2: Forgot to kill the tmp variable in v1 CC: Chris Wilson Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 5774506f157a91400c587b85d1ce4de56f0d32f6 Author: Chris Wilson Date: Wed Nov 21 13:04:04 2012 +0000 drm/i915: Borrow our struct_mutex for the direct reclaim If we have hit oom whilst holding our struct_mutex, then currently we cannot reap our own GPU buffers which likely pin most of memory, making an outright OOM more likely. So if we are running in direct reclaim and already hold the mutex, attempt to free buffers knowing that the original function can not continue until we return. v2: Add a note explaining that the mutex may be stolen due to pre-emption, and that is bad. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 8742267af4043606869f5b8dadbef635405543c3 Author: Chris Wilson Date: Wed Nov 21 13:04:03 2012 +0000 drm/i915: Defer assignment of obj->gtt_space until after all possible mallocs As we may invoke the shrinker whilst trying to allocate memory to hold the gtt_space for this object, we need to be careful not to mark the drm_mm_node as activated (by assigning it to this object) before we have finished our sequence of allocations. Note: We also need to move the binding of the object into the actual pagetables down a bit. The best way seems to be to move it out into the callsites. Reported-by: Imre Deak Signed-off-by: Chris Wilson [danvet: Added small note to commit message to summarize review discussion.] Signed-off-by: Daniel Vetter commit 776ca7cf5bcc6892ad5bd781279744a654a8ed23 Author: Chris Wilson Date: Wed Nov 21 10:44:23 2012 +0000 drm/i915: Apply the IBX transcoder A w/a for HDMI to SDVO as well As the SDVO/HDMI registers are multiplex, it is safe to assume that the w/a required for HDMI on IbexPoint, namely that the SDVO register cannot both be disabled and have selected transcoder B, is also required for SDVO. At least the modeset state checker detects that the transcoder selection is left in the undefined state, and so it appears sensible to apply the w/a: [ 1814.480052] WARNING: at drivers/gpu/drm/i915/intel_display.c:1487 assert_pch_hdmi_disabled+0xad/0xb5() [ 1814.480053] Hardware name: Libretto W100 [ 1814.480054] IBX PCH hdmi port still using transcoder B Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57066 Signed-off-by: Chris Wilson Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit b3bf076697a68a8577f4a5f7407de0bb2b3b56ac Author: Paulo Zanoni Date: Tue Nov 20 13:27:44 2012 -0200 drm/i915: implement WaMbcDriverBootEnable on Haswell Also document the WA name for the previous gens that implement it. Reviewed-by: Jani Nikula Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit d567b07fce8f55f82e2cfe040cd74f7b4997ff38 Author: Paulo Zanoni Date: Tue Nov 20 13:27:43 2012 -0200 drm/i915: fix intel_ddi_get_cdclk_freq for ULT machines For now, this code is just used by the eDP AUX channel frequency. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 54075a7d75732147c32f7a99af5218f7d0f62596 Author: Paulo Zanoni Date: Tue Nov 20 13:27:42 2012 -0200 drm/i915: make the panel fitter work on pipes B and C on Haswell This goes on a separate patch since it won't apply on the stable trees and there's nothing using panel fitter on HSW on the older Kernels. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 13888d78c664a1f61d7b09d282f5916993827a40 Author: Paulo Zanoni Date: Tue Nov 20 13:27:41 2012 -0200 drm/i915: make the panel fitter work on pipes B and C on IVB I actually found this problem on Haswell, but then discovered Ivy Bridge also has it by reading the spec. I don't have the hardware to test this. Cc: stable@vger.kernel.org Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 79935fca3f1259e0a6fe203b55008f84ab8f3087 Author: Paulo Zanoni Date: Tue Nov 20 13:27:40 2012 -0200 drm/i915: don't intel_crt_init if DDI A has 4 lanes DDI A and E have 4 lanes to share, so if DDI A is using 4 lanes, there's nothing left for DDI E, which means there's no CRT port on the machine. The bit we're checking here is programmed at system boot and it cannot be changed afterwards, so we cannot change the amount of lanes reserved for each DDI port. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 17a303ec7cd5a245c621b6d0898eb3ef9fc96329 Author: Paulo Zanoni Date: Tue Nov 20 15:12:07 2012 -0200 drm/i915: make DP work on LPT-LP machines We need to enable a special bit, otherwise none of the DP functions requiring the PCH will work. Version 2: store the PCH ID inside dev_priv, as suggested by Daniel Vetter. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit c54e59046c825266ca0decdac47fcfcf902b6cd6 Author: Paulo Zanoni Date: Tue Nov 20 13:27:38 2012 -0200 drm/i915: fix false positive "Unclaimed write" messages We don't check if the "unclaimed register" bit is set before we call writel, so if it was already set before, we might print a misleading message about "unclaimed write" on the wrong register. This patch makes us check the unclaimed bit before the writel, so we can print a new "Unknown unclaimed register before writing to %x" message. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit cc391bbbddd16c36dabcb9f4a26500a2973a7108 Author: Paulo Zanoni Date: Tue Nov 20 13:27:37 2012 -0200 drm/i915: use cpu/pch transcoder on intel_enable_pipe This function runs on Haswell, so set the correct pch_transcoder and cpu_transcoder variables. This fixes an assertion failure on Haswell VGA. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit d63fa0dc1a3636816260bc507e59e168e423f150 Author: Paulo Zanoni Date: Tue Nov 20 13:27:35 2012 -0200 drm/i915: don't limit Haswell CRT encoder to pipe A This is a full revert of 59c859d6f2e78344945e8a8406a194156176bc4e: drm/i915: account for only one PCH receiver on Haswell Now that the PCH code is fixed to be able use the only PCH transcoder independently of the pipe and CPU transcoder, we can revert this. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau [danvet: Resolve conflict due to the rebasing of dinq on top of drm-next.] Signed-off-by: Daniel Vetter commit b4a98e57fc27854b5938fc8b08b68e5e68b91e1f Author: Chris Wilson Date: Thu Nov 1 09:26:26 2012 +0000 drm/i915: Flush outstanding unpin tasks before pageflipping If we accumulate unpin tasks because we are pageflipping faster than the system can schedule its workers, we can effectively create a pin-leak. The solution taken here is to limit the number of unpin tasks we have per-crtc and to flush those outstanding tasks if we accumulate too many. This should prevent any jitter in the normal case, and also prevent the hang if we should run too fast. Note: It is important that we switch from the system workqueue to our own dev_priv->wq since all work items on that queue are guaranteed to only need the dev->struct_mutex and not any modeset resources. For otherwise if we have a work item ahead in the queue which needs the modeset lock (like the output detect work used by both polling or hpd), this work and so the unpin work will never execute since the pageflip code already holds that lock. Unfortunately there's no lockdep support for this scenario in the workqueue code. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46991 Reported-and-tested-by: Tvrtko Ursulin Signed-off-by: Chris Wilson [danvet: Added note about workqueu deadlock.] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56337 Signed-off-by: Daniel Vetter commit a726915cef1daab57aad4c5b5e4773822f0a4bf8 Author: Daniel Vetter Date: Tue Nov 20 14:50:08 2012 +0100 drm/i915: resurrect panel lid handling But disabled by default. This essentially reverts commit bcd5023c961a44c7149936553b6929b2b233dd27 Author: Dave Airlie Date: Mon Mar 14 14:17:55 2011 +1000 drm/i915: disable opregion lid detection for now but leaves the autodetect mode disabled. There's also the explicit lid status option added in commit fca874092597ef946b8f07031d8c31c58b212144 Author: Chris Wilson Date: Thu Feb 17 13:44:48 2011 +0000 drm/i915: Add a module parameter to ignore lid status Which overloaded the meaning for the panel_ignore_lid parameter even more. To fix up this mess, give the non-negative numbers 0,1 the original meaning back and use negative numbers to force a given state. So now we have 1 - disable autodetect, return unknown 0 - enable autodetect -1 - force to disconnected/lid closed -2 - force to connected/lid open v2: My C programmer license has been revoked ... v3: Beautify the code a bit, as suggested by Chris Wilson. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=27622 Tested-by: Andreas Sturmlechner Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 8fed6193736bf22e0e44c03ee783761e9cc37238 Author: Takashi Iwai Date: Mon Nov 19 18:06:51 2012 +0100 drm/i915: Enable DP audio for Haswell This patch adds the missing code to send ELD for Haswell DisplayPort, based on Xingchao's original patch. A test was performed with HSW-D machine and NEC EA232Wmi DP monitor. Cc: Xingchao Wang Signed-off-by: Takashi Iwai Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit c9839303d186d6270f570ff3c5f56c2327958086 Author: Chris Wilson Date: Tue Nov 20 10:45:17 2012 +0000 drm/i915: Pin the object whilst faulting it in In order to prevent reaping of the object whilst setting it up to handle the pagefault, we need to mark it as pinned. This has the nice side-effect of eliminating some special cases from the pagefault handler as well! Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit fbdda6fb5ee5da401af42226878880069a6b8615 Author: Chris Wilson Date: Tue Nov 20 10:45:16 2012 +0000 drm/i915: Guard pages being reaped by OOM whilst binding-to-GTT In the circumstances that the shrinker is allowed to steal the mutex in order to reap pages, we need to be careful to prevent it operating on the current object and shooting ourselves in the foot. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit be7cb6347e0c3aa1956748a860a2465a7ea128c4 Author: Chris Wilson Date: Mon Nov 19 15:30:42 2012 +0000 drm/i915: Remove bogus test for a present execbuffer The intention of checking obj->gtt_offset!=0 is to verify that the target object was listed in the execbuffer and had been bound into the GTT. This is guarranteed by the earlier rearrangement to split the execbuffer operation into reserve and relocation phases and then verified by the check that the target handle had been processed during the reservation phase. However, the actual checking of obj->gtt_offset==0 is bogus as we can indeed reference an object at offset 0. For instance, the framebuffer installed by the BIOS often resides at offset 0 - causing EINVAL as we legimately try to render using the stolen fb. Signed-off-by: Chris Wilson Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter commit b92fa839015f27ba0f5c7ef9812eba9ecff538c2 Author: Chris Wilson Date: Fri Nov 16 11:43:21 2012 +0000 drm/i915: Remove save/restore of physical HWS_PGA register Now that we always restore the HWS registers (both physical and GTT virtual addresses) when re-initialising the rings, we can eliminate the superfluous save/restore of the register across suspend and resume. Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit d09105c66eb813ab3f57ba5e738f477f6ff92dec Author: Ben Widawsky Date: Thu Nov 15 12:06:09 2012 -0800 drm/i915: Fix warning in i915_gem_chipset_flush drivers/gpu/drm/i915/i915_drv.h:1545:2: warning: '______f' is static but declared in inline function 'i915_gem_chipset_flush' which is not static Reported-by: kbuild test robot dri-devel-Reference: <50a4d41c.586VhmwghPuKZbkB%fengguang.wu@intel.com> Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 42d42e7e4220753bab3eb7b857721f203a4cd821 Author: Damien Lespiau Date: Wed Oct 31 19:23:16 2012 +0000 drm/i915: Only check for valid PP_{ON, OFF}_DELAYS on pre ILK hardware ILK+ have this register on the PCH. This check was triggering unclaimed writes. Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 607a6f7a6621f65706ff536b2615ee65b5c2f575 Author: Daniel Vetter Date: Wed Nov 14 17:47:39 2012 +0100 drm/i915: drop buggy write to FDI_RX_CHICKEN register Jani Nikula noticed that the parentheses are wrong and we & the bit with the register address instead of the read-back value. He sent a patch to correct that. On second look, we write the same register in the previous line, and the w/a seems to be to set FDI_RX_PHASE_SYNC_POINTER_OVR to enable the logic, then keep always set FDI_RX_PHASE_SYNC_POINTER_OVR and toggle FDI_RX_PHASE_SYNC_POINTER_EN before/after enabling the pc transcoder. So the right things seems to be to simply kill the 2nd write. Cc: Jani Nikula Reviewed-by: Chris Wilson [danvet: Dropped a bogus ~ from the commit message that somehow crept in.] Signed-off-by: Daniel Vetter commit 1c8b46fc8c865189f562c9ab163d63863759712f Author: Chris Wilson Date: Wed Nov 14 09:15:14 2012 +0000 drm/i915: Use LRI to update the semaphore registers The bspec was recently updated to remove the ability to update the semaphore using the MI_SEMAPHORE_BOX command, the ability to wait upon the semaphore value remained. Instead the advice is to update the register using the MI_LOAD_REGISTER_IMM command. In cursory testing, semaphores continue to function - the question is whether this fixes some of the deadlocks where the semaphore registers contained stale values? Signed-off-by: Chris Wilson Cc: Daniel J Blueman Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter commit ae6935ddda178f6d2b327cd9bf09add133315f15 Author: Wei Shun Chang Date: Mon Nov 12 18:54:13 2012 -0200 drm/i915: add LynxPoint-LP PCH ID [pzanoni: rebase, print it's an LP PCH] Signed-off-by: Paulo Zanoni Tested-by: Josh Triplett Signed-off-by: Daniel Vetter commit e3fef09dda9ebf113a9a861260eff6f223808043 Author: Jean Delvare Date: Mon Nov 12 14:18:02 2012 +0100 drm/i915: Optimize DIV_ROUND_CLOSEST call DIV_ROUND_CLOSEST is faster if the compiler knows it will only be dealing with unsigned dividends. This optimization rips 32 bytes of binary code on x86_64. Signed-off-by: Jean Delvare Cc: Guenter Roeck Cc: Andrew Morton Cc: Daniel Vetter Cc: David Airlie Signed-off-by: Daniel Vetter commit 77d2ece6fde80631193054edc9c9a3edad519565 Author: Sujith Manoharan Date: Tue Nov 20 08:46:02 2012 +0530 mac80211: Add debugfs callbacks for station addition/removal Provide drivers with hooks to create debugfs files when a new station is added. This would help drivers to take advantage of mac80211's station list infrastructure and not maintain tedious station management code internally. Signed-off-by: Sujith Manoharan [ifdef inline wrapper functions] Signed-off-by: Johannes Berg commit eea54c8ec971d4759c541dba351477dafc39ce54 Author: Emmanuel Grumbach Date: Tue Nov 20 13:49:24 2012 +0200 iwlwifi: remove effectless assignment Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 7e8d9da32ea02f02a23f998cd2013408a4fe49bb Author: Thomas Hellstrom Date: Tue Nov 20 12:19:37 2012 +0000 drm/vmwgfx: Add and make use of a header for surface size calculation. Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit 543831cfc976669b8da963b3e94933e21e051846 Author: Thomas Hellstrom Date: Tue Nov 20 12:19:36 2012 +0000 drm/vmwgfx: Break out surface and context management to separate files Add a resource-private header for common resource definitions Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1 Author: Thomas Hellstrom Date: Tue Nov 20 12:19:35 2012 +0000 drm/vmwgfx: Refactor resource management Refactor resource management to make it easy to hook up resources that are backed up by buffers. In particular, resources and their backing buffers can be evicted and rebound, if supported by the device. To avoid query deadlocks, the query code is also modified somewhat. Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit e2ff0498409af6f2023f91aba07b281e5e87ee15 Author: John W. Linville Date: Mon Nov 19 11:04:28 2012 -0500 brcmfmac: include linux/vmalloc.h from usb.c This avoids build failures on some architectures... Signed-off-by: John W. Linville Reported-by: Fengguang Wu Acked-by: Arend van Spriel commit 5b15d0f449036b0674c5214296572f53974c22ac Author: John W. Linville Date: Mon Nov 19 10:53:32 2012 -0500 brcmfmac: check return from kzalloc in brcmf_fweh_process_event Signed-off-by: John W. Linville Reported-by: Fengguang Wu Acked-by: Arend van Spriel commit 9242c7261b8c05de71fb83f2fa7a299691c66977 Author: Seth Forshee Date: Thu Nov 15 08:08:12 2012 -0600 brcmsmac: Remove some noisy and uninformative debug messages These messages clutter up the trace buffer without adding any useful information. Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 0c9a0a1dd145a3078ff50c50b2d20de6b46f5e62 Author: Seth Forshee Date: Thu Nov 15 08:08:11 2012 -0600 brcmsmac: Add tracepoint for AMPDU session information Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit e3c0d8a6f67f2ee22476e0ceb0ad22945840a5af Author: Seth Forshee Date: Thu Nov 15 08:08:10 2012 -0600 brcmsmac: Add tracepoint for macintstatus Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit cdf4352f5c59ee5599579ea3bfa4d8972c3f72f1 Author: Seth Forshee Date: Thu Nov 15 08:08:09 2012 -0600 brcmsmac: Improve tx trace and debug support Add the brcmsmac_tx trace system for tx debugging. Existing code to dump tx status and descriptors are converted to using tracepoints, allowing for more efficient collection and post-processing of this data. These tracepoints are placed to collect data for all tx frames instead of only on errors. Logging of tx errors is also improved. Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 5211fa2c483dc85134e46a17a72210dc41a0802d Author: Seth Forshee Date: Thu Nov 15 08:08:08 2012 -0600 brcmsmac: Add brcms_dbg_ht() debug macro Also convert relevant messages to use this macro. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 90123e045cac4ce8ec13e266f030c618fa674554 Author: Seth Forshee Date: Thu Nov 15 08:08:07 2012 -0600 brcmsmac: Add brcms_dbg_dma() debug macro Also convert relevant messages to use this macro. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 229a41d9d0d27e9570a18444e6435164b8807c75 Author: Seth Forshee Date: Thu Nov 15 08:08:06 2012 -0600 brcmsmac: Add brcms_dbg_int() debug macro Also convert relevant message to use this macro. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 5ce58bb5f95c75b6966a9dc1f91992797f3c2286 Author: Seth Forshee Date: Thu Nov 15 08:08:05 2012 -0600 brcmsmac: Add rx and tx debug macros Also convert relevant messages over to use thses macros. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 913911f47b510ea3bfa468b43e7d43ee52d2de10 Author: Seth Forshee Date: Thu Nov 15 08:08:04 2012 -0600 brcmsmac: Add brcms_dbg_mac80211() debug macro This macro is used for messages related to the 802.11 MAC layer. Relevant messages are also converted to use this macro. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit b353dda485038d5033b066cc946dfcf66afae128 Author: Seth Forshee Date: Thu Nov 15 08:08:03 2012 -0600 brcmsmac: Use debug macros for general error and debug statements Convert most uses of wiphy_* and pr_* for general error and debug messages to use the internal debug macros instead. Most code used only for initialization still use wiphy_err(), as well as some locations which are executed too early to use the debug macros. Some debug messages which are redundant or not useful are removed. Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 269de12bf10d2398bc6263ab4970bdcde7535787 Author: Seth Forshee Date: Thu Nov 15 08:08:02 2012 -0600 brcmsmac: Add support for writing debug messages to the trace buffer Add a new brcmsmac_msg trace system to enable writing of debug messages to the trace buffer, and add brcms_* macros for storing device debug messages in the trace buffer in addition to the printk log buffer. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit b03417443c4dd3f65a070fe95cea1f2682eb0aa8 Author: Seth Forshee Date: Thu Nov 15 08:08:01 2012 -0600 brcmsmac: Add module parameter for setting the debug level The debug level can be set by passing debug=... to brcmsmac whenever CONFIG_BRCMDBG is enabled. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 1ca47e687a44b3db86fca9241109309fb36c3e37 Author: Seth Forshee Date: Thu Nov 15 08:08:00 2012 -0600 brcm80211: Convert log message levels to debug levels In preparation for enhancements to debug and trace support, convert the message levels to debug levels which will be used for enabling categories of debug messages. The two message levels are little-used anyway and are combined into the BRCM_DL_INFO debug level. Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit f5c4f10852d42012c6a7a793c15bf18882e61da0 Author: Seth Forshee Date: Thu Nov 15 08:07:59 2012 -0600 brcm80211: Allow trace support to be enabled separately from debug Since the runtime overhead of trace support is small when tracing is disabled, users may be interested in turning on trace support while leaving other debug features off. Add a new config option named CONFIG_BRCM_TRACING for this purpose. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 75be3e24eeedbc9ec5faf3483fe9b449abec94e8 Author: Seth Forshee Date: Thu Nov 15 08:07:58 2012 -0600 brcmsmac: Reduce number of entries in tx DMA rings Currently up to 256 frames can be queued for each DMA ring. This is excessive, and now that we have better flow control we can get by with less. Experimentation has shown 64 to work well. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit b05618deb4ac7c22d876acc19debb7ac63786f37 Author: Seth Forshee Date: Thu Nov 15 08:07:57 2012 -0600 brcmsmac: Use correct descriptor count when calculating next rx descriptor nextrxd() is calling txd(), which means that the tx descriptor count is used to determine when to wrap for determining the next ring buffer entry. This has worked so far since the driver has been using the same number of rx and tx descriptors, but it's obviously going to be a problem if different numbers of descriptors are used. Acked-by: Arend van Spriel Signed-off-by: Seth Forshee Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit e041f65d5f00011049c7d6af0e31ce69ce9e2655 Author: Seth Forshee Date: Thu Nov 15 08:07:56 2012 -0600 brcmsmac: Remove internal tx queue The brcmsmac internal tx buffering is problematic. The amount of buffering is excessive (228 packets in addition to the 256 slots in each DMA ring), and frames may be dropped due to a lack of flow control. This patch reworks the transmit code path to remove the internal buffering. Frames are immediately handed off to the DMA support rather than passing through an intermediate queue. Non-aggregate frames are queued immediately into the tx rings, and aggregate frames are queued temporarily in an AMPDU session until ready for transmit. Transmit flow control is also added to avoid dropping packets when the tx rings are full. Conceptually this is a separate change, but it's included in this commit because removing the tx queue without adding flow control could cause significant problems. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 32d0f12a1611421abf70ff7c30d76c739aafad64 Author: Seth Forshee Date: Thu Nov 15 08:07:55 2012 -0600 brcmsmac: Use IEEE 802.11 AC levels for pktq precedence levels The mac80211 tx queues and brcmsmac DMA fifos both map directly to AC levels. Therefore it's much more straightforward to queue tx frames and choose the tx fifo based on the mac80211 queue instead of mapping 802.1D priority tags to precedence levels then back to AC levels. mac80211 already maps the 802.1D levels to the appropriate AC levels and queues management frames at the maximum priority, so the results should be identical. One functional change resulting from this patch is that AMPDU retries no longer get a priority boost to queue them ahead of packets with the same priority already in the tx queue. This behavior will be restored (in effect at least) in a later patch when the tx queue is removed. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 7f2de08fc0b997ef580a2204e6d14c3c889282c4 Author: Seth Forshee Date: Thu Nov 15 08:07:54 2012 -0600 brcmsmac: Remove unimplemented flow control functions Functions for flow control exist but remain unimplemented. Remove these in advance of adding real flow control. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 05f8a6160491ea46636370fbacb4061c341d5d94 Author: Seth Forshee Date: Thu Nov 15 08:07:53 2012 -0600 brcmsmac: Add helper function for updating txavail count Use this helper function rather than open-coding the same calculation in multiple places. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 5c8067caeecbabf8c60dbb73dd517d2a2aad16a5 Author: Seth Forshee Date: Thu Nov 15 08:07:52 2012 -0600 brcmsmac: Don't weight AMPDU packets in txfifo According to the comments this "reduces rate lag," but in reality the only way this value is used is for determining whether or not any frames remain to be transmitted. Therefore there's no reason for AMPDU packets to receive any weighting. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit ef2c0512bbf43440a78a6471059e19641eab1e83 Author: Seth Forshee Date: Thu Nov 15 08:07:51 2012 -0600 brcmsmac: Introduce AMPDU sessions for assembling AMPDUs AMPDU session allows MPDUs to be temporarily queued until either a full AMPDU has been collected or circumstances dictate that transmission should start with a partial AMPDU. Packets are added to the session by calling brcms_c_ampdu_add_frame(). brcms_c_ampdu_finalize() should be called to fix up the tx headers in the first and last packet before adding the packets to the DMA ring. brmcs_c_sendampdu() is converted to using AMPDU sessions. This patch has no real value on it's own, but is needed in preparation for elimination of the tx packet queue from brcmsmac. Signed-off-by: Seth Forshee Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Arend van Spriel Tested-by: Daniel Wagner Signed-off-by: John W. Linville commit 2b2fec4d08a0aabe20d2e749cb7978f04217af65 Author: Szymon Janc Date: Tue Nov 20 11:38:54 2012 +0100 Bluetooth: Remove OOB data if device was discovered in band OOB authentication mechanism should be used only if pairing process has been activated by previous OOB information exchange (Core Spec 4.0 , vol. 1, Part A, 5.1.4.3). Stored OOB data for specific device should be removed if that device was discovered in band later on. Signed-off-by: Szymon Janc Acked-by: Johan Hedberg Signed-off-by: Gustavo Padovan commit fd45bf4c923308b19d8baa3c227d26a0e7d79fa7 Author: Andrei Emeltchenko Date: Tue Nov 20 17:16:22 2012 +0200 Bluetooth: AMP: Set no FCS for incoming L2CAP chan When receiving L2CAP Create Channel Request set the channel as L2CAP_FCS_NONE. Then in "L2CAP Config req" following field will be set: "FCS Option 0x00 (No FCS)". So by default High Speed channels have no FCS. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 1bb166e66cc46323d3757ce1027cc1c767498d50 Author: Andrei Emeltchenko Date: Tue Nov 20 17:16:21 2012 +0200 Bluetooth: Improve error message printing Instead of printing: "[ 7763.082007] Bluetooth: 2" print something like: "[ 7763.082007] Bluetooth: Trailing bytes: 2 in sframe" Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 37295996ce181a2a4e74308070abf06bd822f7a1 Author: Andrei Emeltchenko Date: Tue Nov 20 17:16:20 2012 +0200 Bluetooth: Set local_amp_id after getting Phylink Completed evt local_amp_id is used in l2cap_physical_cfm and shall be set up before calling it. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 62748ca16f2f79a62d90fb45963233fb10f726c4 Author: Andrei Emeltchenko Date: Tue Nov 20 17:16:19 2012 +0200 Bluetooth: Fix sending L2CAP Create Chan Req When receiving Physical Link Completed event we need to create L2CAP channel with L2CAP Create Chan Request. Current code was sending this command only if connection was pending (which is probably needed in channel move case). If channel is not moved but created Create Chan should be sent for outgoing channel which is checked with BT_CONNECT flag. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit fe5f255930af02ef3c3e0d00545b674e7e9d0cfb Author: Johannes Berg Date: Mon Nov 19 22:19:08 2012 +0100 mac80211: fix channel context suspend/reconfig handling Sujith reported warnings with suspend/resume due to channel contexts. When I looked into it, I realised that the code was completely broken as it unassigned the channel contexts when suspending, which actually means they are destroyed. Eliad Peller then pointed out that we also need to remove the channel contexts from the driver. When I looked into this, I also noticed that the code isn't handling the virtual monitor interface correctly (if it exists.) Fix this by calling just the driver methods (if they are implemented) instead of using the channel context management code. Also add reconfiguration for the virtual monitor interface. Reported-by: Sujith Manoharan Signed-off-by: Johannes Berg commit bf6f036848ab2151c2498f11cb7d31a52a95dd5c Author: Thomas Hellstrom Date: Fri Nov 9 12:26:15 2012 +0000 drm/vmwgfx: Make vmw_dmabuf_unreference handle NULL objects Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit 506ff75c92a44d80da96bc18d9902d29e8236fc6 Author: Thomas Hellstrom Date: Fri Nov 9 12:26:14 2012 +0000 drm/vmwgfx: Refactor module load to not require fifo unless fbdev is loaded This also fixes a bug where the fence manager was left without irq enabled when waiting for fences, causing various errors at module load time Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit 29a16e9543f4122da13e9c0e18af117cc4964fb8 Author: Thomas Hellstrom Date: Fri Nov 9 12:26:13 2012 +0000 drm/vmwgfx: Make screen object code not require fifo at init time Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit dcb522715503dfd3eae4fe402439bd4737434f21 Author: Thomas Hellstrom Date: Fri Nov 9 12:26:12 2012 +0000 drm/vmwgfx: Make overlay code not require fifo at init time Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit ba723fe8b7e88d86825862fa528a75f94b1ad8b1 Author: Thomas Hellstrom Date: Fri Nov 9 12:26:11 2012 +0000 drm/vmwgfx: Enable traces *after* we've hidden SVGA Hiding SVGA seems to trigger a VGA screen clear, and with no traces dirty it doesn't seem to repaint Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Dmitry Torokhov Signed-off-by: Dave Airlie commit 654aa79259a19f0d5e3cf9cb20aff56dc3b041b7 Author: Maarten Lankhorst Date: Tue Nov 6 14:39:43 2012 +0100 drm/ttm: alter cpu_writers to return -EBUSY in ttm_execbuf_util reservations This is similar to other platforms that don't allow command submission to buffers locked on the cpu. Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 6c1e963cc5771c93d4ed7aa8bdd4322a7c918e9b Author: Thomas Hellstrom Date: Tue Nov 6 11:31:51 2012 +0000 drm/ttm: Optimize reservation slightly Reservation locking currently always takes place under the LRU spinlock. Hence, strictly there is no need for an atomic_cmpxchg call; we can use atomic_read followed by atomic_write since nobody else will ever reserve without the lru spinlock held. At least on Intel this should remove a locked bus cycle on successful reserve. Note that thit commit may be obsoleted by the cross-device reservation work. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit cdad05216c2b2edfe92a9f87d6ae51aab277f3b2 Author: Thomas Hellstrom Date: Tue Nov 6 11:31:50 2012 +0000 drm/ttm, drm/vmwgfx: Use RCU locking for object lookups v3 The mostly used lookup+get put+potential_destroy path of TTM objects is converted to use RCU locks. This will substantially decrease the amount of locked bus cycles during normal operation. Since we use kfree_rcu to free the objects, no rcu synchronization is needed at module unload time. v2: Don't touch include/linux/kref.h v3: Adapt to kref_get_unless_zero return value change Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit d7144556195ab04a148e722a93103da5438bdf78 Author: Thomas Hellstrom Date: Tue Nov 6 11:31:48 2012 +0000 drm: Make hashtab rcu-safe TTM base objects will be the first consumer. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit dedfdffd448aea2543b59fd504b92b8212ab3b7d Author: Maarten Lankhorst Date: Fri Oct 12 15:04:00 2012 +0000 drm/ttm: remove sync_arg from driver functions Signed-off-by: Maarten Lankhorst Reviewed-By: Thomas Hellstrom Signed-off-by: Dave Airlie commit b03640b1de2eb349c2453d060d0bd0b0486e29b8 Author: Maarten Lankhorst Date: Fri Oct 12 15:03:11 2012 +0000 drm/ttm: remove sync_obj_arg from ttm_bo_move_accel_cleanup Signed-off-by: Maarten Lankhorst Reviewed-By: Thomas Hellstrom Signed-off-by: Dave Airlie commit 5fb4ef0e36b4c6ecc7fb025aaacb3b63b1114e87 Author: Maarten Lankhorst Date: Fri Oct 12 15:02:19 2012 +0000 drm/ttm: remove sync_obj_arg member vmwgfx was its only user and always sets it to the same.. Signed-off-by: Maarten Lankhorst Reviewed-By: Thomas Hellstrom Signed-off-by: Dave Airlie commit be013367fd6fbab52ddf6f76c243f4109090c890 Author: Maarten Lankhorst Date: Fri Oct 12 15:01:43 2012 +0000 drm/vmwgfx: remove use of fence_obj_args It's always hardcoded to the same value. Signed-off-by: Maarten Lankhorst Reviewed-By: Thomas Hellstrom Signed-off-by: Dave Airlie commit 0355cf3a0f49e26f4b84d9da7189b2324cf1df6d Author: Egbert Eich Date: Sat Oct 13 11:36:14 2012 +0000 DRM/KMS: Add Bail-Out Conditions for Loop. When trying to obtain an accurate timestamp for the last vsync interrupt in vblank_disable_and_save() we loop until the vsync counter after reading the time stamp is identical to the one before. In the case where no hardware timestamp can be obtained there is probably no point in trying to make sure we remain within the same vsync during the time we obtain the counter. Furthermore we should make sure there's an 'emergency exit' so that we don't end up in an endless loop when the driver get_vblank_timestamp() function doesn't manage to return within the same vsync. This may happen when this function prints out debugging information over a slow (ie serial) line. Signed-off-by: Egbert Eich Signed-off-by: Dave Airlie commit a4f968d8e50cb7810e08ebb9bf4c8f2b769fdac7 Author: Daniel Vetter Date: Wed Oct 24 13:35:50 2012 +0000 drm: don't unnecessarily enable the polling work ... by properly checking connector->polled. This doesn't matter too much because the polling work itself gets this slightly more right and doesn't set repoll if there's nothing to do. But we can do better. v2: Chris Wilson noticed that I broke polling, since repoll will never ever be set true. Fix this up, and simplify the logic a bit while at it. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 83ef7777aa5ffbf08a71e14f0a127de315293113 Author: Tommi Rantala Date: Fri Nov 9 09:19:40 2012 +0000 drm/nouveau: free memory allocated with alloc_apertures() Fix a memory leak by deallocating the memory we got from alloc_apertures(). Signed-off-by: Tommi Rantala Signed-off-by: Dave Airlie commit 302381511f4b1bc98c6f61ccaec5d8e98ccd0365 Author: Tommi Rantala Date: Fri Nov 9 09:19:39 2012 +0000 drm/radeon: check alloc_apertures() success in radeon_kick_out_firmware_fb() Check for alloc_apertures() memory allocation failure, and propagate an error code in case the allocation failed. Signed-off-by: Tommi Rantala Signed-off-by: Dave Airlie commit b0e77f45a6da3f361d69680baeb0e133d0bc46c0 Author: Tommi Rantala Date: Fri Nov 9 09:19:38 2012 +0000 drm/mgag200: remove unneeded aper->count assignment after alloc_apertures() alloc_apertures() already does the assignment for us, so assigning the count member after the alloc_apertures() call is not needed. Signed-off-by: Tommi Rantala Signed-off-by: Dave Airlie commit 602286469cebc9dcd6391eb33199736b15b82483 Author: Tommi Rantala Date: Fri Nov 9 09:19:37 2012 +0000 drm/mgag200: free memory allocated with alloc_apertures() Fix a memory leak by deallocating the memory we got from alloc_apertures(). Signed-off-by: Tommi Rantala Signed-off-by: Dave Airlie commit 0a7fdc59fba559dfbce14963b32102125c49cb10 Author: Tommi Rantala Date: Fri Nov 9 09:19:36 2012 +0000 drm/mgag200: check alloc_apertures() success in mga_vram_init() Check for alloc_apertures() memory allocation failure, and propagate an error code in case the allocation failed. Signed-off-by: Tommi Rantala Signed-off-by: Dave Airlie commit bfb82ff0ee1dd0d1eed45ee25aa601f4ea5c54ac Author: Tommi Rantala Date: Fri Nov 9 09:19:35 2012 +0000 drm/cirrus: check alloc_apertures() success in cirrus_kick_out_firmware_fb() Check for alloc_apertures() memory allocation failure, and propagate an error code in case the allocation failed. Signed-off-by: Tommi Rantala Signed-off-by: Dave Airlie commit 91926741ecd28dc246875a39a908c2f6aadb2542 Author: Marcin Slusarz Date: Tue Nov 6 21:49:54 2012 +0000 drm/ttm: remove ttm_mem_global->queue It's unused. Signed-off-by: Marcin Slusarz Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 830e2837f5f6811b77cf3aa72e63343a8e6e9ef6 Author: Marcin Slusarz Date: Tue Nov 6 21:49:53 2012 +0000 drm/ttm: remove ttm_bo_device->nice_mode It's unused. Signed-off-by: Marcin Slusarz Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 0b91c4a1cd7cc368763de2fe25b8ea64ea803c08 Author: Marcin Slusarz Date: Tue Nov 6 21:49:51 2012 +0000 drm/ttm: remove ttm_buffer_object->buffer_start All drivers set it to 0 and nothing uses it. Signed-off-by: Marcin Slusarz Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit ef8cf3a1c523afa499d15856e7db3844ad59d1fb Author: Akinobu Mita Date: Fri Nov 9 12:10:41 2012 +0000 drm/radeon: Use hweight32 Use hweight32 instead of counting for each bit Signed-off-by: Akinobu Mita Cc: David Airlie Cc: dri-devel@lists.freedesktop.org Signed-off-by: Dave Airlie commit 6311803b1294432ee680fec5e628efae0d485fa2 Author: Akinobu Mita Date: Fri Nov 9 12:10:42 2012 +0000 drm: use memchr_inv() Use memchr_inv() to check the specified memory region is filled with zero. Signed-off-by: Akinobu Mita Cc: David Airlie Cc: dri-devel@lists.freedesktop.org Signed-off-by: Dave Airlie commit c61eef726a78ae77b6ce223d01ea2130f465fe5c Author: Imre Deak Date: Tue Oct 23 18:53:26 2012 +0000 drm: add support for monotonic vblank timestamps Jumps in the vblank and page flip event timestamps cause trouble for clients, so we should avoid them. The timestamp we get currently with gettimeofday can jump, so use instead monotonic timestamps. For backward compatibility use a module flag to revert back to using gettimeofday timestamps. Add also a DRM_CAP_TIMESTAMP_MONOTONIC flag that is simply a read only version of the module flag, so that clients can query this without depending on sysfs. Signed-off-by: Imre Deak Signed-off-by: Dave Airlie commit e62f2f5acba1d466da047983ae16f6b96b68b310 Author: Imre Deak Date: Tue Oct 23 18:53:25 2012 +0000 drm: use monotonic time in drm_calc_vbltimestamp_from_scanoutpos For measuring duration we want to avoid that our start/end timestamps jump, so use monotonic instead of real time for that. Signed-off-by: Imre Deak Reviewed-by: mario.kleiner Signed-off-by: Dave Airlie commit 11e686855c81c2e5e647b3dcfabd2a4e473c46f0 Author: Daniel Vetter Date: Tue Oct 23 18:23:38 2012 +0000 drm: don't poll forced connectors Otherwise if the detect callback reports a different state than what the user forced (rather likely), we continously annoy userspace about a hotplug uevent. Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 905bc9ff6575f78aab24c0261e8785425b5a0397 Author: Daniel Vetter Date: Tue Oct 23 18:23:36 2012 +0000 drm: don't start the poll engine in probe_single_connector Actually there's a reason this stuff is there, and it's called commit e58f637bb96d5a0ae0919b9998b891d1ba7e47c9 Author: Chris Wilson Date: Fri Aug 20 09:13:36 2010 +0100 drm/kms: Add a module parameter to disable polling The idea has been that users can enable/disable polling at runtime. So the quick hack has been to just re-enable the output polling if xrandr asks for the latest state of the connectors. The problem with that hack is that when we force connectors to another state than what would be detected, we nicely ping-pong: - Userspace calls probe, gets the forced state, but polling starts again. - Polling notices that the state is actually different, wakes up userspace. - Repeat. As that commit already explains, the right fix would be to make the locking more fine-grained, so that hotplug detection on one output does not interfere with cursor updates on another crtc. But that is way too much work. So let's just safe this gross hack by caching the last-seen state of drm_kms_helper_poll for that driver, and only fire up the poll engine again if it changed from off to on. v2: Fixup the edge detection of drm_kms_helper_poll. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49907 Tested-by: Tvrtko Ursulin Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 5e2cb2f6da72323877e5847512f8bd8d53c532f2 Author: Daniel Vetter Date: Tue Oct 23 18:23:35 2012 +0000 drm: properly init/reset connector status This can help drivers to make somewhat intelligent decisions in their ->detect callback: If the connector is hpd capable and in the unknown state, the driver needs to force a full detect cycle. Otherwise it could just (if it chooses so) to update the connector state from it's hpd handler directly, and always return that in the ->detect callback. Atm only drm/i915 calls drm_mode_config_reset at resume time, so other drivers would need to add that call first before using this facility. Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 69787f7da6b2adc4054357a661aaa1701a9ca76f Author: Daniel Vetter Date: Tue Oct 23 18:23:34 2012 +0000 drm: run the hpd irq event code directly All drivers already have a work item to run the hpd code, so we don't need to launch a new one in the helper code. Dave Airlie mentioned that the cancel+re-queue might paper over DP related hpd ping-pongs, hence why this is split out. Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 816da85a0990c2b52cfffa77637d1c770d6790e9 Author: Daniel Vetter Date: Tue Oct 23 18:23:33 2012 +0000 drm: handle HPD and polled connectors separately Instead of reusing the polling code for hpd handling, split them up. This has a few consequences: - Don't touch HPD capable connectors in the poll loop. - Only touch HPD capable connectors in drm_helper_hpd_irq_event. - We could run the HPD handling directly (because all callers already use their own work item), but for easier bisect that happens in it's own patch. The ultimate goal is that drivers grow some smarts about which connectors have received a hotplug event and only call the detect code of that connector. But that's a second step. v2: s/hdp/hpd/, noticed by Adam Jackson. I can't type. v3: Split out the work item removal as requested by Dave Airlie. This results in a temporary mode_config.hpd_irq_work item to keep things the same. v4: In the hpd_irq_event handler don't bail out if other bits than HPD are set. This is useful where e.g. hpd is unreliably, but mostly works. Drivers can then set both HPD and POLL flags, and users get the best of both worlds: Quick hotplug feedback if the hpd works, but still reliable detection with the polling. The poll loop already works the same, and doesn't bail if HPD is set. Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 3d3683f04a32da16df71e3b089da8f5a13059ef4 Author: Daniel Vetter Date: Tue Oct 23 18:23:32 2012 +0000 drm: extract drm_kms_helper_hotplug_event Useful if drivers want to be slightly more clever about hotplug handling. Signed-off-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit c6eefa1750ec0308956895027c3a79eee2ef9726 Author: Rob Clark Date: Tue Oct 16 22:48:40 2012 +0000 drm: add drm_send_vblank_event() helper (v5) A helper that drivers can use to send vblank event after a pageflip. If the driver doesn't support proper vblank irq based time/seqn then just pass -1 for the pipe # to get do_gettimestamp() behavior (since there are a lot of drivers that don't use drm_vblank_count_and_time()) Also an internal send_vblank_event() helper for the various other code paths within drm_irq that also need to send vblank events. v1: original v2: add back 'vblwait->reply.sequence = seq' which should not have been deleted v3: add WARN_ON() in case lock is not held and comments v4: use WARN_ON_SMP() instead to fix issue with !SMP && !DEBUG_SPINLOCK as pointed out by Marcin Slusarz v5: update docbook Signed-off-by: Rob Clark Signed-off-by: Dave Airlie commit edec4af4c3d6d225578290a9acc38c78147df55b Author: Thierry Reding Date: Thu Nov 15 21:28:23 2012 +0000 drm: tegra: Add HDMI support This commit adds support for the HDMI output on the Tegra20 SoC. Only one such output is available, but it can be driven by either of the two display controllers. A lot of work on this patch has been contributed by NVIDIA's Mark Zhang and many other people at NVIDIA were very helpful in getting the HDMI support and surrounding infrastructure to work. Signed-off-by: Thierry Reding Tested-by: Stephen Warren Acked-by: Mark Zhang Reviewed-by: Mark Zhang Tested-by: Mark Zhang Tested-and-acked-by: Alexandre Courbot Acked-by: Terje Bergstrom Tested-by: Terje Bergstrom Signed-off-by: Dave Airlie commit d8f4a9eda006788d8054b8500d9eb5b6efcd8755 Author: Thierry Reding Date: Thu Nov 15 21:28:22 2012 +0000 drm: Add NVIDIA Tegra20 support This commit adds a KMS driver for the Tegra20 SoC. This includes basic support for host1x and the two display controllers found on the Tegra20 SoC. Each display controller can drive a separate RGB/LVDS output. Signed-off-by: Thierry Reding Tested-by: Stephen Warren Acked-by: Mark Zhang Reviewed-by: Mark Zhang Tested-by: Mark Zhang Tested-and-acked-by: Alexandre Courbot Acked-by: Terje Bergstrom Tested-by: Terje Bergstrom Signed-off-by: Dave Airlie commit b27b6d328a96da3892f3de21d1b37364b380f966 Author: Sachin Kamat Date: Mon Nov 19 05:27:43 2012 +0000 drm/udl: Add missing static storage class specifiers in udl_connector.c Fixes the following sparse warnings: drivers/gpu/drm/udl/udl_connector.c:80:20: warning: symbol 'udl_best_single_encoder' was not declared. Should it be static? drivers/gpu/drm/udl/udl_connector.c:93:5: warning: symbol 'udl_connector_set_property' was not declared. Should it be static? drivers/gpu/drm/udl/udl_connector.c:106:35: warning: symbol 'udl_connector_helper_funcs' was not declared. Should it be static? drivers/gpu/drm/udl/udl_connector.c:112:28: warning: symbol 'udl_connector_funcs' was not declared. Should it be static? Signed-off-by: Sachin Kamat Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 66141d3d86f38701d657ef9ba973233bce53da79 Author: Sachin Kamat Date: Mon Nov 19 09:44:59 2012 +0000 drm/drm_stub: Remove unnecessary null check before kfree. kfree on a null argument is a no-op. Silences the following smatch warning: drivers/gpu/drm/drm_stub.c:496 drm_put_dev() info: redundant null check on dev->devname calling kfree() Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 8c5eaca012f963fa9724665f8a0eca19e3cb7d2a Author: Sachin Kamat Date: Mon Nov 19 09:44:58 2012 +0000 drm/fb_helper: Fix potential NULL pointer dereference kcalloc returns NULL on failure. Hence check for the return value and exit on error to avoid NULL pointer dereference. Fixes the following smatch errors: drivers/gpu/drm/drm_fb_helper.c:1271 drm_setup_crtcs() error: potential null dereference 'modes'. (kcalloc returns null) drivers/gpu/drm/drm_fb_helper.c:1272 drm_setup_crtcs() error: potential null dereference 'crtcs'. (kcalloc returns null) Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit e655d122a71332d0d26b5c0909eb395da31af0c0 Author: Sachin Kamat Date: Mon Nov 19 09:44:57 2012 +0000 drm/crtc: Fix potential NULL pointer dereference drm_property_create_blob() could return NULL in which case NULL pointer dereference error (on connector->edid_blob_ptr) is possible. Return if connector->edid_blob_ptr is NULL. Fixes the following smatch error: drivers/gpu/drm/drm_crtc.c:3186 drm_mode_connector_update_edid_property() error: potential null dereference 'connector->edid_blob_ptr'. (drm_property_create_blob returns null) Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 9e1c156ff04b1920c33b59c5b8564afc8bf4f2cd Author: Sachin Kamat Date: Mon Nov 19 09:44:56 2012 +0000 drm/crtc: Remove redundant NULL check before kfree kfree() on a NULL input is a no-op. Hence remove the check. Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit e3cc3520dc2f554b9686b8fc5773d8b8bc8e9c9a Author: Ville Syrjälä Date: Thu Nov 8 09:09:42 2012 +0000 drm: Reject addfb2 with undefined flag bits set Signed-off-by: Ville Syrjälä Signed-off-by: Dave Airlie commit 4c9287c6009b37754c42e0ba73a4cc79de92d8f8 Author: Alex Deucher Date: Fri Nov 9 17:26:32 2012 +0000 drm: fix documentation for drm_crtc_set_mode() x and y parameters are offsets, not width/height Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie commit a4799037c3234830e9feb1823d87f905fb4d080a Author: Stephane Marchesin Date: Fri Nov 9 16:21:05 2012 +0000 drm: get cea video id code for a given display mode This patch adds support for getting CEA Video ID Code for a given display mode after matching with edid_cea_modes list. Its index in the list added with one, gives the desired code. This exported function will be used by hdmi drivers for composing AVI info frame data. Signed-off-by: Stephane Marchesin Signed-off-by: Rahul Sharma Signed-off-by: Dave Airlie commit 96081cdfae35c1e332be42d89dee278c72d8915d Author: Sachin Kamat Date: Thu Nov 15 03:43:30 2012 +0000 drm/drm_fb_helper: Remove unnecessary braces Remove unnecessary braces to silence the following type of checkpatch warnings: WARNING: braces {} are not necessary for single statement blocks WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit d56b1b9d48fe266685eb6025c979150e86bb2c6d Author: Sachin Kamat Date: Thu Nov 15 03:43:29 2012 +0000 drm/fb_helper: Convert printk to pr_* and dev_* Converted printks to pr_* and dev_* to silence checkpatch warnings. Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 6c91083f8e8867a39c70a6448b014478d2acfc48 Author: Sachin Kamat Date: Thu Nov 15 03:43:28 2012 +0000 drm/fb_helper: Fix checkpatch errors Fixes the following checkpatch errors: ERROR: trailing statements should be on next line 98: FILE: gpu/drm/drm_fb_helper.c:98: case DRM_FORCE_OFF: s = "OFF"; break; ERROR: trailing statements should be on next line 99: FILE: gpu/drm/drm_fb_helper.c:99: case DRM_FORCE_ON_DIGITAL: s = "ON - dig"; break; ERROR: trailing statements should be on next line 101: FILE: gpu/drm/drm_fb_helper.c:101: case DRM_FORCE_ON: s = "ON"; break; Signed-off-by: Sachin Kamat Signed-off-by: Dave Airlie commit 08bec5b4edd13a7cb0bc2fb27c529d794ae67054 Author: David Herrmann Date: Thu Nov 15 13:04:37 2012 +0000 drm: fix returning -EINVAL on setmaster if another master is active We link every DRM "file_priv" to a "drm_master" structure. Currently, the drmSetMaster() call returns 0 when there is _any_ active master associated with the "drm_master" structure of the calling "file_priv". This means, that after drmSetMaster() we are not guaranteed to be DRM-Master and might not be able to perform mode-setting. A way to reproduce this is by starting weston with the DRM backend from within an X-console (eg., xterm). Because the xserver's "drm_master" is currently active, weston is assigned to the same master but is inactive because its VT is inactive and the xserver is still active. But when "fake-activating" weston, it calls drmSetMaster(). With current behavior this returns "0/success" and weston thinks that it is DRM-Master, even though it is not (as the xserver is still DRM-Master). Expected behavior would be drmSetMaster() to return -EINVAL, because the xserver is still DRM-Master. This patch changes exactly that. The only way this bogus behavior would be useful is for clients to check whether their associated "drm_master" is currently the active DRM-Master. But this logic fails if no DRM-Master is currently active at all. Because then the client itself would become DRM-Master (if it is root) and this makes this whole thing useles. Also note that the second "if-condition": file_priv->minor->master != file_priv->master is always true and can be skipped. Signed-off-by: David Herrmann Signed-off-by: Dave Airlie commit 9fabd4eedeb904173d05cb1ced3c3e6b9d2e8137 Merge: 6380813 6b8294a Author: Dave Airlie Date: Tue Nov 20 09:22:35 2012 +1000 Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next Daniel writes: Highlights of this -next round: - ivb fdi B/C fixes - hsw sprite/plane offset fixes from Damien - unified dp/hdmi encoder for hsw, finally external dp support on hsw (Paulo) - kill-agp and some other prep work in the gtt code from Ben - some fb handling fixes from Ville - massive pile of patches to align hsw VGA with the spec and make it actually work (Paulo) - pile of workarounds from Jesse, mostly for vlv, but also some other related platforms - start of a dev_priv reorg, that thing grew out of bounds and chaotic - small bits&pieces all over the place, down to better error handling for load-detect on gen2 (Chris, Jani, Mika, Zhenyu, ...) On top of the previous pile (just copypasta): - tons of hsw dp prep patches form Paulo - round scheduled work items and timers to nearest second (Chris) - some hw workarounds (Jesse&Damien) - vlv dp support and related fixups (Vijay et al.) - basic haswell dp support, not yet wired up for external ports (Paulo) - edp support (Paulo) - tons of refactorings to prepare for the above (Paulo) - panel rework, unifiying code between lvds and edp panels (Jani) - panel fitter scaling modes (Jani + Yuly Novikov) - panel power improvements, should now work without the BIOS setting it up - extracting some dp helpers from radeon/i915 and move them to drm_dp_helper.c - randome pile of workarounds (Damien, Ben, ...) - some cleanups for the register restore code for suspend/resume - secure batchbuffer support, should enable tear-free blits on gen6+ Chris) - random smaller fixlets and cleanups. * 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (231 commits) drm/i915: Restore physical HWS_PGA after resume drm/i915: Report amount of usable graphics memory in MiB drm/i915/i2c: Track users of GMBUS force-bit drm/i915: Allocate the proper size for contexts. drm/i915: Update load-detect failure paths for modeset-rework drm/i915: Clear unused fields of mode for framebuffer creation drm/i915: Always calculate 8xx WM values based on a 32-bpp framebuffer drm/i915: Fix sparse warnings in from AGP kill code drm/i915: Missed lock change with rps lock drm/i915: Move the remaining gtt code drm/i915: flush system agent TLBs on SNB drm/i915: Kill off now unused gen6+ AGP code drm/i915: Calculate correct stolen size for GEN7+ drm/i915: Stop using AGP layer for GEN6+ drm/i915: drop the double-OP_STOREDW usage in blt_ring_flush drm/i915: don't rewrite the GTT on resume v4 drm/i915: protect RPS/RC6 related accesses (including PCU) with a new mutex drm/i915: put ring frequency and turbo setup into a work queue v5 drm/i915: don't block resume on fb console resume v2 drm/i915: extract l3_parity substruct from dev_priv ... commit 1ee3ff6110c16acfc915a79b1e3feb5013c41e75 Author: Jeff Cook Date: Fri Nov 9 16:39:48 2012 -0700 Bluetooth: Add support for BCM20702A0 [0b05, 17b5] Vendor-specific ID for BCM20702A0. Support for bluetooth over Asus Wi-Fi GO!, included with Asus P8Z77-V Deluxe. T: Bus=07 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0b05 ProdID=17b5 Rev=01.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 S: SerialNumber=94DBC98AC113 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Cc: stable@vger.kernel.org Signed-off-by: Jeff Cook Signed-off-by: Gustavo Padovan commit 62cd50e262182685c291bc86076e74ef6f7331b1 Author: Andrei Emeltchenko Date: Wed Nov 14 17:39:32 2012 +0200 Bluetooth: trivial: Use __constant for constants Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 12d6cc60f2d02d5754ca662b414f8f96200b14a6 Author: Andrei Emeltchenko Date: Wed Nov 14 17:39:31 2012 +0200 Bluetooth: Disable FCS only for new HS channels Set chan->fcs to L2CAP_FCS_NONE only for new L2CAP channels (not moved). Other side can still request to use FCS. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit a514b17fab51c1433db920d76cf8ddda959e5da0 Author: Andrei Emeltchenko Date: Wed Nov 14 17:39:30 2012 +0200 Bluetooth: Refactor locking in amp_physical_cfm Remove locking from l2cap_physical_cfm and lock chan inside amp_physical_cfm. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 522db70286fcce420e5fc1be107912fbd3806323 Author: Andrei Emeltchenko Date: Thu Nov 15 18:14:55 2012 +0200 Bluetooth: Remove unneeded local_amp_id initialization local_amp_id is already set in l2cap_connect() which is called several lines above. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 96eff46e9f5632efa0d2941f7e028701a5f1a0f6 Author: Andrei Emeltchenko Date: Thu Nov 15 18:14:53 2012 +0200 Bluetooth: Use __l2cap_no_conn_pending helper Use helper instead of test_bit. This is the only place left using test CONF_CONNECT_PEND flag. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit ac46ba4384d2c44c56702d0da591696045fba682 Author: Sujith Manoharan Date: Mon Nov 19 14:24:46 2012 +0530 ath9k: Fix BTCOEX debugfs file usage The debugfs file for dumping btcoex parameters unconditionally assumes a MCI-based device. This will not work for older btcoex chips. Fix this by branching out the routine into separate functions. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 49884568628db47a1f8c1f596c6ab3b8db81b73c Author: Eliad Peller Date: Mon Nov 19 17:05:09 2012 +0200 mac80211: make remain_on_channel() op pass vif param Drivers (e.g. wl12xx) might need to know the vif to roc on (mainly in order to configure the rx filters correctly). Add the vif to the op params, and update the current users (iwlwifi) to use the new api. Signed-off-by: Eliad Peller [fix hwsim] Signed-off-by: Johannes Berg commit 3475b0946bd2057497628790d4b4fce4bfdcc304 Author: Jouni Malinen Date: Fri Nov 16 22:49:57 2012 +0200 cfg80211: Add TDLS event to allow drivers to request operations The NL80211_CMD_TDLS_OPER command was previously used only for userspace request for the kernel code to perform TDLS operations. However, there are also cases where the driver may need to request operations from userspace, e.g., when using security on the AP path. Add a new cfg80211 function for generating a TDLS operation event for drivers to request a new link to be set up (NL80211_TDLS_SETUP) or an existing link to be torn down (NL80211_TDLS_TEARDOWN). Drivers can optionally use these events, e.g., based on noticing data traffic being sent to a peer station that is seen with good signal strength. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg commit 90b9e446fbb64630c72cab48c007d7081aec2533 Author: Johannes Berg Date: Fri Nov 16 10:09:08 2012 +0100 mac80211: support radiotap vendor namespace RX data In some cases, in particular for experimentation, it can be useful to be able to add vendor namespace data to received frames in addition to the normal radiotap data. Allow doing this through mac80211 by adding fields to the RX status descriptor that describe the data while the data itself is prepended to the frame. Also add some example code to hwsim, but don't enable it because it doesn't use a proper OUI identifier. Signed-off-by: Johannes Berg commit 5a306f5887d5fd840beb8ea872897fa89e8fcdef Author: Johannes Berg Date: Wed Nov 14 23:22:21 2012 +0100 mac80211: introduce IEEE80211_NUM_TIDS and use it Introduce IEEE80211_NUM_TIDS in the generic 802.11 header file and use it in place of STA_TID_NUM and NUM_RX_DATA_QUEUES which are both really the number of TIDs. Signed-off-by: Johannes Berg commit 0f92732344e88023807342fef4c566e0660c2fd9 Author: Johannes Berg Date: Wed Nov 14 23:15:11 2012 +0100 mac80211: use CMAC_PN_LEN Instead of hardcoding its value (6), use the constant. Signed-off-by: Johannes Berg commit e09b58f0c47c4a3f750785c851ae46c5fda2d5f5 Author: Sachin Kamat Date: Mon Nov 19 17:15:40 2012 +0530 iwlwifi: Remove duplicate inclusion of iwl-trans.h in pcie/drv.c iwl-trans.h was included twice. Signed-off-by: Sachin Kamat Signed-off-by: Johannes Berg commit c4bfc1c30ec439d96e2c861704b7e03620865923 Author: Emmanuel Grumbach Date: Sun Nov 18 13:16:58 2012 +0200 iwlwifi: update the RB_TIMEOUT to 0x11 This will allow to reduce slightly the number of interrupts without sacrificing too much the latency in the Rx path. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 223b9cb1a04c056f364cfb979a8957800b5cc9f1 Author: Emmanuel Grumbach Date: Sun Nov 18 13:16:14 2012 +0200 iwlwifi: make iwl_pcie_rxq_inc_wr_ptr static It is not used outside pcie/rx.c. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 49bd072d4ebab59217dadeb779a0a3dd2d0397ec Author: Emmanuel Grumbach Date: Sun Nov 18 13:14:51 2012 +0200 iwlwifi: more cleanup in pcie/rx.c Really trivial clean up. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6ca6ebc1606c6fa7e8931445e84f21f4843e3bab Author: Emmanuel Grumbach Date: Wed Nov 14 23:38:08 2012 +0200 iwlwifi: make iwl_queue_used return bool Also, prefer the if(!X) notation over if(X == 0). Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 686681b066fed089d14c9cee60d9d95680da6cdb Author: Johannes Berg Date: Thu Nov 15 11:35:57 2012 +0100 iwlwifi: disallow MFP with software crypto When software crypto is enabled, it isn't safe to enable MFP since the firmware interprets some management packets, and with MFP it would do so without proper validation. Reviewed-by: Emmanuel Grumbach Reviewed-by: Assaf Krauss Signed-off-by: Johannes Berg commit f6d497cdff2f4a8ee4387e2c01a1d107b5a25b02 Author: Emmanuel Grumbach Date: Wed Nov 14 23:32:57 2012 +0200 iwlwifi: merge 2 functions in reclaim flow One one just a wrapper of the second, squash them. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f02831be962c7be68c72110fa779e916ab1a8cdd Author: Emmanuel Grumbach Date: Wed Nov 14 14:44:18 2012 +0200 iwlwifi: continue clean up - pcie/tx.c Rename static functions. Function moved from trans.c to tx.c. A few could be made static, others had to be exported. Functions that implement the transport API are prefixed by iwl_trans_pcie_, the others by iwl_pcie_. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 7afe3705cd4e2a5490140cc15a15b3ea7a10b889 Author: Emmanuel Grumbach Date: Wed Nov 14 14:44:18 2012 +0200 iwlwifi: continue clean up - pcie/trans.c Functions that implement the transport API are prefixed by iwl_trans_pcie_, the others by iwl_pcie_. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 9805c4460ae37aa9328a470c7aebea32f0667e24 Author: Emmanuel Grumbach Date: Wed Nov 14 14:44:18 2012 +0200 iwlwifi: continue clean up - pcie/rx.c Rename static functions. Function moved from trans.c to rx.c. A few could be made static, others had to be exported. Also, don't use rxb or rxbuf, but rb which stands for receive buffer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit c61259858d685caf865e9819e3d3062a0865d93c Author: Emmanuel Grumbach Date: Wed Nov 14 14:28:50 2012 +0200 iwlwifi: init the replenish work in rx_init This is its natural place Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 990aa6d7b28d26bf22171410b49f191e8e9b09fc Author: Emmanuel Grumbach Date: Wed Nov 14 12:39:52 2012 +0200 iwlwifi: rename functions in transport layer 1) s/tx_queue/txq for the sake of consistency. 2) s/rx_queue/rxq for the sake of consistency. 3) Make all functions begin with iwl_pcie_ iwl_queue_init and iwl_queue_space are an exception since they are not PCIE specific although they are in pcie subdir. 4) s/trans_pcie_get_cmd_string/get_cmd_string it is much shorter and used in debug prints which are long lines. 5) s/iwl_bg_rx_replenish/iwl_pcie_rx_replenish_work this better emphasizes that it is a work 6) remove invalid kernelDOC markers pcie/tx.c and pcie/trans.c still needs to be cleaned up. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit b55e57f53f8740a2d1432e4963372d303b798530 Author: Emmanuel Grumbach Date: Wed Nov 14 12:32:50 2012 +0200 iwlwifi: add comments for the PCIe transport statuses Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f0dea9c73a16caac6b46886eb08f51dd82894ca4 Author: Arend van Spriel Date: Mon Nov 19 12:01:05 2012 +0100 mac80211: check add_chanctx callback before use in ieee80211_reconfig During testing our mac80211 driver a fatal error occurred which was signalled to mac80211. Upon performing the reconfiguration of the device a WARN_ON was triggered. This warning checked the return value of drv_add_chanctx(). However, this returns -EOPNOTSUPP when the driver does not provide the callback. As the callback is optional better check it is defined before calling drv_add_chanctx(). Signed-off-by: Arend van Spriel Signed-off-by: Johannes Berg commit 48fc7f7e787dd65ffe88521bce31f4062ba273eb Author: Adam Buchbinder Date: Wed Sep 19 21:48:00 2012 -0400 Fix misspellings of "whether" in comments. "Whether" is misspelled in various comments across the tree; this fixes them. No code changes. Signed-off-by: Adam Buchbinder Signed-off-by: Jiri Kosina commit 02582e9bcc36ed503ffede46e104a885dea222fb Author: Masanari Iida Date: Wed Aug 22 19:11:26 2012 +0900 treewide: fix typo of "suport" in various comments and Kconfig Signed-off-by: Masanari Iida Signed-off-by: Jiri Kosina commit d7558148084de03e5a87b5d2e602de048ac1a476 Author: Masanari Iida Date: Wed Aug 22 18:40:21 2012 +0900 treewide: fix typo of "suppport" in various comments Signed-off-by: Masanari Iida Signed-off-by: Jiri Kosina commit c1d5dc4ac15be45c7061e207f06ad8dfba0c2170 Author: Johan Hedberg Date: Thu Nov 8 01:23:01 2012 +0100 Bluetooth: Fix updating advertising state flags and data This patch adds a callback for the HCI_LE_Set_Advertise_Enable command. The callback is responsible for updating the HCI_LE_PERIPHERAL flag updating as well as updating the advertising data flags field to indicate undirected connectable advertising. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 3f0f524bafcd2025c12e215f13207c7be0a13bf9 Author: Johan Hedberg Date: Thu Nov 8 01:23:00 2012 +0100 Bluetooth: Add support for setting LE advertising data This patch adds support for setting basing LE advertising data. The three elements supported for now are the advertising flags, the TX power and the friendly name. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit bbaf444a89dd7dd7effd8ed2f4e4ec64da3cc1da Author: Johan Hedberg Date: Thu Nov 8 01:22:59 2012 +0100 Bluetooth: Use proper invalid value for tx_power The core specification defines 127 as the "not available" value (well, "reserved" for BR/EDR and "not available" for LE - but essentially the same). Therefore, instead of testing for 0 (which is in fact a valid value) we should be using this invalid value to test if the tx_power is available. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 67f4efdce7d85282fbd5832cddc80a07eb89b6d6 Merge: c53aa50 f4a75d2e Author: David S. Miller Date: Sat Nov 17 22:00:43 2012 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Minor line offset auto-merges. Signed-off-by: David S. Miller commit 1e619a1bf9ac878e6a984e4e279ccf712a65bc23 Merge: 68a8129 f4a75d2e Author: Greg Kroah-Hartman Date: Fri Nov 16 18:26:00 2012 -0800 Merge 3.7-rc6 into tty-next commit 57527f8d4d71b5167a02fb6713857f55d3974748 Author: Sujith Manoharan Date: Tue Nov 13 11:33:53 2012 +0530 ath9k_hw: Program filter coefficients correctly 2484 Mhz (Japan) usage requires filter coefficients to be programmed in the CCK TX FIR registers. This is required for AR9331, AR9485 and AR9462. Fix this and also remove a few useless macros and a duplicate variable. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f3684343060636491d337e716f08834523cef722 Author: Johannes Berg Date: Fri Nov 16 00:06:20 2012 +0100 lib80211: hide Kconfig symbol There's no need to ask the user about lib80211 since it will be selected by drivers requiring it, hide it from Kconfig. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 85240818e453e676642bb728a355d0c920229193 Author: Johannes Berg Date: Fri Nov 16 00:05:20 2012 +0100 mwifiex: don't select lib80211 The driver doesn't use any lib80211 symbols so it shouldn't select it in Kconfig. Signed-off-by: Johannes Berg Acked-by: Bing Zhao Signed-off-by: John W. Linville commit ccd953694bf9ce4639fa4d8bdb8a2a297315816f Author: Wei Yongjun Date: Thu Nov 15 21:24:57 2012 +0800 rtlwifi: use eth_zero_addr() to assign zero address Using eth_zero_addr() to assign zero address insetad of memset() or an inefficient copy from a static array. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 9c033bed936629155129a2b3e7493838fe76b8b5 Author: Stanislav Yakovlev Date: Thu Nov 15 03:07:47 2012 +0000 net/wireless: ipw2x00: remove unreachable code Remove unnecessary if statements because libipw_set_geo always returns success. Also change function's return value from int to void. Signed-off-by: Stanislav Yakovlev Signed-off-by: John W. Linville commit b87e2c482510d56563873827783046a8eece5829 Author: Hante Meuleman Date: Wed Nov 14 18:46:23 2012 -0800 brcmfmac: code cleanup Removing obsolete functions and prototypes. Moving (and renaming) defines to place with similar definitions. Removing unnecessary includes. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5a7a59d254b27ab90ba49dbae51cadc4775b3150 Author: Hante Meuleman Date: Wed Nov 14 18:46:22 2012 -0800 brcmfmac: limit hex dump on fwil. When debug is turned on for fwil then the whole data buffer is dumped. In some cases this gives excessive amount of debug. With this patch the dumps are limited to 64 bytes. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 756a67005295495862b8584667dbdcda247d0f78 Author: Hante Meuleman Date: Wed Nov 14 18:46:21 2012 -0800 brcmfmac: sdio module load fix. On sdio module unload followed by load (without removing the device) the access window should be moved back to enumeration space. Force this by removing initialisation of sbwad during probe. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5b3c183272ad261c4d8cef5b5277fd18514f6c27 Author: Hante Meuleman Date: Wed Nov 14 18:46:20 2012 -0800 brcmfmac: avoid usage of func->card->dev in sdio probe. brcmf_ops_sdio_probe used the private_date func->card->dev to store device data of brcmfmac sdio. This is not a good place to store the data. Use dev of func and use func->card->sdio_func to group the functions the driver is using. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2def5c10d2f8f81c8089b2c1b63fdc278e7d86f0 Author: Hante Meuleman Date: Wed Nov 14 18:46:19 2012 -0800 brcmfmac: sdio unload fix. on sdio remove the bus_if should be configured for close, so new data from higher layers will be blocked. Also the access to bus_if in the watchdog should be checked for null pointer access on sdio remove. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 37ac5780e08e4e3ce67e8355e52d71324e9c11cd Author: Hante Meuleman Date: Wed Nov 14 18:46:18 2012 -0800 brcmfmac: Handle mmc exceptions during init correct. when brcmf_sdbrcm_probe_attach results in error then cleanup will result in null pointer access. In brcmf_sdbrcm_release and in brcmf_ops_sdio_remove. This patch fixes order of init and de-init. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1799ddf18597da5aa1319b089736aafd05481774 Author: Hante Meuleman Date: Wed Nov 14 18:46:17 2012 -0800 brcmfmac: Any error should result in failure of probe. In brcmf_sdbrcm_probe only error ELINK is seen as error. However brcmf_bus_start can return many more error codes and all should result in failed init of driver. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3e0a97e1507c482d2299a6ff24e597c1316ba60a Author: Arend van Spriel Date: Wed Nov 14 18:46:16 2012 -0800 brcmfmac: restructure handling of IF event The IF event need special care. It can be either an ADD, DEL, or CHANGE. For an ADD we need to call brcmf_add_if() before the event handler call. Upon a DEL we need to call brcmf_del_if() after the event handler call. CHANGE does not require special attention. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b522dd8071947be7f62e75d7de5b6b3de0d882f5 Author: Arend van Spriel Date: Wed Nov 14 18:46:15 2012 -0800 brcmfmac: ignore IF event if it is a add for ifidx 0 Firmware fires IF event to add the primary interface but that is already created in the driver. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit b6f06f6e31b575bb7d5bc3452264ffa60b7e26f0 Author: Arend van Spriel Date: Wed Nov 14 18:46:14 2012 -0800 brcmfmac: fix wrong usage of unaligned include file Replaced by to make it work on ARM and other architectures. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit df19e777e0587004bb926c73c7188e0d63f19372 Author: Hante Meuleman Date: Wed Nov 14 18:46:13 2012 -0800 brcmfmac: fix NULL pointer access in brcmf_fweh_detach() brcmf_fweh_detach can be called while ifp is already NULL, due to init error. Fix NULL pointer access by checking ifp. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 0b63cb71f1e6b74a6f68a9c7b10d823fd9914d0a Author: Arend van Spriel Date: Wed Nov 14 18:46:12 2012 -0800 brcmfmac: remove mac address validation from brcmf_net_attach() The mac_addr field in ifp object is always valid so no need to validate. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 9bcb74f919db1965fa74393d4b545e7b489e91fb Author: Arend van Spriel Date: Wed Nov 14 18:46:11 2012 -0800 brcmfmac: change mac address parameter in brcmf_add_if() The function brcmf_add_if() is called with mac address set to NULL for the primary interface. When handling IF ADD events the firmware provides a address mask in the event to derive its mac address from the primary mac address. Rename the parameter and use it as a mask. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 607d5c0ef6c4d3a2e7a61ba1b62baa0712366bc0 Author: Arend van Spriel Date: Wed Nov 14 18:46:10 2012 -0800 brcmfmac: correct handling IF firmware event Testing revealed the IF ADD event contains the interface index of the new interface. This would result in a NULL pointer access when handling the event. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit bdf5ff516b453137cecb71e60ff860ec0a704509 Author: Arend van Spriel Date: Wed Nov 14 18:46:09 2012 -0800 brcmfmac: fix for multiple netdevice interface support virtual netdevice interface like P2P client and GO need different callbacks for .open and .down. This patch adds those. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 699b5e5b0ba19b41ddd31ea5dc87d3c5e512342c Author: Arend van Spriel Date: Wed Nov 14 18:46:08 2012 -0800 brcmfmac: change parameter in brcmf_add_if() function The brcmf_add_if() function had a struct device as parameter to accomodate the bus specific code to use this function. The driver has been reworked so the bus specific code does not need this function. Better replace the parameter with a more specific driver object, ie. struct brcmf_pub. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 7c38e6982582541aa591f227917862f06b8abf23 Author: Hante Meuleman Date: Wed Nov 14 18:46:07 2012 -0800 brcmfmac: usb suspend/resume. Add support for usb suspend/resume. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 83bc9c313d2d8af7900ec6f78a7a1f1b1f232af6 Author: Hante Meuleman Date: Wed Nov 14 18:46:06 2012 -0800 brcmfmac: cleanup of usb firmware download routines Clean code related to firmware download routines. Remove obsolete delay and increase delay after reset command. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 5c36b99add5c3212b6cdb97cc206e1e3e0fa1e3c Author: Arend van Spriel Date: Wed Nov 14 18:46:05 2012 -0800 brcmfmac: rework firmware event handling code Handling of firmware event has been reworked into a seperate code file. The change is needed as firmware event can be received in interrupt context. Decoupling of the event handling has been lowered to allow event processing to sleep. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 957708f1a2d3fd41021ea0282e1cd856d23df9ca Author: Dan Carpenter Date: Wed Nov 14 11:23:07 2012 +0300 ath5k: precedence error in ath5k_hw_nic_wakeup() '|' has higher precedence than ?:. Since AR5K_PHY_TURBO_MODE is 0x1 and "AR5K_PHY_TURBO_MODE | (ah->ah_radio == AR5K_RF2425)" is true then we always set turbo to zero. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit c32f5bbb00cf268f76e977d8cf9c75fa3a89c038 Author: Syam Sidhardhan Date: Tue Nov 13 21:09:50 2012 +0530 ath5k: Use module_platform_driver macro for ahb.c Simplify the code by make use of module_platform_driver macro. Signed-off-by: Syam Sidhardhan Signed-off-by: John W. Linville commit b126b02796eaac8534b699571bd4209e05b64146 Author: Sujith Manoharan Date: Mon Nov 12 10:56:44 2012 +0530 ath9k: Remove unused workaround The workaround for ASPM/L0s is needed only for AR9485 1.0, which was never sold and is not supported by ath9k. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 413c0303cfbf269cdc7a90653ec15f3cb73cd080 Author: Sujith Manoharan Date: Mon Nov 12 10:56:43 2012 +0530 ath9k_hw: Update AR9485 initvals Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0b6eb3662210cd06127980d2d5a06d6e129f373e Author: Rajkumar Manoharan Date: Fri Nov 9 14:51:30 2012 +0530 ath9k_hw: Fix wrong peak detector DC offset An issue is reported in AR9462 & AR9565 that NF_cal_not_done is not observed when HW peak detector calibration is disabled. At that state, the HW is stuck at NF calibration which prevents tx output. The root cause is wrong peak detector offset calibrated by HW. To resolve this issue, peak detector calibration is done manually by SW for AR9462 and AR9565. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f95275c48b60fc486517f05da0800357dfd3ce2f Author: Yogesh Ashok Powar Date: Thu Nov 8 19:10:44 2012 +0530 mwl8k: Send BASTREAM firmware commands per vif The firmware supports 8 macid's corresponding to 8 BSS that can be created in an MBSS environment. Currently, BASTREAM commands were always sent with macid 0. This macid is used to configure the hardware ampdu registers with appropriate BSS address in an MBSS environment. This mac address is used by the hardware for various ampdu related requirements e.g. source address in BAR generation, BA interpretation e.t.c. Using invalid macid results in this mac address not getting appropriately configured in the hardware which results in issues during ampdu traffic. Fix this by sending the BASTREAM commands with appropriate macid. Signed-off-by: Nishant Sarmukadam Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit a6952287942a13831502838d47e268d05c21c48f Author: Zefir Kurtisi Date: Wed Oct 31 12:23:01 2012 +0100 ath9k: [DFS] add pulse width tolerance for ETSI Add 5% width tolerance for radar patterns defined by ETSI. Signed-off-by: Zefir Kurtisi Signed-off-by: John W. Linville commit 1e5023c7cc11158f74a637aa92897da954572a25 Merge: dfbebe1 ff7e686 Author: John W. Linville Date: Fri Nov 16 14:08:14 2012 -0500 Merge branch 'for-linville' of git://github.com/kvalo/ath6kl commit dfbebe14428803402293d9a8bf1efef7221d8b78 Merge: 0f62248 d18aa87 Author: John W. Linville Date: Fri Nov 16 14:07:54 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next Conflicts: drivers/net/wireless/iwlwifi/pcie/trans.c commit 0f62248501cbf5047486601d7e39d5ee36d478c2 Merge: b8d9e57 6352c87 Author: John W. Linville Date: Fri Nov 16 13:59:51 2012 -0500 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit 6b8294a4d392c2c9f8867e8505511f3fc9419ba7 Author: Chris Wilson Date: Fri Nov 16 11:43:20 2012 +0000 drm/i915: Restore physical HWS_PGA after resume By always setting up the HWS register for both physical and virtual address variations during render ring we can reduce the number of different special cases that get set up at varying different times during module load. Fixes regression from commit c630119f43471a8ece356b01dabf07f944f453b3 Author: Daniel Vetter Date: Wed Oct 17 11:32:57 2012 +0200 drm/i915: don't save/restore HWS_PGA reg for kms Signed-off-by: Chris Wilson Cc: Daniel Vetter Signed-off-by: Daniel Vetter commit ff7e68670c49b6404acc4fce6ca90d6c89ef0efe Author: Kalle Valo Date: Thu Nov 15 16:34:56 2012 +0200 ath6kl: support NL80211_USER_REG_HINT_CELL_BASE events As ath6kl firmware can't do intersections the driver should only listen to regdom changes from cellular base stations, all other requests need to be refused. Signed-off-by: Kalle Valo commit 54d5f88f25c38e5500a17b16240cb3775af00876 Merge: 76cc438 77b6706 Author: Greg Kroah-Hartman Date: Wed Nov 14 12:30:12 2012 -0800 Merge v3.7-rc5 into tty-next This pulls in the 3.7-rc5 fixes into tty-next to make it easier to test. commit b8d9e572cb8794335fb4ba63ff962acaa3c4473b Author: Nishant Sarmukadam Date: Tue Nov 6 19:23:15 2012 +0530 mwl8k: Set packet timestamp to 0 when life time expiry is not used Set tx packet timestamp to 0 in following scenarios:- - All packets in STA mode - Mgmt packets in AP mode - Eapol packets in AP mode In STA mode, this field is unused in the firmware. In AP mode, we should not be expiring mgmt and eapol frames. Setting timestamp to 0 will ensure that. Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit e1f4d69b631468d915a9ed4a0a64dba77705492d Author: Nishant Sarmukadam Date: Tue Nov 6 19:23:01 2012 +0530 mwl8k: Do not expire eapol frames This can cause issues when clients try to connect when the traffic is heavy Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit ff7aa96f669d81b51339f7a0faf7ca37ed841ef1 Author: Nishant Sarmukadam Date: Tue Nov 6 19:22:48 2012 +0530 mwl8k: Unmap the pci DMA address in xmit error path We should unmap the DMA address in the error path, else it causes resource leaks. Fix this. Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit fd712f5f5e0723fbbd3720983b3fa2189b2e10f8 Author: Yogesh Ashok Powar Date: Tue Nov 6 19:22:35 2012 +0530 mwl8k: recheck if station still has valid rates We have 6.5 Mbps is minimum rate of the link as the criterion for creation of BA. Although we check this before creating the BA stream, by the time amdpu_action is called from the workqueue, the link can get affected in the meantime. Hence, add an additional check in amdpu_action. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 5d377fcaf48cc38882bb92c3b4a0cfcfb250087b Author: Yogesh Ashok Powar Date: Tue Nov 6 19:22:16 2012 +0530 mwl8k: defining interface combinations AP mode support upto 8 interfaces. Defining it using iface_combinations Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 601216e12c65e131453941962f2a8f6e49a2a379 Author: Bing Zhao Date: Mon Nov 5 16:59:15 2012 -0800 mwifiex: process RX packets in SDIO IRQ thread directly ksdioirqd has higher priority than kworker. Process RX packets in SDIO IRQ thread (ksdioirqd/mmcX) directly instead of deferring the work to kworker to avoid the extra latency. This improves TCP throughput 15~20% on an ARM platform with SDIO 2.0 controller. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 1993732e3bf9df032ea7582409be4f22d257a874 Author: Arend van Spriel Date: Mon Nov 5 16:22:32 2012 -0800 brcmfmac: use struct brcmf_if parameter in firmware event callbacks Firmware events are passed to wl_cfg80211 module associated with the primary net device. With virtual interface support events can be received for different interfaces, ie. struct brcmf_if instances. Pass it in the event to determine appropriate net device associated with the event. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit cb8b73da65af3d3b058f9bfc90e40217fa2226e8 Author: Hante Meuleman Date: Mon Nov 5 16:22:31 2012 -0800 brcmfmac: add dedicated USB log level. Add USB log level and update and add log messages in usb module. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 817b178c83e339f908b9f215ad884834e8710963 Author: Hante Meuleman Date: Mon Nov 5 16:22:30 2012 -0800 brcmfmac: on halting driver check before release or free. brcmf_netdev_stop shall first check bus_if status before bringing down cfg80211. brcmf_detach shall first check if driver is allocated. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 6034d0a19175a3b898dc9f3ee5740275620969a2 Author: Hante Meuleman Date: Mon Nov 5 16:22:29 2012 -0800 brcmfmac: check bus state to be data before sending data. brcmf_netdev_start_xmit and brcmf_fil_cmd_data are checking bus state for down. These functions should check for data state. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 256c374f7702c8c20413d2d7a14776dfad524a8d Author: Hante Meuleman Date: Mon Nov 5 16:22:28 2012 -0800 brcmfmac: return immediately error for out of range key_idx. when brcmf_cfg80211_del_key was called with out of range key index then firmware would return error. Checking was added to brcmf_cfg80211_del_key to immediately return error. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3f40b839712fc10b9f981e44a04fd65d3c1d638f Author: Arend van Spriel Date: Mon Nov 5 16:22:27 2012 -0800 brcmfmac: fix build regression This fixes a build regression for x86_64 target that showed up in 3.7-rc1 due to: commit 1a87334239757b69eb9885979c32bbf871b3ec88 Author: Hante Meuleman Date: Thu Sep 27 14:17:54 2012 +0200 brcmfmac: add hostap supoort. Reported-by: Yuanhan Liu Reported-by: Geert Uytterhoeven Reported-by: Randy Dunlap Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 105105891980e639a012bbc9fbce1fc8a63ec38d Author: Franky Lin Date: Mon Nov 5 16:22:26 2012 -0800 brcmfmac: change return type of brcmf_sdio_hdparser Use int instead of bool as the return type of function brcmf_sdio_hdparser to explicitly describe error returns. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit fd67dc834a62abeadee07d454093475fbcdc0897 Author: Franky Lin Date: Mon Nov 5 16:22:25 2012 -0800 brcmfmac: remove brcmf_sdbrcm_wait_for_event brcmf_sdbrcm_wait_for_event is now a one line function and only used by brcmf_sdbrcm_bus_txctl. Intergrate the function call wait_event_interruptible_timeout into brcmf_sdbrcm_bus_txctl. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 38b0b0ddee3270106d740e8df42a5b52beed502b Author: Franky Lin Date: Mon Nov 5 16:22:24 2012 -0800 brcmfmac: protect consecutive SDIO access with sdio_claim_host Semaphore sdsem is used to protect consecutive memory access through SDIO bus. Same functionality is provided by sdio_claim_host/ sdio_release_host interface as well. Replace sdsem with sdio_claim_host. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 7cdf57d34c017e5c4c48069ae46e7cb87979435a Author: Franky Lin Date: Mon Nov 5 16:22:23 2012 -0800 brcmfmac: decrease the range of SDIO access lock Semaphore sdsem which protects consecutive SDIO bus access is used to lock down unnecessary wide range. Decrease the locking range provides the capability of parallel processing. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit dd43a01c5cdb811adeb09e6a2d2788f8aa0d0969 Author: Franky Lin Date: Mon Nov 5 16:22:22 2012 -0800 brcmfmac: use dynamically allocated control frame buffer Rxbuf in SDIO interface is used in normal frame and control frame read. Use dynamically allocated buffer in control frame read path for post processing to avoid conflicts. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit bb451c8304604b4accdc5a86b7f731878175a83c Author: Arend van Spriel Date: Mon Nov 5 16:22:21 2012 -0800 brcmfmac: fix NULL pointer access in brcmf_create_iovar() The function brcmf_fil_bsscfg_data_get() calls brcmf_create_iovar() with data pointer set to NULL, which caused a NULL pointer access. As it should be possible to provide data in message towards the firmware, it should just pass the data buffer instead. Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 80e0fa8920fbf6474722ce85afd235663ef656a7 Author: Hante Meuleman Date: Mon Nov 5 16:22:20 2012 -0800 brcmfmac: remove obsolete function brcmf_c_mkiovar the refactored firmware interface layer made this function obsolete. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 347785298024cb6b4a7df1e5510ec294b7606199 Author: Arend van Spriel Date: Mon Nov 5 16:22:19 2012 -0800 brcmfmac: remove obsolete variable from brcmf_cfg80211_start_ap() The function brcmf_cfg80211_start_ap() had some variables declared that were not used or not needed any longer. This patch removes those variables. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1332e26ee8f14d41242a2842b9218373333a6032 Author: Arend van Spriel Date: Mon Nov 5 16:22:18 2012 -0800 brcmfmac: change parameter of brcmf_set_management_ie() The function brcmf_set_management_ie() operates on virtual interface data and brcmf_cfg80211_vif structure provides all information needed for interfacing with firmware. As this function will also be needed for interface without an associated net device it makes sense to provide the vif instead of deriving it from the net device. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c697be5a5894b7b196ea25048c43fadddfc624ca Author: Hante Meuleman Date: Mon Nov 5 16:22:17 2012 -0800 brcmfmac: fix pkt_filter sizeof calculation. sizeof calculation in setting pkt_filter was incorrect. This patch fixes that and removes related defines which have become obsolete. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 21fff75d2fb64455291c77813dba371e03a301a3 Author: Hante Meuleman Date: Mon Nov 5 16:22:16 2012 -0800 brcmfmac: use wait_event_timeout for 8021x pending count brcmf_netdev_wait_pend8021x was polling to see if 8021x data was already sent. Code was replaced using wait_event_timeout. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 6b028c5ee249fa974c9730ebcf227b7351eab39d Author: Hante Meuleman Date: Mon Nov 5 16:22:15 2012 -0800 brcmfmac: handle exceptions in brcmf_bus_start correct. On exception during brcmf_bus_start the netdev should be freed, if already allocated. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit db22ae8cd282489c5322eaa09d30bd7481ed7104 Author: Hante Meuleman Date: Mon Nov 5 16:22:14 2012 -0800 brcmfmac: use fwil for netdev callbacks. Change setting up multicast, mac address and offloading to use the refactored firmware interface layer. Remove obsolete brcmf_proto_dcmd function. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit f07998959d57e658d0b3a9c68be03396992b9065 Author: Hante Meuleman Date: Mon Nov 5 16:22:13 2012 -0800 brcmfmac: remove obsolete i-scan and clean up related code. e-scan has become the default scanning method. This patch removes the i-scan related code and cleans up e-scan related code to be always enabled. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3082b9be89d0dde558f25d4ec65b5cac02a9b916 Author: Arend van Spriel Date: Mon Nov 5 16:22:12 2012 -0800 brcmfmac: make pointer type constant in brcmf_set_management_ie() The vendor ie buffer passed to brcmf_set_management_ie() is not modified and the caller always provided a constant buffer, which needed a cast. Better making the buffer parameter of the function constant so the casts can be removed. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 0ecd8164046fa035c9ea493cd230fdd902e116b1 Author: Arend van Spriel Date: Mon Nov 5 16:22:11 2012 -0800 brcmfmac: restrict error condition in brcmf_inform_bss() The function brcmf_inform_bss() validates the version received from the device, before processing the individual bss entries. This error condition is only applicable when the list contains entries. A specific scan, ie. for a specific ssid, can result in a scan completion without finding any bss entries. No need to flag it as an error in the log when this happens. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2cb941c0474e3037e9ad4ee219d4c848ad519ac0 Author: Arend van Spriel Date: Mon Nov 5 16:22:10 2012 -0800 brcmfmac: simplify if-else condition in brcmf_cfg80211_escan() Code flow was: err = foo(); if (!err) return err; else goto exit; return 0; Changed it to just to exit label if err is non-zero. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3d3726d25635a63764c4f324176873124f8a02b6 Author: Arend van Spriel Date: Mon Nov 5 16:22:09 2012 -0800 brcmfmac: remove obsolete structure ap_info The data stored in ap_info structure is no longer used so remove it from the driver. Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 9ee01b30fdc85a4ab5b0836ad98ac0ae5092fb4f Author: Pontus Fuchs Date: Mon Nov 5 21:17:51 2012 +0100 ar5523: Don't dereference sta if NULL A missing else caused a potential NULL dereference. Reported-by: Yuanhan Liu Signed-off-by: Pontus Fuchs Signed-off-by: John W. Linville commit d01a303e68310695b6d08327454f4ad76a48716f Author: Pontus Fuchs Date: Mon Nov 5 21:17:50 2012 +0100 ar5523: Fix sparse endianness warnings __be32 variables where used a little careless leading to sparse warnings. Treat them a little more gentle. Reported-by: Fengguang Wu Signed-off-by: Pontus Fuchs Signed-off-by: John W. Linville commit f3ec3bf527638b8efb576d1bdbaf8d66d1183f92 Author: Julia Lawall Date: Sat Nov 3 21:30:25 2012 +0100 drivers/net/wireless/ath/ath6kl/hif.c: drop if around WARN_ON Just use WARN_ON rather than an if containing only WARN_ON(1). A simplified version of the semantic patch that makes this transformation is as follows: (http://coccinelle.lip6.fr/) // @@ expression e; @@ - if (e) WARN_ON(1); + WARN_ON(e); // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 36f318bb124b231c01db6965a009f46d5731f012 Author: Jaume Delclòs Date: Fri Nov 2 23:35:20 2012 +0100 Wireless: rt2x00: Add device id for Sweex LW323 to rt2800usb.c This patch adds detection for the Sweex LW323 USB wireless network card in the rt2x00 driver (just one line in rt2800usb.c). It applies to linux-3.7-rc3. Signed-off-by: Jaume Delclòs Signed-off-by: John W. Linville commit 47411a06c0c44b3c9dc2feffb0d97785ec9aaa68 Author: Avinash Patil Date: Thu Nov 1 18:44:16 2012 -0700 mwifiex: add multi-queue support This patch adds support for multiple TX queues inside mwifiex driver. Four different queues according to WMM access categories are defined for each virtual interface. When a packet is received from netdev for transmission, tx pending count for particular queue is incremented and if tx pending count has reached upper water-mark, this queue is stopped instead of stopping all queues. Similarly when a packet is successfully transmitted from device, tx pending count is decremented per queue and if pending count falls below lower water-mark, queue operations are again resumed. This ensures that not all tranmission is blocked if traffic with particular TOS value suddenly increases. Also wake all queues after association/IBSS_join/uAP_BSS_start to enable traffic on all queues. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit d31ab3577eca0f74126ceb1d406710e620a155a0 Author: Amitkumar Karwar Date: Thu Nov 1 18:44:14 2012 -0700 mwifiex: add support for SDIO card reset When command timeout happens due to a bug in firmware/hardware, the timeout handler just prints some debug information. User is unable to reload the driver in this case. Inspired by 9a821f5 "libertas: add sd8686 reset_card support", this patch adds card reset support for SDIO interface when command timeout happens. If the SDIO host contoller supports MMC_POWER_OFF|UP|ON operations, the chip will be reset and the firmware will be re-downloaded. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b2cb1a900a104642401faea7bada3c48289402f4 Author: Wei Yongjun Date: Thu Nov 1 13:50:46 2012 +0800 brcmfmac: remove duplicated include from dhd_dbg.c Remove duplicated include. 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 f0a5fd4e7c08554335e2938dccd32c9b9edee345 Author: Wei Yongjun Date: Thu Nov 1 09:59:13 2012 +0800 ar5523: use module_usb_driver to simplify the code Use the module_usb_driver() macro to make the code simpler by eliminating module_init and module_exit calls. 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 73e6991ad3e5d528b7947b20708a5d67d833e27c Author: Harro Haan Date: Wed Oct 31 23:24:26 2012 +0100 add Marvell 88W8688 support to libertas_sdio This chip is for example used in the GuruPlug. This patch avoids the following error: libertas_sdio: failed to load firmware libertas_sdio: probe of mmc0:0001:1 failed with error -5 The fix is based on code in: drivers/net/wireless/libertas_uap/uap_sdio_mmc.c This file can for example be found on the following links: http://www.xilka.com/sheeva/2.6/2.6.36/2.6.36.2/source/0002-Driver-for-Marvell-Libertas-8688-SDIO-micro-AP-suppo-2.6.35.patch http://www.downloadsnewit.co.uk/kernel-v3.0.7/ I followed the following wiki to setup a working WiFi client mode connection on the GuruPlug: http://wiki.debian.org/libertas Signed-off-by: Harro Haan Acked-by: Dan Williams Signed-off-by: John W. Linville commit 158b42edabe82b6adfcd3310d116cc41fdc669ea Author: Luis R. Rodriguez Date: Wed Oct 31 11:52:51 2012 -0700 carl9170: kill MODULE_VERSION This is pretty pointless. Lets kill this to stop people from thinking that its actually used. Maybe we should go on a crusade and kill this completely from the kernel. Cc: Vladimir Kondratiev Acked-by: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 70bf870b54b96887d388286e7d8865406f1aa670 Author: Zefir Kurtisi Date: Wed Oct 31 12:22:34 2012 +0100 ath9k: fix memory leak in DFS pattern detector Free instance of pattern detector if requested DFS domain is not supported. Signed-off-by: Zefir Kurtisi Signed-off-by: John W. Linville commit 259bcf87fb51fb80185cf54fac7f00da56a80ac4 Author: Zefir Kurtisi Date: Wed Oct 31 12:21:56 2012 +0100 ath9k: resolve name collision in DFS detector set_domain() is already defined in /arch/arm/asm/domain.h Signed-off-by: Zefir Kurtisi Signed-off-by: John W. Linville commit 6a4b09f807afab788b58b529c4a9d6dc27cc6933 Author: Joe Perches Date: Sun Oct 28 01:05:47 2012 -0700 wireless: Convert dev_printk(KERN_ to dev_( dev_ calls take less code than dev_printk(KERN_ and reducing object size is good. Coalesce formats for easier grep. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 0f01545346cd97f823fc0aaf0c02d4fc7bec6d46 Author: Larry Finger Date: Thu Oct 25 13:46:46 2012 -0500 rtlwifi: rtl8192ce: rtl8192cu: rtl8192se: rtl81723ae: Turn on building of the new driver This patch completes the addition of the new driver for the Realtek RTL8723AE devices by adding the make file and by modifying Kconfig and Makefile of rtlwifi. Some variable names were shortened to ease the problem of limiting all lines to 80 characters, thus changes were made to wifi.h and rtl8192{ce,cu,sw}/hw.c. Signed-off-by: Larry Finger Cc: Signed-off-by: John W. Linville commit a29059359dea80065559cd4d56149cbe10350cf9 Author: Larry Finger Date: Thu Oct 25 13:46:45 2012 -0500 rtlwifi: Modify files for addition of rtl8723ae This patch modifies the files of rtlwifi for the addition of a new driver to handle the Realtek RTL8723AE wireless device, and introduces a new routine to maintaim statistics that will be used later for roaming. Signed-off-by: Larry Finger Cc: Signed-off-by: John W. Linville commit c592e631bcec4d858695eee8bf321d60390d38e9 Author: Larry Finger Date: Thu Oct 25 13:46:32 2012 -0500 rtlwifi: rtl8723ae: Add new driver This patch is the addition of files for a new driver to handle the Realtek RTL8723AE wireless device. Signed-off-by: Larry Finger Cc: Signed-off-by: John W. Linville commit b7fd76d114568d0b1e0d443049ed597b3a55f9c6 Merge: 38141fc 0c0afed Author: John W. Linville Date: Wed Nov 14 14:51:06 2012 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 5bdf502dd9c8fd60dddaabfb9a3dc1671302afd2 Merge: bf0098f 38141fc Author: John W. Linville Date: Wed Nov 14 13:33:43 2012 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem commit 9f904b382ff61b8ec1f81f8afe76f12a5ac8b4cf Author: Emmanuel Grumbach Date: Tue Nov 13 13:35:43 2012 +0200 iwlwifi: don't enable interrupt as a W/A when MSI is enabled This is not needed, the comment there was wrong, it is only needed when MSI was *not* enabled. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit dbeca583f9b8e35aa08279b81d5340dac3a60aff Author: Emmanuel Grumbach Date: Tue Nov 13 13:19:33 2012 +0200 iwlwifi: don't warn if transport's allocation failed The allocation failure will already be very verbose. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f4bda337bbb6e245e2a07f344990adeb6a70ff35 Author: Thomas Pedersen Date: Tue Nov 13 10:46:27 2012 -0800 mac80211: support RX_FLAG_MACTIME_END Allow drivers to indicate their mactime is at RX completion and adjust for this in mac80211. Also rename the existing RX_FLAG_MACTIME_MPDU to RX_FLAG_MACTIME_START to clarify its intent. Based on similar code by Johannes Berg. Signed-off-by: Thomas Pedersen [fix docs, atheros drivers] Signed-off-by: Johannes Berg commit d640c4b09a5d83a8167eb09d22bd89d9fa7e3b91 Author: Chris Wilson Date: Sun Nov 11 09:34:45 2012 +0000 drm/i915: Report amount of usable graphics memory in MiB ...rather than kilo-PTE. Signed-off-by: Chris Wilson [danvet: Apply s/Usabel/usable/ bikeshed suggested by Ben Widawsky.] Signed-off-by: Daniel Vetter commit f2ce9fafc1d443d49a0d1988f524a5da6e086e2c Author: Chris Wilson Date: Sat Nov 10 15:58:21 2012 +0000 drm/i915/i2c: Track users of GMBUS force-bit This fixes a regression for SDVO from commit fbfcc4f3a0cf8bbde87646b74241faa8e37426bf Author: Jani Nikula Date: Mon Oct 22 16:12:18 2012 +0300 drm/i915/sdvo: restore i2c adapter config on intel_sdvo_init() failures As SDVOB and SDVOC are multiplexed on the same pin, if a chipset does not have the second SDVO encoder, it will then remove the force-bit setting on the common i2c adapter during teardown. All subsequent attempts of trying to use GMBUS with SDVOB then fail. Signed-off-by: Chris Wilson Cc: Jani Nikula Cc: Mika Kuoppala [danvet: fixup inversion in the debug printout, noticed by Jani Nikulai.] Signed-off-by: Daniel Vetter commit 2a91c9f781de209d420d751e43eb43ffe6934803 Author: Amitkumar Karwar Date: Fri Nov 9 17:51:30 2012 -0800 nl/cfg80211: advertise OBSS scan requirement wpa_supplicant will do OBSS scan for drivers that implement auth/assoc API. Drivers that implement nl80211 connect API (rather than auth/assoc) may need wpa_supplicant to do this as well. Add a new feature flag to inform it (wpa_s) that a driver needs wpa_supplicant to do OBSS scans. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Johannes Berg commit f94982b0022f474d3c9285447d9a33b7a324e771 Author: Ben Widawsky Date: Sat Nov 10 10:56:04 2012 -0800 drm/i915: Allocate the proper size for contexts. Whoops. This was fixed previously, but not sure how it got lost. It's not needed for -fixes or stable because at the moment drm_i915_file_private is way bigger than i915_hw_context (by 120 bytes on my 64b build). Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 0e8b3d3ea7c8f6e65c2c7220d64cbeb78023eff4 Author: Chris Wilson Date: Mon Nov 5 22:25:08 2012 +0000 drm/i915: Update load-detect failure paths for modeset-rework After the rework, intel_set_mode() became a little better behaved in restoring the current mode if we failed to apply the requested modeline. However, the failure path for load-detect would clobber the existing state, leading to an oops during BIOS takeover on older machines. Signed-off-by: Chris Wilson Cc: Daniel Vetter Signed-off-by: Daniel Vetter commit 0fed39bd1d85bfd0d454cb7ba2aedab2f15141d5 Author: Chris Wilson Date: Mon Nov 5 22:25:07 2012 +0000 drm/i915: Clear unused fields of mode for framebuffer creation With the stricter checks introduced in commit ac911edae5960d7dccd9883f5fa5d25b591520de Author: Ville Syrjälä Date: Wed Oct 31 17:50:19 2012 +0200 drm/i915: Check the framebuffer offset (and friends), it became especially prudent to make sure that the additional fields inside the mode were cleared before attempting to create a framebuffer. In particular, the fb created for load detection failed to do so and hence failed. Signed-off-by: Chris Wilson Cc: Ville Syrjälä Reviewed-by: Ville Syrjälä Signed-off-by: Daniel Vetter commit b9e0bda3cd325b55f336efb751736163f62abded Author: Chris Wilson Date: Mon Oct 22 12:32:15 2012 +0100 drm/i915: Always calculate 8xx WM values based on a 32-bpp framebuffer The specs for gen2 say that the watermark values "should always be set assuming a 32bpp display mode, even though the display mode may be 15 or 16 bpp." Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit ccdf56cdb2a4d6103eb6627494d6cd34edb1c2ea Author: Ben Widawsky Date: Tue Nov 6 09:50:16 2012 +0000 drm/i915: Fix sparse warnings in from AGP kill code Reported-by: Fengguang Wu Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 44cbd33899302fc5294fc5fedfd0276348d796e4 Author: Ben Widawsky Date: Tue Nov 6 14:36:36 2012 +0000 drm/i915: Missed lock change with rps lock Fixes a WARN_ON in igt/tests/debugfs_reader CC: Jesse Barnes Signed-off-by: Ben Widawsky Signed-off-by: Daniel Vetter commit 26b1ff35c8c4888fb544f290e0fc64143f7dbe45 Author: Ben Widawsky Date: Sun Nov 4 09:21:31 2012 -0800 drm/i915: Move the remaining gtt code It's pretty much all consolidated now that we've killed AGP. We can move the one outlier, and defines too. (Kill some unused defines in the process) Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 0f9b91c754b7244d3a7345df88c4384f0eb0dd17 Author: Ben Widawsky Date: Sun Nov 4 09:21:30 2012 -0800 drm/i915: flush system agent TLBs on SNB This allows us to map the PTEs WC. I've not done thorough testing or performance measurements with this patch, but it should be decent. This is based on a patch from Jesse with the original commit message > I've only lightly tested this so far, but the corruption seems to be > gone if I write the GFX_FLSH_CNTL reg after binding an object. This > register should control the TLB for the system agent, which is what CPU > mapped objects will go through. It has been updated for the new AGP-less code by me, and included with it is feedback from the original patch. v2: Updated to reflect paranoia on pte updates/register posting reads. Signed-off-by: Ben Widawsky Reviewed-by [v1]: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 03752f5b7b77b95d83479885040950fba1250850 Author: Ben Widawsky Date: Sun Nov 4 09:21:28 2012 -0800 drm/i915: Calculate correct stolen size for GEN7+ This bug existed in the old code, but was easier to fix here in the rework. Unfortunately gen7 doesn't have a nice way to figure out the size and we must use a lookup table. As Jesse pointed out, there is some confusion in the docs about these definitions. We're picking the one which seems more accurate, but we really aren't certain. Signed-off-by: Ben Widawsky Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit e76e9aebcdbfebae8f4cd147e3c0f800d36e97f3 Author: Ben Widawsky Date: Sun Nov 4 09:21:27 2012 -0800 drm/i915: Stop using AGP layer for GEN6+ As a quick hack we make the old intel_gtt structure mutable so we can fool a bunch of the existing code which depends on elements in that data structure. We can/should try to remove this in a subsequent patch. This should preserve the old gtt init behavior which upon writing these patches seems incorrect. The next patch will fix these things. The one exception is VLV which doesn't have the preserved flush control write behavior. Since we want to do that for all GEN6+ stuff, we'll handle that in a later patch. Mainstream VLV support doesn't actually exist yet anyway. v2: Update the comment to remove the "voodoo" Check that the last pte written matches what we readback v3: actually kill cache_level_to_agp_type since most of the flags will disappear in an upcoming patch v4: v3 was actually not what we wanted (Daniel) Make the ggtt bind assertions better and stricter (Chris) Fix some uncaught errors at gtt init (Chris) Some other random stuff that Chris wanted v5: check for i==0 in gen6_ggtt_bind_object to shut up gcc (Ben) Signed-off-by: Ben Widawsky Reviewed-by [v4]: Chris Wilson [danvet: Make the cache_level -> agp_flags conversion for pre-gen6 a tad more robust by mapping everything != CACHE_NONE to the cached agp flag - we have a 1:1 uncached mapping, but different modes of cacheable (at least on later generations). Suggested by Chris Wilson.] Signed-off-by: Daniel Vetter commit b3fcabb15bb83202fb5e4e5b296711b91c4942a3 Author: Daniel Vetter Date: Sun Nov 4 12:24:47 2012 +0100 drm/i915: drop the double-OP_STOREDW usage in blt_ring_flush This has been introduced in "drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op". Reported-by: Fengguang Wu Reported-by: Chris Wilson Signed-off-by: Daniel Vetter commit 1abd02e2dd7e0bd577000301fb2fd47780637387 Author: Jesse Barnes Date: Fri Nov 2 11:14:02 2012 -0700 drm/i915: don't rewrite the GTT on resume v4 The BIOS shouldn't be touching this memory across suspend/resume, so just leave it alone. This saves us ~6ms on resume on my T420 (retested with write combined PTEs). v2: change gtt restore default on pre-gen4 (Chris) move needs_gtt_restore flag into dev_priv v3: make sure we restore GTT on resume from hibernate (Daniel) use opregion support as the cutoff for restore from resume (Chris) v4: use a better check for opregion (Chris) Reviewed-by: Chris Wilson Signed-off-by: Jesse Barnes [danvet: Kill the needs_gtt_restore indirection and check directly for OpRegion. Also explain in a comment what's going on.] Signed-off-by: Daniel Vetter commit 4fc688ce79772496503d22263d61b071a8fb596e Author: Jesse Barnes Date: Fri Nov 2 11:14:01 2012 -0700 drm/i915: protect RPS/RC6 related accesses (including PCU) with a new mutex This allows the power related code to run independently of the rest of the pipeline, extending the resume and init time improvements into userspace, which would otherwise have been blocked on the struct mutex if we were doing PCU communication. v2: Also convert the locking for the rps sysfs interface. Suggested-by: Daniel Vetter Signed-off-by: Jesse Barnes (v1) Signed-off-by: Daniel Vetter commit 1a01ab3b2dc4394c46c4c3230805748f632f6f74 Author: Jesse Barnes Date: Fri Nov 2 11:14:00 2012 -0700 drm/i915: put ring frequency and turbo setup into a work queue v5 Communicating via the mailbox registers with the PCU can take quite awhile. And updating the ring frequency or enabling turbo is not something that needs to happen synchronously, so take it out of our init and resume paths to speed things up (~200ms on my T420). v2: add comment about why we use a work queue (Daniel) make sure work queue is idle on suspend (Daniel) use a delayed work queue since there's no hurry (Daniel) v3: make cleanup symmetric and just call cancel work directly (Daniel) v4: schedule the work using round_jiffies_up to batch work better (Chris) v5: fix the right schedule_delayed_work call (Chris) References: https://bugs.freedesktop.org/show_bug.cgi?id=54089 Signed-of-by: Jesse Barnes [danvet: bikeshed the placement of the new delayed work, move it to all the other gen6 power mgmt stuff.] Signed-off-by: Daniel Vetter commit 073f34d9d49bdbadbea8198ddc3fbb7e736a94dd Author: Jesse Barnes Date: Fri Nov 2 11:13:59 2012 -0700 drm/i915: don't block resume on fb console resume v2 The console lock can be contended, so rather than prevent other drivers after us from being held up, queue the console suspend into the global work queue that can happen anytime. I've measured this to take around 200ms on my T420. Combined with the ring freq/turbo change, we should save almost 1/2 a second on resume. v2: use console_trylock() to try to resume the console immediately (Chris) Signed-off-by: Jesse Barnes [danvet: move dev_priv->console_resume_work next to the fbdev pointer.] Signed-off-by: Daniel Vetter commit a4da4fa4e55a8cea7fe603e7564e72db97b77a89 Author: Daniel Vetter Date: Fri Nov 2 19:55:07 2012 +0100 drm/i915: extract l3_parity substruct from dev_priv Pretty astonishing how far apart these two members landed ... Especially since I've already removed almost 200 lines in between. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 231f42a48f744c9a4f53752948fad2d793638937 Author: Daniel Vetter Date: Fri Nov 2 19:55:05 2012 +0100 drm/i915: move dri1 dungeon out of dev_priv Also, move dev_priv->counter there, it's only used in i915_dma.c And also move the dri1 dungeon at the end of dev_priv where no one cares about it. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 3e37394802c1f2b0000da0a096455d2a3900df48 Author: Daniel Vetter Date: Fri Nov 2 19:55:04 2012 +0100 drm/i915: move pwrctx/renderctx to the other ilk power state Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit c85aa8855a4b2e0477fe6dfd0835270f2277aa8c Author: Daniel Vetter Date: Fri Nov 2 19:55:03 2012 +0100 drm/i915: move dev_priv->(rps|ips) out of line And give the structs slightly more generic names. I've decided to keep the short rps/ips prefix, since that's just easier and less churn. Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit f4c956adc79f852e1f064679c2847b8ece2cd16f Author: Daniel Vetter Date: Fri Nov 2 19:55:02 2012 +0100 drm/i915: move the suspend/resume register file out of dev_priv dev_priv has grown way too big, and grouping memebers into substructs and moving them out of line helps re-gain some overview. Unfortunatley I couldn't just call the substruct save and drop the prefix, since that will make most member names clash with registers #defines. Changes in i915_drv.h done by hand, everything else changed with s/\ Signed-off-by: Daniel Vetter commit 310c53a84f592d3e4a54dc26d512d1429695080b Author: Jesse Barnes Date: Thu Oct 25 12:15:48 2012 -0700 drm/i915: add clock gating regs to VLV offset check function So we can write them properly. Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit 3ac7831314eba873d60b58718123c503f6961337 Author: Jesse Barnes Date: Thu Oct 25 12:15:47 2012 -0700 drm/i915: PIPE_CONTROL TLB invalidate requires CS stall "If ENABLED, PIPE_CONTROL command will flush the in flight data written out by render engine to Global Observation point on flush done. Also Requires stall bit ([20] of DW1) set." So set the stall bit to ensure proper invalidation. Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit 9a28977181724ebbd9bdc45291cf29da55a729ee Author: Jesse Barnes Date: Fri Oct 26 09:42:42 2012 -0700 drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op v3 So store into the scratch space of the HWS to make sure the invalidate occurs. v2: use GTT address space for store, clean up #defines (Chris) v3: use correct #define in blt ring flush (Chris) Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Reviewed-by: Chris Wilson References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1063252 Signed-off-by: Daniel Vetter commit 12f3382bc0262e981a2e58aca900cbbdbbe66825 Author: Jesse Barnes Date: Thu Oct 25 12:15:45 2012 -0700 drm/i915: implement WaDisablePSDDualDispatchEnable on IVB & VLV Workaround for dual port PS dispatch on GT1. v2: pull in register definition & offset handling v3: use IVB GT1 macro to get the right regs (Ben) v4: add for VLV too (Ben) v5: don't read the reg, it's masked so we'll only enable the one extra bit (Chris) v6: use a _GT2 suffix for the second reg (Chris) Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit 2d809570c8d72b9529ebb72c9d35fa0bf08c033c Author: Jesse Barnes Date: Thu Oct 25 12:15:44 2012 -0700 drm/i915: implement WaDisableVLVClockGating_VBIIssue on VLV This allows us to get the right vblank interrupt frequency. v2: pull in register definition Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit 5c9664d75a65adcdb9763a6df1da1d8d3f417c0c Author: Jesse Barnes Date: Thu Oct 25 12:15:43 2012 -0700 drm/i915: implement WaForceL3Serialization on VLV and IVB References: https://bugs.freedesktop.org/show_bug.cgi?id=50250 Reviewed-by: Ben Widawsky Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit 8ab4397640de51f4a93845b09270ad717244ccb3 Author: Jesse Barnes Date: Thu Oct 25 12:15:42 2012 -0700 drm/i915: implement WaDisableDopClockGatingisable on VLV and IVB v2: use correct register v3: remove extra hunks, pull in register definitions & offset check directly v4: add GT1 vs GT2 distinction for IVB portion (Ben) References: https://bugs.freedesktop.org/show_bug.cgi?id=50233 Reviewed-by: Ben Widawsky Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit d0cf5eadc0182806f8790369d03d93eef748a363 Author: Jesse Barnes Date: Thu Oct 25 12:15:41 2012 -0700 drm/i915: implement WaDisableL3CacheAging on VLV Needs to be set on every context restore as well, so set it as part of the initial state so we can save/restore it. Note this removes the IVB workaround value from VLV and uses the default value, just adding in the L3 cache aging disable bit, since the IVB value is wrong for VLV. Signed-off-by: Jesse Barnes Reviewed-by: Antti Koskipää Signed-off-by: Daniel Vetter commit 1ad960f25ca419ca337284b369cf78d84b6a439e Author: Paulo Zanoni Date: Thu Nov 1 21:05:05 2012 -0200 drm/i915: fix Haswell FDI link disable path This covers the "Disable FDI" section from the CRT mode set sequence. This disables the FDI receiver and also the FDI pll. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 049456416f74a4a66d058cf9a46075f0051c6383 Author: Paulo Zanoni Date: Thu Nov 1 21:00:59 2012 -0200 drm/i915: fix Haswell FDI link training code This commit makes hsw_fdi_link_train responsible for implementing everything described in the "Enable and train FDI" section from the Hawell CRT mode set sequence documentation. We completely rewrite hsw_fdi_link_train to match the documentation and we also call it in the right place. This patch was initially sent as a series of tiny patches fixing every little problem of the function, but since there were too many patches fixing the same function it got a little difficult to get the "big picture" of how the function would be in the end, so here we amended all the patches into a single big patch fixing the whole function. Problems we fixed: 1 - Train Haswell FDI at the right time. We need to train the FDI before enabling the pipes and planes, so we're moving the call from lpt_pch_enable to haswell_crtc_enable directly. We are also removing ironlake_fdi_pll_enable since the PLL enablement on Haswell is completely different and is also done during the link training steps. 2 - Use the right FDI_RX_CTL register on Haswell There is only one PCH transcoder, so it's always _FDI_RXA_CTL. Using "pipe" here is wrong. 3 - Don't rely on DDI_BUF_CTL previous values Just set the bits we want, everything else is zero. Also POSTING_READ the register before sleeping. 4 - Program the FDI RX TUSIZE register on hsw_fdi_link_train According to the mode set sequence documentation, this is the right place. According to the FDI_RX_TUSIZE register description, this is the value we should set. Also remove the code that sets this register from the old location: lpt_pch_enable. 5 - Properly program FDI_RX_MISC pwrdn lane values on HSW 6 - Wait only 35us for the FDI link training First we wait 30us for the FDI receiver lane calibration, then we wait 5us for the FDI auto training time. 7 - Remove an useless indentation level on hsw_fdi_link_train We already "break" when the link training succeeds. 8 - Disable FDI_RX_ENABLE, not FDI_RX_PLL_ENABLE When we fail the training. 9 - Change Haswell FDI link training error messages We shouldn't call DRM_ERROR when still looping through voltage levels since this is expected and not really a failure. So in this commit we adjust the error path to only DRM_ERROR when we really fail after trying everything. While at it, replace DRM_DEBUG_DRIVER with DRM_DEBUG_KMS since it's what we use everywhere. 10 - Try each voltage twice at hsw_fdi_link_train Now with Daniel Vetter's suggestion to use "/2" instead of ">>1". Signed-off-by: Paulo Zanoni [danvet: Applied tiny bikesheds: - mention in comment that we test each voltage/emphasis level twice - realing arguments of the only untouched reg write, it spilled over the 80 char limit ...] Signed-off-by: Daniel Vetter commit 547dc041df2f3f293ab832900d0e1f465ae29bbe Author: Jani Nikula Date: Fri Nov 2 11:24:03 2012 +0200 drm/i915: remove HAS_eDP as unnecessary and inconsistent indirection Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit 349d7e5d7b27ee7b0b596ef1047e5c63908597fa Author: Paulo Zanoni Date: Thu Nov 1 18:45:04 2012 -0200 drm/i915: set the correct number of FDI lanes on Haswell We had 2 places using X2 and one place using X1. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 3107bd48bfaf5ffe47c9c719c5f821c7cce0ca61 Author: Daniel Vetter Date: Wed Oct 31 22:52:31 2012 +0100 drm/i915: kill pch_init_clock_gating indirection Now that we no longer pretend to have flexibility in matching any north display block with any pch, we can ditch this. v2: Fix the embarassing rebase fail that Paulo Zanoni spotted. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit ce40141f55fa68f6d6e174fc86d727394897585b Author: Daniel Vetter Date: Wed Oct 31 22:52:30 2012 +0100 drm/i915: implement WADP0ClockGatingDisable Found in Bspec vol4h South Display Engine Registers [CPT, PPT], section "5.3.1 TRANS_CHICKEN_1—Transcoder Chicken Bits 1" v2: Make it compile. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 23670b322c100c8fb2aa0c3d281ed10af428f664 Author: Daniel Vetter Date: Thu Nov 1 09:15:30 2012 +0100 drm/i915: CPT+ pch transcoder workaround We need to set the timing override chicken bit after fdi link training has completed and before we enable the transcoder. We also have to clear that bit again after disabling the pch transcoder. See "Graphics BSpec: vol4g North Display Engine Registers [IVB], Display Mode Set Sequence" and "Graphics BSpec: vol4h South Display Engine Registers [CPT, PPT], South Display Engine Transcoder and FDI Control, Transcoder Debug and DFT, TRANS_CHICKEN_2" bit 31: "Workaround : Enable the override prior to enabling the transcoder. Disable the override after disabling the transcoder." While at it, use the _PIPE macro for the other TRANS_DP register. v2: Keep the w/a as-is, but kill the original (but wrongly placed) workaround introduced in commit 3bcf603f6d5d18bd9d076dc280de71f48add4101 Author: Jesse Barnes Date: Wed Jul 27 11:51:40 2011 -0700 drm/i915: apply timing generator bug workaround on CPT and PPT and commit d4270e57efe9e2536798c59e1ed2fd0a1e5cdfcf Author: Jesse Barnes Date: Tue Oct 11 10:43:02 2011 -0700 drm/i915: export a CPT mode set verification function Note that this old code has unconditionally set the w/a, which might explain why fdi link training sometimes silently fails, and especially why the auto-train did not seem to work properly. v3: Paulo Zanoni pointed out that this workaround is also required on the LPT PCH. And Arthur Ranyan confirmed that this workaround is requierd for all ports on the pch, not just DP: The important part is that the bit is set whenever the pch transcoder is enabled, and that it is _not_ set while the fdi link is trained. It is also important that the pch transcoder is fully disabled, i.e. we have to wait for bit 30 to clear before clearing the w/a bit. Hence move to workaround into enable/disable_transcoder, where the pch transcoder gets enabled/disabled. v4: Whitespace changes dropped. v5: Don't run the w/a on IBX, we only need it on CPT/PPT and LPT. v6: - resolve conflicts with Paulo's big hsw vga rework - s/!IBX/CPT since hsw paths are now all separate, and Paulo's patch to implement the equivalent w/a for LPT is already merged. Cc: Jesse Barnes Cc: Paulo Zanoni Cc: Arthur Ranyan Reviewed-by: Paulo Zanoni (v5) Reviewed-by: Jesse Barnes (v5) Signed-off-by: Daniel Vetter commit 8f5718a6d9a29bf1f51910c6b32bd0244f905303 Author: Daniel Vetter Date: Wed Oct 31 22:52:28 2012 +0100 drm/i915: drop unnecessary check from fdi_link_train code They are all written for a specific north disaplay->pch combination. So stop pretending otherwise. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 7fcb83cde02da2f0c7d7eb8ba2c51df24495c0a8 Author: Daniel Vetter Date: Wed Oct 31 22:52:27 2012 +0100 drm/i915: check whether the pch is the soulmate of the cpu We don't really support fancy north display/pch combinations, so put a big yelling WARN_ON in there. It /should/ be impossible, but alas, the rumours don't stop (mostly due to really early silicon sometimes using older PCHs). v2: Fixup the logic fumble noticed by Paulo Zanoni. I should actually try to test run the patch next time around ... Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 270b30420c5e0d5f779aa76882367f9265c5aa7d Author: Daniel Vetter Date: Sat Oct 27 15:52:05 2012 +0200 drm/i915: move panel connectors to the front This essentially reverts commit cb0953d734348e8862d6d7edc666cfb3bf6d8fae Author: Adam Jackson Date: Fri Jul 16 14:46:29 2010 -0400 drm/i915: Initialize LVDS and eDP outputs before anything else simply because it doesn't scale: It misses SDVO and DVO panels, and now with DDI encoders on haswell this is becoming unmanageable. Instead we simply sort the connector list after everything is set up. Reviewed-by: Adam Jackson Acked-by: Chris Wilson Signed-off-by: Daniel Vetter commit cfc1a062063bb5b8e3fa2b007043dfc9e27b5a40 Author: Daniel Vetter Date: Sat Oct 27 15:52:04 2012 +0200 drm: add helper to sort panels to the head of the connector list Userspace seems to like this, see commit cb0953d734348e8862d6d7edc666cfb3bf6d8fae Author: Adam Jackson Date: Fri Jul 16 14:46:29 2010 -0400 drm/i915: Initialize LVDS and eDP outputs before anything else This makes them sort to the front in X, which makes them likely to be the primary outputs if you haven't specified a preference in your DE, which is likely to be what you want. Signed-off-by: Adam Jackson Signed-off-by: Eric Anholt Sorting the connector list after the fact is much easier than trying to be clever with the init sequence. Acked-by: Dave Airlie Reviewed-by: Adam Jackson Acked-by: Chris Wilson Signed-off-by: Daniel Vetter commit ab4d966c522f84b385d87f5ed2b622a7e4c22a6b Author: Paulo Zanoni Date: Wed Oct 31 18:12:55 2012 -0200 drm/i915: don't assert disabled FDI before disabling the FDI On Haswell/LPT we must disable the PCH transcoder before we disable the FDI, so don't check for disabled FDI there. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit fd9c0188981f1aca14f0fedb74df8b00b79a91c1 Author: Paulo Zanoni Date: Wed Oct 31 18:12:53 2012 -0200 drm/i915: don't call intel_disable_pch_pll on Haswell/LPT This function is only for the previous gens. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 223a6fdfbf7e26d9ad5ee54e258eb164412fcbc0 Author: Paulo Zanoni Date: Wed Oct 31 18:12:52 2012 -0200 drm/i915: implement timing override workarounds on LPT These workarounds are documented on the CRT mode set sequence. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 8a52fd9f240a6e2b73361fb825145f9951fc552d Author: Paulo Zanoni Date: Wed Oct 31 18:12:51 2012 -0200 drm/i915: use CPU and PCH transcoders on lpt_disable_pch_transcoder ... instead of "pipe", which is wrong. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 32ae46bf010f2fcc8cf29c48621590350a4bc5c1 Author: Ville Syrjälä Date: Thu Nov 1 19:26:45 2012 +0200 drm/i915: Add SURFLIVE register definitions Signed-off-by: Ville Syrjälä Signed-off-by: Daniel Vetter commit 9a76b1c68ffb843ad6f31b746141365fdf262b97 Author: Paulo Zanoni Date: Wed Oct 31 18:12:48 2012 -0200 drm/i915: use PIPECONF_INTERLACE_MASK_HSW on lpt_enable_pch_transcoder ... instead of PIPECONF_INTERLACE_MASK. Signed-off-by: Paulo Zanoni [danvet: applied the change by hand due to patch reorder.] Signed-off-by: Daniel Vetter commit 69d3ed5a6fc2e7ac8f848711d9bb6af9b3baf77b Author: Paulo Zanoni Date: Wed Oct 31 18:12:50 2012 -0200 drm/i915: don't assert_pch_ports_disabled on LPT That function is made for IBX. Running it on LPT will trigger tons of "unclaimed register" errors. The only port remaining on LPT is PCH_ADPA. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 25f3ef11cda25c71e14011990f6ad5e587c3c214 Author: Paulo Zanoni Date: Wed Oct 31 18:12:49 2012 -0200 drm/i915: don't rely on previous values when setting LPT TRANSCONF Because we already set all the bits we can set. Signed-off-by: Paulo Zanoni [danvet: apply by hand due to dropped patch. Also, obey my OCD a bit and do a s/_TRANSACONF/TRANSCONF(TRANSCODER_A)/, makes it more consisten with other lpt pch code imnsho ...] Signed-off-by: Daniel Vetter commit 937bb610b2b4c99946260cd64ab3cb562ec41b65 Author: Paulo Zanoni Date: Wed Oct 31 18:12:47 2012 -0200 drm/i915: use CPU and PCH transcoders on lpt_enable_pch_transcoder ... instead of using "pipe". As already explained in previous commits, since Haswell/LPT cpu_transcoder, pch_transcoder and pipe are not the same thing. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 1f6921c8c679e5e2086792bcd62d1616fa171a87 Author: Paulo Zanoni Date: Wed Oct 31 18:12:46 2012 -0200 drm/i915: don't assert_pch_pll_enabled on lpt_enable_pch_transcoder These asserts are specific to IBX/CPT/PPT. Inside the assert_pch_pll function we even "return" in case we detect LPT, but I prefer to just not call it. In the future we might rename to something like ibx_assert_pch_pll. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit a35f267946947b3798827a783d82d3d2aa55697d Author: Paulo Zanoni Date: Wed Oct 31 18:12:45 2012 -0200 drm/i915: remove IBX code from lpt_enable_pch_transcoder Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 25e78e90f33a783e8129e29c1a567a63300ca8ce Author: Paulo Zanoni Date: Wed Oct 31 18:12:44 2012 -0200 drm/i915: remove Haswell code from ironlake_enable_pch_transcoder Since now we have lpt_enable_pch_transcoder. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 8fb033d71d79c5a2827671bd8a2886bca0339ccc Author: Paulo Zanoni Date: Wed Oct 31 18:12:43 2012 -0200 drm/i915: fork lpt version of ironlake_{en, dis}able_pch_transcoder For now the new functions are just copies. Differences will be added later. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit b8a4f4042d2c4a4ecbe39a3034c49990e122ebc9 Author: Paulo Zanoni Date: Wed Oct 31 18:12:42 2012 -0200 drm/i915: rename intel_{en, dis}able_transcoder To ironlake_{en,dis}able_pch_transcoder since these functions will be different on Haswell/LPT and since the "transcoder" they {en,dis}able is on the PCH. Signed-off-by: Paulo Zanoni [danvet: again a small conflict because the fdi disable sequenc looks a bit different here.] Signed-off-by: Daniel Vetter commit daed2dbb7ea4d179e472396ce46377fe758d5faf Author: Paulo Zanoni Date: Wed Oct 31 18:12:41 2012 -0200 drm/i915: use the CPU and PCH transcoders on lpt_pch_enable On Haswell/LPT, pipe, cpu_transcoder and pch_transcoder are different things with different values, unlinke the previous gens. So here we use the right thing at the right place. Signed-off-by: Paulo Zanoni [danvet: apply the patch by hand due to the reorder patch sequence. We also can't kill all uses of pipe where we should, since the fdi link train code isn't fixed up yet on this baselin.] Signed-off-by: Daniel Vetter commit 0540e4882f221d5979e02e2a225ad077ae8b40b4 Author: Paulo Zanoni Date: Wed Oct 31 18:12:40 2012 -0200 drm/i915: don't assert_panel_unlocked on LPT There is no LVDS, so don't poke the LVDS registers. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 7cbfd0653005d6c7a8f00d8ef5573b2976157780 Author: Paulo Zanoni Date: Wed Oct 31 18:12:39 2012 -0200 drm/i915: don't call ironlake_enable_pch_pll on lpt_pch_enable This is just wrong. The lpt_program_iclkip should disable the PCH pixel clocks (and yes, we plan to rename it later). Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit b6b4e185a7d2835fa145bf1a2e3553431cb24a92 Author: Paulo Zanoni Date: Wed Oct 31 18:12:38 2012 -0200 drm/i915: rename intel_enable_pch_pll to ironlake_enable_pch_pll Because this function is only for the older PCHs, not the newer ones. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 8c52b5e8554d21b1cb69836f04c9dbe483915b86 Author: Paulo Zanoni Date: Wed Oct 31 18:12:24 2012 -0200 drm/i915: remove ironlake bits from lpt_pch_enable Since this function will only run on Haswell/LPT and newer. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 303b81e040c14ba6b2d885d051d2c18390d1eeca Author: Paulo Zanoni Date: Wed Oct 31 18:12:23 2012 -0200 drm/i915: remove Haswell/LPT bits from ironlake_pch_enable Since now we have lpt_pch_enable for them. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 1507e5bd7c2a2a814f7d9b38d98266fd672f8533 Author: Paulo Zanoni Date: Wed Oct 31 18:12:22 2012 -0200 drm/i915: add lpt_pch_enable For now it's just a fork of ironlake_pch_enable. The next commits will change this. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4eda01b208b9b35f135bf351cca63b073ebd8b4b Author: Paulo Zanoni Date: Wed Oct 31 18:12:21 2012 -0200 drm/i915: use intel_ddi_get_hw_state on CRT encoder too Because things changed on Haswell/LPT and the bits checked by intel_crt_get_hw_state have moved to other registers. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4837813a4c091eef5c7e326b22bfabea99a99341 Author: Paulo Zanoni Date: Wed Oct 31 18:12:20 2012 -0200 drm/i915: don't set ADPA pipe select on LPT Those bits just don't exist on LPT. The CRT DAC, PCH transcoder and FDI RX are always connected to DDI E. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 9256aa195d3badd009bf4addee6c3ae39879b8a6 Author: Daniel Vetter Date: Wed Oct 31 19:26:13 2012 +0100 drm/i915: move encoder->mode_set calls to crtc_mode_set Makes more sense to group the entire mode_set stage into one function. Noticed while discussiing the rather confusing set of function names with Paulo Zanoni. Unfortunately I don't have an idea to make the function names lesss confusion. v2: Use for_each_encoder_on_crtc as suggested by Chris Wilson. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 198598d08fefa97f107630ca245407dd07a03e3a Author: Ville Syrjälä Date: Wed Oct 31 17:50:24 2012 +0200 drm/i915: Introduce intel_crtc_update_sarea_pos() Refactor the code that stores the panning x/y position into the sarea. This also changes the code so that it won't mistakenly update sareaB_x/y for pipe >= C. Signed-off-by: Ville Syrjälä Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 28d491df4c6b00f9148a9885dba1f36a078535dc Author: Ville Syrjälä Date: Wed Oct 31 17:50:21 2012 +0200 drm/i915: Bad pixel formats can't reach the sprite code The framebuffer pixel format is already checked by the common code. So there's no way an invalid format could reach the driver. So instead of falling back to a default format, call BUG(). Signed-off-by: Ville Syrjälä Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 2bd3c3cb352b66f40965c974765d605e34d779d9 Author: Ville Syrjälä Date: Wed Oct 31 17:50:20 2012 +0200 drm/i915: pixel_size == cpp Use drm_format_plane_cpp() to get 'pixel_size' in the sprite code. Signed-off-by: Ville Syrjälä Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 90f9a336f56318d4f21a29e8ef063cb70fe7dd11 Author: Ville Syrjälä Date: Wed Oct 31 17:50:19 2012 +0200 drm/i915: Check the framebuffer offset The current code can't deal with framebuffers with an offset. Return an error when trying to create such a framebuffer until the rest of the code is fixed to handle them. Signed-off-by: Ville Syrjälä Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 5d7bd705ddb362d5bd8ef2f3b294cd8f9d93c39e Author: Ville Syrjälä Date: Wed Oct 31 17:50:18 2012 +0200 drm/i915: Check framebuffer stride more thoroughly Make sure the the framebuffer stride is smaller than 32k. That seems to be the limit on recent hardware. Not quite sure if <=Gen4 has smaller limits. Also when using a tiled memory make sure the object stride matches the framebuffer stride. Signed-off-by: Ville Syrjälä Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 57779d06367a915ee03e6cb918d7575f0a46e419 Author: Ville Syrjälä Date: Wed Oct 31 17:50:14 2012 +0200 drm/i915: Fix display pixel format handling Fix support for all RGB/BGR pixel formats (except the 16:16:16:16 float format). Fix intel_init_framebuffer() to match hardware and driver limitations: * RGB332 is not supported at all * CI8 is supported * XRGB1555 & co. are supported on Gen3 and earlier * XRGB210101010 & co. are supported from Gen4 onwards * BGR formats are supported from Gen4 onwards * YUV formats are supported from Gen5 onwards (driver limitation) Signed-off-by: Ville Syrjälä Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit e7210c3c4f0d05e318b854bbd545fe335930c5cc Author: Ben Widawsky Date: Fri Oct 19 09:33:22 2012 -0700 drm/i915: move more pte encoding to pte encode In order to handle differences in pte encoding between architectures it is desirable to have one helper function, pte_encode, do it all for us. As such, this commit moves the code around so we're in good shape to do that. Luckily the ppgtt pte and the ggtt pte look very similar. Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 54d125274fc1bb6454bb73f98471823ed4818991 Author: Ben Widawsky Date: Mon Sep 24 16:44:32 2012 -0700 drm/i915: Extract PPGTT pte encoding HSW will change the PTE encoding, and laying this out now will be helpful when we're ready to implement that. More importantly, GGTT and PPGTT PTE encoding is quite similar, so moving this out into a helper function will enable us to lance the AGP layer. Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit f61c0609073133375ace61f74b0e4e7cf631406b Author: Ben Widawsky Date: Mon Oct 22 11:44:43 2012 -0700 drm/i915: introduce gtt_pte_t This will make the calculations of size easier to read instead of just assuming uint32_t everywhere. Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 8f2c59f0aa3acefbd26443860245c014fa64549b Author: Ben Widawsky Date: Mon Sep 24 08:55:51 2012 -0700 drm/i915: Add dev to ppgtt Some subsequent commits will need to know what generation we're running on to do different pte encoding for the ppgtt. Since it's not much hassle or overhead to store it in the ppgtt structure, do that. Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 8693607ae4efe065aa65e26fd6dda8aab7e18ea7 Author: Ben Widawsky Date: Fri Sep 21 16:54:14 2012 -0700 drm/i915: No LLC_MLC for HSW. The mid-level cache or as it's more commonly referred to now as L3, is not setup this way on HSW. Signed-off-by: Ben Widawsky Reviewed-by: Mika Kuoppala Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 17f10fdc010254b8e9c0f1779abdaaee4757cabf Author: Mika Kuoppala Date: Mon Oct 29 16:59:26 2012 +0200 drm/i915/ringbuffer: exclude last 2 cachelines on 845g on all callpaths Make intel_render_ring_init_dri and intel_init_ring_buffer symmetrical with regards of workaround introduced by: commit 27c1cbd06a7620b354cbb363834f3bb8df4f410d Author: Chris Wilson Date: Mon Apr 9 13:59:46 2012 +0100 drm/i915/ringbuffer: Exclude last 2 cachlines of ring on 845g Signed-off-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit 00c09d70df6b30c980f20facc1db3def3f5a637e Author: Paulo Zanoni Date: Fri Oct 26 19:05:52 2012 -0200 drm/i915: create the DDI encoder Now intel_ddi_init is just like intel_hdmi_init and intel_dp_init: it inits the encoder and then calls the proper init_connector functions. Notice that for non-eDP ports we call both HDMI and DP connector init, so we have 2 connectors attached to each DDI encoder. After this change, intel_hdmi_init and intel_dp_init are only called by Ivy Bridge and earlier, while hardware containing DDI outputs should call intel_ddi_init. Also added/removed quite a few "static" keywords due to the fact that some function pointers were moved from intel_dp.c and intel_hdmi.c to intel_ddi.c. DP finally works on Haswell now! \o/ Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit bcbc889bc44a781577479939490f6b7452d5b808 Author: Paulo Zanoni Date: Fri Oct 26 19:05:51 2012 -0200 drm/i915: add intel_ddi_connector_get_hw_state We need this since now on DDI we will have 2 connectors on each encoder. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 174edf1f867dc573439675f9b4c2211012d4b563 Author: Paulo Zanoni Date: Fri Oct 26 19:05:50 2012 -0200 drm/i915: add port field to intel_digital_port Both "intel_dp" and "intel_hdmi" structs had a "port" field, which always had the same value. It makes more sense to move this to intel_digital_port, so we can know the port independently of the connector type. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit d63885da964ee15c4ae0b348b00a1ce43b104032 Author: Paulo Zanoni Date: Fri Oct 26 19:05:49 2012 -0200 drm/i915: reset intel_encoder->type when DP or HDMI is detected When intel_hdmi_detect detects a monitor, set intel_encoder->type with INTEL_OUTPUT_HDMI. Same for DP. This should not break the current code because these variables never change. This will be used after we create the DDI encoder because it will have both DP and HDMI connectors. We won't support eDP+HDMI on the same port, so if an encoder is eDP we should expect it to always remain eDP and never change. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit f0fec3f2b6b66de5d0ab539a3ed529a3575db98c Author: Paulo Zanoni Date: Fri Oct 26 19:05:48 2012 -0200 drm/i915: split intel_dp_init into encoder and connector pieces Same reason as the previous HDMI commit: the DDI code will have its own encoder init function but still use the DP and HDMI connectors. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau [danvet: kill the unnecessarily added line that Damien spotted in review.] Signed-off-by: Daniel Vetter commit b9cb234cbdc7fb34b78068d5faeace61351347b7 Author: Paulo Zanoni Date: Fri Oct 26 19:05:47 2012 -0200 drm/i915: split intel_hdmi_init into encoder and connector pieces We want to split the HDMI connector and encoder initialization because in the future the DDI code will have its own "encoder init" function, but it will still call intel_hdmi_init_connector. The DDI encoder will actually have two connectors attached to it: HDMI and DP. The best way to look at this patch is to imagine that we're renaming intel_hdmi_init to intel_hdmi_init_connector and removing the encoder-specific pieces and placing them into intel_hdmi_init. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit da63a9f2e4a1595f4890e38a0511d74bea1a51f0 Author: Paulo Zanoni Date: Fri Oct 26 19:05:46 2012 -0200 drm/i915: create intel_digital_port and use it The goal is to have one single encoder capable of controlling both DP and HDMI outputs. This patch just adds the initial infrastructure, no functional changes. Previously, both intel_dp and intel_hdmi were intel_encoders. Now, these 2 structs do not have intel_encoder as members anymore. The new struct intel_digital_port has intel_encoder as a member, and it also includes intel_dp and intel_hdmi as members. In other words: see the changes inside intel_drv.h: it's the most important change, everything else is only to make it compile and work. For now, each intel_digital_port is still only able to control one of HDMI or DP, but not both together. In the future we should also try to merge the common fields from intel_dp and intel_hdmi (e.g., port). Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau [danvet: Add the missing ' ' spotted by Damien Lespiau.] Signed-off-by: Daniel Vetter commit 30add22d8459f8ac28d7ead366129224e0d17c43 Author: Paulo Zanoni Date: Fri Oct 26 19:05:45 2012 -0200 drm/i915: add intel_dp_to_dev and intel_hdmi_to_dev When we add struct intel_digital_port, there will be no direct way of going from intel_{dp,hdmi} to drm_device: we will need to call container_of(). This patch adds functions to go from intel_{dp,hdmi} to drm_device. The main goal here is to greatly reduce the size of the next patch, where we will change the implementation of the functions we just added here (among other things). Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit fa90ecefdc656b1e25af18251707907dbc1e7609 Author: Paulo Zanoni Date: Fri Oct 26 19:05:44 2012 -0200 drm/i915: simplify assignments inside intel_dp.c - Replace container_of with enc_to_intel_dp. - Walk through less structures when making assignments. - Rename some variables to keep our naming standards. As a bonus, this will reduce the usage of "struct intel_dp", making the future patch that introduces intel_digital_port smaller and easier to review. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 263b30d4b1a52432075069070328cfa641179f92 Author: Zhenyu Wang Date: Tue Oct 30 19:16:34 2012 +0800 drm/i915: Fix HSW power well control state read Fix power well control state by reading real register offset. Signed-off-by: Zhenyu Wang Signed-off-by: Daniel Vetter commit 14f86147a90cb47db7ccfd90bf14f830fb34fba9 Author: Damien Lespiau Date: Mon Oct 29 15:24:49 2012 +0000 drm/i915: Flush using only the correct base address register We were writing DSP_ADDR and DSP_SURF unconditionally. This did not trigger an unclaimed write before HSW as the address of DSP_ADDR has been repurposed as DSP_LINOFF. On HSW, though, DSP_LINOFF has been removed and then writting to it triggers an unclaimed write. This patch writes to DSP_ADDR or DSP_SURF to flush the display plane configuration depending on the gen we're running on. Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4358a3748c39de3e66b6dc260af7a5ef785e120b Author: Daniel Vetter Date: Thu Oct 18 11:49:51 2012 +0200 drm/i915: implement WaDisableRenderCachePipelinedFlush Comment says for eaglelake/cantiga, but it's listed in the ilk table, too. So apply it to both. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit a8b1397d717e36abd9e45f8fee61d800f7d236ec Author: Daniel Vetter Date: Thu Oct 18 14:16:09 2012 +0200 drm/i915: implement WaIssueDummyWriteToWakeupFromRC6 Or at least our best understanding of it. v2: Fixup commit message and put the wa name into the comment block. And actually update the commit, too. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 5a35e99e8162d6820013a56ad15ea8bf937af5a6 Author: Damien Lespiau Date: Fri Oct 26 18:20:12 2012 +0100 drm/i915: adjust sprite base address Just like in: commit c2c75131244507c93f812862fdbd4f3a37139401 Author: Daniel Vetter Date: Thu Jul 5 12:17:30 2012 +0200 drm/i915: adjust framebuffer base address on gen4+ but this time, for the sprite planes. This ensures that the sprite offset are always inside the supported hardware limits since it becomes the offset into a page and we adjust the base address to a page boundary. Signed-off-by: Damien Lespiau Signed-off-by: Daniel Vetter commit c54173a85d4931b8cf5cefdf0821a4745c7a9241 Author: Damien Lespiau Date: Fri Oct 26 18:20:11 2012 +0100 drm/i915: Fix sprite offset on HSW HSW consolidates SPRTILEOFF and SPRLINOFF into a single SPROFFSET register. v2: Remove a useless level of indentation (Paulo Zanoni) Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni (v1) Signed-off-by: Daniel Vetter commit bc1c91ebe31dfbc3a013adccbec6131d63efc8cf Author: Damien Lespiau Date: Mon Oct 29 12:14:21 2012 +0000 drm/i915: Fix primary plane offset on HSW Haswell consolidates DSP_TILEOFF and DSP_LINOFF into DSP_OFFSET (aka PRI_OFFSET). Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 94c6419ed8f45e6682d766672b9ceb54867d3d2d Author: Damien Lespiau Date: Mon Oct 29 15:14:51 2012 +0000 drm/i915: Error out when trying to set a y-tiled as a sprite v2: Use a switch for consistency (Chris Wilson) Signed-off-by: Damien Lespiau Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit f5d8491a92e4e5146edf61ed5dda8b4f808b460a Author: Damien Lespiau Date: Mon Oct 29 15:25:35 2012 +0000 drm/i915/tv: Use intel_flush_display_plane() to flush the primary plane Instead of writing to the DSP_ADDR ourselves. This will do the right thing on gen >= 4 as well. Signed-off-by: Damien Lespiau Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 01a415fd026c1a413a7016ee880fff7a113af6c8 Author: Daniel Vetter Date: Sat Oct 27 15:58:40 2012 +0200 drm/i915: check fdi B/C lane sharing constraint And properly toggle the chicken bit in the pch to enable/disable fdi C rx. If we don't set this bit correctly, the rx gets confused in link training, which can result in an fdi link that silently fails to train the link (since the corresponding register reports success). Note that both fdi link B and C can suffer when this bit is not set correctly. The code as-is has a few deficiencies: - We presume all pipes use the pch which is not the case for cpu edp. - We don't bother with disabling both pipes when we could make things work, e.g. when pipe B switched from 4 to 2 lanes due to a mode change, we don't bother updating the w/a bit. - It's ugly. All of these are because we compute ->fdi_lanes way too late, when we're already setting up individual pipes. We need to have this information in ->modeset_global_resources already, to set things up correctly. But that is a much larger reorg of the code. Note that we actually hit the 2 lanes limit in practice rather quickly: Even though the 1920x1200 mode native mode of my screen fits into 2 lanes, it needs 3 lanes for the 1920x1080 (since that somehow has much more blanking ...). Not obeying this restriction seems to results in cute-looking digital noise. v2: Only ever clear the chicken bit when both pipes are off. v3: Use the new ->modeset_global_resources callback. v4: Move the WARNs to the right place. Oh how I hate hacks. v5: Fix spelling, noticed by Paulo Zanoni. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 47fab7370b45c6708e57430831839261d0d63f53 Author: Daniel Vetter Date: Fri Oct 26 10:58:18 2012 +0200 drm/i915: add ->display.modeset_global_resources callback After all relevant pipes are disabled and after we've updated all the state with the staged state, but before we call the per-crtc ->mode_set functions there's a very natural point to set up any shared/global resources like - shared plls (obviously only the setup, the enabling needs to be separately handling with a separate refcount) - global watermark state like the DSPARB on gmch platforms - workaround bits that depend upon the exact global output configuration - enabling the right set of refclocks - enabling/disabling manual power wells. Now for a lot of these things we can't move them into this function yet, most often because we only compute the required information in the per-crtc ->mode_set callback. Which is too late. But due to a bunch of reasons (check-only atomic modeset, fastboot&hw state checks, ...) we need to separate the computation of that state from the actual hw frobbery anyway. So we can move things into this new callback step- by-step. Others can't be moved here (or implemented at all) because our code lacks the smarts to properly update them. E.g. the DSPARB can only be updated when all pipes are disabled, so if we decide to change it's value, we need to disable _all_ pipes. The infrastructure for that is already in place (with the various pipe masks that driver the modeset logic). But again we need to move a few things out of ->mode_set first before we can even implement the correct decision making. In any case, we need to start somewhere, so let's start with the callback: Some small follow-up patches will make immediate good use of it. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit e95d41e1233f0c05f858f2bc5e43858972542581 Author: Daniel Vetter Date: Fri Oct 26 10:58:16 2012 +0200 drm/i915: BUG on impossible pch dp port Since it is one. We need to move this code to encoder specific callbacks eventually, to kill all that inversion of control ... Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 572deb3728c1ad937d472b418588959344d884b4 Author: Daniel Vetter Date: Sat Oct 27 18:46:14 2012 +0200 drm/i915: add comment about pch pll enabling rules Atm we have a few funny issues where we enable/disable shared pll clocks. To make it clear that we are not required to enable/ disable the pch plls together with the other pch resources (and so should keep it running when it's used by another pipe in a shared pll configuration) add a comment. This note is lifted from "Graphics BSpec: vol4g North Display Engine Registers [IVB], Display Mode Set Sequence", step 9.d. of the enable sequence: "Configure and enable PCH DPLL, wait for PCH DPLL warmup (Can be done anytime before enabling PCH transcoder)." Since fixing the pll sharing code to no longer disable shared plls if they're still in use is more involved, let's just stick with the comment for now. v2: Make the comment in the code clearer, to address questions raised by Paulo Zanoni in review. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit d74cf324e2b64349a49d0f17e9f6764f8a7d8349 Author: Daniel Vetter Date: Fri Oct 26 10:58:13 2012 +0200 drm/i915: set FDI_RX_MISC to recommended values on CPT/PPT My machine here has the correct ones already, but better safe than sorry. IBX has different settings for that register, and on IBX the device defaults match the recommended values. Hence I did not add the respective writes for IBX. LPT needs the same settings, but that has been done already commit 4acf518626cdad5bbf7aac9869bd4accbbfb4ad3 Author: Eugeni Dodonov Date: Wed Jul 4 20:15:16 2012 -0300 drm/i915: program FDI_RX TP and FDI delays Cc: Paulo Zanoni Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit fff367c752f5fb998882c7bc0a213ab1e53857db Author: Daniel Vetter Date: Sat Oct 27 15:50:28 2012 +0200 drm/i915: clarify why we need to enable fdi plls so early For reference, see "Graphics BSpec: vol4g North Display Engine Registers [IVB], Display Mode Set Sequence", step 4 of the enabling sequence: a. "Enable PCH FDI Receiver PLL, wait for warmup plus DMI latency b. "Switch from Rawclk to PCDclk in FDI Receiver c. "Enable CPU FDI Transmitter PLL, wait for warmup" Cc: Paulo Zanoni Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit cd986abbac6044c76b95fd512bc62329ef9959d0 Author: Daniel Vetter Date: Fri Oct 26 10:58:12 2012 +0200 drm/i915: Write the FDI RX TU size reg at the right time According to "Graphics BSpec: vol4g North Display Engine Registers [IVB], Display Mode Set Sequence" We need to write the TU size register of the fdi RX unit _before_ starting to train the link. Note: The current code is actually correct as Paulo mentioned in review, but it's a bit confusion since only the fdi rx/tx plls need to be enabled before the cpu pipes/planes. Hence it's still a good idea to move the TU_SIZE setting to the "right" spot in the sequence, to better match Bspec. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4a0833ec48d3411042c0ccee3daec1cbca4c1999 Author: Daniel Vetter Date: Fri Oct 26 10:58:11 2012 +0200 drm/i915: shut up spurious message in intel_dp_get_hw_state The debug message is only relevant on CPT/PPT PCH ports, so move it into the correct if clause. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit d18aa87fbfe80f33076942d11f19c9d813e835b1 Author: Johannes Berg Date: Tue Nov 6 16:36:21 2012 +0100 iwlwifi: return commands with error on FW error When a firmware error occurs, don't just abort synchronous commands but also return an error (-EIO) and block any new commands as well. Currently, an error is only returned if WANT_SKB was set which is confusing and can lead to issues. Blocking is done until a new firmware image is loaded. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6352c87ff69daa2211419ec2c34ddb8bc116c505 Author: Johannes Berg Date: Wed Nov 7 12:40:41 2012 +0100 mac80211: reassign channel contexts before stations Since channel contexts are usually present before stations can be added to an interface, reassign before stations them in reconfiguration as well. Signed-off-by: Johannes Berg commit 8b2c98243e8d00f9c6b6059976d6de51491ee0c7 Author: Johannes Berg Date: Tue Nov 6 20:23:30 2012 +0100 mac80211: clarify interface iteration and make it configurable During hardware restart, all interfaces are iterated even though they haven't been re-added to the driver, document this behaviour. The same also happens during resume, which is even more confusing since all of the interfaces were previously removed from the driver. Make this optional so drivers relying on the current behaviour can still use it, but to let drivers that don't want this behaviour disable it. Also convert all API users, keeping the old semantics except in hwsim, where the new normal ones are desired. Signed-off-by: Johannes Berg commit 9214ad7f9a0bfbfb2c204305e7391ce8b7fe4d29 Author: Johannes Berg Date: Tue Nov 6 19:18:13 2012 +0100 mac80211: call driver method when restart completes When the driver requests a restart (reconfiguration) it gets all the normal method calls, but can't really tell why they're happening. Call a new restart_complete op in the driver when the restart completes, so it could keep its own state about the restart and clear it there. Signed-off-by: Johannes Berg commit 60762cbfebafe41425e39d32efc07f260d4a100c Author: Johannes Berg Date: Thu Nov 8 18:16:48 2012 +0100 mac80211: remove unused tracepoint Clearly the tracepoint drv_offchannel_tx was forgotten when that functionality was removed, remove it now. Signed-off-by: Johannes Berg commit 08643315e55fd781cf2d533d33d41a280b33133f Author: Johannes Berg Date: Thu Nov 8 15:29:28 2012 +0100 mac80211: add debugfs file for HW queues Add a debugfs file showing which HW queues were allocated to a virtual interface, including the CAB queue for AP interfaces. Change-Id: I486924e961b6ad6785a79db09620919ee644e703 Signed-off-by: Johannes Berg commit 1c963bec3534b175eed6f216a9d6ed6f082fe740 Author: Johannes Berg Date: Wed Nov 7 14:02:30 2012 +0100 mac80211: fix TX error path One error path in ieee80211_subif_start_xmit() will double-free the SKB. Set it to NULL to prevent that. This issue was introduced by my channel context changes. Signed-off-by: Johannes Berg commit 4afebd6364903d9616073b1fb71a75291e55dfec Author: Emmanuel Grumbach Date: Wed Nov 7 11:13:58 2012 +0200 mac80211: include export.h in aes_cmac This is needed since this file exports functions. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6fc1da9b4bba273989a707997f52b6382f608a2f Author: Johannes Berg Date: Mon Nov 5 20:30:39 2012 +0100 mac80211: use kstrtoull return value If kstrtoull() returns an error code (a value smaller than zero), use it since it can be an error other than -EINVAL. Signed-off-by: Johannes Berg commit 41c97a2032e753d7975828c51b23b570dc6f9b0d Author: Johannes Berg Date: Mon Nov 5 20:27:57 2012 +0100 mac80211: fix race in TKIP MIC test debugfs file Accessing sdata->vif.bss_conf.bssid without any protection here is racy, use u.mgd.associated instead and lock the correct mutex for it. Signed-off-by: Johannes Berg commit 28656a111af70116027fb0a0931df4b46d7375b1 Author: Johannes Berg Date: Mon Nov 5 20:24:38 2012 +0100 mac80211: use mac_pton Instead of implementing practically the same function (hwaddr_aton) use mac_pton. Signed-off-by: Johannes Berg commit b84e7a05f619faec58bff24dfeeb2406f8dab584 Author: Antonio Quartulli Date: Wed Nov 7 12:52:20 2012 +0100 nl80211: send the NL80211_ATTR_SSID in nl80211_send_iface() The userspace may want to know what is the current ssid that a given interface is using. This patch enables nl80211 to send the NL80211_ATTR_SSID attribute in nl80211_send_iface(). Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit 06e191e22eb99ceeda60234502446c4c54492883 Author: Antonio Quartulli Date: Wed Nov 7 12:52:19 2012 +0100 cfg80211: store the ssid into wirless_dev in AP mode Store the configured ssid in wdev->ssid when starting an AP Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit 2e6e6b1f3f6ca4903f2b2a8e8ac764e5cef2e7a8 Author: Johannes Berg Date: Tue Nov 6 12:37:21 2012 +0100 iwlwifi: fix typo in RX data tracing The printk message should say RX, not TX. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6b450fcbff6a6d9e4f7ebe47e579ab4c43a6b745 Author: Johannes Berg Date: Mon Nov 5 19:45:36 2012 +0100 iwlwifi: remove useless messages There's no need to print the PCI resource length and base address, nor the hardware revision ID (which can be found in lspci) Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 468b4bf38950b03ff2ce8316f836d2c33b17a321 Author: Johannes Berg Date: Mon Nov 5 19:48:33 2012 +0100 iwlwifi: remove SKU/antenna messages by default There's no reason to print these all the time, the messages aren't all that interesting. Leave them as DEBUG_INFO though, just in case. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit d01031b23e1cdbfe173404150804284a3aba714b Author: Johannes Berg Date: Mon Nov 5 19:50:26 2012 +0100 iwlwifi: remove EEPROM version message by default If the EEPROM reading was successful, don't print a message by default, the EEPROM version isn't all that interesting. Change the message to DEBUG_INFO priority so it can still be obtained. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6380813c6e316455b944ba5f7b1515c98b837850 Author: Wei Yongjun Date: Tue Nov 6 14:34:25 2012 +0000 gma500: medfield: drop bogus NULL check in mdfld_dsi_output_init() Drop the NULL test for dev since it never be NULL. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: Wei Yongjun Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 39ec748f717460290424208d23879eadbf5ffb1c Author: Alan Cox Date: Tue Nov 6 13:49:23 2012 +0000 gma600: Enable HDMI support There are still some mysteries left, in particular how (and in fact if) the EDID is supposed to work on the HDMI port. However the basic stuff now works and I can plug my Q550 into an HDMI display and get the expected results. [v2: cleans up space/tab and other formatting as per Dave's request] Signed-off-by: Alan Cox Signed-off-by: Dave Airlie commit 94baf0e27181c6a2f82cdbc5b960b197570e17de Author: Maarten Lankhorst Date: Fri Oct 12 14:59:50 2012 +0000 drm/vmwgfx: use ttm_bo_is_reserved Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 0a46fb5f41dbc7fae20764556ec7bf742cc0763a Author: Maarten Lankhorst Date: Fri Oct 12 14:59:17 2012 +0000 drm/radeon: Use ttm_bo_is_reserved Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit a9dbfff1cbe5972ae0ef07b51530a70240ec9f2c Author: Maarten Lankhorst Date: Fri Oct 12 16:58:36 2012 +0200 drm/ttm: add ttm_bo_is_reserved Signed-off-by: Maarten Lankhorst Reviewed-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit c4a56750ecbf2421ebd39f0fec562e1869a38d53 Author: Ville Syrjälä Date: Thu Oct 25 18:05:06 2012 +0000 drm: Ignore blob propertys in drm_property_change_is_valid() In case of a blob property drm_property_change_is_valid() can't tell whether the change is valid or not. So just return true for all blob properties, and leave it up to someone else to check it. Signed-off-by: Ville Syrjälä Signed-off-by: Dave Airlie commit 0b3904ab2a48488e23332ac1ecd2d45961ec6718 Author: Ville Syrjälä Date: Thu Oct 25 18:05:05 2012 +0000 drm: Constify some function arguments None of drm_mode_debug_printmodeline(), drm_mode_equal(), drm_mode_width() or drm_mode_height() change the mode passed in, so make the arguments const. Signed-off-by: Ville Syrjälä Signed-off-by: Dave Airlie commit b180b5d1c7ac930387734664802fc26fa788e26f Author: Ville Syrjälä Date: Thu Oct 25 18:05:04 2012 +0000 drm: Be more paranoid with integer overflows Make sure 'width * cpp' and 'height * pitch + offset' don't exceed UINT_MAX. Signed-off-by: Ville Syrjälä Reviewed-by: Alex Deucher Signed-off-by: Dave Airlie commit 488dd7b53de9ea41edf7a475be63da51bdd05093 Author: Johannes Berg Date: Mon Oct 29 20:08:01 2012 +0100 mac80211: pass P2P powersave parameters to driver While connected to a GO, parse the P2P NoA attribute and pass the CT Window and opportunistic powersave parameters to the driver. Signed-off-by: Johannes Berg commit 0ee453552f0b1ea87f6f50a077b0ed9d9ac7d6ac Author: Johannes Berg Date: Mon Oct 29 19:48:40 2012 +0100 wireless: add utility function to get P2P attribute Parsing the P2P attributes can be tricky as their contents can be split across multiple (vendor) IEs. Thus, it's not possible to parse them like IEs (by returning a pointer to the data.) Instead, provide a function that copies the attribute data into a caller-provided buffer and returns the size needed (useful in case the buffer was too small.) Signed-off-by: Johannes Berg commit 37c73b5f323c973c1db6857494a6685260440be1 Author: Ben Greear Date: Fri Oct 26 14:49:25 2012 -0700 cfg80211: allow registering more than one beacon listener The commit: commit 5e760230e42cf759bd923457ca2753aacf2e656e Author: Johannes Berg Date: Fri Nov 4 11:18:17 2011 +0100 cfg80211: allow registering to beacons allowed only a single process to register for beacon events per wiphy. This breaks cases where a user may want two or more VIFs on a wiphy and run a seperate hostapd process on each vif. This patch allows multiple beacon listeners, fixing the regression. Signed-off-by: Ben Greear Signed-off-by: Johannes Berg commit e7332691de2f97e47099088ca5d20f1ca6be8e0b Author: Emmanuel Grumbach Date: Mon Nov 5 12:52:57 2012 +0200 iwlwifi: zero trans_cfg before settings its fields People tend not to set the fields they want to leave as 0. So make sure the struct is zeroed properly. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit adca1235cccacee91beb640a044e51b1c457b1ea Author: Emmanuel Grumbach Date: Thu Oct 25 23:08:27 2012 +0200 iwlwifi: check the SCD conf from ALIVE response The ALIVE response of new fw inclues the base address of the SCD in SRAM. Until we read it from a prph register, which was set by the fw. Since the fw might well stop updating the prph register, add a WARN when there is an inconsitency between the ALIVE response and the register to catch any change in the behavior. Reviewed-by: Gregory Greenman Reviewed-by: Johannes Berg Signed-off-by: Johannes Berg commit e2b1930e6fd9aaa72cc44519b257ae71a1c2e29f Author: Johannes Berg Date: Sun Nov 4 09:31:25 2012 +0100 iwlwifi: use list_first_entry Instead of open-coding it with a temporary list_head pointer, just use list_first_entry. Reviewed-by: Gregory Greenman Signed-off-by: Johannes Berg commit a4dece9abce75332a082340bcc9b176f10484a62 Author: Johannes Berg Date: Wed Oct 31 22:21:28 2012 +0100 iwlwifi: fix queue flush confusion The flush_control parameter to iwlagn_txfifo_flush is passed as an internal value (context flags) and then sent to the device, that can't be right. Fix the confusion by removing the parameter, always use IWL_DROP_ALL that is redefined according to the firmware API in the flush control. Signed-off-by: Johannes Berg Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 2eb81a40aa521035ff9c8c8309e482dff523f8c9 Author: Johannes Berg Date: Wed Oct 31 21:46:07 2012 +0100 iwlwifi: don't clear CTL_AMPDU on frame status There's no reason to clear the CTL_AMPDU flag on transmitted frame status, it's not used by the driver here and mac80211 only uses it for some rate statistics. Also remove a stray space in the function. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 37c477dc1c6cad4a36049a9a10e4aa3dbf450c0f Author: Johannes Berg Date: Wed Oct 31 20:49:32 2012 +0100 iwlwifi: fix flush command The flush command really flushes queues, not FIFOs, and the first 32 bits indicate the queues to flush, not FIFOs. Change the command accordingly. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 391e53e33f0028f52ce5eedee1026830571f0d76 Author: Antonio Quartulli Date: Fri Nov 2 13:27:49 2012 +0100 mac80211: implement set_mcast_rate() callback This new callback can be used to tune the rate to be used to send multicast frames. In the current state the multicast rate can be specified on IBSS/MESH joining only. This makes it impossible to select a custom multicast rate when then join command is sent by an external program (e.g. wpa_supplicant) Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit f4e583c8935c6f52f9385ee7cfbea8f65c66a737 Author: Antonio Quartulli Date: Fri Nov 2 13:27:48 2012 +0100 nl/cfg80211: add the NL80211_CMD_SET_MCAST_RATE command This command triggers a new callback: set_mcast_rate(). It enables the user to change the rate used to send multicast frames for vif configured as IBSS or MESH_POINT Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit 8655201726b7707fa777582c30979fdd53e815a9 Author: Johannes Berg Date: Mon Oct 29 09:46:31 2012 +0100 mac80211: send deauth only with channel context When userspace asks to deauthenticate and we're just authenticated (or still authenticating) send a deauth frame instead of deleting the auth request. On the other hand, if we've just disassociated and therefore deleted all our state already, drop the deauth request because we no longer have a channel context to send it on. Signed-off-by: Johannes Berg commit c8241969b44438c9335b59d375b627214bc36483 Author: Jani Nikula Date: Fri Nov 2 10:19:55 2012 +0200 drm/i915: pass adjusted_mode to intel_choose_pipe_bpp_dither(), again Daniel's backmerge commit c2fb7916927e989ea424e61ce5fe617e54878827 Merge: 29de6ce 6f0c058 Author: Daniel Vetter Date: Mon Oct 22 14:34:51 2012 +0200 Merge tag 'v3.7-rc2' into drm-intel-next-queued to solve conflicts blew up (either git or Daniel was trying to be too clever for their own good; it's usually convenient to blame tools ;) and caused the changes of 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 in ironlake_crtc_mode_set() to be dropped. Fix the call in ironlake_crtc_mode_set() again, and while at it, also fix the new, copy-pasted haswell_crtc_mode_set() to use adjusted_mode. Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit fffadc08ebf1f4c61bb8f9be0f1d8c3c053d815f Author: Andrei Emeltchenko Date: Thu Nov 1 15:37:03 2012 +0200 Bluetooth: Rename ctrl_id to remote_amp_id Since we have started to use local_amp_id for local AMP Controller Id it makes sense to rename ctrl_id to remote_amp_id since it represents remote AMP controller Id. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 6e1df6a60372b6ea00c480c1cd8c8c8134357d89 Author: Andrei Emeltchenko Date: Thu Nov 1 15:37:02 2012 +0200 Bluetooth: Process Create Chan Request Add processing L2CAP Create Chan Request. When channel is created save associated high speed link hs_hcon. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit cf70ff220a918b25d383510f913de52308d04bb2 Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:36 2012 +0200 Bluetooth: AMP: Use l2cap_physical_cfm in phylink complete evt When receiving HCI Phylink Complete event run amp_physical_cfm which initialize BR/EDR L2CAP channel associated with High Speed link and run l2cap_physical_cfm which shall send L2CAP Create Chan Request. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit f351bc72676e2666543511558215fe3c95d4336f Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:35 2012 +0200 Bluetooth: AMP: Check for hs_hcon instead of ctrl_id When deciding whether to send EFS configuration response with success, check rather for existence of High Speed physical link hs_hcon then ctrl_id. There might be cases when there is ctrl_id but high speed link is not established yet. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 419e08c1121ab346bf5f66fe0a21950529355cee Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:34 2012 +0200 Bluetooth: Disconnect logical link when deleting chan Disconnect logical link for high speed channel hs_hchan associated with L2CAP channel chan. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit e58917b990ef0cc3903aa962236a0dae4f1f81a0 Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:33 2012 +0200 Bluetooth: AMP: Remove hci_conn receiving error command status When receiving HCI Event: Command Status for Create Physical Link with Error code remove AMP hcon. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 9eef6b3a9e38d5f8ad315b2a7db153392e6a77d6 Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:32 2012 +0200 Bluetooth: AMP: Process Disc Physical Link Complete evt Add processing for HCI Disconnection Physical Link Complete Event. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 606e2a10a6d23e900dad0b098a09438a5f7e0495 Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:31 2012 +0200 Bluetooth: AMP: Process Disc Logical Link Add processing for HCI Disconnection Logical Link Complete Event. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 5ce66b59d787478f57a6f3368ff23d75a06e76e2 Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:30 2012 +0200 Bluetooth: AMP: Add Logical Link Create function After physical link is created logical link needs to be created. The process starts after L2CAP channel is created and L2CAP Configuration Response with result PENDING is received. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 770bfefa2cbe8f5911860fef1a68ea873a9bbdbe Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:29 2012 +0200 Bluetooth: Derive remote and local amp id from chan struct l2cap_chan already keeps information about *_amp_id. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 439f34acead5bb1679f194c2023f05b90dcb8b4c Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:28 2012 +0200 Bluetooth: Return correct L2CAP response type Return L2CAP_CREATE_CHAN_RSP for Create Channel Request and L2CAP_CONN_RSP for Create Connection Request. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 336178a33491685039d154d1f0a8bd696f51699b Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:27 2012 +0200 Bluetooth: Save hs_hchan instead of hs_hcon in loglink complete When logical link creation is completed we need to save hs_hchan which represents logical link instead of hs_hcon representing physical link. hs_hcon shall be saved when receiving physical link complete event. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit ba6fc31727c07e11a7b700a9c17e91ab4bed2f4c Author: Andrei Emeltchenko Date: Wed Oct 31 15:46:26 2012 +0200 Bluetooth: trivial: Fix braces style and remove empty line Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 612dfce9fbd2e564bcd656d4b7f7fa7d72966c47 Author: Syam Sidhardhan Date: Mon Oct 29 22:37:36 2012 +0530 Bluetooth: mgmt: Use __constant when dealing with constants __constant_cpu_to_le*() is the right go here. Signed-off-by: Syam Sidhardhan Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 258c4ed076387fc900ea52869eab9b7ee67ce864 Author: Syam Sidhardhan Date: Tue Oct 23 19:02:17 2012 +0530 Bluetooth: Remove unnecessary include export.h For files only using THIS_MODULE and/or EXPORT_SYMBOL, map them onto including export.h -- or if the file isn't even using those, then just delete the include. Signed-off-by: Syam Sidhardhan Signed-off-by: Gustavo Padovan commit e9b02748ffc043e8a36f7893bbf58bb886f0b7e4 Author: Andrei Emeltchenko Date: Thu Oct 25 15:20:51 2012 +0300 Bluetooth: Add put(hcon) when deleting hchan When refcnt reaches zero disconnect timeout will run and hci_conn will be disconnected. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 27695fb415ab150e1972a882c2538bf9bf130cb0 Author: Andrei Emeltchenko Date: Thu Oct 25 15:20:45 2012 +0300 Bluetooth: AMP: Process Logical Link complete evt After receiving HCI Logical Link Complete event finish EFS configuration by sending L2CAP Conf Response with success code. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit d5e911928bd8325918bda3df59e84b0c17a0cdab Author: Andrei Emeltchenko Date: Thu Oct 25 15:20:44 2012 +0300 Bluetooth: AMP: Process Physical Link Complete evt Add processing for HCI Physical Link Complete event. Upon successful status received start L2CAP create channel process. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 35ba9561b9b5dc1e5921b927440bd6d3844f0577 Author: Andrei Emeltchenko Date: Thu Oct 25 15:20:43 2012 +0300 Bluetooth: Use helper function sending EFS conf rsp There is helper function used to send EFS Configuration Response. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit fe79c6fea30a7b6d1a8757c9bfce2f6426c68436 Author: Andrei Emeltchenko Date: Thu Oct 25 15:20:42 2012 +0300 Bluetooth: trivial: Remove unneeded assignment Assignment is not needed here since err is always gets value. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 430a61b8037e3184eb7e59220bb4a43530b8d0f6 Author: Johan Hedberg Date: Thu Oct 25 00:09:53 2012 +0300 Bluetooth: Fix sending unnecessary HCI_LE_Host_Enable This patch fixes sending an unnecessary HCI_LE_Host_Enable command if the command has already been sent as part of the default HCI init sequence. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo Padovan commit 1225a6bdf87446134789f3fc70ca75a056bbb1ed Author: Johan Hedberg Date: Thu Oct 25 00:09:54 2012 +0300 Bluetooth: Fix unnecessary EIR update during powering on When powered on the EIR data gets updated as the last step by mgmt. Therefore avoid an update when getting a local name update as that's part of the normal HCI init sequence. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 6b4b73ee75bd65c4a47b1a323cb7c5180a6d2ea7 Author: Johan Hedberg Date: Thu Oct 25 00:09:52 2012 +0300 Bluetooth: Fix sending unnecessary HCI_Write_SSP_Mode command This patch fixes sending an unnecessary HCI_Write_SSP_Mode command if the command has already been sent as part of the default HCI init sequence. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 5ed8eb2f6b5710c09bd1adb40aa795a424e21143 Author: Johan Hedberg Date: Thu Oct 25 00:09:51 2012 +0300 Bluetooth: Fix setting host feature bits for SSP When we get a successful command complete for HCI_Write_SSP_Mode we need to update the host feature bits for the hdev struct accordingly. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit f15504788d7b1613ef2ef0a673cfe250c16a6b0d Author: Johan Hedberg Date: Wed Oct 24 21:12:03 2012 +0300 Bluetooth: Disallow LE scanning and connecting in peripheral role When an adapter is in the LE peripheral role scanning for other devices or initiating connections to them is not allowed. This patch makes sure that such attempts will result in appropriate error returns. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 976eb20e61e33dd3e7840bc26bc5d33ab9ca9c5c Author: Johan Hedberg Date: Wed Oct 24 21:12:01 2012 +0300 Bluetooth: Make use feature test macros For better code readability and avoiding simple bugs of checking the wrong byte of the features make use of feature test macros whenever possible. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 53b2caabbe97193e6231dbcc0d48f7e1888fa38e Author: Johan Hedberg Date: Wed Oct 24 21:11:59 2012 +0300 Bluetooth: Fix updating host feature bits for LE When LE has been enabled with the simultaneous BR/EDR & LE parameter set to true we should also update the host features stored in struct hci_dev accordingly. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 33c525c0a37abd136f014f473f5a2efddba58167 Author: Johan Hedberg Date: Wed Oct 24 21:11:58 2012 +0300 Bluetooth: mgmt: Restrict BR/EDR settings to BR/EDR-only adapters This patch makes sure that settings which are specific for BR/EDR capable adapters are not allowed for non-BR/EDR (e.g. LE-only) adapters. Instead, a "not supported" error is returned of such a setting is attempted to be set for a non-BR/EDR adapter. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 7f0ae647b29ba80d5a1127804ba478e3de8a6b4c Author: Johan Hedberg Date: Wed Oct 24 21:11:57 2012 +0300 Bluetooth: Fix HCI command sending when powering on LE-only adapters This patch makes sure that we don't send BR/EDR-only commands for LE-only adapters when they get powered on. Doing this would just cause command errors. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 0daf7d9605352d4f0c5575a897dd71787ea92b9c Author: Emmanuel Grumbach Date: Tue Oct 30 18:31:41 2012 +0200 iwlwifi: don't call stop_device twice When we unregister from mac80211 it will down the device anyway. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f946b529502399d09471c5d13845fefbfe8555a6 Author: Emmanuel Grumbach Date: Thu Oct 25 17:25:52 2012 +0200 iwlwifi: handle RFKILL logic in the transport layer No HCMD can be sent while RFKILL is asserted. If a SYNC command is running while RFKILL is asserted the fw will silently discard it. This means that the driver needs to wake the process that sleeps on the CMD_SYNC. Since the RFKILL interrupt is handled in the transport layer and the code that sleeps in CMD_SYNC is also in the transport layer, all this logic can be handled there. This simplifies the work of the op_mode. So the transport layer will now return -ERFKILL when a CMD is sent and RFKILL is asserted. This will be the case even when the CMD is SYNC. The transport layer will return -ERFKILL straight away. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 38141fcfaad34a388e61a7a7e98d521330e049d6 Author: Dan Carpenter Date: Tue Oct 30 21:04:26 2012 +0300 ar5523: make buffer size variable unsigned A negative buffer size doesn't make sense and it breaks this check in ar5523_get_max_rxsz(): if (!ar->rxbufsz || ar->rxbufsz > AR5523_SANE_RXBUFSZ) { ... Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit da17fcffb1dff98463640d1deaeafbc6a7e73a41 Author: Larry Finger Date: Thu Oct 25 13:46:31 2012 -0500 rtlwifi: rtl8192c: rtl8192ce: rtl8192cu: rtl8192se: rtl8192de: Shorten some variable names The private data areas for these drivers contain some very long variable names that cause difficulty in fitting source lines to an 80-character limit. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0bd899e76476e0134f7289a003090165adea2611 Author: Larry Finger Date: Thu Oct 25 13:46:30 2012 -0500 rtlwifi: rtl8192c: rtl8192ce: Add support for B-CUT version of RTL8188CE Realtek devices with designation RTL8188CE-VL have the so-called B-cut of the wireless chip. This patch adds the special programming needed by these devices. In addition, a variable that was static has been moved into the private data area as it is now needed in two different routines. This change also fixes a minor bug that would be present if a system had more than one RTL81{88,92}CE devices. Other drivers in the rtlwifi family had already made this change, thus the variable already exists in the private data structure. Signed-off-by: Larry Finger Cc: Anisse Astier Cc: Li Chaoming Signed-off-by: John W. Linville commit 50febf6a1a9270b3558671864a27b23f671598ab Author: Johannes Berg Date: Fri Oct 26 16:13:06 2012 +0200 mac80211: use a counter for remain-on-channel cookie Instead of using the pointer which can be re-used fairly quickly due to allocator patterns and then makes debugging difficult, maintain a counter and use its value. Since it's a 64-bit value it can't really wrap, but catch that case anyway since it most likely points to a bug somewhere. Signed-off-by: Johannes Berg commit 8a2fbedcdc9bec1d613961f97cb87d6b71a66076 Author: Johannes Berg Date: Fri Oct 26 15:53:06 2012 +0200 mac80211: combine status/drop reporting The TX status reporting is done for both the nl80211 report as well as the socket option. The socket option is also reported when an skb is dropped to guarantee that the copy in the IDR tree is freed and status is reported to userspace. However, when a frame is dropped, no nl80211 status is reported. This can cause userspace to stop making progress while waiting for a status notification. Combine the nl80211 and socket option status reporting into a new function and call it in both places -- when the status comes in from the driver and when the skb is dropped. While at it, also simplify the code in the nl80211 portion a bit. Signed-off-by: Johannes Berg commit cbc668a7058222fe065727013097664fc83a700d Author: Johannes Berg Date: Wed Oct 24 11:54:31 2012 +0200 mac80211_hwsim: print per interface TX power Just for debugging, print the interface TX power whenever it changes. Signed-off-by: Johannes Berg commit 1ea6f9c0d48b11b6ec3ec4b5579ec74fc3951cf8 Author: Johannes Berg Date: Wed Oct 24 10:59:25 2012 +0200 mac80211: handle TX power per virtual interface Even before channel contexts/multi-channel, having a single global TX power limit was already problematic, in particular if two managed interfaces connected to two APs with different power constraints. The channel context introduction completely broke this though and in fact I had disabled TX power configuration there for drivers using channel contexts. Change everything to track TX power per interface so that different user settings and different channel maxima are treated correctly. Also continue tracking the global TX power though for compatibility with applications that attempt to configure the wiphy's TX power globally. Signed-off-by: Johannes Berg commit c8442118ad9cd05cfe3b993f058e70ab25b1009a Author: Johannes Berg Date: Wed Oct 24 10:17:18 2012 +0200 cfg80211: allow per interface TX power setting The TX power setting is currently per wiphy (hardware device) but with multi-channel capabilities that doesn't make much sense any more. Allow drivers (and mac80211) to advertise support for per-interface TX power configuration. When the TX power is configured for the wiphy, the wdev will be NULL and the driver can still handle that, but when a wdev is given the TX power can be set only for that wdev now. Signed-off-by: Johannes Berg commit 71fe96bf9db8b117d28de6f9ced606cae2ad9661 Author: Johannes Berg Date: Wed Oct 24 10:04:58 2012 +0200 nl80211: move "can set channel" check Setting the wdev to NULL when the channel can't be set for that interface type (to treat the channel setting for the wiphy/monitor) currently works, but is confusing in the code if netdev/wdev aren't both set/unset in the same way. Move the check whether the channel can be set to where it's needed so that wdev and netdev are always both assigned or NULL. Signed-off-by: Johannes Berg commit e826117142d87c5fbdfd17a053f6a33ec90b20a4 Author: Johannes Berg Date: Fri Jul 27 19:48:26 2012 +0200 mac80211_hwsim: allow using channel contexts To use mac80211_hwsim for testing channel contexts it has to support them, and for that it has to support hw scan and hw-remain-on-channel. Since it's pure software, the off-channel activities are really not off-channel but listening and sending on a second channel. Also, the multi-channel isn't really doing TDM, it's just on both channels at the same time. For testing purposes, you can specify the number of concurrent channels with a module parameter, it is set to one by default. When set to two or more, the userspace API for wmediumd is disabled as it has no provisions for multi-channel yet. Signed-off-by: Johannes Berg commit 6fb47de9cf1be4710fb9f364c500ff216fb47b34 Merge: 1041638 ab3d59d Author: Johannes Berg Date: Tue Oct 30 09:09:48 2012 +0100 Merge remote-tracking branch 'wireless-next/master' into mac80211-next commit ab3d59d265e772e734c36fe738809cb1a910f566 Merge: 42d3607 8c6e309 Author: John W. Linville Date: Mon Oct 29 16:05:51 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless Conflicts: drivers/net/wireless/mwifiex/cfg80211.c commit 4df50ca869890581020b95958251bd355c1dc6b1 Author: Rajkumar Manoharan Date: Thu Oct 25 17:16:54 2012 +0530 ath9k: Dump BTCOEX tuning parameters Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit cdbe408da76d5cc294edb013850cc3a972d80968 Author: Rajkumar Manoharan Date: Thu Oct 25 17:16:53 2012 +0530 ath9k_hw: validate MCI stuck after RTC wakeup Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e75d4ed6a9565fcccd579316b0fd933d2191f513 Author: Rajkumar Manoharan Date: Thu Oct 25 17:16:52 2012 +0530 ath9k_hw: Fix concurrent tx on lower tx power Whenever WLAN receives scheduling msg from BT, it reduces tx power based on RSSI level. And then BT starts simultaneous transmission along with WLAN. Sometimes HW MAC compares tx power that is used prior to power reduction which is causing BT transmission to defer. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 844648423dcf33fed96a4eb65f783f867efbe267 Author: Rajkumar Manoharan Date: Thu Oct 25 17:16:51 2012 +0530 ath9k_hw: Enable hw PLL power save for AR9565 This reduced the power consumption to half in full and network sleep. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1680260226a8fd2aab590319da83ad8e610da9bd Author: Rajkumar Manoharan Date: Thu Oct 25 17:11:31 2012 +0530 ath9k_hw: Enable hw PLL power save for AR9462 This reduced the power consumption to half in full and network sleep. Cc: stable@vger.kernel.org Cc: Paul Stewart Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b7d572e1871df06a96a1c9591c71c5494ff6b624 Author: Pontus Fuchs Date: Tue Oct 23 20:33:57 2012 +0200 ar5523: Add new driver This driver is for the AR5523 chipset from Atheros. It was created in 2007 by Christoph Hellwig but it was never finished. I found it a couple of months ago and after some polishing it's working pretty fine. The driver was written with the FreeBSD driver (uath) as reference, which was written with the reverse-engineered windows driver as reference, hence the feature set is very limited. Station mode only, no HW crypto offload. Signed-off-by: Pontus Fuchs Signed-off-by: John W. Linville commit 8ff5dc92fe8a50c8c86a8c5971edc78a2e422fb5 Author: Arend van Spriel Date: Mon Oct 22 13:55:41 2012 -0700 brcmfmac: store IEs per virtual interface For AP feature the IEs are stored in global structure. For future functionality like P2P-GO it needs to be stored per virtual interface so better store it in the virtual interface structure. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 823e1c813f9b414fb62d5fd2f326c95425cdd585 Author: Arend van Spriel Date: Mon Oct 22 13:55:40 2012 -0700 brcmfmac: remove unnecessary macro usage in brcmf_cfg80211_resume() The macro wiphy_to_cfg() is a bit redundant as the function already has a pointer variable to brcmf_cfg80211_info structure. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 7d641072c3fc526ebdd78a605ea0d7851e9492f1 Author: Arend van Spriel Date: Mon Oct 22 13:55:39 2012 -0700 brcmfmac: add virtual interface support in brcmf_cfg80211_suspend() With multiple interfaces suspend will need to iterate over all and bring down the link. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ba40d16696c86165744c89e0dae649df78dd82f4 Author: Arend van Spriel Date: Mon Oct 22 13:55:38 2012 -0700 brcmfmac: use memset when setting a broadcast mac address The driver had a global constant ether_bcast, which was copied whenever a broadcast mac address was needed. This patch does a memset(dest, 0xFF, ETH_ALEN) instead and consequently removes the global ether_bcast. Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ce81e3175ed5b86b19ef068246fc2c829aff84d5 Author: Arend van Spriel Date: Mon Oct 22 13:55:37 2012 -0700 brcmfmac: rename check_sys_up() to check_vif_up() The function now return the status for a virtual interface so it seems better rename the function to understand what it does. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1c90fba59b0d4b81396231c8db7bb94e28973aab Author: Arend van Spriel Date: Mon Oct 22 13:55:36 2012 -0700 brcmfmac: remove unused enumeration wl_prof_list The enumeration wl_prof_list is no longer used so it can be safely removed. Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3bc0a96caa2ea165beb33e42ea08c083ae7ed933 Author: Arend van Spriel Date: Mon Oct 22 13:55:35 2012 -0700 brcmfmac: cleanup brcmf_cfg80211_profile structure A couple of unused fields have been removed and kernel-doc info has been added to the structure. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 9f3a9903220015f2f94d0d3945e7ae50af39dbe4 Author: Arend van Spriel Date: Mon Oct 22 13:55:34 2012 -0700 brcmfmac: remove debugfs functionality from wl_cfg80211.c In wl_cfg80211.c debugfs directory was created to expose dtim_period and beacon_interval. However, this can be easily obtained using iw so it is removed from the driver. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit c1179033228504fc2095bd298822584444b981fb Author: Arend van Spriel Date: Mon Oct 22 13:55:33 2012 -0700 brcmfmac: separate connection status from scanning status The connection status is to be kept per virtual interface and the scanning status is for device. So they need to be separated for multiple interface support. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 0abb5f21b77e33b0d2a05e0362b3a0965324b408 Author: Arend van Spriel Date: Mon Oct 22 13:55:32 2012 -0700 brcmfmac: use vif struct to check_sys_up() function This checks the status that will soon be moved to virtual interface data so preparing for that use the structure brcmf_cfg80211_vif as parameter instead. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meulemen Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 6ac4f4ed132d13b7c2b4af8e73df49846b264c71 Author: Arend van Spriel Date: Mon Oct 22 13:55:31 2012 -0700 brcmfmac: store profile information per virtual interface The profile information applies to an interface so each virtual interface needs it. So it is removed from brcmf_cfg80211_info and added to brcmf_cfg80211_vif structure. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3eacf866559c3d2062690bab8bf09f15f963fb16 Author: Arend van Spriel Date: Mon Oct 22 13:55:30 2012 -0700 brcmfmac: introduce brcmf_cfg80211_vif structure This patch introduces the brcmf_cfg80211_vif structure which is used to keep track of multiple virtual interfaces in the driver. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ec6de0ed3ecfab6acfa11c32f9acc9b3c6a5adc7 Author: Arend van Spriel Date: Mon Oct 22 10:36:27 2012 -0700 brcmfmac: remove brcmf_find_bssidx() function The function brcmf_find_bssidx() is no longer used so remove it from the driver code. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 2eaba7e8b4ce24fd4661dc80afcb27b3633b5d14 Author: Arend van Spriel Date: Mon Oct 22 10:36:26 2012 -0700 brcmfmac: change parameter list for send_key_to_dongle() The first two parameters given to send_key_to_dongle() are redundant so they have been removed. Reviewed-by: Hante Meuleman Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 0af29bf7c1ddf5f3c35577409de46ede5e8d7845 Author: Hante Meuleman Date: Mon Oct 22 10:36:25 2012 -0700 brcmfmac: use fwil for default configuration setup. modify the setup code to use the refactored firmware interface layer. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 9d7d6f95bda1fdc10847996ab849b5dd065bf047 Author: Franky Lin Date: Mon Oct 22 10:36:24 2012 -0700 brcmfmac: streamline header parse code of sdio glom read Use brcmf_sdio_hdparser to handle header of super frame and sub frame in glomming frame read. Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ac24be6fe6593564be99a88e41cddc6c0fc1899f Author: Arend van Spriel Date: Mon Oct 22 10:36:23 2012 -0700 brcmfmac: use struct brcmf_if as interface object for fwil functions The functions for communicating were given the net_device only because its private data contained struct brcmf_if object. However, not all firmware related interfaces will be associated with a net_device. To accomodate provisioning firmware for such interfaces the struct brcmf_if object will be passed to the fwil functions. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 6e186166ea0259f7ef9cb2393317126003c13680 Author: Arend van Spriel Date: Mon Oct 22 10:36:22 2012 -0700 brcmfmac: add function converting ieee80211_channel to chanspec The firmware carries channel information in a different format as the provided ieee80211_channel structure. Conversion is needed when receiving requests from cfg80211 carrying ieee80211_channel structures. This patch adds a utility function to do that. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit ec5a07d5c4a830f5339d7a808e20562e037059d1 Author: Arend van Spriel Date: Mon Oct 22 10:36:21 2012 -0700 brcmfmac: use bssidx from struct brcmf_if for bsscfg specific commands The firmware interface has functions to send bsscfg specific commands to the device. These functions currently have a bssidx parameter, but that same information is stored in struct brcmf_if, which is in the private data of the net_device parameter. Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1ed9baf0f12168c8ba2410fd9ccd578f7867c564 Author: Arend van Spriel Date: Mon Oct 22 10:36:20 2012 -0700 brcmfmac: rework driver initialization in brcmf_bus_start() In brcmf_bus_start() a number of settings are sent to the device. For this functions are used that bypass the common firmware interface. By reordering the code in brcmf_bus_start() this bypass can be removed. Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1d4fd8d78f465cebe2502671588f75ba2f758cfa Author: Arend van Spriel Date: Mon Oct 22 10:36:19 2012 -0700 brcmfmac: extend struct brcmf_if with bssidx field When the firmware notifies the driver about adding a new interface it also provides an index for the bss associated with this interface. This index will be needed for upcoming features like peer-to-peer. By adding this index in struct brcmf_if it is easy to obtain as this will be associated with the net_device private data. Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 1e271c9564132d9b5906819d7c62fbb5669ae8e9 Author: Hante Meuleman Date: Mon Oct 22 10:36:18 2012 -0700 brcmfmac: clean usb download code. reuse ioctl waiting method. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 348a130cebe4235937a265c4d554beb665104d77 Author: Hante Meuleman Date: Mon Oct 22 10:36:17 2012 -0700 brcmfmac: remove redundant function brcmf_c_mkiovar_bsscfg function brcmf_c_mkiovar_bsscfg became redundant with refactoring of firmware interface layer. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit f368a5b6015c501fa291df81b52811be189b82ee Author: Hante Meuleman Date: Mon Oct 22 10:36:16 2012 -0700 brcmfmac: change testmode command to use new firmware interface layer switch to new firmware interface layer and remove redundant code. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 91917c77d229be369df007e6a6f5638bca26cc2b Author: Hante Meuleman Date: Mon Oct 22 10:36:15 2012 -0700 brcmfmac: remove unused iswl variable. Variable iswl always gets initialised to the same and support for this var is not needed. Reviewed-by: Arend Van Spriel Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 81f5dcb8083077ca9bca10ca8e34bc8daf768dce Author: Hante Meuleman Date: Mon Oct 22 10:36:14 2012 -0700 brcmfmac: refactor firmware interface layer. Refactor the functions that are related to getting and setting data to and and from the firmware. Reviewed-by: Arend Van Spriel Reviewed-by: Pieter-Paul Giesberts Signed-off-by: Hante Meuleman Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 6c4a5f2413da948e7d1d189c9d94f05afde8702a Author: Christian Lamparter Date: Mon Oct 22 15:01:29 2012 +0200 carl9170: split up carl9170_handle_mpdu carl9170_handle_mpdu is the final part of the rx path of the driver. It splits the raw data streams from the device into skb packets and passes them on to mac80211. As a result of continuous updates, it grew over the years when new code was added by the following commits: - report A-MPDU status - fix HT peer BA session corruption - A-MPDU frame type filter - ... This patch splits the routine into two stages. The first stage only deals with the details about extracting and verifying the data from the incoming stream. Whereas the second stage packs it into skbs and passes it on to mac80211. Reported-by: Javier Lopez Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f3b369e40a0fbf975ab0e39c2104f184e188afc3 Author: Avinash Patil Date: Fri Oct 19 19:19:21 2012 -0700 mwifiex: rx path enhancement to derive priv only once We derive mwifiex_private structure which is per interface from received skb's rx_info. Once priv is derived, same priv can be propagated to other functions instead of callee deriving priv from rx_info again. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3a5b8a16856a4864efa5405e40eb05086b6956e6 Author: Avinash Patil Date: Fri Oct 19 19:19:20 2012 -0700 mwifiex: handle extended supported rates IE for AP During start_ap handler, some rates come as extended supported rates IE - part of beacon tail IE. This patch adds support for parsing them and adding to bss_rates TLV for bss_start command to firmware. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 22db24976fdae6f673b7e333e2100232a551c76d Author: Amitkumar Karwar Date: Fri Oct 19 19:19:19 2012 -0700 Revert "mwifiex: retrieve correct max_power information in reg_notifier handler" This reverts commit 34202e28fe7fc8551313f9a035a8857db83de757 We made "34202ee.." because we didn't support custom regulatory rules at that time. But now we use our own custom regulatory rules, so it needs to be changed back. Also, chan->max_power calculations in cfg80211 were broken. Hence we started using chan->max_reg_power. Now it has got fixed in following commit. commit 5e31fc0815a4e2c72b1b495fe7a0d8f9bfb9e4b4 Author: Stanislaw Gruszka Date: Tue Jul 24 08:35:39 2012 +0200 wireless: reg: restore previous behaviour of chan->max_power calculations Hence we will use chan->max_power instead of chan->max_reg_power. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f3e1af3e18004aca12771dfb0b04e04497190c99 Author: Amitkumar Karwar Date: Fri Oct 19 19:19:18 2012 -0700 mwifiex: disable channel filtering for SSID specific scan from user If MWIFIEX_DISABLE_CHAN_FILT bit in scan mode bitmap is set, firmware will turn off the filtering of scan responses from adjacent channels. Currently the bit is set only for internal SSID specific scan performed during association. We will set it for user requested SSID specific scan as well. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b0e70c2fb67bc376c3114a709ce0852e71d37ecb Author: Amitkumar Karwar Date: Fri Oct 19 19:19:17 2012 -0700 mwifiex: minor cleanup and a fix in scan semaphore usage mwifiex_request_scan() takes care of synchronous internal scan performed by driver during association. Currently the semaphore acquired for the scan is unnecessarily released at the end of different paths. Also, failure paths returning error code other than "-1" are not considered. We will release it at the end of routine to fix above issues. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f162cac83ba474eb71ea2aa7788bd77f1692f4d2 Author: Amitkumar Karwar Date: Fri Oct 19 19:19:16 2012 -0700 mwifiex: abort scan upon interface down When the interface is down, we will abort scan by calling cfg80211_scan_done() with abort option. This fixes WARN_ON triggered by cfg80211 in wdev_cleanup_work(). Driver's internal variables/flags are cleared once we get response for current scan command. Meanwhile we will block new scan request from cfg80211. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e45a841972b9d43e19e61ab3089bbe0d52a990e8 Author: Amitkumar Karwar Date: Fri Oct 19 19:19:15 2012 -0700 mwifiex: use LOW_PRIORITY scan flag provided in scan request We will delay/abort scan operation based on traffic for low priority scan. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7bf7a71e0f7ad69358d01f2a7ba7faa9428db90b Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:55 2012 +0530 ath9k: Add new BT profile info A2DP_Voice When the BT connection is initiated by headset, it's possible that headset requests to make one A2DP and one Voice connection over the same link. BT firmware will send a new profile A2DP_Voice in this case. So WLAN has to take care of this new profile for tuning BTCOEX parameters. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f9401b1e74f33d40d97364be5244b715e8cee6ed Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:54 2012 +0530 ath9k: adjust duty cycle for FTP profile for AR9565 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3c5c9d04f628135ff57eda5068c9d9513f0a94bf Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:53 2012 +0530 ath9k_hw: Set default MCI config for AR9565 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 506ed95c27b9e4db521df8433860da78b4747cd8 Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:52 2012 +0530 ath9k_hw: Configure new switch table for AR9565 BTCOEX Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6f37ff96d3bd2a53e68131a7c10ced933815b390 Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:51 2012 +0530 ath9k_hw: Fix max rx rate drop for AR9565 Whenever i_coff of IQ calibration is too high, AR9565 drops max rx rate to MCS4. Skipping IQ update at this time can avoid this problem for AR9565. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2097fdd7ebdb1674aaf7343b7a1d6cc2758c1dff Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:50 2012 +0530 ath9k_hw: Fix frequent BT rx recovery While resuming from S3, BT host issues HCI reset command and it causes BT firmware to busy with security key calculation. At this movement, WLAN detects MCI hardware error of MCI_CONT_INFO_TIMEOUT and then it starts the recovery sequence repeatedly. Too many recovery sequences would exhaust the BT kernel message pool. This patch imposes a duration between consecutive BT recovery procedure. Thus it solves BT firmware panic issue reported in AR9565. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e9f9fd8cdc5fcb718e2ce778cb5e0eea27e2fdc8 Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:49 2012 +0530 ath9k_hw: Disable MCI stat counter by default for AR9565 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b55f6bb7c3f890c3d537516efa8746a4784c058d Author: Bala Shanmugam Date: Mon Oct 15 15:29:48 2012 +0530 ath9k: turn off RXIQ calibration while re-calibrating radio TXIQ and RXIQ share the same data path to upload the measurement result, we should turn off RXIQ calibration while re-calibrating radio Signed-off-by: Bala Shanmugam Signed-off-by: John W. Linville commit d9575dad59de382dd1f1ddcaa6de38d9844691fe Author: Bala Shanmugam Date: Mon Oct 15 15:29:47 2012 +0530 ath9k: Set appropriate bit for AR9565 in btc control register Signed-off-by: Bala Shanmugam Signed-off-by: John W. Linville commit 7d47884f306afd1d0215133685f451aaafe3ca7a Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:46 2012 +0530 ath9k_hw: Fix selfgen chainmask for 9565 Self generated MCI messages is configured to use chain 1. As ar9565 is 1x1 solution, It can not use Chain 1. Hence fix Chain 1 for ar9462 alone. Not doing so, could affect WLAN connectivity in ar9565 as LNA sharing is not informed by BT. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4c6231a408c1fbec714f82b4742d19f85130ba97 Author: Rajkumar Manoharan Date: Mon Oct 15 15:29:45 2012 +0530 ath9k_hw: Enable OSLA hw fix for AR9565 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit e82cb03f5a645533def34923d55404526bc22fae Author: Rajkumar Manoharan Date: Fri Oct 12 14:07:25 2012 +0530 ath9k: adjust WLAN and BT concurrent transmission The simulataneous transmission of both WLAN and BT might cause increase in power levels. To avoid regulatory violation, WLAN tx power will be adjusted according to BT power index based on avaliability of BT scheduling messages. WLAN tx power reduction might affect its performance. So WLAN tx power is only be lowered when the signal strength is good enough. Otherwise concurrent tx will be disabled and WLAN uses it default power levels. Also concurrent tx is disabled whenever WLAN is moving to off-channel which might be used by BT. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 77d848372875d2e4cbdbf07030f0e08cab5e7f4d Author: Rajkumar Manoharan Date: Fri Oct 12 14:07:24 2012 +0530 ath9k: fill channel mode in caldata It is useful to have channel mode in caldata to find out whether operaing channel is in HT40/20 when we are currently on offchannel. It will be used by BTCOEX to enable/disable concurrent tx mechanism later. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit db60428b1af11cf216bb0736b24b2cf0c7b54071 Author: Rajkumar Manoharan Date: Fri Oct 12 14:07:23 2012 +0530 ath9k: Add concurrent WLAN and BT tx support for MCI based chips This feature enables both WLAN and BT can transmit simultaneously by setting WLAN and BT to equal priorities. Whenever both are transmitting, it might violate regulatory power limits. To avoid regulatory violation, WLAN tx power will be adjusted according to BT power index based on avaliability of BT scheduling message. If the combined power exceeds threshold, BT transmission will be held off. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 50072ebca3d0aec8c5b8543e767d45c6626523af Author: Rajkumar Manoharan Date: Fri Oct 12 14:07:22 2012 +0530 ath9k: Send WLAN channel info to BT WLAN updates channel bitmap when associated and disassociated. Channel bitmap will reflect whare are the channels used or affected by WLAN and BT should avoid using those. Not doing so, could affect BT traffic as both WLAN and BT is operating on same channel. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit aebc0d40f9f7310d4651df2772d208fd9b2d2fa0 Author: Mohammed Shafi Shajakhan Date: Mon Oct 8 21:30:54 2012 +0530 ath9k: Advertize beacon_int_infra_match Currently ath9k need to have beacon interval matched between STA mode and beaconing mode. Advertize this through interface combinations. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 96f99d3db736ad0ac275bfec6f83240b1b3019ec Author: Mohammed Shafi Shajakhan Date: Mon Oct 8 21:30:53 2012 +0530 ath9k_htc: Remove interface combination specific checks Once the driver advertizes interface combination logic based on its firmware/hardware limitation, cfg80211 takes care of all the necessary logic such as maximum beaconing vifs, standlone interface etc. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8b0b6be5cb83e871adf8a134e843c01d75b1d128 Author: Mohammed Shafi Shajakhan Date: Mon Oct 8 21:30:52 2012 +0530 ath9k_htc: Advertise interface combinations supported This will allow us to create virtual interface the driver supports. Also this ensures multivif support and limitation advertised by the driver is taken care in cfg80211 itself. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit be41b052029f75a72df3c437a238bf9d574b6461 Author: Mohammed Shafi Shajakhan Date: Mon Oct 8 21:30:51 2012 +0530 ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle When WLAN is idle ensure we downgrade to FTP_STOMP_LOW weight (from STOMP_LOW) to provide more bandwidth for BT FTP profile. WLAN's idleness can be estimated by taking into account of the rx data packets and just ignore beacons, qos nullfunc etc. Also update bt_wait_time even if the chip is in NETWORK SLEEP mode. This should help BT throughput when WLAN is idle. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit e0509d3bdd7365d06c9bf570bf9f118cae6cbd58 Author: Christian Lamparter Date: Tue Sep 11 23:18:34 2012 +0200 carl9170: fix spurious transmissions in sniffer mode Several people have complained about an unusual and undocumented feature of the AR9170 hardware: In siffer mode, the hardware generates spurious ACK frames for every received frame... even broadcasts. The reason for this malfunction is unknown: But there's a workaround: Instead of the special sniffer mode, the hardware will be put into station mode and all rx filters are disabled. Reported-by: Johannes Berg Reported-by: Marco Fonseca Reported-by: Janusz Dziedzic Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d1f10302568221c20628200bc8baa426c55f61c0 Merge: 9b34f40 1724ffb Author: John W. Linville Date: Mon Oct 29 14:52:04 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit ca364d8388602b5c0d607c5452774833cc1ad667 Merge: 84fd7bd 8f0d816 Author: Greg Kroah-Hartman Date: Mon Oct 29 09:00:57 2012 -0700 Merge 3.7-rc3 into tty-next This merges the tty changes in 3.7-rc3 into tty-next Signed-off-by: Greg Kroah-Hartman commit 3e2c159260eed10c44f0dd028c328a40a27ad235 Author: Johannes Berg Date: Wed Oct 24 13:26:15 2012 +0200 iwlwifi: clarify NOCOPY/DUP documentation Clarify the documentation to indicate that these flags can only be used at the end, i.e. after them a copy TFD (no flags set) is invalid. Reported-by: Inbal Hacohen Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f4feb8ac6e666d2ca37cf722166bbfadf2c6adf8 Author: Johannes Berg Date: Fri Oct 19 14:24:43 2012 +0200 iwlwifi: support host command with copied data In addition to the NOCOPY flag, add a DUP flag that tells the transport to kmemdup() the buffer and free it after the command completes. Currently this is only supported for a single buffer in a given command, but that could be extended if it should be needed. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 3bd7bf1f0fe14f591c089ae61bbfa9bd356f178a Merge: f16f849 e657e07 Author: Jiri Kosina Date: Sun Oct 28 19:28:52 2012 +0100 Merge branch 'master' into for-next Sync up with Linus' tree to be able to apply Cesar's patch against newer version of the code. Signed-off-by: Jiri Kosina commit 8e740cd19fd3878453a3794e53c5252110697581 Author: Yuly Novikov Date: Fri Oct 26 12:04:01 2012 +0300 drm/i915/dp: change eDP default scaling mode to respect aspect ratio Signed-off-by: Yuly Novikov [Jani: ripped this change separate from the scaling mode change support] Signed-off-by: Jani Nikula Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 53b41837935a4016852b30a6242a510e6927f9c7 Author: Yuly Novikov Date: Fri Oct 26 12:04:00 2012 +0300 drm/i915/dp: allow configuring eDP panel fitting scaling mode LVDS allowed changing panel fitting scaling mode, while eDP didn't. Copied relevant code from LVDS to eDP. Signed-off-by: Yuly Novikov [Jani: use fitting mode in intel_panel, remove default mode change] Signed-off-by: Jani Nikula Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4d8915234165fc85873121f228011b93f9e242d7 Author: Jani Nikula Date: Fri Oct 26 12:03:59 2012 +0300 drm/i915/lvds: move fitting mode from intel_lvds_connector to intel_panel Prepare for supporting scaling mode configuration also in eDP. Includes a drive-by-removal of an outdated comment about fitting mode. Signed-off-by: Jani Nikula Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 898076ed2ef648796859e5e86aa102b8f9ed4af1 Author: Jani Nikula Date: Thu Oct 25 10:58:10 2012 +0300 drm/i915: debug print all of the DPCD we have At some point the DPCD size was increased, but the debug print not. While at it, switch to using hex dump. Signed-off-by: Jani Nikula Reviewed-by: Mika Kuoppala Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4d8d71b5ddc43d51121f72ad83825afd28493516 Author: Damien Lespiau Date: Thu Oct 25 18:06:19 2012 +0100 drm/i915: VLV does not have a sprite scaler Just like HSW, VLV does not have a sprite scale. Set intel_plane->can_scale accordingly. Signed-off-by: Damien Lespiau Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 1041638f2bba0f1de75e66086d50fb1251d64dcf Author: Johannes Berg Date: Fri Oct 19 15:44:42 2012 +0200 mac80211: add explicit AP/GO driver operations Depending on the driver, a lot of setup may be necessary to start operating as an AP, some of which may fail. Add an explicit AP start driver method to make such failures easier to handle, and add an AP stop driver method for symmetry. Signed-off-by: Johannes Berg commit 7b20b8e8d70a0f4f18c254b42e5b157f93731e9f Author: Johannes Berg Date: Thu Oct 25 19:02:42 2012 +0200 mac80211: move AP teardown code to correct place Since cfg80211 will now call the explicit stop_ap operation when an AP interface goes down, move all teardown code there and remove it from interface handling. The only thing that needs to stay is the code to dev_close() all dependent VLANs. Signed-off-by: Johannes Berg commit 1df332e82d0facc6b236957f1a5691b550b4e1f1 Author: Johannes Berg Date: Fri Oct 26 00:09:11 2012 +0200 mac80211: a few formatting fixes Fix a few code formatting issues in the RX code. Signed-off-by: Johannes Berg commit fbfcc4f3a0cf8bbde87646b74241faa8e37426bf Author: Jani Nikula Date: Mon Oct 22 16:12:18 2012 +0300 drm/i915/sdvo: restore i2c adapter config on intel_sdvo_init() failures SDVOB may be multiplexed with HDMIB. If it's not SDVOB, the same i2c adapter may be used for HDMIB, with the adjusted config (i.e. with GPIO bit-banging instead of gmbus). Restore i2c adapter config before error return from intel_sdvo_init(), letting HDMIB enjoy the joys of gmbus. Signed-off-by: Jani Nikula Reviewed-by: Mika Kuoppala Signed-off-by: Daniel Vetter commit 6cb1612a7dc4c3d5ed86dba5dd21bb48a5c395af Author: Jani Nikula Date: Mon Oct 22 16:12:17 2012 +0300 drm/i915/sdvo: force GPIO bit-banging also on default pin commit 63abf3edaf42d0b9f278df90fe41c7ed4796b6b1 Author: Chris Wilson Date: Wed Dec 8 16:48:21 2010 +0000 drm/i915/sdvo: Only use the SDVO pin if it is in the valid range added a default fallback if BIOS provides an invalid pin mapping, but failed to force GPIO bit-banging on it. Finish the job, and also clean up the function a bit. With bit-banging, setting the gmbus speed has no effect, so drop it. Signed-off-by: Jani Nikula [danvet: Extend comment about gmbus in the code a bit.] Signed-off-by: Daniel Vetter commit 5de8bbf5536fe79c1353c5476c31409531b5393f Author: Paulo Zanoni Date: Tue Oct 23 18:30:08 2012 -0200 drm/i915: enable DDI eDP Now that all the eDP enablement bits are there, we can actually try to use the eDP. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit 82a4d9c0a82a59c1f214ab1f9ce6b34d0736a54a Author: Paulo Zanoni Date: Tue Oct 23 18:30:07 2012 -0200 drm/i915: turn the eDP DDI panel on/off It's an important step :) Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit d6c50ff8cae880f20969556698a3246ac401144c Author: Paulo Zanoni Date: Tue Oct 23 18:30:06 2012 -0200 drm/i915: set/unset the DDI eDP backlight Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit b8fc2f6a18052194c486b407765a4f5e4dca692d Author: Paulo Zanoni Date: Tue Oct 23 18:30:05 2012 -0200 drm/i915: set the correct eDP aux channel clock divider on DDI The cdclk frequency is not always the same, so the value here should be adjusted to match it. Version 2: call intel_ddi_get_cdclk_freq instead of reading CDCLK_FREQ, because the register is just for earlier HW steppings. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit e6f0bfc4fb963da9e945ebc6330db9a4d756ba78 Author: Paulo Zanoni Date: Tue Oct 23 18:30:04 2012 -0200 drm/i915: select the correct pipe when using TRANSCODER_EDP Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit b5e508d4c01b4aab6abb90488603f9bcfbb64b52 Author: Paulo Zanoni Date: Wed Oct 24 11:34:43 2012 -0200 drm/i915: implement workaround for VTOTAL when using TRANSCODER_EDP See the documentation for the DDI_FUNC_CTL register, EDP Input Select bits: when the EDP input selection is B, the VTOTAL_B must be programmed with the VTOTAL_EDP value, same thing for selection C. V2: Use I915_READ as suggested by Daniel Vetter. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit fe2b8f9dfb05f78d525bf6668549271af1860ee5 Author: Paulo Zanoni Date: Tue Oct 23 18:30:02 2012 -0200 drm/i915: convert pipe timing definitions to transcoder Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit afe2fcf5e0ddca8aada0882fc5c54430101dfb0e Author: Paulo Zanoni Date: Tue Oct 23 18:30:01 2012 -0200 drm/i915: convert CPU M/N timings to transcoder Same thing as the previous commits. Not renaming this one since it exists since way before Haswell. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit c9809791ae0ae3e5792fc6ad3d4a5d9658aadc62 Author: Paulo Zanoni Date: Tue Oct 23 18:30:00 2012 -0200 drm/i915: convert PIPE_MSA_MISC to transcoder Same as the other registers. This one also appeared on Haswell for the first time, so that's why we are renaming it. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 702e7a56af3780d8b3a717f698209bef44187bb0 Author: Paulo Zanoni Date: Tue Oct 23 18:29:59 2012 -0200 drm/i915: convert PIPECONF to use transcoder instead of pipe Because the PIPECONF register is actually part of the CPU transcoder, not the CPU pipe. Ideally we would also rename PIPECONF to TRANSCONF to remind people that they should use the transcoder instead of the pipe, but let's keep it like this for now since most Gens still name it PIPECONF. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit e28d54cbf97ca1f8cd49a9756e57ed614d64368d Author: Paulo Zanoni Date: Wed Oct 24 16:09:25 2012 -0200 drm/i915: check TRANSCODER_EDP on intel_modeset_setup_hw_state We need to check if any of the pipes is using TRANSCODER_EDP. V2: DDI_BUF_CTL was renamed, so fix the usage here. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit ad80a810ec3ffa96450ce3b40128d55fede7a825 Author: Paulo Zanoni Date: Wed Oct 24 16:06:19 2012 -0200 drm/i915: convert DDI_FUNC_CTL to transcoder Because there's one instance of the register per CPU transcoder and not per CPU pipe. This is another register that appeared for the first time on Haswell, and even though its Haswell name is PIPE_DDI_FUNC_CTL, it will be renamed to TRANS_DDI_FUNC_CTL, so let's just use the new naming scheme before it confuses more people. Notice that there's a big improvement on intel_ddi_get_hw_state due to the new TRANSCODER_EDP. V2: Also rename the register to TRANS_DDI_FUNC_CTL as suggested by Damien Lespiau. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit bb523fc08d4a4a726c7555be7800735685888b3c Author: Paulo Zanoni Date: Tue Oct 23 18:29:56 2012 -0200 drm/i915: convert PIPE_CLK_SEL to transcoder This register appeared in Haswell. It does not have an EDP version because the EDP transcoder is always tied to the DDIA clock. Notice that if we call PIPE_CLK_SEL(pipe) when pipe is PIPE_A and transcoder is TRANSCODER_EDP we might introduce a bug, that's why this is a transcoder register even though it does not have an EDP version. Even though Haswell names this register PIPE_CLK_SEL, it will be renamed to TRANS_CLK_SEL in the future, so let's just start using the real name that makes more sense and avoids misusage. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit a5c961d1f3a9ab5ba0e5706e866192f8108143fe Author: Paulo Zanoni Date: Wed Oct 24 15:59:34 2012 -0200 drm/i915: add TRANSCODER_EDP Before Haswell we used to have the CPU pipes and the PCH transcoders. We had the same amount of pipes and transcoders, and there was a 1:1 mapping between them. After Haswell what we used to call CPU pipe was split into CPU pipe and CPU transcoder. So now we have 3 CPU pipes (A, B and C), 4 CPU transcoders (A, B, C and EDP) and 1 PCH transcoder (only used for VGA). For all the outputs except for EDP we have an 1:1 mapping on the CPU pipes and CPU transcoders, so if you're using CPU pipe A you have to use CPU transcoder A. When have an eDP output you have to use transcoder EDP and you can attach this CPU transcoder to any of the 3 CPU pipes. When using VGA you need to select a pair of matching CPU pipes/transcoders (A/A, B/B, C/C) and you also need to enable/use the PCH transcoder. For now we're just creating the cpu_transcoder definitions and setting cpu_transcoder to TRANSCODER_EDP on DDI eDP code, but none of the registers was ported to use transcoder instead of pipe. The goal is to keep the code backwards-compatible since on all cases except when using eDP we must have pipe == cpu_transcoder. V2: Comment the haswell_crtc_off chunk, suggested by Damien Lespiau and Daniel Vetter. We currently need the haswell_crtc_off chunk because TRANSCODER_EDP can be used by any CRTC, so when you stop using it you have to stop saying you're using it, otherwise you may have at some point 2 CRTCs claiming they're using TRANSCODER_EDP (a disabled CRTC and an enabled one), then the HW state readout code will get completely confused. In other words: Imagine the following case: xrandr --output eDP1 --auto --crtc 0 xrandr --output eDP1 --off xrandr --output eDP1 --auto --crtc 2 After the last command you could get a "pipe A assertion failure (expected off, current on)" because CRTC 0 still claims it's using TRANSCODER_EDP, so the HW state readout function will read it (through PIPECONF) and expect it to be off, when it's actually on because it's being used by CRTC 2. So when we make "intel_crtc->cpu_transcoder = intel_crtc->pipe" we make sure we're pointing to our own original CRTC which is certainly not used by any other CRTC. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 8361663420435bd915cb5beb20df8da29e06c1dd Author: Paulo Zanoni Date: Tue Oct 23 18:29:54 2012 -0200 drm/i915: don't call Haswell PCH code when we can't or don't need On Ironlake we have one PCH transcoder and FDI per pipe, so we know that if ironlake_crtc_driving_pch returns false we can disable the PCH transcoder and we also know that when we disable the crtc we can also disable the PCH transcoder. On Haswell there is only 1 PCH transcoder and FDI and they can be used by any CRTC. So if for one specific crtc haswell_crtc_driving_pch returns false we can't assert anything about the state of the PCH transcoder or the FDI link without checking if any other CRTC is using the PCH. So on this commit remove the "assert_fdi_{t,r}x_disabled" form haswell_crtc_enable and also only disable FDI and the PCH transcoder if the port being disabled was actually a PCH port (we only have one port using PCH: the VGA port). Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit fc316cbe4692fc0da19dfc9a87db270964d3d056 Author: Paulo Zanoni Date: Thu Oct 25 10:37:43 2012 -0200 drm/i915: simplify intel_crtc_driving_pch By forking Ironlake and Haswell functions. The only callers are {ironlake,haswell}_crtc_enable anyway, and this way we won't need to add other checks on the Haswell version for the next gens. V2: Even simpler, as pointed by Jani Nikula. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 1f544388be50653aec6334cefc4955a3588ae679 Author: Paulo Zanoni Date: Wed Oct 24 11:32:00 2012 -0200 drm/i915: fix checks inside haswell_crtc_{enable, disable} These functions were forked from their Ironlake versions, so now fix the gen checks to reflect the fact that they will only run on Haswell. It is worth noticing that we are not considering IBX/CPT possible on Haswell anymore. So far on Haswell enablement we kept trying to still consider IBX/CPT as a possibility with a Haswell CPU, but this was never tested, I really doubt it will work with the current code and we don't really have plans to support it. Future patches will remove the IBX/CPT code from other Haswell functions. Notice that we still have a WARN on haswell_crtc_mode_set in case we detect non-LPT PCH. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 20474e90c948545c51da95689b8342a4f3bbaeb6 Author: Paulo Zanoni Date: Wed Oct 24 11:31:59 2012 -0200 drm/i915: fix checks inside ironlake_crtc_{enable, disable} The last commit forked a Haswell version, so now we remove Haswell code from these functions. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 4f771f1055da08bc71a36dfdd0a2bde5beb666a4 Author: Paulo Zanoni Date: Tue Oct 23 18:29:51 2012 -0200 drm/i915: fork a Haswell version of ironlake_crtc_{enable, disable} The way we enable and disable the PCH on Haswell changed considerably since now we have only one PCH transcoder, so we can't keep the same asserts and we also can't just unconditionally disable the PCH transcoder for non-PCH outputs. So let's fork a Haswell version. These new functions look exactly the same as the ironlake versions. The next patches will introduce the differences. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 051f86639c1aa37f2ee3f65bfb5396a46bad8c4d Author: Jani Nikula Date: Thu Oct 25 13:12:07 2012 +0300 drm/i915: remove an extra #define for DP_RECEIVER_CAP_SIZE Identical #define is now available in include/drm/drm_dp_helper.h, nuke the dupe. Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit 6f7c962c0b8efc78aec4c5514865fb5be83f4d92 Author: Alan Cox Date: Thu Oct 25 15:18:34 2012 +0100 rfkill: error cannot be set here so simplify Signed-off-by: Alan Cox Signed-off-by: Jiri Kosina commit 1724ffbc7439de679d536163e03f54f35574d449 Author: Johannes Berg Date: Wed Oct 24 11:38:30 2012 +0200 mac80211: complete bss_info tracing Some fields have been added but were missed in tracing, add them now. Signed-off-by: Johannes Berg commit 5df45690e78fd6355b3eb17ba15a1659e608db5d Author: Johannes Berg Date: Wed Oct 24 14:22:37 2012 +0200 mac80211: use non-atomic bitmap operation for local variable For a local variable there's no need to use the atomic set_bit() operation, use __set_bit() instead. Signed-off-by: Johannes Berg commit f87ad637b60a3b789030b3ef969d56a8caec9fed Author: Rami Rosen Date: Thu Oct 25 10:16:23 2012 +0200 mac80211: remove duplicate check in ieee80211_rx_mgmt_beacon Remove a duplicate check in ieee80211_rx_mgmt_beacon, there is no need to make again the same check for the IEEE80211_HW_PS_NULLFUNC_STACK twice; the two ifs can be consolidated. Signed-off-by: Rami Rosen [reword commit message & break long lines and also clean up variable] Signed-off-by: Johannes Berg commit 67a54566553d48d7ee45a0704d36b4fe8c4f13d2 Author: Daniel Vetter Date: Sat Oct 20 20:57:45 2012 +0200 drm/i915: extract intel_dp_init_panel_power_sequencer That thing has grown way too big already. Also move around a comment to the right spot. Reviewed-by: Jesse Barnes Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 6b3ec1c9fb73cca38842d030b171ffd16a686949 Author: Daniel Vetter Date: Sat Oct 20 20:57:44 2012 +0200 drm/i915/dp: compute the pch dp aux divider from the rawclk Otherwise dp aux won't work on some hsw platforms, since they use a different rawclk than the 125MHz clock used thus far. To absolutely not change anything, round up: That way we get the old 63 divider for the default 125MHz clock. Reviewed-by: Jesse Barnes Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit d2acd215cdb75eb39afadbf31a19bdcf84af7eaf Author: Daniel Vetter Date: Sat Oct 20 20:57:43 2012 +0200 drm/i915/eDP: compute the panel power clock divisor from the pch rawclock We need this when the bios forgets even to set that bit up. Most seem to do that, even when they don't set up anything else in the panel power sequencer. Note that on IBX the rawclk is variable according to Bspec, but everyone is using 125MHz. The rawclk is fixed to 125MHz on CPT, but luckily we still have the same register available. On hsw, different variants have different clocks, hence we need to check the register. Since other pieces are driven by the rawclock, too, keep the little helper in a central place. Reviewed-by: Jesse Barnes Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 035aa3dec811315a9e3613cd9ab818e584d7c21d Author: Daniel Vetter Date: Sat Oct 20 20:57:42 2012 +0200 drm/i915: enable/disable backlight for eDP Like we already do for the LVDS panels. This seems to help greatly in setting up the backlight, since the BIOS might refuse to cooperate. Reviewed-by: Jesse Barnes Tested-by: Paulo Zanoni v2: Move the backlight_off call from panel_off to edp_backlight_off, noticed by Paulo Zanoni. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4611dfa85ece8a26ff46b099a6d91df733066c73 Author: Gustavo Padovan Date: Wed Oct 24 11:18:41 2012 -0200 Bluetooth: Replace *_init() for *_setup() le_init() and bredr_init() are now called le_setup() and bredr_setup() to avoid duplicates names over the tree even if they are all static. Signed-off-by: Gustavo Padovan commit 8fa19098ebc700f14b0f8d0fb957e7748e14c44b Author: Johan Hedberg Date: Fri Oct 19 20:57:49 2012 +0300 Bluetooth: Read adversiting channel TX power during init sequence This patch adds the reading of the LE advertising channel TX power to the HCI init sequence of LE-capable controllers. This data will be used e.g. for inclusion in the advertising data packets when advertising is enabled. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit e36b04c805e452689d468f9783e5dffa61e38be7 Author: Johan Hedberg Date: Fri Oct 19 20:57:47 2012 +0300 Bluetooth: Add setting of the LE event mask This patch adds setting of the LE event mask to the HCI init procedure for LE-capable controllers. Right now we only set the default mask which is good enough for the events available in the 4.0 core specification. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 572c7f8429e3c015dd8931b2d3f71b512a7f15f1 Author: Johan Hedberg Date: Fri Oct 19 20:57:46 2012 +0300 Bluetooth: Fix LE MTU reporting for HCIGETDEVINFO This patch fixes the use of le_mtu and le_pkts values in the HCIGETDEVINFO ioctl for LE-only controllers. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit e1171e8d9c50c38a9adba72bb23949d9b975335c Author: Johan Hedberg Date: Fri Oct 19 20:57:45 2012 +0300 Bluetooth: Add initial support for LE-only controllers This patch splits off most the HCI init sequence commands from a fixed set into a conditional one that is sent once the HCI_Read_Local_Features and HCI_Read_Local_Version_Information commands complete. This is necessary since many of the current fixed commands are not allowed for LE-only controllers. Signed-off-by: Johan Hedberg Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit a2e1be33a2a762a30e2960c11634a672cdf131cb Author: Mohammed Shafi Shajakhan Date: Thu Sep 27 18:19:53 2012 +0530 ath6kl: Add a hardware flag for SDIO CRC error workaround Make use of SDIO CRC error workaround hardware flag and avoid target revision checks. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit 171fe76877d3d8071a901e64eb63eeee6c7760a2 Author: Mohammed Shafi Shajakhan Date: Thu Sep 27 18:19:52 2012 +0530 ath6kl: Fix mapping uplink endpoint for AR6004 AR6004(UB134) firmware supports only LP Endpoint, So map all Access Categories to Low Priority endpoints. This fixes a WPA2 connection issue as the uplink(tx) endpoint is appropriately mapped in sync with the firmware. Tested-by: Ben Gray Reported-by: Ben Gray Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit 7ac25eacc6766617edaac69d928f431a9983ccf2 Author: Mohammed Shafi Shajakhan Date: Thu Sep 27 18:19:51 2012 +0530 ath6kl: Fix inactivity timeout for AR6004 Currently AR6004 handles the inactivity timeout resolution in minutes rather than seconds. So parse the inactivity timeout to the firmware in minutes. For now we will cleanup the inactive station entries to the nearest converted minutes (ex: an inactive time of 70 seconds would take atleast 2 - 3 minutes) Tested with surprise removal of client cards/host shutdown. Cc: Manikandan Radhakrishnan Reported-by: Leela Kella Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit c0b34e2b41cc29c15b4cf247727efdab6a864c1b Author: Mohammed Shafi Shajakhan Date: Thu Sep 27 18:19:50 2012 +0530 ath6kl: Rename ATH6KL_HW_FLAG_64BIT_RATES Rename ATH6KL_HW_FLAG_64BIT_RATES to ATH6KL_HW_64BIT_RATES. This seemed to be necessary to add/use new hardware flags without exceeding 80 lines. We shall be adding new hw flags dropping the FLAG term. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit 5dbdf6feecad54b739cb7a5cff521fba86cabba5 Author: Mohammed Shafi Shajakhan Date: Thu Sep 27 18:19:49 2012 +0530 ath6kl: Return error case when ath6kl_usb_alloc_pipe_resources fails Incase the resource allocation for the struct ath6kl_urb_context in the function ath6kl_usb_alloc_pipe_resources fails, return this error case so that ath6kl_usb_probe is aware of this error case. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit cf0dfa1330495ae2c3757788224cc043cfb17e77 Author: Mohammed Shafi Shajakhan Date: Thu Sep 27 18:19:48 2012 +0530 ath6kl: Remove obselete USB device related checks These checks are no longer needed as the necessary USB support is already present in the driver. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit 307749406d7daea452d55df76f734b4fffddf599 Author: Pandiyarajan Pitchaimuthu Date: Fri Sep 21 20:13:09 2012 +0530 ath6kl: Check for valid endpoint ID in ath6kl_tx_complete() Endpoint ID is checked to make sure it is valid. Signed-off-by: Pandiyarajan Pitchaimuthu Signed-off-by: Kalle Valo commit 86aa7c1efc63e0969dee575ac9e021dbcbaa95c3 Author: Pandiyarajan Pitchaimuthu Date: Fri Sep 21 20:11:46 2012 +0530 ath6kl: Array index out of bounds check The variable assigned_ep can be assigned value of -1 and is never checked if it equals -1. So the endpoint array can have -1 as the index value and can be out of bounds. The value of assigned_ep is checked for -1 and is ensured that the endpoint array doesn't go out of bounds. Signed-off-by: Pandiyarajan Pitchaimuthu Signed-off-by: Kalle Valo commit 698bf867d0d3b5669c4e85b29d2a44043a2c5c99 Author: Pandiyarajan Pitchaimuthu Date: Fri Sep 21 15:08:53 2012 +0530 ath6kl: Blocked client notification When a station tries to connect to an AP and if the MAC of the station is in the AP's block list, the station cannot connect to the AP. This is notified to the userspace with event NL80211_CMD_CONN_FAILED and attribute NL80211_ATTR_CONN_FAILED_REASON. The reason sent will be NL80211_CONN_FAIL_BLOCKED_CLIENT. Signed-off-by: Pandiyarajan Pitchaimuthu Signed-off-by: Kalle Valo commit 07033ce2fbfb8d27663d1cd1e9ce36b9661007e0 Author: Pandiyarajan Pitchaimuthu Date: Fri Sep 21 15:06:14 2012 +0530 ath6kl: Max clients reached notification When a station requests connection to an AP, that has already been connected to the maximum number of stations it can support, an event is sent to user space via NL80211_CMD_CONN_FAILED command and reason attribute NL80211_ATTR_CONN_FAILED_REASON with NL80211_CONN_FAIL_MAX_CLIENTS as reason. Signed-off-by: Pandiyarajan Pitchaimuthu Signed-off-by: Kalle Valo commit baec5c6d0b191a44977a5fca131b5215e1868341 Author: Vasanthakumar Thiagarajan Date: Fri Sep 21 12:45:24 2012 +0530 ath6kl: Fix random rx data corruption The skb->tail pointer of rx buffers is not adjusted after skb->data pointer is aligned to 4-byte, this causes random rx data corruption. Signed-off-by: Jin Navy Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 363f149ce37bea91069177eab691111b242bfe73 Author: Raja Mani Date: Fri Sep 21 15:08:55 2012 +0530 ath6kl: Check for valid endpoint ID values in ath6kl_control_tx() It's safe to check endpoint id values before it get really used. Found this on code review. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit d54601b92fbde2a7021a844e1373ba8c778cc0a3 Author: Raja Mani Date: Fri Sep 21 15:08:54 2012 +0530 ath6kl: Check for valid rate table index There are 28 items defined in rate table array 'wmi_rate_tbl'. The rate table index (reply->rate_index) in ath6kl_wmi_bitrate_reply_rx() func is not checked for the valid max limit index before accessing rate table array. There may be some incidents to get memory crashes without safe max check. Fix this. Found this on code review. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 43a06b346d1350009c8f7eaa1a2a137395874ca0 Author: Raja Mani Date: Fri Sep 21 15:08:53 2012 +0530 ath6kl: Avoid null ptr dereference while printing reg domain pair Return value of ath6kl_get_regpair() is stored in 'regpair' in ath6kl_wmi_regdomain_event() func and it's directly accessed in the debug prints without checking for NULL value. There are situation to get NULL pointer as a return value from ath6kl_get_regpair() func. Fix this. Found this on code review. Signed-off-by: Raja Mani Signed-off-by: Kalle Valo commit 58109df67aa073756eb5a2dc2ae068bc1bbcc125 Author: Vasanthakumar Thiagarajan Date: Tue Sep 11 12:07:00 2012 +0530 ath6kl: Fix reconnection issue after recovery Disallowing any wmi commands while re-initializing the firmware results in connection failures after recovery is done in open/WEP mode. To fix this, clear WMI_READY, to make sure no wmi command is tried while fw is down. Remove ATH6KL_STATE_RECOVERY state check in ath6kl_control_tx() so that any configuration during fw init time will go through using wmi commands. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f08dbda25f14d6b9c1ba131f65d0c32917733f6c Author: Wei Yongjun Date: Wed Sep 5 15:07:29 2012 +0800 ath6kl: use list_move_tail instead of list_del/list_add_tail Using list_move_tail() instead of list_del() + list_add_tail(). spatch with a semantic match is used to found this problem. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: Kalle Valo commit 527f6570300980251e818e80865b437eefb4e5d3 Author: Andi Kleen Date: Mon Sep 3 22:15:36 2012 +0200 ath6kl: fix uninitialized variable in ath6kl_sdio_enable_scatter() gcc 4.8 warns /backup/lsrc/git/linux-lto-2.6/drivers/net/wireless/ath/ath6kl/sdio.c: In function 'ath6kl_sdio_enable_scatter': /backup/lsrc/git/linux-lto-2.6/drivers/net/wireless/ath/ath6kl/sdio.c:748:16: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized] if (virt_scat || ret) { ^ The variable can indeed be uninitialized when the previous if branch is skipped. I just set it to zero for now. I'm not fully sure the fix is correct, maybe the || should be an && ? Signed-off-by: Andi Kleen Signed-off-by: Kalle Valo commit 66ddcc39420f3c6d2356f7618fbed3dd61177cee Author: Vasanthakumar Thiagarajan Date: Mon Sep 3 12:49:37 2012 +0530 ath6kl: Make fw error recovery configurable Add a modparam to configure recovery. Recovery from firmware error is disabled by default to debug the actual issue further. To recovery from error, modprobe ath6kl_core recovery_enable=1. Reported-by: Jin Navy Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit a3561706320380027d4ac087e7b92ca19c0150df Author: Vasanthakumar Thiagarajan Date: Mon Sep 3 12:49:36 2012 +0530 ath6kl: Add a bit to ath6kl_dev_state for recovery cleanup state Add a bit in ath6kl_dev_state to maintian the run time state of firmware recovery configuration. This would help to have user configuration in fw_recovery which will be added in a separate patch. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit e451f947c59d527088ebbd4505e776e968b9539a Author: Vasanthakumar Thiagarajan Date: Mon Sep 3 12:49:35 2012 +0530 ath6kl: Remove unnecessary recovery state check in ath6kl_recovery_hb_timer() Checking for recovery state just before re-arming hb_timer is not necessary, this should be done at the begining of the timer instead. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 9d9188409aef2f3bebd1956d2f15bc970efcea7b Author: Vasanthakumar Thiagarajan Date: Mon Sep 3 12:49:34 2012 +0530 ath6kl: Fix bug in scheduling hb_timer hb_timer should be scheduled only when hb_poll is non-zero. But in ath6kl_recovery_work() the timer is scheduled based on fw_recovery.enable instead which is wrong. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 77565794eb69cf73a5808c04b01bc2a97ebf32d3 Author: Vasanthakumar Thiagarajan Date: Wed Aug 29 19:40:28 2012 +0530 ath6kl: Recover from "wmi ctrl ep is full" condition In some error conditions, fw pauses HTC pipes which would result in control endpoint full condition. When we hit this case, most of the time the device will be unusable. Re-initialize the target to recover from this situation. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 9233299394de1c571e52ab2dbe1995c1fbdc8fda Author: Vasanthakumar Thiagarajan Date: Wed Aug 29 19:40:27 2012 +0530 ath6kl: Add support to detect fw error through heart beat This patch adds support to detect fw error condition by sending periodic message (heart beat challenge) to firmware. Upon reception of the message, fw would send a response event to driver. When there are no reponses from fw for about 5 cmd driver would trigger the recovery logic assuming that fw has gone into an error state. Capable fw will advertise this capability through ATH6KL_FW_CAPABILITY_HEART_BEAT_POLL bit. This feature is disabled by default, can be enabled through a modparam (heart_beat_poll). This modparam also confiures the polling interval in msecs. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 84caf8005b09e0a4a57fce44119489d1b0bbbe94 Author: Vasanthakumar Thiagarajan Date: Wed Aug 29 19:40:26 2012 +0530 ath6kl: Recover from fw crash Re-initialize the target when fw crash is reported. This would make the device functional again after target crash. During the target re-initialization it is made sure that target is not bugged with data/cmd request, ar->state ATH6KL_STATE_RECOVERY is used for this purpose. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit ede615d2f043539e23bc4022955dbe0c3ec70ca2 Author: Vasanthakumar Thiagarajan Date: Wed Aug 29 19:40:25 2012 +0530 ath6kl: Refactor ath6kl_init_hw_start() and ath6kl_init_hw_stop() So that these functions will be used to re-initialize the fw upon detecting fw error. This refactoring moves ar->state setting out of core stop/start functionality. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 83685091acb878980711c3b28fe42e8959583e84 Author: Dengke Qiu Date: Tue Aug 28 15:33:42 2012 +0800 ath6kl: fix link speed when using sgi The MSB of rate index from FW is used for sgi. But the ath6kl_wmi_get_rate doesn't handle it. The access to wmi_rate_tbl array may be out of range if sgi is 1. This may cause the return value of ath6kl_wmi_get_rate() function is incorrect link rate. We add sgi adjustment to avoid such case. kvalo: change patch title Signed-off-by: Dengke Qiu Signed-off-by: Kalle Valo commit 3814264481fecba02ba60f2e6c6baea2d43b757b Author: Mohammed Shafi Shajakhan Date: Fri Aug 24 19:53:28 2012 +0530 ath6kl: trivial cleanup on interface type selection a minor cleanup in assigning the driver specific network type based on interface type. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Kalle Valo commit 2c07cf4461c958e52efd9cfca1df67165426ba20 Author: Thomas Pedersen Date: Mon Aug 20 14:26:50 2012 -0700 ath6kl: consolidate WoW pattern length Since WOW_MASK_SIZE and WOW_PATTERN_SIZE have the same value, are logically equivalent, and part of the WMI API so therefore unlikely to change, consolidate these into WOW_PATTERN_SIZE. Reported-by Kalle Valo Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit b1f47e3a962b8b69612d1eecf4d50082b402fcc5 Author: Thomas Pedersen Date: Wed Aug 15 16:51:24 2012 -0700 ath6kl: rework scheduled scan This patch reflects changes in the firmware scheduled scan implementation to behave better in cases with multiple concurrent vifs. Major changes: - scheduled scan filters and state are now programmed per-vif. - decouple scheduled scan from host sleep. To maintain graceful failure with old firmwares, a new firmware capability bit is introduced: ATH6KL_FW_CAPABILITY_SCHED_SCAN_V2. ath6kl simply won't advertise scheduled scan to cfg80211 if the SCHED_SCAN_V2 is not supported. Since firmwares from here on out won't support the previous implicit API for scheduled scan (set WoW filters and host sleep), bump the firmware API to protect old drivers. Unfortunately, due to firmware RAM constraints ath6kl still cannot expect a scan complete event at the end of a scheduled scan results cycle, so the sched_scan_timer is retained. Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit a3b3842c2e27ba07f8f7944a76013425d182c47b Author: Marina Makienko Date: Tue Aug 14 12:11:30 2012 +0400 ath6kl: check usb_register() return value ath6kl_usb_init() does not check usb_register() return value. As a result it may incorrectly report success of driver initialization. Found by Linux Driver Verification project (linuxtesting.org). kvalo: fix commit title and make cosmetic changes to the code to follow more the style used in the driver Signed-off-by: Marina Makienko Signed-off-by: Kalle Valo commit 8114f9b6d28686de02c3f83f0543665728b1a15b Author: Vasanthakumar Thiagarajan Date: Tue Aug 14 10:10:34 2012 +0530 ath6kl: Fix potential memory leak in ath6kl_tx_complete() We bail out from ath6kl_tx_complete() if any of the sanity checks on skb and ath6kl_cookie fails. By doing this we potentially leak few remaining buffers in packet_queue. Make sure to proceed processing the remaining buffers as well. This issue is found during code review. Reported-by: Wang yufeng Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit 0616dc1f2bef563d7916c0dcedbb1bff7d9bd80b Author: Vasanthakumar Thiagarajan Date: Tue Aug 14 10:10:33 2012 +0530 ath6kl: Fix potential skb double free in ath6kl_wmi_sync_point() skb given to ath6kl_control_tx() is owned by ath6kl_control_tx(). Calling function should not free the skb for error cases. This is found during code review. kvalo: fix a checkpatch warning in ath6kl_wmi_cmd_send() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo commit f21243a82253e34f64187aeb3d7f93fb7cb92536 Author: Thomas Pedersen Date: Fri Jul 27 18:13:27 2012 -0700 ath6kl: reconfigure RSN capabilities when restarting AP If the firmware decides to initiate a channel switch on an AP vif running an RSN BSS, reconfigure the saved RSN IE capabilities as well. Fixes a bug where the beacon and 4-way handshake would have a capability mismatch after a channel switch, since the firmware apparently clears these on an AP disconnect. Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit b5495e666d0b83553f6330e7ba33c0cee2271332 Author: Thomas Pedersen Date: Thu Jul 26 18:11:11 2012 -0700 ath6kl: restart concurrent vifs on failed connect When an ath6kl STA vif is issued a connect command, the firmware will disconnect all other beaconing vifs in preparation for a potential channel switch. The case where the connect fails is currently unhandled, so if a connection attempt on a STA vif fails and any vifs were waiting for a new channel, simply restart the concurrent vifs on their previous channel. Requires that we start tracking the last issued channel in ar->last_ch, which is valid since ath6kl only supports 1 channel at a time. Also clear the beaconing vif's want_ch_switch bit regardless of whether channel switch succeeds, to stop recommitting the same failed profile. Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit fd4377b6bacc0f04bb1898f3ccab9510172a7561 Author: Thomas Pedersen Date: Thu Aug 9 17:32:33 2012 -0700 ath6kl: configure wow filters per-vif Only WoW filters for the first vif were being set, causing failures to wake up on any concurrent connected vifs. Handle all per-vif suspend and resume tasks. Since cfg80211 issues user wow filters on a per-wiphy basis, set any custom filters on all connected vifs. Starting WoW in firmware and setting host sleep mode is still handled on a global per-phy level. The first vif is always used for bookkeeping regardless of whether it is connected or not. WoW is cancelled if no connected vifs are found. No firmware capability bits or API bump is needed for this patch, as setting filters for vifs with index > 0 will simply overwrite the index 0 filters in the current implementation. While not correct, this is identical to the existing behavior. kvalo: fix a checkpatch warning in ath6kl_wow_resume() Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit f8c0305383121817c77d400c788d82ca1a74582c Author: Kalle Valo Date: Thu Jul 12 12:13:12 2012 +0300 ath6kl: fix incorrect use of IEEE80211_NUM_BANDS ath6kl was incorrectly assuming that IEEE80211_NUM_BANDS will always be 2 and used that also in the firmware WMI interface definitions. But after the support for 60 GHz was added to cfg80211 IEEE80211_NUM_BANDS changed to 3 and this can cause all sort of problems, possibly even memory corruption. I only found this during code review and didn't notice any bugs, but I'm sure there are a few lurking somewhere. To fix this rename unused A_NUM_BANDS to ATH6KL_NUM_BANDS, which is always defined to be 2, and use that in WMI. Signed-off-by: Kalle Valo commit 84841ba29b1f55fb09703408477f097c7f8952f8 Author: Kalle Valo Date: Thu Jul 19 16:00:56 2012 +0300 ath6kl: add support for changing contry code To make it possible to change the country code from user space via nl80211 add handler for reg_notifier. The feature is only enabled when built time option CONFIG_ATH6KL_REGDOMAIN is enabled, which again depends on CFG80211_CERTIFICATION_ONUS for certication purposes. Signed-off-by: Kalle Valo commit 11f0bfcf73f4a90c8c0e0b244a272379b376adb1 Author: Kalle Valo Date: Thu Jul 19 16:00:48 2012 +0300 ath6kl: refactor wmi scan command ATH6KL_FW_CAPABILITY_STA_P2PDEV_DUPLEX was checked in cfg80211.c which is a bit awkward when adding more callsites to the scan functions. Refactor the code to wmi.c so that it's transparent to the callers. Signed-off-by: Kalle Valo commit c8c72b74e289a3439e9c2438ca675c5a746bf929 Author: Kalle Valo Date: Thu Jul 19 16:00:40 2012 +0300 ath6kl: move ath6kl_wmi_startscan_cmd() To make it easier to refactor the scan commands move ath6kl_wmi_startscan_cmd() before the beginscan function. No functional changes. Signed-off-by: Kalle Valo commit 279b2862ee6ba9ee950c02044142f8ea137c302e Author: Thomas Pedersen Date: Tue Jul 17 19:39:55 2012 -0700 ath6kl: support TX error rate notification The ath6kl firmware can monitor a connection and report when a certain TX failure threshold is crossed. Support this configuration and event reporting on compatible firmwares. Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit bf744f11788280bcbd9bb8ec62974274b72a75bf Author: Bala Shanmugam Date: Tue Jul 17 12:01:55 2012 +0530 ath6kl: Add support for AR6004 hardware version 1.3 Add support for AR6004 hardware with version 1.3 and has id 0x31c8088a. Signed-off-by: Bala Shanmugam Signed-off-by: Kalle Valo commit 4aca81bfb0b13b927320448c6e4820ffb95f095b Author: Pandiyarajan Pitchaimuthu Date: Wed Jul 11 12:51:43 2012 +0530 ath6kl: Make use of return value from ath6kl_diag_read() In ath6kl_read_fwlogs(), return value from ath6kl_diag_read()is not used to bail out in case of any errors in reading fw log. No real issue is observed because of this, reported by source code analyzer. kvalo: fix a long line warning Signed-off-by: Pandiyarajan Pitchaimuthu Signed-off-by: Kalle Valo commit c95dcb595dde97510dd4bc98c3112fe4d5dbd71f Author: Aarthi Thiruvengadam Date: Tue Jul 10 13:20:40 2012 -0700 ath6kl: use custom MAC address for newly created interfaces Firmware and driver generate MAC addresses for the second and third interfaces. In addition to the existing algorithm, flip bit 7 of 5th octet. Since both firmware and driver individually generate the MAC addresses, introduce a new firmware capability bit to keep them compatible. Signed-off-by: Aarthi Thiruvengadam Signed-off-by: Kalle Valo commit 85b20fc2420c4d20729f3bbdbfe5962dcc58c3b0 Author: Thomas Pedersen Date: Thu Jun 21 12:50:08 2012 -0700 ath6kl: support rssi threshold for sched scan The ath6kl firmware can filter scan results based on rssi. This is useful to limit hosts wakeups on scheduled scans. Signed-off-by: Thomas Pedersen Signed-off-by: Kalle Valo commit 2ad8f54bc86809c2a8de3830e3ed275fcc6401ed Author: Syam Sidhardhan Date: Tue Oct 23 19:02:18 2012 +0530 Bluetooth: Replace include linux/module.h with linux/export.h include is the right to go here. Signed-off-by: Syam Sidhardhan Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit ea5a5c73a278b24f05022b6f073bf5d196a2b271 Author: Syam Sidhardhan Date: Tue Oct 23 19:02:16 2012 +0530 Bluetooth: trivial: Remove newline before EOF Trivial fix. Signed-off-by: Syam Sidhardhan Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 3f7a56c4ff438f4727439cb048034f56320dd228 Author: Mat Martineau Date: Tue Oct 23 15:24:23 2012 -0700 Bluetooth: Start channel move when socket option is changed Channel moves are triggered by changes to the BT_CHANNEL_POLICY sockopt when an ERTM or streaming-mode channel is connected. Moves are only started if enable_hs is true. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit e6a3ee6e8aa27d0a38be7ead0c1624041697ffbc Author: Mat Martineau Date: Tue Oct 23 15:24:22 2012 -0700 Bluetooth: Do not retransmit data during a channel move Do not retransmit previously-sent data when a "receiver ready" s-frame with the "final" flag is received during a move. The ERTM state machines will resynchronize at the end of a channel move, and the state machine needs to avoid state changes during a move. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit a549574da39f0a6df68ffdb72dd015d04a8486de Author: Mat Martineau Date: Tue Oct 23 15:24:21 2012 -0700 Bluetooth: Ignore BR/EDR packet size constraints when fragmenting for AMP When operating over BR/EDR, ERTM accounts for the maximum over-the-air packet size when setting the PDU size. AMP controllers do not use the same over-the-air packets, so the PDU size should only be based on the HCI MTU of the AMP controller. Signed-off-by: Mat Martineau Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 36c86c8566cec67924ae6f372d9066cc9e92ad0e Author: Mat Martineau Date: Tue Oct 23 15:24:20 2012 -0700 Bluetooth: Configure appropriate timeouts for AMP controllers The L2CAP spec recommends specific retransmit and monitor timeouts for ERTM channels that are on AMP controllers. These timeouts are calculated from the AMP controller's best effort flush timeout. BR/EDR controllers use the default retransmit and monitor timeouts. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit b99e13ade709274104f5c2b8a26dc7d2953fc58e Author: Mat Martineau Date: Tue Oct 23 15:24:19 2012 -0700 Bluetooth: Do not send data during channel move Outgoing ERTM data is queued during a channel move. The ERTM state machine is partially reset at the start of a move, and must be resynchronized with the remote state machine at the end of the move. Data is not sent so that there are no state transitions between the partial reset and the resync. Streaming mode frames are dropped during a move. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit d5f8a75d88ecef3987158a94e8070bdfb46b09bd Author: Mat Martineau Date: Tue Oct 23 15:24:18 2012 -0700 Bluetooth: Flag ACL frames as complete for AMP controllers AMP controllers expect to transmit only "complete" ACL frames. These frames have both the "start" and "cont" bits set. AMP does not allow fragmented ACLs. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 8eb200bd2f1c772dcb7f108f690ef03b054be04e Author: Mat Martineau Date: Tue Oct 23 15:24:17 2012 -0700 Bluetooth: Handle physical link completion Several different actions may be taken when an AMP physical link becomes available. A channel being created on an AMP controller must continue the connection process. A channel being moved needs to either send a move request or a move response. A failed physical link will revert to using a BR/EDR controller if possible. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 3fd71a0a438aa5bd43f52f3feec24a4cb3b799d3 Author: Mat Martineau Date: Tue Oct 23 15:24:16 2012 -0700 Bluetooth: Add move confirm response handling The move confirm response concludes the channel move command sequence. Receipt of this command indicates that data may begin to flow again. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 1500109bbc6cc42ec6c8445f1cf04d25fa54a57b Author: Mat Martineau Date: Tue Oct 23 15:24:15 2012 -0700 Bluetooth: Add logical link confirm The logical link confirm callback is executed when the AMP controller completes its logical link setup. During a channel move, a newly formed logical link allows a move responder to send a move channel response. A move initiator will send a move channel confirm. A failed logical link will end the channel move and send an appropriate response or confirm command indicating a failure. If the channel is being created on an AMP controller, L2CAP configuration is completed after the logical link is set up. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 5b155ef960202b20a5cae43b9e675f4326e2375c Author: Mat Martineau Date: Tue Oct 23 15:24:14 2012 -0700 Bluetooth: Move channel response The move response command includes a result code indicating "pending", "success", or "failure" status. A pending result is received when the remote address is still setting up a physical link, and will be followed by success or failure. On success, logical link setup will proceed. On failure, the move is stopped. The receiver of a move channel response must always follow up by sending a move channel confirm command. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 168df8e57e7c1afce3f86a86ae106f82ff7c18d8 Author: Mat Martineau Date: Tue Oct 23 15:24:13 2012 -0700 Bluetooth: Add state to hci_chan On an AMP controller, hci_chan maps to a logical link. When a channel is being moved, the logical link may or may not be connected already. The hci_chan->state is used to determine the existance of a useable logical link so the link can be either used or requested. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 5f3847a4788e7205a6ad2ac363f968c9618074f1 Author: Mat Martineau Date: Tue Oct 23 15:24:12 2012 -0700 Bluetooth: Add move channel confirm handling After sending a move channel response, a move responder waits for a move channel confirm command. If the received command has a "confirmed" result the move is proceeding, and "unconfirmed" means the move has failed and the channel will not change controllers. Signed-off-by: Mat Martineau Acked-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 32b32735ca1439e2ead658dd63234c0c380af8ac Author: Mat Martineau Date: Tue Oct 23 15:24:11 2012 -0700 Bluetooth: Add new ERTM receive states for channel move Two new states are required to implement channel moves with the ERTM receive state machine. The "WAIT_P" state is used by a move responder to wait for a "poll" flag after a move is completed (success or failure). "WAIT_F" is similarly used by a move initiator to wait for a "final" flag when the move is completing. In either state, the reqseq value in the poll/final frame tells the state machine exactly which frame should be expected next. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 02b0fbb92dbb0e3c50f1c955547444e3997c80e3 Author: Mat Martineau Date: Tue Oct 23 15:24:10 2012 -0700 Bluetooth: Channel move request handling On receipt of a channel move request, the request must be validated based on the L2CAP mode, connection state, and controller capabilities. ERTM channels must have their state machines cleared and transmission paused while the channel move takes place. If the channel is being moved to an AMP controller then an AMP physical link must be prepared. Moving the channel back to BR/EDR proceeds immediately. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit b1a130b7d372c5ccc2001d4ee08928b5324f0a76 Author: Mat Martineau Date: Tue Oct 23 15:24:09 2012 -0700 Bluetooth: Lookup channel structure based on DCID Processing a move channel request involves getting the channel structure using the destination channel ID. Previous code could only look up using the source channel ID. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 5909cf30f380d13bb59e81e4cb17c3714cb94e68 Author: Mat Martineau Date: Tue Oct 23 15:24:08 2012 -0700 Bluetooth: Remove unnecessary intermediate function Resolves a conflict resolution issue in "Bluetooth: Fix L2CAP coding style". The remaining connect and create channel response handler is renamed to better reflect its use for both response types. Signed-off-by: Mat Martineau Acked-by: Marcel Holtmann Acked-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 1700915fef115b13c43fe3974d0dbb619e6a187d Author: Mat Martineau Date: Tue Oct 23 15:24:07 2012 -0700 Bluetooth: Add L2CAP create channel request handling The L2CAP create channel request is very similar to an L2CAP connect request, but it has an additional parameter for the controller ID. If the controller id is 0, the channel is set up on the BR/EDR controller (just like a connect request). Using a valid high speed controller ID will cause the channel to be initially created on that high speed controller. While the L2CAP data will be initially routed over the AMP controller, the L2CAP fixed signaling channel only uses BR/EDR. When a create channel request is received for a high speed controller, a pending response is always sent first. After the high speed physical and logical links are complete a success response will be sent. Signed-off-by: Mat Martineau Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 08333283a7347c33589f31c9b1d1b7a4f3c3f7a3 Author: Mat Martineau Date: Tue Oct 23 15:24:06 2012 -0700 Bluetooth: Add new l2cap_chan struct members for high speed channels An L2CAP channel using high speed continues to be associated with a BR/EDR l2cap_conn, while also tracking an additional hci_conn (representing a physical link on a high speed controller) and hci_chan (representing a logical link). There may only be one physical link between two high speed controllers. Each physical link may contain several logical links, with each logical link representing a channel with specific quality of service. During a channel move, the destination channel id, current move state, and role (initiator vs. responder) are tracked and used by the channel move state machine. The ident value associated with a move request must also be stored in order to use it in later move responses. The active channel is stored in local_amp_id. Signed-off-by: Mat Martineau Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit eeb126e9ee5d3b14913863fdd7d88fdbf158318f Author: Johannes Berg Date: Tue Oct 23 15:16:50 2012 +0200 cfg80211: add tracing for P2P Device start/stop These were missed due to the tracing work having started on a kernel that didn't have P2P Device yet, implement them now. Signed-off-by: Johannes Berg commit 5d0d04e477c44993f995f35b728ce9dd57a4615e Author: Assaf Krauss Date: Wed Aug 1 15:12:48 2012 +0300 mac80211: expose AES-CMAC subkey calculation Expose a function for the AES-CMAC subkey calculation to drivers. This is the first step of the AES-CMAC cipher key setup and may be required for CMAC hardware offloading. Signed-off-by: Assaf Krauss Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 9a90bc81914ee77edcd6eb7e881639b7f7bf1667 Author: Thomas Pedersen Date: Sat Oct 20 19:03:10 2012 -0700 mac80211: mesh STAs only process mesh beacons Before, a mesh STA would execute some code on behalf of AP or IBSS beacons. Since the mesh stack currently does not consider anything but other mesh STAs interesting, limit processing to just these and save a little overhead. Signed-off-by: Thomas Pedersen Signed-off-by: Johannes Berg commit 82ed61fa1a4e08d5f9e86fb1b715b50ed678b6ac Author: Daniel Vetter Date: Sat Oct 20 20:57:41 2012 +0200 drm/i915: make edp panel power sequence setup more robust 3 changes: - If a given value is unset, use the maximal limits from the eDP spec. - Write back the new values, since otherwise the panel power sequencing hw will not dtrt. - Revert the early bail-out in case the register values are unset. The last change reverts commit bfa3384a9a84aaaa59443bbd776c142e7dba4b0f Author: Jesse Barnes Date: Tue Apr 10 11:58:04 2012 -0700 drm/i915: check PPS regs for sanity when using eDP v2: - Unlock the PP regs as the very first thing. This is a required w/a for cpu eDP on port A, and generally a good idea. - Fixup the panel power control port selection bits. v3: Paulo Zanoni noticed that I've fumbled the computation of the spec limit values. Fix them up. We've also noticed that the t8/t9 values in the vbt/bios-programmed pp are much larger than any limits. My guess is that this is to conceal any backlight enable/disable delays. So by using the much shorter limits from the spec, which only concerns the sink, we risk that we might display before the backlight is fully on, or disable the output while the backlight still has afterglow. I've figured I don't care too much, since this will only happen when both the pp regs are not programmed, and the vbt tables don't contain anything useful. v4: Don't set the port selection bits on hsw/LPT, they don't exist any more. v5: Fixup spelling issues in comments, as noticed by Jesse Barnes. Reviewed-by: Jesse Barnes Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 2d354c347257287ec00b2e6e26a4d209e348cf7d Author: Damien Lespiau Date: Mon Oct 22 18:19:27 2012 +0100 drm/i915: Don't try to use SPR_SCALE when we don't have a sprite scaler Haswell does not have a scaler in the sprite pipeline anymore, so let's ensure: 1/ We bail out of update_plate() when someone is trying to ask to display a scaled framebuffer, 2/ We never write to the nonexistent SPR_SCALE register v2: Smash in the fixup from Damien in the disable_plane function. Signed-off-by: Damien Lespiau (for v1) Reviewed-by: Jesse Barnes (for v1) Signed-off-by: Daniel Vetter commit 9b34f40c20111ba658f88e1669598db494be1fbc Merge: 9917c85 290eddc Author: John W. Linville Date: Tue Oct 23 11:41:46 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless Conflicts: drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c net/mac80211/mlme.c commit 9324cf7fefd77883a9d8d7e0356b9dd45c13132b Author: Daniel Vetter Date: Sat Oct 20 21:13:05 2012 +0200 drm/i915/dp: actually nack test request ... like the comment says. No idea whether this has any effect, but I guess it's better to not lie to the display by acking a test request and never following through with it. This goes back to the commit that originally introduced this code: commit a60f0e38d72a5e24085d6e7e27a4cadc20ae268a Author: Jesse Barnes Date: Thu Oct 20 15:09:17 2011 -0700 drm/i915: add DP test request handling Reviewed-by: Chris Wilson Meh'ed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 86052a77067df53ad48800e74984f84806baddbd Author: Assaf Krauss Date: Wed Jul 18 14:58:21 2012 +0300 iwlwifi: remove MFP Kconfig option Remove the Kconfig option CONFIG_IWLWIFI_EXPERIMENTAL_MFP, if the firmware doesn't support MFP then the user shouldn't have the option to enable it as it won't work correctly. Signed-off-by: Assaf Krauss Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 6c3fd3f00c67105b49d57525614fcfa6816d604d Author: Emmanuel Grumbach Date: Thu Oct 18 12:38:37 2012 +0200 iwlwifi: don't leak Tx skb when a queue is disabled Since the queue might not be empty, we need to free the pending Tx packets. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f327b340e35b210c936cd109544e672aa7a0e49d Author: Jiri Slaby Date: Thu Oct 18 22:26:34 2012 +0200 TTY: hci_ldisc, remove invalid check in open hci_ldisc's open checks if tty_struct->disc_data is set. And if so it returns with an error. But nothing ensures disc_data to be NULL. And since ld->ops->open shall be called only once, we do not need the check at all. So remove it. Note that this is not an issue now, but n_tty will start using the disc_data pointer and this invalid 'if' would trigger then rendering TTYs over BT unusable. Signed-off-by: Jiri Slaby Acked-by: Marcel Holtmann Cc: Gustavo Padovan Cc: Johan Hedberg Cc: linux-bluetooth@vger.kernel.org Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 397fe15715ef1457d89f52666d0e249eb5eae64c Author: Daniel Vetter Date: Mon Oct 22 22:56:43 2012 +0200 drm: extract drm_dp_max_lane_count helper Reviewed-by: Alex Deucher Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 3b5c662e8f536ca47396116de82f08d771727076 Author: Daniel Vetter Date: Thu Oct 18 10:15:31 2012 +0200 drm: extract dp link bw helpers Reviewed-by: Alex Deucher Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit a7c9655fdd89fae1749c2e5beadae8b7d32093af Author: Daniel Vetter Date: Thu Oct 18 10:15:30 2012 +0200 drm/i915: use the new dp train delay helpers Only really required for dp 1.2. I've hoped this would help with some link training woes I'm fighting, but alas those are only dp 1.1 devices. Also move a comment that went misplaced in the recent refactorings to the right spot again. Reviewed-by: Alex Deucher Signed-off-by: Daniel Vetter commit 1a644cd47ca0c40a9210db170bd0630031c3a60b Author: Daniel Vetter Date: Thu Oct 18 15:32:40 2012 +0200 drm: extract dp link train delay functions from radeon This requires a few changes since that dpcd value is above the range currently cached by radeon. I've check the dp specs, and above 0xf there's a big gap and nothing that looks like we should cache it while a given device is plugged in. It's also the same value that i915.ko uses. Hence extend the various dpcd arrays in the radeon driver, use proper symbolic constants where applicable (one place overallocated the dpcd array to 25 bytes). Then also drop the rd_interval cache - radeon_dp_link_train_init re-reads the dpcd block, so the values we'll consume in train_cr and train_ce will always be fresh. To avoid needless diff-churn, #define the old size of dpcd as the new one and keep it around. v2: Alex Deucher noticed one place where I've forgotten to replace 8 with DP_RECEIVER_CAP_SIZE. Reviewed-by: Alex Deucher Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 0f037bdee1a12947a0c55b21a05f57793332bc07 Author: Daniel Vetter Date: Thu Oct 18 10:15:27 2012 +0200 drm: extract helpers to compute new training values from sink request Safe for the minor difference that the intel versions get an offset into the link_status as an argument, both are the same again. Reviewed-by: Alex Deucher Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 01916270b840f7f37b7daab936add1747d6afbbf Author: Daniel Vetter Date: Thu Oct 18 10:15:25 2012 +0200 drm: dp helper: extract drm_dp_clock_recovery_ok radeon and intel use the exact same definition. Reviewed-by: Alex Deucher Acked-by: Dave Airlie v2: Kill 2 more helpers in intel_dp.c that I've missed. Signed-off-by: Daniel Vetter commit 1ffdff134eb2d943bde3e4901ac48a9656a7e7a5 Author: Daniel Vetter Date: Thu Oct 18 10:15:24 2012 +0200 drm: dp helper: extract drm_dp_channel_eq_ok radeon and intel use the exact same definition. Reviewed-by: Alex Deucher Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 00ae9a456dd9a3e26db2265c0d25dec0d1e74b07 Author: Daniel Vetter Date: Thu Oct 18 10:15:23 2012 +0200 drm: rename drm_dp_i2c_helper.c to drm_dp_helper.c I want to move some dp link training helpers into this place, so in the future this won't be just about i2c any longer. Reviewed-by: Alex Deucher Acked-by: Dave Airlie Signed-off-by: Daniel Vetter commit 9ec15619fc29d641b35901724be6c284f96e1f8f Author: Mika Kuoppala Date: Mon Oct 22 16:10:30 2012 +0300 drm/i915: remove unused mem_block struct definition Signed-off-by: Mika Kuoppala Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 9cd300e038d492af4990b04e127e0bd2df64b1ca Author: Jani Nikula Date: Fri Oct 19 14:51:52 2012 +0300 drm/i915: Move cached EDID to intel_connector Move the cached EDID from intel_dp and intel_lvds_connector to intel_connector. Unify cached EDID handling for LVDS and eDP, in preparation for adding more generic EDID caching later. Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit ebda95a9965dc6641deacc57ac480e01a378e19b Author: Jani Nikula Date: Fri Oct 19 14:51:51 2012 +0300 drm/i915: Do not free the passed EDID in intel_connector_update_modes() The caller, not intel_connector_update_modes(), should free the edid. This improves the reusability of intel_connector_update_modes(). Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit dd06f90ee880c61a534ccbe07bd30a8a7d7f7567 Author: Jani Nikula Date: Fri Oct 19 14:51:50 2012 +0300 drm/i915: Move the fixed mode to intel_panel Pave the way for sharing some logic between eDP and LVDS. Based on earlier work by Chris Wilson CC: Chris Wilson Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 1d508706ea848e32ff20bb311f4325896c6eb7b9 Author: Jani Nikula Date: Fri Oct 19 14:51:49 2012 +0300 drm/i915: Create generic intel_panel for LVDS and eDP Create a generic struct intel_panel for sharing a data structure and code between eDP and LVDS panels. Add the new struct to intel_connector so that later on we can have generic EDID and mode reading functions with EDID caching that transparently fallback to fixed mode when EDID is not available. Add intel_panel as a dummy first, and move data (such as the mentioned fixed mode) to it in later patches. Based on earlier work by Chris Wilson CC: Chris Wilson Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson [danvet: Fixup tiny conflict in intel_dp_destroy.] Signed-off-by: Daniel Vetter commit f8779fda5776dfb9369ec09fc21745c9d8057e81 Author: Jani Nikula Date: Fri Oct 19 14:51:48 2012 +0300 drm/i915/dp: Initialize eDP fixed mode in intel_dp_init Since we do EDID caching in intel_dp_init, we can do the fixed mode initialization there too. This should not change the functionality apart from initializing fixed mode earlier. Particularly retain the behaviour of only falling back to VBT if EDID is not available to not regress commit 47f0eb2234a2a1c790825393bbaccfadf82463d3 Author: Keith Packard Date: Mon Sep 19 14:33:26 2011 -0700 drm/i915: Only use VBT panel mode on eDP if no EDID is found Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 62165e0def63fa3a5073c7337f92660e526de370 Author: Jani Nikula Date: Fri Oct 19 14:51:47 2012 +0300 drm/i915/lvds: Move some connector specific info across from the encoder As there is 1:1 mapping between encoder and connector for the LVDS, the goal is to simply reduce the amount of noise within the connector functions, i.e. we split the encoder/connector for LVDS as best we can and try to only operate on the LVDS connector from the connector funcs and the LVDS encoder form the encoder funcs. Based on earlier work by Chris Wilson CC: Chris Wilson Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 0657b6b111e1ffa330f961931f72f5d14306dbcb Author: Jani Nikula Date: Fri Oct 19 14:51:46 2012 +0300 drm/i915: Backlight setup requires connector so pass it as parameter Get rid of saved int_lvds_connector and int_edp_connector in drm_i915_private. Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit db1740a0f1a1d60391f60cfd93083f3c091d398a Author: Jani Nikula Date: Fri Oct 19 14:51:45 2012 +0300 drm/i915/lvds: Move the acpi_lid_notifier from drm_i915_private to the connector Based on earlier work by Chris Wilson CC: Chris Wilson Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit c7362c4dace5b61b28814fb61624f0ac069b08b0 Author: Jani Nikula Date: Fri Oct 19 14:51:44 2012 +0300 drm/i915/lvds: Introduce intel_lvds_connector Introduce a local structure to move LVDS specific information away from the drm_i915_private and onto the LVDS connector. Based on earlier work by Chris Wilson CC: Chris Wilson Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 29b99b4841cc15854475a299aceaa018e7a468f1 Author: Jani Nikula Date: Fri Oct 19 14:51:43 2012 +0300 drm/i915/lvds: Rename intel_lvds to intel_lvds_encoder In preparation for introducing intel_lvds_connector to move some of the LVDS specific storage away from drm_i915_private, first rename the encoder to avoid potential confusion. Based on earlier work by Chris Wilson CC: Chris Wilson Signed-off-by: Jani Nikula Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter commit 746a336582a7e05082ab4efbb43f5357858f629a Author: Johannes Berg Date: Mon Oct 22 15:20:53 2012 +0200 mac80211: fix WDS channel context test WDS is (currently) not allowed when channel contexts are *supported*, not when they're *not* supported. Fix the inverted test. Reported-by: Ronald Tested-by: Ronald Signed-off-by: Johannes Berg commit c2fb7916927e989ea424e61ce5fe617e54878827 Merge: 29de6ce 6f0c058 Author: Daniel Vetter Date: Mon Oct 22 14:34:51 2012 +0200 Merge tag 'v3.7-rc2' into drm-intel-next-queued Linux 3.7-rc2 Backmerge to solve two ugly conflicts: - uapi. We've already added new ioctl definitions for -next. Do I need to say more? - wc support gtt ptes. We've had to revert this for snb+ for 3.7 and also fix a few other things in the code. Now we know how to make it work on snb+, but to avoid losing the other fixes do the backmerge first before re-enabling wc gtt ptes on snb+. And a few other minor things, among them git getting confused in intel_dp.c and seemingly causing a conflict out of nothing ... Conflicts: drivers/gpu/drm/i915/i915_reg.h drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_dp.c drivers/gpu/drm/i915/intel_modes.c include/drm/i915_drm.h Signed-off-by: Daniel Vetter commit 29de6ce574870a0d3fd157afdbf51c0282e2bf63 Author: Damien Lespiau Date: Fri Oct 19 17:55:43 2012 +0100 drm/i915: Don't program DSPCLK_GATE_D twice on IVB and VLV We were programming register 0x42020 twice on those platforms. Once should be enough. Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 4d47e4f57f0a821f5ba84b8e101ee7e44e4ffae6 Author: Damien Lespiau Date: Fri Oct 19 17:55:42 2012 +0100 drm/i915: Program DSPCLK_GATE_D only once on Ironlake With the consolidated registers, it appears that we're setting the same bis several times. Let's just collect the bits we want to set and program it once. v2: More cleanup. Also program 0x42004 and 0x45000 for FBC on non mobile platforms (Paulo Zanoni) Signed-off-by: Damien Lespiau [danvet: Undo the functional change as discussed on irc.] Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 9917c85b06c2eb9d61c0f2dadd2d5d8788f7e563 Author: Alan Cox Date: Thu Oct 11 17:25:14 2012 +0100 brcm80211: remove some truely barftastic code It's not used or called but please make it go away before someone copies or uses it Signed-off-by: Alan "minus lunch" Cox Acked-by: Franky Lin Signed-off-by: John W. Linville commit c5b057b55fb9822544995f9268de871ebac81f12 Author: Arend van Spriel Date: Wed Oct 10 11:13:11 2012 -0700 brcmfmac: remove 'always false' condition from brcmf_c_mkiovar_bsscfg The parameter buflen is unsigned so the condition buflen < 0 is always false. The patch fixes the if statement checking the buffer length. Reported-by: Dan Carpenter Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 3cb91f5335cfad6d85b723a8c8cce973566221b8 Author: Franky Lin Date: Wed Oct 10 11:13:08 2012 -0700 brcmfmac: fix sparse warnings Following sparse warning is fixed: drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:2518:21: warning: symbol 'brcmf_find_wpaie' was not declared. Should it be static? drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3768:1: warning: symbol 'brcmf_set_management_ie' was not declared. Should it be static? Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 81118d165811581f2fe8a793f270e9961fc7e445 Author: Dan Carpenter Date: Wed Oct 10 11:13:07 2012 -0700 brcmfmac: Using zero instead of NULL Sparse complains that we use zero instead of NULL here. In fact, the initialization is wrong and should be removed. Doing these kinds of bogus initializations means that GCC can't detect unitialized variables and leads to bugs. Reported-by: Fengguang Wu Reviewed-by: Hante Meuleman Signed-off-by: Dan Carpenter Signed-off-by: Franky Lin Signed-off-by: John W. Linville commit 424749c75daf3611a68a49eca5940ac2b74e4406 Author: Rajkumar Manoharan Date: Wed Oct 10 23:03:02 2012 +0530 ath9k: perform ANI cycle in idle state As of now the ANI cycle is executed only when the chip is awake. On idle state case, the station wakes up from network sleep for beacon reception. Since most of the time, ANI cycle is not syncing with beacon wakeup, ANI cycle is ignored. Approx 5 mins once, the calibration is performed. This could affect the connection stability when the station is idle for long. Even though the OFDM and CCK phy error rates are too high, ANI is unable to tune its immunity level as quick enough due to rare execution. Here the experiment shows that OFDM and CCK levels are at default even on higher phy error rate. listenTime=44 OFDM:3 errs=121977/s CCK:2 errs=440818/s ofdm_turn=1 This change ensures that ANI calibration will be exectued atleast once for every 10 seconds. The below result shows improvements and immunity levels are adopted quick enough. listenTime=557 OFDM:4 errs=752/s CCK:4 errs=125/s ofdm_turn=0 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b4764c809a306ea37b6409494896e919bbb5ec5f Author: Christian Lamparter Date: Sat Oct 6 20:42:54 2012 +0200 carl9170: handle traps from firmware loader This patch changes the way the driver deals with command responses and traps which are sent through the special interrupt input endpoint 3. While the carl9170 firmware does not use this endpoint for command responses or traps, the firmware loader on the device does. It uses it to notify the host about 'watchdog triggered' in case the firmware/hardware has crashed. Note: Even without this patch, the driver is still able to detect the mishap and reset the device. But previously it did that because the trap event caused an out-of-order message sequence number error, which also triggered a reset. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit afe3840a1a07371cf1b8bbe01b9bb4c410e3bba1 Author: Andrei Emeltchenko Date: Fri Oct 5 13:57:49 2012 -0700 mwifiex: Using %*phD instead of print_hex_dump_bytes Make output more readable and remove unneeded function call. ... mwifiex_sdio mmc0:0001:1: last_cmd_index = 3 last_cmd_id: 00000000: 16 00 cd 00 83 00 df 00 28 00 ........(. ... would be changed to: ... mwifiex_sdio mmc0:0001:1: last_cmd_index = 3 mwifiex_sdio mmc1:0001:1: last_cmd_id: 16 00 cd 00 83 00 df 00 28 00 ... Signed-off-by: Andrei Emeltchenko Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f575f65897e84018ee7163407ca5514272e11223 Author: Bing Zhao Date: Fri Oct 5 13:57:48 2012 -0700 mwifiex: use sizeof(array) to print_hex_dump_bytes DBG_CMD_NUM is the number of commands, not the actual bytes of data for printing. Also remove the duplicated DBG_CMD_NUM definition. Reported-by: Andy Shevchenko Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7a66205a218c4b22ced8b3326ab925136b160b01 Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:15 2012 +0200 rt2800: comment tx power settings Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 1e4cf249a43da5c441c1025aca588ca65185fb61 Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:14 2012 +0200 rt2800: allow to reduce tx power on devices not exporting power limit Some rt2800 devices don't have their calibrated max eirp tx power in their calibration data. For those devices reduce tx power according to difference between regulatory max channel power and requested tx power. This patch is based on Helmut Schaa work. Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 146c3b0ccd09dbd21f7dd6c9ed10094cb91f9a2d Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:13 2012 +0200 rt2800: pass channel pointer to rt2800_config_txpower Preparation for use regulatory max channel power in TX power delta calculations. Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d9bceaeb174fe70c62933e1bf608500c614c5130 Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:12 2012 +0200 rt2800: use eeprom OFDM 6M TX power as criterion Don use TX_PWR_CFG_0 register value of OFDM 6M tx power as criterion since it can be changed. The same do vendor driver (see AsicAdjustSingleSkuTxPower and AsicGetTxPowerOffset functions from 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO). Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit de2493c58573214b0cc235c32f9ac59aa8a89c44 Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:11 2012 +0200 rt2800: compensate tx power also for non 11b rates on 2GHz We skip compensate calculation for non 11b rates on 2.4GHz band. I do not see that on vendor driver (2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO). Signed-off-by: Stanislaw Gruszka Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 19f3fa248174b2611d47229db847427092c1849f Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:10 2012 +0200 rt2800: limit TX_PWR_CFG_ values to 0xc Based on AsicAdjustTxPower function from vendor driver (2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO) limit per rate TX power values we program into TX_PWR_CFG_ registers. Note that on some configurations (devices/rates) is allowed to use bigger values than 0xc, but we use safe maximum value for now. Further work need to be done to allow use bigger values than 0xc. Signed-off-by: Stanislaw Gruszka Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit cee2c7315f60beeff6137ee59e99acc77d636eeb Author: Stanislaw Gruszka Date: Fri Oct 5 13:44:09 2012 +0200 rt2800: use BBP_R1 for setting tx power TX power delta can be negative. TX_PWR_CFG_ registers allow to set delta only in range between 0 dBm and 15 dBm (4 bits for each rate). Se we need to use BBP_R1 to configure negative deltas. Not utilize +6 dBm increasing BBP_R1 option for safety reason. For now, this can be used for devices, which export maximum allowed TX power value. Signed-off-by: Stanislaw Gruszka Acked-by: Helmut Schaa Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 037fd9b6473393c35a31f0c43e26eb7e874e901d Author: Sven Eckelmann Date: Thu Oct 4 19:43:15 2012 +0200 ath_hw: Use common REG_WRITE parameter order All defines for REG_WRITE in Atheros wireless drivers use the order "ah", "register" and "value". hw.c is the only file using the order "ah", "value" and "register". drivers/net/wireless/ath/ath9k/hw.h:#define REG_WRITE(_ah, _reg, _val) \ drivers/net/wireless/ath/key.c:#define REG_WRITE(_ah, _reg, _val) (common->ops->write)(_ah, _val, _reg) This inconsistent definition can easily lead to implementation errors. The modification doesn't change the behavior of the driver or the generated code. Signed-off-by: Sven Eckelmann Signed-off-by: Simon Wunderlich Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ed9f0ed3b977f480a35ea3d3e9d966d89724185e Author: Andy Shevchenko Date: Tue Oct 2 17:19:44 2012 +0300 rtlwifi: rtl8192ce: rtl8192cu: use %*phC to dump small buffers The patch changes a bit trace output format in the rtl_cam_program_entry() to print prefix and the actual data on the same line. Moreover the %*phC outputs each byte as 2 hex digits, which is slightly different to the original %x. Signed-off-by: Andy Shevchenko ACKed-by: Larry Finger Signed-off-by: John W. Linville commit 264e989a0b347c61bd3258063eac8b86f55ff037 Author: Dan Carpenter Date: Tue Oct 2 11:32:34 2012 +0300 orinoco_usb: clean up some signedness issues In ezusb_read_ltv() we had a comparison "(bufsize < 0)" which was never true because bufsize was unsigned. I looked at the implications of that. If we passed a negative number to ezusb_access_ltv() then it would be used as the size parameter of the memcpy() because that function uses min_t(int, exp_len, ans_size). But fortunately when I looked at the callers, bufsize is not controlled by the user and it's never negative. So these signedness mistakes have no impact. I removed the always false check from ezusb_read_ltv() and I changed the types in ezusb_access_ltv() and made the variables unsigned. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit f255b9cccaeaa03ef6e58f7762bf7249b3dd7ea2 Author: Peter Senna Tschudin Date: Wed Oct 10 18:38:17 2012 +0200 ath/ath9k/ar9003_eeprom.c: Remove semicolon after if This patch remove a semicolon after if(...) that is preventing the error check to work correctly. Removing this semicolon will change the code behavior, but this is intended. The semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r1@ position p; @@ if (...);@p @script:python@ p0 << r1.p; @@ // Emacs org-mode output cocci.print_main("", p0) cocci.print_secs("", p0) // Signed-off-by: Peter Senna Tschudin Signed-off-by: John W. Linville commit 750f32cf0a6e2a4d798e09da4079ede7d1721e54 Author: Sujith Manoharan Date: Sun Sep 30 09:03:37 2012 +0530 ath9k: Fix BT_OP_SCAN usage BT_OP_SCAN is applicable only for pre-MCI WLAN/BT combo chips and using it for MCI-based cards is incorrect. Fix this by cleaning up its usage. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 78b1775ba03c2edcc8d765dd53a7e171b18e79ac Author: Sujith Manoharan Date: Sun Sep 30 09:03:20 2012 +0530 ath9k: Use a helper routine for MCI/FTP tuning Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit dfae714361ba75323914da19eb411aaae53d6af0 Author: Hauke Mehrtens Date: Sat Sep 29 20:40:18 2012 +0200 bcma: add an extra pcie core struct The BCM4706 has two PCIe host controller on the bcma bus. For PCIe client mode it is assumed that there is only one PCIe controller so the PCIe driver, like b43 and brcmsmac are accessing the first PCIe controller when they want to issue a operation on the host controller. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit b0a949b42ba7d6f1b2876045a5e062fdfe8c691f Merge: 3cd1763 4e760f1 Author: John W. Linville Date: Fri Oct 19 15:48:17 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 3cd17638fdf13d2f7fe76465cf74106e612af5eb Merge: bc27d5f d012a60 Author: John W. Linville Date: Fri Oct 19 15:36:53 2012 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next commit bc27d5f14363a1065bf9437a5bca5409492b6c06 Merge: ddffeb8 f706adf Author: John W. Linville Date: Fri Oct 19 15:22:27 2012 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 231e54f6391ccc7a3377df5bbaff3800822def1d Author: Damien Lespiau Date: Fri Oct 19 17:55:41 2012 +0100 drm/i915: Consolidate ILK_DSPCLK_GATE and PCH_DSPCLK_GATE Register 0x42020 was defined twice under the names PCH_DSPCLK_GATE_D and ILK_DSPCLK_GATE. This patch consolidate the 2 sets of defines in one. The transforms done are: PCH_DSPCLK_GATE_D -> ILK_DSPCLK_GATE_D ILK_DSPCLK_GATE -> ILK_DSPCLK_GATE_D DPARBUNIT_CLOCK_GATE_DISABLE -> ILK_DPARBUNIT_CLOCK_GATE_DISABLE ILK_DPARB_CLK_GATE -> ILK_DPARBUNIT_CLOCK_GATE_DISABLE DPFDUNIT_CLOCK_GATE_DISABLE -> ILK_DPFDUNIT_CLOCK_GATE_DISABLE ILK_DPFD_CLK_GATE -> ILK_DPFDUNIT_CLOCK_GATE_DISABLE ILK_CLK_FBC -> ILK_DPFDUNIT_CLOCK_GATE_DISABLE DPFCRUNIT_CLOCK_GATE_DISABLE -> ILK_DPFCRUNIT_CLOCK_GATE_DISABLE ILK_DPFC_DIS1 -> ILK_DPFCRUNIT_CLOCK_GATE_DISABLE DPFCUNIT_CLOCK_GATE_DISABLE -> ILK_DPFCUNIT_CLOCK_GATE_DISABLE ILK_DPFC_DIS2 -> ILK_DPFCUNIT_CLOCK_GATE_DISABLE We have a VHRUNIT_CLOCK_GATE_DISABLE define for the pre-ILK DSPCLK_GATE_D. Even if the same bit is used in ILK_DSPCLK_GATE_D, other bits in the register change, so I went with re-defining it, well more precisely rename IVB_VRHUNIT_CLK_GATE, which is not specific to IVB+. So: IVB_VRHUNIT_CLK_GATE -> ILK_VHRUNIT_CLOCK_GATE_DISABLE VHRUNIT_CLOCK_GATE_DISABLE -> ILK_VHRUNIT_CLOCK_GATE_DISABLE (ILK+ code) This commit is only a renaming commit, further commits will clean up the logic. v2: Rename bit 5 and 7 to _ENABLE as setting them to 1 enables clock gating on their respective units, contrary to all of the other bits (Paulo Zanoni) Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 36ec8f877481449bdfa072e6adf2060869e2b970 Author: Daniel Vetter Date: Thu Oct 18 14:44:35 2012 +0200 drm/i915: unconditionally use mt forcewake on hsw/ivb Single-threaded forcewake was only used on some early pre-production ivybridge machines, all the latest ones should use mt forcewake. And we already assume this in other places of the code (e.g. DERRMR support in the ddx, or the latest intel_gt_reset patch to reset any lingering forcewake references left behind by the bios), so don't bother here, too. Reviewed-by: Mika Kuoppala Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit d012a605108a482392be80710ea35f1db27c4aa9 Author: Marco Porsch Date: Wed Oct 10 12:39:50 2012 -0700 mac80211: make client powersave independent of interface type This patch prepares mac80211 for a later implementation of mesh or ad-hoc powersave clients. The structures related to powersave (buffer, TIM map, counters) are moved from the AP-specific interface structure to a generic structure that can be embedded into any interface type. The functions related to powersave are prepared to allow easy extension with different interface types. For example with: + } else if (sta->sdata->vif.type == NL80211_IFTYPE_MESH_POINT) { + ps = &sdata->u.mesh.ps; Some references to the AP's beacon structure are removed where they were obviously not used. The patch compiles without warning and has been briefly tested as AP interface with one client in PS mode. Signed-off-by: Marco Porsch Signed-off-by: Johannes Berg commit a7902ac548190654c58e2491ff8646701772caa8 Author: Paulo Zanoni Date: Mon Oct 15 15:51:42 2012 -0300 drm/i915: set the correct function pointers for Haswell DP This is the final remaining piece of Haswell DP enablement. After this patch, just calling intel_dp_init on any port will make DP work. We still do not do this because we're currently initializing HDMI on all the ports, so if we replace intel_hdmi_init with intel_dp_init, we will break HDMI, and we can't call both because they share the same registers. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit c19b0669925cb00dc1c7b2362bfa85128afba882 Author: Paulo Zanoni Date: Mon Oct 15 15:51:41 2012 -0300 drm/i915: implement Haswell DP link train sequence Previous patch "drm/i915: add basic Haswell DP link train bits" implemented the basic structure to set the voltage levels and training patterns. This patch adds the higher-level bits that are part of the mode set sequence and hot plug. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 1eb8dfec8dea44610dbaceea0151b3d1a8591fde Author: Paulo Zanoni Date: Thu Oct 18 12:42:10 2012 -0300 drm/i915: fix Haswell DP M/N registers We have to write the correct values inside intel_dp_set_m_n and then prevent these values from being overwritten later. V2: Unconfuse double negation. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit a836bdf9ae5aa3b100c8cdd04aae5bb9c0340145 Author: Paulo Zanoni Date: Mon Oct 15 15:51:32 2012 -0300 drm/i915: add DP support to intel_ddi_disable_port Just a missing register. There is no problem to run this code when the output is HDMI. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 247d89f62230f3369aeaab85dca34978f79dcb86 Author: Paulo Zanoni Date: Mon Oct 15 15:51:33 2012 -0300 drm/i915: add DP support to intel_ddi_mode_set Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 6547fef887b057ee860f4266fa2923b7bbbf1850 Author: Paulo Zanoni Date: Mon Oct 15 15:51:40 2012 -0300 drm/i915: add DP support to intel_enable_ddi We should only write the DDI_BUF_CTL at this point for HDMI/DVI. For DP we need to do this earlier, and the values written to the register are also different. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit fe43d3f5a38e5b7db27f79cb8447cb25a884dfc7 Author: Paulo Zanoni Date: Mon Oct 15 15:51:39 2012 -0300 drm/i915: add DP support to intel_ddi_get_hw_state Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 0bdee30ed351d437cc24bb0ec51dfd02f60273fb Author: Paulo Zanoni Date: Mon Oct 15 15:51:38 2012 -0300 drm/i915: add DP support to intel_ddi_get_encoder_port Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 750eb99e0ec12f9a13446284d493d35a60866624 Author: Paulo Zanoni Date: Thu Oct 18 16:25:08 2012 +0200 drm/i915: fix DP AUX register definitions on Haswell The old rule that the AUX registers are just an offset (+4 and +10) from output_reg is not true anymore, since output_reg in on the CPU and some AUX regs are on the PCH. Signed-off-by: Paulo Zanoni [danvet: use the existing #defines as spotted by Damien Lespiau.] Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 5c95b940bd97e744267249e3b0780e6ef04b029c Author: Antonio Quartulli Date: Tue Oct 16 08:39:22 2012 +0200 nl/cfg80211: force scan using an AP vif if requested If the user wants to scan using a vif configured as AP, cfg80211 must give him a chance to do it, even if this will disrupt the stations performance due to off-channel scanning. To do so, this patch adds a 'force' flag to the SCAN_TRIGGER command which tells cfg80211 to perform the scanning operation even if the vif is an AP and the beaconing has already started. Signed-off-by: Antonio Quartulli Signed-off-by: Johannes Berg commit 16995a9fe140802c026c2ce17bf7e232f86d57ab Author: Chris Wilson Date: Thu Oct 18 11:46:10 2012 +0100 drm/i915: Clear FORCEWAKE when taking over from BIOS Some BIOSes may forcibly suspend RC6 during their operation which trigger a warning as we find the hardware in a perplexing state upon first use. So far that appears to be the worst symptom as fortuituously we use the same values as the BIOS for programming the FORCEWAKE register. Reported-by: Oleksij Rempel Signed-off-by: Chris Wilson Signed-off-by: Daniel Vetter commit 7fdd74ab8000562d4a81bc904e03cac6cc520410 Author: Daniel Vetter Date: Thu Oct 11 20:08:25 2012 +0200 drm/i915: don't save/restor ADPA for kms We now no longer rely on this. This is step 1 on a long journey to rid us of the save/restore madness, which tends to lightly paper over many issues, and cause tons of bad things itself ... Reviewed-by: Paulo Zanoni [danvet: satisfy Paulo's ocd and drop the needless braces.] Signed-off-by: Daniel Vetter commit 2e9388923e83bc4e2726f170a984621f1d582e77 Author: Daniel Vetter Date: Thu Oct 11 20:08:24 2012 +0200 drm/i915/crt: explicitly set up HOTPLUG_BITS on resume ... instead of relying on the register save/restore madness to do this. To extract a bit of code call drm_mode_config_reset both on resume and boot-up and move the hw state frobbing from the crt_init to the ->reset callback. The crt connector is the only one with a ->reset callback, hence we can easily do this. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 912d812e84cea8689a2bf3dd13b11dfe191f0f1e Author: Daniel Vetter Date: Thu Oct 11 20:08:23 2012 +0200 drm/i915/crt: don't set HOTPLUG bits on !PCH ... since they don't apply to pre-pch platforms and could actually be harmful. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit f706adfeade767d2194c9f39c0f75e944b0bdd23 Author: Andrei Emeltchenko Date: Thu Oct 18 13:16:19 2012 +0300 Bluetooth: AMP: Get amp_mgr reference in HS hci_conn When assigning amp_mgr in hci_conn (type AMP_LINK) get also reference. In hci_conn_del those references would be put for both conn types AMP_LINK and ACL_LINK associated with amp_mgr. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 4ee3e063f10acf6fd17c0ee6f1d0a95726e74cb2 Author: Beni Lev Date: Mon Aug 27 12:49:39 2012 +0300 cfg80211: add cfg80211 exported function tracing Also add tracing to the API functions that drivers (and mac80211) can call in cfg80211. Signed-off-by: Beni Lev Reviewed-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Signed-off-by: Johannes Berg commit 14e8a3c47e808772a5ba8118ef1f9a8d604dbbe5 Author: Beni Lev Date: Tue Jul 31 18:48:27 2012 +0300 cfg80211: add tracing to rdev-ops Add tracing to make debugging cfg80211/mac80211 (or full-mac driver) interaction easier. Signed-off-by: Beni Lev Reviewed-by: Johannes Berg Reviewed-by: Hila Gonen Tested-by: Hila Gonen Reviewed-by: Emmanuel Grumbach [add a cast to int to sizeof() to avoid warning] Signed-off-by: Johannes Berg commit e35e4d28b687d4e849573419fdcf90f1cce2a14c Author: Hila Gonen Date: Wed Jun 27 17:19:42 2012 +0300 cfg80211: add wrappers for registered_device_ops This will allow adding central tracing like in mac80211. Signed-off-by: Hila Gonen Reviewed-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Signed-off-by: Johannes Berg commit de7044ee85a9ba9e8529b0250f2882724407c977 Author: Sujith Manoharan Date: Thu Oct 18 10:19:28 2012 +0530 cfg80211: Disallow HT/WEP in IBSS mode Currently, a user is allowed to choose a HT operating channel with WEP when creating an IBSS network. WEP is not allowed in HT configuration - this patch ensures that such requests are denied. Signed-off-by: Sujith Manoharan Signed-off-by: Johannes Berg commit f53c6a0d74dffd6e82defe195bd5b97c7d384341 Author: Marco Porsch Date: Wed Oct 17 20:21:30 2012 -0700 mac80211: fix copy-paste typo in Kconfig Signed-off-by: Marco Porsch Signed-off-by: Johannes Berg commit 8c1dddd6070a900918561f162621ef4957ff36c2 Author: Johannes Berg Date: Sun Sep 30 17:12:45 2012 +0200 mac80211: use __printf attribute in debugfs The internal function mac80211_format_buffer() has a printf-style argument list, so add the attribute to have gcc verify that list. Signed-off-by: Johannes Berg commit 444e38035eafba2993a690497b205ce385df3a8e Author: Johannes Berg Date: Sun Sep 30 17:08:35 2012 +0200 mac80211: remove some unused code There are a number of unused variables that gcc pointed out (when building with W=1) as well as some conditions that can never be true due to the datatypes used: unsigned values can't be less than zero. Remove this code. Signed-off-by: Johannes Berg commit 8ba7acf376e39ff2b987bc8fb71eb599023af314 Author: Johannes Berg Date: Sun Sep 30 17:07:19 2012 +0200 mac80211: remove unimplemented mesh vendor sync There's no vendor-specific mesh sync implemented and there don't need to be dummy handlers that only print messages, so remove that code. While at it, also constify the mesh sync ops. Signed-off-by: Johannes Berg commit 04b2312a683537eec3dbac013920b0e3cfc06123 Author: Arend van Spriel Date: Fri Oct 12 12:28:14 2012 +0200 wireless: drivers: make use of WLAN_EID_VENDOR_SPECIFIC The include file linux/ieee80211.h contains three definitions for the same thing in enum ieee80211_eid due to historic changes: /* Information Element IDs */ enum ieee80211_eid { : WLAN_EID_WPA = 221, WLAN_EID_GENERIC = 221, WLAN_EID_VENDOR_SPECIFIC = 221, : }; The standard refers to this as "vendor specific" element so the other two definitions are better not used. This patch changes the wireless drivers to use one definition, ie. WLAN_EID_VENDOR_SPECIFIC. Cc: Jouni Malinen Cc: Dan Williams Cc: Larry Finger Acked-by: Kalle Valo [ath6kl] Acked-by: Bing Zhao [mwifiex] Acked-by: Stanislav Yakovlev [ipw2x00] Signed-off-by: Arend van Spriel [change libipw as well] Signed-off-by: Johannes Berg commit c13a765bd96f4e2f52d218ee6e5c0715380eeeb8 Author: Sujith Manoharan Date: Fri Oct 12 17:35:45 2012 +0530 mac80211: Notify new IBSS network creation Initialization of beacon transmission in IBSS mode depends on whether a new BSS is being created or joined. When joining an existing IBSS network, beaconing has to start only after a TSF-sync has happened - this is explained in 11.1.4. Introduce a new parameter in the BSS information structure to indicate creator/joiner mode. Signed-off-by: Sujith Manoharan Signed-off-by: Johannes Berg commit cd2bb512cda58f1efb922ad6dc29013ea5d5d9d0 Author: Sam Leffler Date: Thu Oct 11 21:03:35 2012 -0700 mac80211: add support for tx to abort low priority scan requests Use NL80211_SCAN_FLAG_LOW_PRIORITY flag in mac80211's scan state machine to prematurely terminate scan operations if outbound traffic collides. This is useful for marking background scans so they don't affect throughput. Signed-off-by: Sam Leffler Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao [set feature flag only if software scan is used] Signed-off-by: Johannes Berg commit 15d6030b4bec618742b8b9ccae9209c8f9e4a916 Author: Sam Leffler Date: Thu Oct 11 21:03:34 2012 -0700 cfg80211: add support for flushing old scan results Add an NL80211_SCAN_FLAG_FLUSH flag that causes old bss cache entries to be flushed on scan completion. This is useful for collecting guaranteed fresh scan/survey result (e.g. on resume). For normal scan, flushing only happens on successful completion of a scan; i.e. it does not happen if the scan is aborted. For scheduled scan, previous scan results are flushed everytime when we get new scan results. This feature is enabled by default. Drivers can disable it by unsetting the NL80211_FEATURE_SCAN_FLUSH flag. Signed-off-by: Sam Leffler Tested-by: Amitkumar Karwar Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao [invert polarity of feature flag to account for old kernels] Signed-off-by: Johannes Berg commit b292219fa5061e2657ecf518b48426913d0ddae6 Author: Johannes Berg Date: Fri Oct 12 10:55:53 2012 +0200 wireless: use OR operation to set wiphy features The next patch will introduce a flag that is set by default in cfg80211 so drivers and mac80211 need to use |= to set features they have so that they don't clear the already-set feature. We could set the flag in wiphy_register() instead of wiphy_new() to avoid this patch, but then the drivers couldn't *unset* flags they don't want to use even though the implementation is generic. Signed-off-by: Johannes Berg commit 46856bbf0f0412c12e9674df68822cb531d49327 Author: Sam Leffler Date: Thu Oct 11 21:03:32 2012 -0700 cfg80211: add scan flag to indicate its priority Add NL80211_SCAN_FLAG_LOW_PRIORITY flag support. It tells drivers that this is a low priority scan request, so that they can take necessary action. Drivers need to advertise low priority scan capability during registration. Signed-off-by: Sam Leffler Tested-by: Amitkumar Karwar Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Johannes Berg commit e8e27c668bf5977d9fe1a64d0b69598ff9e292b7 Author: Amitkumar Karwar Date: Thu Oct 11 21:03:33 2012 -0700 cfg80211: code rearrangement to avoid forward declarations bss_release() and __cfg80211_unlink_bss() function definitions are moved at the begining of the file. They are used in next patch in this series. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Johannes Berg commit ed47377154310fd2fd59d75fcdeb3d022344fb31 Author: Sam Leffler Date: Thu Oct 11 21:03:31 2012 -0700 {nl,cfg}80211: add a flags word to scan requests Add a flags word to direct and scheduled scan requests; it will be used for control of optional behaviours such as flushing the bss cache prior to doing a scan. Signed-off-by: Sam Leffler Tested-by: Amitkumar Karwar Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Johannes Berg commit c630119f43471a8ece356b01dabf07f944f453b3 Author: Daniel Vetter Date: Wed Oct 17 11:32:57 2012 +0200 drm/i915: don't save/restore HWS_PGA reg for kms We already do that as part of the ringbuffer re-setup at resume time. Furthermore the register offset has moved on gen6+ around quite a bit, and on ilk/gm45 we also need to restore the HWS reg for the bsd ring, not just the render ring. So again in kms mode this is only confusing a best, hence don't bother. v2: Fixup logic, noticed by Paulo Zanoni. Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 905c27bb0de30dab178a54c06dc284177e24088a Author: Daniel Vetter Date: Wed Oct 17 11:32:56 2012 +0200 drm/i915: don't save/restore irq regs for kms We already call drm_irq_install/uninstall at the right time, which will set up the irq registers with the correct values (through the preinstall hooks). For kms this is at best harmless, in the worst case we get an interrupt when we don't really expect it. v2: Fixup the logic, noticed by Paulo Zanoni. Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit f81183f76a46c654709dc9b3a1af6fb4c7fc8a46 Author: Daniel Vetter Date: Wed Oct 17 11:32:55 2012 +0200 drm/i915: don't save/restore DP regs for kms We completely compute these anew in each modeset, hence we don't rely on them containing anything valid after resume. To avoid breaking any ums setup due to reordering of the reads/writes simply don't reorder anything, but bracket the reads/writes into if (!kms) conditionals. More churn, but safer. v2: Fixup the logic, noticed by Paulo Zanoni. Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 7346bfa00d09633996941644988b14c4f7c1c9d2 Author: Paulo Zanoni Date: Mon Oct 15 15:51:35 2012 -0300 drm/i915: use TU_SIZE macro at intel_dp_set_m_n Much simpler and looks more like the M/N code inside intel_display.c. Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit d6c0d722aea21d4073629a7401d086229b582f6e Author: Paulo Zanoni Date: Mon Oct 15 15:51:34 2012 -0300 drm/i915: add basic Haswell DP link train bits Previously, the DP register was used for everything. On Haswell, it was split into DDI_BUF_CTL (which is the new intel_dp->DP register) and DP_TP_CTL. The logic behind this patch is based on a patch written by Shobhit Kumar, but the way the code was written is very different. Credits-to: Shobhit Kumar Signed-off-by: Paulo Zanoni [danvet: Fixup the logic error spotted by Jani Nikula.] Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 068759bd6ee26b5c69977d99611cc72b43280ab5 Author: Paulo Zanoni Date: Mon Oct 15 15:51:31 2012 -0300 drm/i915: add DP support to intel_ddi_pll_mode_set Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit dae847991a4327b8883a2a4e7b0440a42d528b77 Author: Paulo Zanoni Date: Mon Oct 15 15:51:30 2012 -0300 drm/i915: add intel_ddi_set_pipe_settings In theory, all the DDI pipe settings should be set here, including timing and M/N registers. For now, let's just set the DP MSA attributes. Signed-off-by: Paulo Zanoni [danvet: fixed up the unused typo in a #define, spotted by Jani Nikula.] Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 7739c33ba48174204b24c1b867b455318e752787 Author: Paulo Zanoni Date: Mon Oct 15 15:51:29 2012 -0300 drm/i915: add DP support to intel_ddi_enable_pipe_func Signed-off-by: Paulo Zanoni Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit c5836c27ae458b989a8105402f11341b9d37ce14 Author: Chris Wilson Date: Wed Oct 17 12:09:55 2012 +0100 drm/i915: Document the multi-threaded FORCEWAKE bits No functional change, but reserves 0x2 for use by userspace. Signed-off-by: Chris Wilson Acked-by: Jesse Barnes Signed-off-by: Daniel Vetter commit d7d4eeddb8f72342f70621c4b3cb718af9361712 Author: Chris Wilson Date: Wed Oct 17 12:09:54 2012 +0100 drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers With the introduction of per-process GTT space, the hardware designers thought it wise to also limit the ability to write to MMIO space to only a "secure" batch buffer. The ability to rewrite registers is the only way to program the hardware to perform certain operations like scanline waits (required for tear-free windowed updates). So we either have a choice of adding an interface to perform those synchronized updates inside the kernel, or we permit certain processes the ability to write to the "safe" registers from within its command stream. This patch exposes the ability to submit a SECURE batch buffer to DRM_ROOT_ONLY|DRM_MASTER processes. v2: Haswell split up bit8 into a ppgtt bit (still bit8) and a security bit (bit 13, accidentally not set). Also add a comment explaining why secure batches need a global gtt binding. Signed-off-by: Chris Wilson (v1) [danvet: added hsw fixup.] Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 76e438303403f301f3509479b544e41518edd059 Author: Daniel Vetter Date: Fri Oct 12 20:14:05 2012 +0200 drm/i915: move hpd handling to (ibx|cpt)_irq_handler Somehow this was left out in the refactoring that introduced the pch handlers. Avoids a hotplug_mask special case in the ilk_irq_handler. Noticed while hunting down the pch hotplug bits. Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit f461be3eff662f01a177ecea8c1d7b040bb6bfbe Author: Mahesh Palivela Date: Thu Oct 11 08:04:52 2012 +0000 {nl,cfg}80211: Peer STA VHT caps To save STAs VHT caps in AP mode Signed-off-by: Mahesh Palivela Signed-off-by: Johannes Berg commit 818255ea47709065c53c86ca47fce96d8580bee1 Author: Mahesh Palivela Date: Wed Oct 10 11:33:04 2012 +0000 mac80211: VHT peer STA caps Save the AP's VHT capabilities (in managed mode) and make them available to the driver in the station information. Unlike HT capabilities, they aren't restricted to the common capabilities, so drivers must be aware of their own capabilities. Signed-off-by: Mahesh Palivela [fix endian conversion bug ...] Signed-off-by: Johannes Berg commit d4950281d72d8845225e3a39dbeb366c40c824c9 Author: Mahesh Palivela Date: Wed Oct 10 11:25:40 2012 +0000 ieee80211: Rename VHT cap struct Rename struct ieee80211_vht_capabilities to ieee80211_vht_cap and renamed its member vht_capabilities_info to vht_cap_info. Signed-off-by: Mahesh Palivela Signed-off-by: Johannes Berg commit 1258d97616fdca9abc0c21f2edeb1d5b21dcb128 Author: Ashok Nagarajan Date: Tue Oct 9 13:27:47 2012 -0700 mac80211: move out the non-statistics variable estab_plinks from mesh_stat estab_plinks is not a statistics member. Hence move estab_plinks from struct mesh_stat to struct ieee80211_if_mesh Signed-off-by: Ashok Nagarajan Signed-off-by: Johannes Berg commit eea57d42fb148a078ebc2f54731b580fb9edeaf7 Author: Mohammed Shafi Shajakhan Date: Mon Oct 8 21:33:47 2012 +0530 mac80211: Use appropriate debug wrapper ieee80211_sta_expire will be called by both IBSS and mesh interfaces to account for inactive stations, so it would be more appropriate to use sta_dbg instead of ibss_dbg. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: Johannes Berg commit 6b8ece3a7031523a05a535761108775b1b67d272 Author: Jouni Malinen Date: Sun Sep 30 19:29:40 2012 +0300 mac80211: Allow station mode SAE to be implemented in user space SAE uses two rounds of Authentication frames and both rounds require considerable calculation to be done. This commit extends the existing station mode authentication request to allow more control for user space programs to build the SAE fields and to run the authentication step ones. Only the second round with authentication transaction sequence 2 will result in moving to authenticated state. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg commit e39e5b5e7206767a0f1be0e5cb7acbd0db87ae60 Author: Jouni Malinen Date: Sun Sep 30 19:29:39 2012 +0300 cfg80211: Allow user space to specify non-IEs to SAE Authentication SAE extends Authentication frames with fields that are not information elements. NL80211_ATTR_IE is not suitable for these, so introduce a new attribute that can be used to specify the fields needed for SAE in station mode. Signed-off-by: Jouni Malinen [change to verify that SAE is only used with authenticate command] Signed-off-by: Johannes Berg commit 0f4126e8918985ccc1beb936efd4b9d1e9005a63 Author: Jouni Malinen Date: Sun Sep 30 19:29:38 2012 +0300 mac80211: Add debug print on unexpect authentication state This is useful when debugging authentication process issues. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg commit 700e8ea6770df3113e735bcc76ecd6ffac71a13c Author: Jouni Malinen Date: Sun Sep 30 19:29:37 2012 +0300 mac80211: Take status code as parameter to ieee80211_send_auth Non-zero status code may be needed for Authentication frames, e.g., when using SAE. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg commit 3448c0058327356049f140116fc6632bbfd0c122 Author: Johannes Berg Date: Tue Sep 11 17:57:42 2012 +0200 mac80211: add channel context iterator Drivers may need to iterate the active channel contexts, export an iterator function to allow that. To make it possible, use RCU-safe list functions. Signed-off-by: Johannes Berg commit 04ecd2578e712c301fa1369d2a8f298a2b4b146a Author: Johannes Berg Date: Tue Sep 11 14:34:12 2012 +0200 mac80211: track needed RX chains for channel contexts On each channel that the device is operating on, it may need to listen using one or more chains depending on the SMPS settings of the interfaces using it. The previous channel context changes completely removed this ability (before, it was available as the SMPS mode). Add per-context tracking of the required static and dynamic RX chains and notify the driver on changes. To achieve this, track the chains and SMPS mode used on each virtual interface and update the channel context whenever this changes. Signed-off-by: Johannes Berg commit 55de908ab292c03f1eb280f51170ddb9c6b57e31 Author: Johannes Berg Date: Thu Jul 26 17:24:39 2012 +0200 mac80211: use channel contexts Instead of operating on a single channel only, use the new channel context infrastructure in all mac80211 code. This enables drivers that want to use the new channel context infrastructure to use multiple channels, while nothing should change for all the other drivers that don't support it. Right now this disables both TX power settings and spatial multiplexing powersave. Both need to be re-enabled on a channel context basis. Additionally, when channel contexts are used drop the connection when channel switch is received rather than trying to handle it. This will have to be improved later. [With fixes from Eliad and Emmanuel incorporated] Signed-off-by: Eliad Peller Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit fe57d9f5c0a2c1ef97ba8cdc42cfda5743f287b8 Author: Johannes Berg Date: Thu Jul 26 14:55:08 2012 +0200 mac80211: track whether to use channel contexts Depending on the driver, channel contexts may be used or not. If they are used, the driver must have support for hardware scan and remain-on-channel; otherwise the driver must not advertise support for multiple channels. Also prohibit WDS type interfaces when channel contexts are to be used as there's no clear definition of which channel they use. Signed-off-by: Johannes Berg commit e269d8600a8f6a9f2387b3f283bfb579a5479dc3 Author: Johannes Berg Date: Thu Jul 26 14:46:32 2012 +0200 mac80211: check channel context methods Verify that the channel context methods are all assigned by the driver or not used. Signed-off-by: Johannes Berg commit e89a96f5cc4c39c268c771f52d675e15e3ba8123 Author: Michal Kazior Date: Tue Jun 26 14:37:22 2012 +0200 mac80211: reuse channels for channel contexts Reuse channels with compatible channel types. Some channel types are compatible and can be used concurrently. Signed-off-by: Michal Kazior Signed-off-by: Johannes Berg commit 35f2fce9a4376f89f2ebac705a2742ffc058f988 Author: Michal Kazior Date: Tue Jun 26 14:37:20 2012 +0200 mac80211: use channel context notifications Channel context pointer will be accessible on both assign and unassign events. Signed-off-by: Michal Kazior Signed-off-by: Johannes Berg commit c3645eac479d9aaac9f8099c94bf681dc695dd34 Author: Michal Kazior Date: Tue Jun 26 14:37:17 2012 +0200 mac80211: introduce new ieee80211_ops Introduce channel context driver methods. The channel on a context channel is immutable, but the channel type and other properties can change. Signed-off-by: Michal Kazior Signed-off-by: Johannes Berg commit d01a1e658606a0a69100f49c2ef09aacaf74d3e7 Author: Michal Kazior Date: Tue Jun 26 14:37:16 2012 +0200 mac80211: introduce channel context skeleton code Channel context are the foundation for multi-channel operation. They are are immutable and are re-created (or re-used if other interfaces are bound to a certain channel and a compatible channel type) on channel switching. This is an initial implementation and more features will come in separate patches. Signed-off-by: Michal Kazior [some changes including RCU protection] Signed-off-by: Johannes Berg commit 4e760f1ab267edcd6e4b232ff732fc9cdc659ebb 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. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 378b8f7f3b767974c726dee92a9bb3d15b7a66b3 Author: Emmanuel Grumbach Date: Tue Oct 16 12:56:37 2012 +0200 iwlwifi: don't print the Intel banner twice Once in bus enumeration is enough, no need to print it again when the op_mode loads. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit ac928f8dc8e8ee6c402f623723cad22a14394277 Author: Emmanuel Grumbach Date: Sun Oct 14 16:36:36 2012 +0200 iwlwifi: first deactivate a queue, then wipe out its data Doing the opposite is wrong, the SCD wouldn't like someone to clear its data while the queue is still active. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 0adb52dee209ee816ba86da51d01977fdb173b22 Author: Emmanuel Grumbach Date: Wed Oct 10 18:37:12 2012 +0200 iwlwifi: use the new macro for the SCD Q STTS bits Instead of hardcoding the expression, use the macro provided in the previous patch. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 986ea6c9e3834c9669fe69514fa90d916356bedc Author: Emmanuel Grumbach Date: Sun Sep 30 16:25:43 2012 +0200 iwlwifi: wipe out the status of the SCD when we disable a queue When we disable a queue, we don't want the SCD to remember anything about this queue (what packet was transmitted but not acked, what packed was acked etc...). Wipe out all this data in its SRAM. Constify the arguments to iwl_write_targ_mem_dwords on the way. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 26c7af7cad587455f5335af02eb94af772992ace Author: Johannes Berg Date: Mon Oct 1 11:47:39 2012 +0200 iwlwifi: remove unused variables Remove a number of variables that are assigned, but not used. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit f042c2eb96779944629fee99817718ede40d4970 Author: Johannes Berg Date: Wed Sep 5 22:34:44 2012 +0200 iwlwifi: make data frame tracing optional When tracing in iwlwifi, we get all data. Most of the time, we don't need it, and it just takes up a lot of extra space in the trace. Make this optional by recording the data into two separate trace events if it is needed. Without it, record only the content of non-data and EAPOL TX frames. As a result, tracing without the data tracepoints will record meta information including the 802.11 headers for all frames but will not record the contents of data frames to reduce trace overhead. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit 2a79e45eed79c9bf0ff4f93f57f6271d7d1bdb19 Author: Johannes Berg Date: Wed Sep 26 13:32:13 2012 +0200 iwlwifi: improve oversized command warning When warning about a command that is too large, print out the command name/ID to help figure out which place is attempting to send a command that is too large. Reviewed-by: Emmanuel Grumbach Signed-off-by: Johannes Berg commit ecd8faeac4897619e6b26fbcdce62bb732d5a571 Author: Ben Widawsky Date: Wed Sep 26 10:34:02 2012 -0700 drm/i915: Add rc6vids to debugfs CC: Jesse Barnes Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 31643d54a739382626c27c0f2a12b3bbc22d1a38 Author: Ben Widawsky Date: Wed Sep 26 10:34:01 2012 -0700 drm/i915: Workaround to bump rc6 voltage to 450 BIOS should be setting the minimum voltage for rc6 to be 450mV. Old or buggy BIOSen may not be doing this, so we correct it for them. Ideally customers should update the BIOS as only it would know the optimal values for the platform, so we leave that fact as a DRM_ERROR for the user to see. Unfortunately this isn't fixing any of the issues it was targeted to fix, but it is documented that we must do it. CC: Jesse Barnes CC: Matt Turner Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes [danvet: bikeshedded loglevel of the "your bios is broken message" to debug.] Signed-off-by: Daniel Vetter commit 42c0526c930523425ff6edc95b7235ce7ab9308d Author: Ben Widawsky Date: Wed Sep 26 10:34:00 2012 -0700 drm/i915: Extract PCU communication There is a special mechanism for communicating with the PCU already being used for the ring frequency stuff. As we'll be needing this for other commands, extract it now to make future code less error prone and the current code more reusable. I'm not entirely sure if this code matches 1:1 with the previous code behaviorally. Functionally however, it should be the same. CC: Jesse Barnes Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes [danvet: Fixup compile fail reported by Wu Fengguang.] Signed-off-by: Daniel Vetter commit 56f6098441adb9487f6e0439429fc536afcf9e71 Author: Andrei Emeltchenko Date: Mon Oct 15 11:58:44 2012 +0300 Bluetooth: Zero bredr pointer when chan is deleted If BREDR L2CAP chan is deleted and this chan is the channel through which High Speed traffic is routed to AMP then zero pointer to the chan in amp_mgr to prevent accessing it. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 79de886d9c40be1d82d414ccc5640268c705af39 Author: Andrei Emeltchenko Date: Mon Oct 15 11:58:42 2012 +0300 Bluetooth: Send EFS Conf Rsp only for BR/EDR chan Do not send EFS Configuration Response for High Speed channel yet. It will be sent after receiving Logical Link Complete event. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 1d13a254e14565e6a2d91f7552203406a30d1ee2 Author: Andrei Emeltchenko Date: Mon Oct 15 11:58:41 2012 +0300 Bluetooth: AMP: Drop packets when no l2cap conn exist High Speed hci_conn should always have l2cap_conn associated with it. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit d73a098804b4d1d254b1caf1d114e5b707dee060 Author: Andrei Emeltchenko Date: Mon Oct 15 11:58:40 2012 +0300 Bluetooth: AMP: Handle complete frames in l2cap Check flags type in switch statement and handle new frame type ACL_COMPLETE used for High Speed data over AMP. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 204a6e54280d53e6990e536998fbf8dfba41ecd3 Author: Andrei Emeltchenko Date: Mon Oct 15 11:58:39 2012 +0300 Bluetooth: AMP: Use Loglink handle in ACL Handle field For AMP HCI controller use Logical Link handle in HCI ACL Handle field. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 300229f962b36e292524b26c86962d7339010b44 Author: Gustavo Padovan Date: Fri Oct 12 19:40:40 2012 +0800 Bluetooth: Rename __l2cap_connect() to l2cap_connect() Use of "__" usually means we need to call the function with a lock held, which is not the case here. Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 2dc4e5105f012bda7eef2f459ed3d5299ded9672 Author: Gustavo Padovan Date: Fri Oct 12 19:35:24 2012 +0800 Bluetooth: Add chan->ops->defer() When DEFER_SETUP is set defer() will trigger an authorization request to the userspace. l2cap_chan_no_defer() is meant to be used when one does not want to support DEFER_SETUP (A2MP for example). Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 644912e18ac1d27f57f6673b0236b568ff750fd1 Author: Gustavo Padovan Date: Fri Oct 12 19:35:23 2012 +0800 Bluetooth: Move bt_accept_enqueue() to l2cap_sock.c This is part of the move the parent socket usage to l2cap_sock.c The change is safe when it comes to locking, bt_accept_enqueue() is still protected by the parent socket lock inside the l2cap_sock_new_connection_cb() code. Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit b699ec0d99825713d30a057c432d0e29f07c5490 Author: Gustavo Padovan Date: Sat Oct 6 11:51:54 2012 +0100 Bluetooth: Call ops->teardown() without checking for NULL Users that don't implement teardown() should use l2cap_chan_no_teardown() Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit d117773ce5c73eaa51f3283f89802f4491b27b2e Author: Gustavo Padovan Date: Sat Oct 6 11:47:38 2012 +0100 Bluetooth: Use locked l2cap_state_change() No one was protecting the state set in l2cap_send_disconn_req() Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 1d8b1fd55aa1dfa9edd74ebb467db9358fa56f8a Author: Gustavo Padovan Date: Sat Oct 6 11:34:52 2012 +0100 Bluetooth: use l2cap_chan_set_err() l2cap_conn_unreliable() doesn't take the sk lock, so we need to take it using l2cap_chan_set_err(). Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 8bcde1f2ab732a7d7db1de854dcc0747ffecb7c2 Author: Gustavo Padovan Date: Mon May 28 19:18:14 2012 -0300 Bluetooth: Remove GFP_ATOMIC usage from l2cap_core.c Since we change the Bluetooth core to run in process context we don't need to use GFP_ATOMIC in many of places we were using it. The we just replace by GFP_KERNEL. Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 2d7928184c3d8724064de282be4e3c3d70f39d32 Author: Gustavo Padovan Date: Sat Oct 6 10:07:01 2012 +0100 Bluetooth: Fix L2CAP coding style Follow the net subsystem coding style Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 4c89b6aad5b7c5c56dadca66af6ceae0addbf2bf Author: Mat Martineau Date: Thu Oct 11 17:48:22 2012 +0300 Bluetooth: Factor out common L2CAP connection code L2CAP connect requests and create channel requests share a significant amount of code. This change moves common code to a new function. Signed-off-by: Mat Martineau Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit f5a2598d80fda49756f234a43bc332a13ce95128 Author: Mat Martineau Date: Thu Oct 11 17:48:21 2012 +0300 Bluetooth: Process create response and connect response identically Signed-off-by: Mat Martineau Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 39bc66c9371fa6cdb1029e6c1768824f068be913 Author: Damien Lespiau Date: Thu Oct 11 15:24:04 2012 +0100 drm/i915: Fix the SCC/SSC typo in the SPLL bits definition We're talking about Spread Spectrum Clocks here, thus SSC. Signed-off-by: Damien Lespiau Signed-off-by: Daniel Vetter commit bd1eb66ba4eee21de3be24212b135f57101ad930 Author: Andrei Emeltchenko Date: Wed Oct 10 17:38:30 2012 +0300 Bluetooth: AMP: Handle AMP_LINK connection AMP_LINK represents physical link between AMP controllers. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 76ef7cf7722331097f5f47d23342128b1b5d072d Author: Andrei Emeltchenko Date: Wed Oct 10 17:38:29 2012 +0300 Bluetooth: AMP: Handle number of compl blocks for AMP_LINK Add handling blocks count for AMP link. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 42c4e53e7ac3d4069105e852d1ee24e6ee9e57b8 Author: Andrei Emeltchenko Date: Wed Oct 10 17:38:28 2012 +0300 Bluetooth: AMP: Add handle to hci_chan structure hci_chan will be identified by handle used in logical link creation process. This handle is used in AMP ACL-U packet handle field. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 53502d69be49e3dd5bc95ab0f2deeaea260bd617 Author: Andrei Emeltchenko Date: Wed Oct 10 17:38:27 2012 +0300 Bluetooth: AMP: Handle AMP_LINK timeout When AMP_LINK timeouts execute HCI_OP_DISCONN_PHY_LINK as analog to HCI_OP_DISCONNECT for ACL_LINK. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 12d5978165944a9c5b059a8258685539387fcf90 Author: Andrei Emeltchenko Date: Wed Oct 10 17:38:26 2012 +0300 Bluetooth: Allow to set flush timeout Enable setting of flush timeout via setsockopt Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 5bcb80944dffe68055c1745dc919d22ee1e276a5 Author: Syam Sidhardhan Date: Wed Oct 10 22:09:29 2012 +0530 Bluetooth: Use __constant modifier for RFCOMM PSM Since the RFCOMM_PSM is constant, __constant_cpu_to_le16() is the right go here. Signed-off-by: Syam Sidhardhan Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit d8aece2af380a251daf2351d92dd38b9edf10b84 Author: Syam Sidhardhan Date: Wed Oct 10 22:09:28 2012 +0530 Bluetooth: Use __constant modifier for L2CAP SMP CID Since the L2CAP_CID_SMP is constant, __constant_cpu_to_le16() is the right go here. Signed-off-by: Syam Sidhardhan Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 78c1b8e822a0bcf9655a0da3633137b51e17f068 Author: Andrei Emeltchenko Date: Wed Oct 10 17:41:33 2012 +0300 Bluetooth: btmrv: Use %*ph specifier instead of print_hex_dump_bytes Use standard print specifier and remove print_hex_dump_bytes call. Makes output more sensible: ... [18809.401218] 00000000: 0b 00 00 fe 5b fc 01 f2 00 00 00 ....[...... ... would be changed to ... [18809.401218] Bluetooth: hex: 0b 00 00 fe 5b fc 01 f2 00 00 00 ... Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 1ce4292073695fd0fec74d1169bc94dadc339731 Author: Paulo Zanoni Date: Fri Oct 5 12:06:01 2012 -0300 drm/i915: pipe and planes should be disabled on haswell_crtc_mode_set So WARN in case they're not. It also does not make any sense to wait_for_vblank at this point. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 2886e93f5d28c559b3de9c4f75547af31e14504e Author: Paulo Zanoni Date: Fri Oct 5 12:06:00 2012 -0300 drm/i915: disable DDI_BUF_CTL at the correct time And also properly wait for its idle bit. You may notice that DDI_BUF_CTL is enabled in .enable but disabled in .post_disable instead of .disable. Yes, the mode set sequence is not exactly symmetrical, but let's assume the spec is correct unless we can prove it's wrong. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 27c6f0a5897c06417e39f2d20a783f84a54cb0b3 Author: Paulo Zanoni Date: Wed Oct 10 18:09:59 2012 -0300 drm/i915: don't implement WaDisableEarlyCull for Haswell Introduced in commit 87f8020ec9e3069597746040a4e8655189bc0c1a: drm/i915: implement WaDisableEarlyCull for VLV and IVB Notice that the original patch sent to the mailing list did not include the Haswell chunk, it was added later. The bit set by the commit does not exist on Haswell machines (at least that's what the documentation says). Also, the commit gives me a GPU hang every time we're loading the driver. So let's revert the Haswell chunk, making the patch do only what its title actually says. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 1e6210f45d95f1db7831072b7be64f9562280df1 Author: Paulo Zanoni Date: Fri Oct 5 12:05:59 2012 -0300 drm/i915: don't rely on previous values set on DDI_BUF_CTL Just set the only bit we need, everything else is either ignored on HDMI or should be set to zero. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 6441ab5f8ffdf7e99eefe0fb747858e0c12b567e Author: Paulo Zanoni Date: Fri Oct 5 12:05:58 2012 -0300 drm/i915: completely rewrite the Haswell PLL handling code Problems with the previous code: - HDMI just uses WRPLL1 for everything, so dual head cases might not work sometimes. - At encoder->mode_set we just write the PLL register without doing any kind of check (e.g., check if the PLL is already being used). - There is no way to fail and return error codes at encoder->mode_set. - We write to PORT_CLK_SEL at mode_set and we never disable it. - Machines hang due to wrong clock enable/disable sequence. So here we rewrite the code, making it a little more like the pre-Haswell PLL mode set code: - Check PLL availability at ironlake_crtc_mode_set. - Try to use both WRPLLs. - Check if PLLs are used before actually trying to use them, and properly fail with error messages. - Enable/disable PORT_CLK_SEL at the right place. - Add some WARNs to check for bugs. The next improvement will be to try to reuse PLLs if the timings match, but this is content for another patch and it's already documented with a TODO comment. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit ee2b0b382a7e6cbf3549559ec7dc86c63f5aa3d1 Author: Paulo Zanoni Date: Fri Oct 5 12:05:57 2012 -0300 drm/i915: add haswell_set_pipeconf It's a copy of ironlake_set_pipeconf with 2 differences: - There is no BPC field to set. - The interlaced mask is now 2 bits instead of 3. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 5dc5298bb3e5d72af6bab5c1d43dad9a07052982 Author: Paulo Zanoni Date: Fri Oct 5 12:05:56 2012 -0300 drm/i915: add proper CPU/PCH checks to crtc_mode_set functions On ironlake_crtc_mode_set, WARN if not using IBX or CPT. On haswell_crtc_mode_set, only run IBX/CPT code on IBX/CPT. I am still not sure whether IBX/CPT will be possible with a Haswell CPU, so leave the code there for now and put a WARN in case we spot it. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 09b4ddf95d54bd622a1f1ddc14412a5b3001e023 Author: Paulo Zanoni Date: Fri Oct 5 12:05:55 2012 -0300 drm/i915: add haswell_crtc_mode_set It's just a copy of ironlake_crtc_mode_set. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit fc914639b12054c930fe75a2ff4221311699e9c2 Author: Paulo Zanoni Date: Fri Oct 5 12:05:54 2012 -0300 drm/i915: enable and disable PIPE_CLK_SEL at the right time Previously we were enabling it at mode_set but never disabling. Let's follow the mode set sequence. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 8d9ddbcbd0e3fc9368a5972346dc726493d31c9c Author: Paulo Zanoni Date: Fri Oct 5 12:05:53 2012 -0300 drm/i915: enable and disable DDI_FUNC_CTL at the right time And the right time is exactly after/before changing PIPE_CONF. See the documentation about the mode set sequence. This code is not inside any encoder-specific callback because DDI_FUNC_CTL is part of the pipe, so it is used by all encoders. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 79f689aa6b14e058d4effd734e9920ed9531401d Author: Paulo Zanoni Date: Fri Oct 5 12:05:52 2012 -0300 drm/i915: rewrite the LCPLL code Right now, we're trying to enable LCPLL at every mode set, but we're never disabling it. Also, we really don't want to be disabling LCPLL since it requires a very complex disable/enable sequence. This register should really be set by the BIOS and we shouldn't be touching it. Still, let's try to check its value and print some errors in case we find something wrong. We're also adding intel_ddi_get_cdclk_freq which will be used later in other places. Signed-off-by: Paulo Zanoni Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter commit 23d3a86948b65055345dc1fe778513e4bf3b07d6 Author: Sasha Levin Date: Mon Oct 8 16:48:32 2012 -0400 Bluetooth: don't attempt to free a channel that wasn't created We may currently attempt to free a channel which wasn't created due to an error in the initialization path, this would cause a NULL ptr deref. This would cause the following oops: [ 12.919073] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 12.919131] IP: [] l2cap_chan_put+0x34/0x50 [ 12.919135] PGD 0 [ 12.919138] Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 12.919193] Dumping ftrace buffer: [ 12.919242] (ftrace buffer empty) [ 12.919314] Modules linked in: [ 12.919318] CPU 1 [ 12.919319] Pid: 6210, comm: krfcommd Tainted: G W 3.6.0-next-20121004-sasha-00005-gb010653-dirty #30 [ 12.919374] RIP: 0010:[] [] l2cap_chan_put+0x34/0x50 [ 12.919377] RSP: 0000:ffff880066933c38 EFLAGS: 00010246 [ 12.919378] RAX: ffffffff8366c780 RBX: 0000000000000000 RCX: 6666666666666667 [ 12.919379] RDX: 0000000000000fa0 RSI: ffffffff84d3f79e RDI: 0000000000000010 [ 12.919381] RBP: ffff880066933c48 R08: ffffffff859989f8 R09: 0000000000000001 [ 12.919382] R10: 0000000000000000 R11: 7fffffffffffffff R12: 0000000000000000 [ 12.919383] R13: ffff88009b00a200 R14: ffff88009b00a200 R15: 0000000000000001 [ 12.919385] FS: 0000000000000000(0000) GS:ffff880033600000(0000) knlGS:0000000000000000 [ 12.919437] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 12.919440] CR2: 0000000000000010 CR3: 0000000005026000 CR4: 00000000000406e0 [ 12.919446] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 12.919451] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 12.919504] Process krfcommd (pid: 6210, threadinfo ffff880066932000, task ffff880065c4b000) [ 12.919506] Stack: [ 12.919510] ffff88009b00a200 ffff880032084000 ffff880066933c68 ffffffff8366c7bc [ 12.919513] 7fffffffffffffff ffff880032084000 ffff880066933c98 ffffffff833ae0ae [ 12.919516] ffff880066933ca8 0000000000000000 0000000000000000 ffff88009b00a200 [ 12.919517] Call Trace: [ 12.919522] [] l2cap_sock_destruct+0x3c/0x80 [ 12.919527] [] __sk_free+0x1e/0x1f0 [ 12.919530] [] sk_free+0x17/0x20 [ 12.919585] [] l2cap_sock_alloc.constprop.5+0x9e/0xd0 [ 12.919591] [] l2cap_sock_create+0x7e/0x100 [ 12.919652] [] ? _raw_read_lock+0x6a/0x80 [ 12.919658] [] ? bt_sock_create+0x74/0x110 [ 12.919660] [] bt_sock_create+0xb8/0x110 [ 12.919664] [] __sock_create+0x282/0x3b0 [ 12.919720] [] ? __sock_create+0x100/0x3b0 [ 12.919725] [] ? rfcomm_process_sessions+0x17e0/0x17e0 [ 12.919779] [] sock_create_kern+0x1f/0x30 [ 12.919784] [] rfcomm_l2sock_create+0x44/0x70 [ 12.919787] [] ? rfcomm_process_sessions+0x17e0/0x17e0 [ 12.919790] [] rfcomm_run+0x4e/0x1f0 [ 12.919846] [] ? rfcomm_process_sessions+0x17e0/0x17e0 [ 12.919852] [] kthread+0xe3/0xf0 [ 12.919908] [] ? put_lock_stats.isra.14+0xe/0x40 [ 12.919914] [] ? flush_kthread_work+0x1f0/0x1f0 [ 12.919968] [] ret_from_fork+0x7c/0x90 [ 12.919973] [] ? flush_kthread_work+0x1f0/0x1f0 [ 12.920161] Code: 83 ec 08 f6 05 ff 58 44 02 04 74 1b 8b 4f 10 48 89 fa 48 c7 c6 d9 d7 d4 84 48 c7 c7 80 9e aa 85 31 c0 e8 80 ac 3a fe 48 8d 7b 10 83 6b 10 01 0f 94 c0 84 c0 74 05 e8 8b e0 ff ff 48 83 c4 08 [ 12.920165] RIP [] l2cap_chan_put+0x34/0x50 [ 12.920166] RSP [ 12.920167] CR2: 0000000000000010 [ 12.920417] ---[ end trace 5a9114e8a158ab84 ]--- Introduced in commit 61d6ef3e ("Bluetooth: Make better use of l2cap_chan reference counting"). Signed-off-by: Sasha Levin Signed-off-by: Gustavo Padovan commit bcb450861653167c4fec10be3d916299c34bb1d8 Author: Chris Wilson Date: Fri Oct 5 17:02:57 2012 +0100 drm/i915: Align the retire_requests worker to the nearest second By using round_jiffies() we can align the wakeup of our worker to the nearest second in order to batch wakeups and reduce system load, which is useful for unimportant coarse tasks like our retire_requests. v2: round_jiffies_relative() already returns the relative timeout value, so no need to incorrectly perform the subtraction twice. The timer interface still leaves the possibility for the value of jiffies to change be we program the timer. Suggested-by: Arjan van de Ven Signed-off-by: Chris Wilson Cc: Arjan van de Ven Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit cecc21fea98cd18419e26a46e4e8123f55fead91 Author: Chris Wilson Date: Fri Oct 5 17:02:56 2012 +0100 drm/i915: Align the hangcheck wakeup to the nearest second round_jiffies() aligns the wakeup time to the nearest second in order to batch wakeups and reduce system load, which is useful for unimportant coarse timers like our hangcheck. v2: round_jiffies_relative() returns the relative jiffie value, whereas we need the absolute value for the timer. Suggested-by: Arjan van de Ven Signed-off-by: Chris Wilson Cc: Arjan van de Ven Reviewed-by: Jani Nikula Signed-off-by: Daniel Vetter commit 8936fa6d1c202abeb94c51c68897342e8714dd69 Author: Andrei Emeltchenko Date: Mon Oct 8 11:14:41 2012 +0300 Bluetooth: L2CAP: Fix using default Flush Timeout for EFS There are two Flush Timeouts: one is old Flush Timeot Option which is 2 octets and the second is Flush Timeout inside EFS which is 4 octets long. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit a9627b881680c4419c61e70f60e8f957d8ef225c Author: Damien Lespiau Date: Thu Oct 4 18:49:24 2012 +0100 drm/i915: Remove the WaDisableBackToBackFlipFix w/a for Haswell This workaround is only valid for IVB and VLV and the write triggers an error on HSW. Signed-off-by: Damien Lespiau Cc: Paulo Zanoni Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 62cb944fa24728d164497834e4181ba0d266b32b Author: Damien Lespiau Date: Thu Oct 4 18:49:23 2012 +0100 drm/i915: Document that we are implementing WaDisableBackToBackFlipFix For the next person that checks these kind of things, without having to dig up the register definition. Signed-off-by: Damien Lespiau Reviewed-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit dcc042d56f66fb2a9db6a2683e6aa4815782da8b Author: Andrei Emeltchenko Date: Fri Oct 5 16:56:57 2012 +0300 Bluetooth: AMP: Use block_mtu for AMP controller Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit a0c234fe8972aa6a5afe2db6c27a3f5d5fbd88e7 Author: Andrei Emeltchenko Date: Fri Oct 5 16:56:56 2012 +0300 Bluetooth: AMP: Factor out phylink_add Add direction parameter to phylink_add since it is anyway set later. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit fa4ebc66c432d0e0ec947cb754d4144c4a681f28 Author: Andrei Emeltchenko Date: Fri Oct 5 16:56:55 2012 +0300 Bluetooth: AMP: Factor out amp_ctrl_add Add ctrl_id parameter to amp_ctrl_add since we always set it after function ctrl is created. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 85e34368dea6fc8a2d16464e01c85d3b7bd682bd Author: Andrei Emeltchenko Date: Fri Oct 5 16:56:54 2012 +0300 Bluetooth: Fix dereference after NULL check Move code dereferencing possible NULL pointer to the check branch. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 079db0c6e3854b3af9808268f3b884fa48ed0034 Author: Andrei Emeltchenko Date: Fri Oct 5 16:56:53 2012 +0300 Bluetooth: AMP: Fix possible NULL dereference Check that link key exist before accessing. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 1a4bd9eaf078a0f95b4c92a02fc6d16647212bb5 Author: Wei Yongjun Date: Sun Oct 7 21:26:35 2012 +0800 drm/i915: remove duplicated include from intel_modes.c Remove duplicated include. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: Wei Yongjun Signed-off-by: Daniel Vetter commit b57a1e962eadb36b06f92e70ca45536754786b0f Author: Damien Lespiau Date: Fri Oct 5 12:51:06 2012 +0100 drm/i915: Remove the disabling of VHR unit clock gating for HSW There's is another register (a read only, so no harm done) at 0x42020 on Haswell GPUs. Let's just remove the write from the copy&paste that introduced haswell_init_clock_gating(). A note for the interested reader, it does seem we have a duplication of the 0x42020 register definition, hence the removal of 2 writes. That duplication could be the object of a later patch. Signed-off-by: Damien Lespiau Cc: Paulo Zanoni Reviewed-by: Paulo Zanoni Tested-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit 87f8020ec9e3069597746040a4e8655189bc0c1a Author: Jesse Barnes Date: Tue Oct 2 17:43:41 2012 -0500 drm/i915: implement WaDisableEarlyCull for VLV and IVB Workaround for a culling optimization. Signed-off-by: Jesse Barnes Reviewed-by: Ben Widawsky [danvet: Also apply to haswell, spotted by Damien.] Reviewed-by: "Lespiau, Damien" Signed-off-by: Daniel Vetter commit 61939d977d66951b04cfd4fbe75705614b98ecad Author: Jesse Barnes Date: Tue Oct 2 17:43:38 2012 -0500 drm/i915: implement WaForceL3Serialization on VLV and IVB References: https://bugs.freedesktop.org/show_bug.cgi?id=50250 Signed-off-by: Jesse Barnes Signed-off-by: Daniel Vetter commit ff1f525ef4da9d5abdb40893044ef5b041da52c0 Author: Daniel Vetter Date: Tue Oct 2 15:10:55 2012 +0200 drm/i915: s/DRM_IRQ_ARGS/int irq, void *arg I'm official fed up with the yelling and useless indirection. Let it burn! Reviewed-by: Jani Nikula Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit b0e77b9c6b2fc21ec2e3d8b54edf8757a7c6a8dd Author: Paulo Zanoni Date: Mon Oct 1 18:10:53 2012 -0300 drm/i915: extract intel_set_pipe_timings from crtc_mode_set Version 2: call intel_set_pipe_timings from both i9xx_crtc_mode_set and ironlake_crtc_mode_set, instead of just ironlake, as requested by Daniel Vetter. The problem caused by calling this function from i9xx_crtc_mode_set too is that now on i9xx we write to PIPESRC before writing to DSPSIZE and DSPPOS. I could not find any evidence in our documentation that this won't work, and the docs actually say the pipe registers should be set before the plane registers. Version 3: don't remove pipeconf bits on i9xx_crtc_mode_set. Signed-off-by: Paulo Zanoni Signed-off-by: Daniel Vetter commit bc8dce4f7b4908bac69acac34d19b4234ba19cee Author: Andrei Emeltchenko Date: Fri Sep 28 14:28:50 2012 +0300 Bluetooth: A2MP: Fix potential NULL dereference Return INVALID_CTRL_ID for unknown AMP controller and for BR/EDR controller and fixes dereference possible NULL pointer. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 749052fba650a644b29ed2ae35cd985f736401b3 Author: Jani Nikula Date: Mon Oct 1 14:25:30 2012 +0300 drm/i915: add debug logging to ASLE backlight set requests Make it easier to track backlight set requests coming through ASLE instead of the driver's own backlight sysfs interface. We've had enough of backlight issues to warrant some extra debug logs in the area. Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter commit 9cb23dd4b6361538eeca33f463b649e8939edde1 Author: Andrei Emeltchenko Date: Fri Sep 28 14:36:10 2012 +0300 Bluetooth: btmrvl: Fix skb buffer overflow Add extra check to avoid skb buffer overflow. Fixes crash below: [ 101.030427] ------------[ cut here ]------------ [ 101.030459] kernel BUG at net/core/skbuff.c:127! [ 101.030486] invalid opcode: 0000 [#1] SMP ... [ 101.030806] Pid: 2010, comm: btmrvl_main_ser Not tainted 3.5.0+ #80 Laptop [ 101.030859] EIP: 0060:[] EFLAGS: 00010282 CPU: 0 [ 101.030894] EIP is at skb_put+0x99/0xa0 [ 101.030919] EAX: 00000080 EBX: f129380b ECX: ef923540 EDX: 00000001 [ 101.030956] ESI: f00a4000 EDI: 00001003 EBP: ed4a5efc ESP: ed4a5ecc [ 101.030992] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [ 101.031024] CR0: 8005003b CR2: 08fca014 CR3: 30960000 CR4: 000407f0 [ 101.031062] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 101.031100] DR6: ffff0ff0 DR7: 00000400 [ 101.031125] Process btmrvl_main_ser (pid: 2010, ti=ed4a4000 task=ef923540 task.ti=ed4a4000) [ 101.031174] Stack: [ 101.031188] c18126f8 c1651938 f853f8d2 00001003 00001003 f1292800 f1292808 f129380b [ 101.031250] f1292940 f00a4000 eddb1280 efc0f9c0 ed4a5f44 f853f8d2 00000040 00000000 [ 101.031312] ef923540 c15ee096 ef923540 eddb12d4 00000004 f00a4000 00000040 00000000 [ 101.031376] Call Trace: [ 101.031396] [] ? btmrvl_sdio_process_int_status+0x272/0x3d0 [btmrvl_sdio] [ 101.031444] [] btmrvl_sdio_process_int_status+0x272/0x3d0 [btmrvl_sdio] [ 101.031488] [] ? _raw_spin_unlock_irqrestore+0x36/0x70 [ 101.031526] [] btmrvl_service_main_thread+0x244/0x300 [btmrvl] [ 101.031568] [] ? btmrvl_sdio_poll_card_status.isra.6.constprop.7+0x90/0x90 [btmrvl_sdio] [ 101.031619] [] ? try_to_wake_up+0x270/0x270 [ 101.031648] [] ? btmrvl_process_event+0x3b0/0x3b0 [btmrvl] [ 101.031686] [] kthread+0x7d/0x90 [ 101.031713] [] ? flush_kthread_work+0x150/0x150 [ 101.031745] [] kernel_thread_helper+0x6/0x10 ... [ 101.032008] EIP: [] skb_put+0x99/0xa0 SS:ESP 0068:ed4a5ecc [ 101.056125] ---[ end trace a0bd01d1a9a796c8 ]--- Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit e678bad515f06d3ca5def3a28aa21a5aeb51cf30 Author: Andrei Emeltchenko Date: Fri Sep 28 14:36:09 2012 +0300 Bluetooth: btmrvl: Use DIV_ROUND_UP macro The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 42632805f5f2d754567e9fff5298d14a40680d71 Author: Andrei Emeltchenko Date: Fri Sep 28 14:36:08 2012 +0300 Bluetooth: btmrvl: Correct num_block name Make code readable by correcting name from buf_block_len to num_blocks since it represent number of blocks; NOT a length of a block buffer. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 13465c0aeb9c56a4e4799f25aeff41d05f8a3fab Author: Andrei Emeltchenko Date: Fri Sep 28 16:55:00 2012 +0300 Bluetooth: A2MP: Correct assoc_len size Correct assoc_len and fix warning for x86-64 by using %zu specifier. Reported-by: Fengguang Wu Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 2e430be386e97224c37086a5a48fa05a9f9b79bb Author: Andrei Emeltchenko Date: Fri Sep 28 14:44:23 2012 +0300 Bluetooth: Use %zu print specifier for size_t type Correct warnings Reported-by: Fengguang Wu Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 17dc92574b696ba07512f7e6cfb7941a6f873f45 Author: Vijay Purushothaman Date: Thu Sep 27 19:13:09 2012 +0530 drm/i915: Fixup HDMI output on Valleyview Fixed correct min, max vco limits and dip ctl reg Signed-off-by: Vijay Purushothaman Signed-off-by: Gajanan Bhat Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 19c03924d4b72eedff517f80edc6b33c14f0fe53 Author: Gajanan Bhat Date: Thu Sep 27 19:13:07 2012 +0530 drm/i915: Add eDP support for Valleyview Eventhough Valleyview display block is derived from Cantiga, VLV supports eDP. So, added eDP checks in i9xx_crtc_mode_set path. v2: use different DPIO_DIVISOR values for VGA, DP and eDP v3: fix DPIO value calculation to use same values for all display interfaces v4: removed unconditional enabling of 6bpc dithering based on comments from Daniel & Jani Nikula. Also changed the display enabling order to force eDP detection first. Signed-off-by: Gajanan Bhat Signed-off-by: Vijay Purushothaman Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 2a8f64ca23447248efaf87c5c7c2cb0c5c3f27e8 Author: Vijay Purushothaman Date: Thu Sep 27 19:13:06 2012 +0530 drm/i915: Enable DisplayPort in Valleyview In valleyview voltageswing, pre-emphasis and lane control registers can be programmed only through the h/w side band fabric. Cleaned up DPLL calculations for Valleyview to support multi display configurations. v2: Based on Daniel's feedbacak, moved crt hotplug detect work around as separate patch. Also moved i9xx_update_pll_dividers to i8xx_update_pll and i9xx_update_pll. Signed-off-by: Vijay Purushothaman Signed-off-by: Gajanan Bhat Reviewed-by: Jesse Barnes [danvet: drop spurious whitespace changes.] Signed-off-by: Daniel Vetter commit 74a4dd2e4594804ffeb04b3e60ff4cfbf6b8ce10 Author: Vijay Purushothaman Date: Thu Sep 27 19:13:04 2012 +0530 drm/i915: Program correct m n tu register for Valleyview m n tu register offset has changed in Valleyview. Also fixed DP limit frequencies. Signed-off-by: Vijay Purushothaman Signed-off-by: Ben Widawsky Acked-by: Jesse Barnes Signed-off-by: Daniel Vetter commit b56747aace48a269fefa7d337963cbae6e95b0a0 Author: Vijay Purushothaman Date: Thu Sep 27 19:13:03 2012 +0530 drm/i915: Add Valleyview lane control definitions Added DPIO data lane register definitions for Valleyview Signed-off-by: Vijay Purushothaman Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit ae33cdcfc6aba86505f7a8ec288e3e1f7277de62 Author: Vijay Purushothaman Date: Thu Sep 27 19:13:02 2012 +0530 drm/i915: Fix SDVO IER and status bits for Valleyview Fixed SDVOB and SDVOC bit definitions for Valleyview. Signed-off-by: Vijay Purushothaman Signed-off-by: Ben Widawsky Reviewed-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 9473c8f485e1e3740d5aebf1de4838b615f9dedc Author: Vijay Purushothaman Date: Thu Sep 27 19:13:01 2012 +0530 drm/i915: Set aux clk to 100MHz for Valleyview Set hrawclk to 200 MHz and aux divider clock to 100 MHz for Valleyview. This enables the aux transactions in Valleyview. Signed-off-by: Vijay Purushothaman Signed-off-by: Ben Widawsky Acked-by: Jesse Barnes Signed-off-by: Daniel Vetter commit 29d8a5909bba10accb82eb805c884a2943d7710f Author: Andrei Emeltchenko Date: Fri Sep 21 12:30:05 2012 +0300 Bluetooth: Factor out Create Configuration Response Use function to factor out similar code. For BR/EDR send EFS Configuration Response immediately, for HS response will be sent after receiving HCI Logical Link Complete event in the following patches. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit ee22be7ef4f1d010a76fb41dc8fc687d38e606a3 Author: Andrei Emeltchenko Date: Fri Sep 21 12:30:04 2012 +0300 Bluetooth: Factor out hci_queue_acl Use hci_chan as parameter instead of hci_conn as we need logical handle from hci_chan for AMP link. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit d945df256a7b2446227fafae2f89db85597412ef Author: Andrei Emeltchenko Date: Tue Sep 25 12:49:46 2012 +0300 bluetooth: Remove unneeded batostr function batostr is not needed anymore since for printing Bluetooth addresses we use %pMR specifier. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 7028a8860f07d0efc5fdd7527fec065b818d108b Author: Andrei Emeltchenko Date: Tue Sep 25 12:49:45 2012 +0300 Bluetooth: Use %pMR instead of baswap in seq_show Use new bluetooth address print specifier %pMR for printing bluetooth addresses instead of dedicated variable and baswap. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit fcb73338ed531dcc00cb17ca76fe3e05f774e4e9 Author: Andrei Emeltchenko Date: Tue Sep 25 12:49:44 2012 +0300 Bluetooth: Use %pMR in sprintf/seq_printf instead of batostr Instead of old unsafe batostr function use %pMR print specifier for printing Bluetooth addresses in sprintf and seq_printf statements. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 6ed93dc6427d14cdfe0b272cc0a9ee4685ce9ad7 Author: Andrei Emeltchenko Date: Tue Sep 25 12:49:43 2012 +0300 Bluetooth: Use %pMR in debug instead of batostr Instead of old unsafe batostr function use %pMR print specifier for printing Bluetooth addresses in debug and error statements. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Gustavo Padovan commit 36a75f1b3ecf94dcf140b9d3d2f7a03b7e258480 Author: Jefferson Delfes Date: Tue Sep 18 13:36:54 2012 -0400 Bluetooth: Force the process of unpair command if disconnect failed The unpair process tries to disconnect any connection pending with remote. If there are some connection in connecting state, disconnect command will fail and unpair mgmt command will stay pending. That pending mgmt command can cause strange behavior like automatic unpair after a lost connection. Signed-off-by: Jefferson Delfes Acked-by: Johan Hedberg Signed-off-by: Gustavo Padovan commit 392f44d3e7894f6fe314b85b4a1611b7b1d98226 Author: Gustavo Padovan Date: Thu Sep 27 17:42:07 2012 -0300 Bluetooth: Fix two warnings in BT_DBG We just need to use the right modifiers Signed-off-by: Gustavo Padovan commit 0b26ab9dce74f8ac77d7eef0d683ab1d527e45b1 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:24 2012 +0300 Bluetooth: AMP: Handle Accept phylink command status evt When receiving HCI Command Status event for Accept Physical Link execute HCI Write Remote AMP Assoc with data saved from A2MP Create Physical Link Request. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit dffa387110025801862d7ad09f4e850d06ff55a9 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:23 2012 +0300 Bluetooth: AMP: Accept Physical Link When receiving A2MP Create Physical Link message execute HCI Accept Physical Link command to AMP controller. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 9495b2ee757f7747d7c28f9ba8d7edc53005ec2d Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:22 2012 +0300 Bluetooth: AMP: Process Chan Selected event Channel Selected event indicates that link information data is available. Read it with Read Local AMP Assoc command. The data shall be sent in the A2MP Create Physical Link Request. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 2766be48a7181d7f2a84831ca7e7be248fb6fdb5 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:21 2012 +0300 Bluetooth: A2MP: Add fallback to normal l2cap init sequence When there is no remote AMP controller found fallback to normal L2CAP sequence. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 93c284ee901f7d7bdd09087e92abefb7496c3777 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:20 2012 +0300 Bluetooth: AMP: Write remote AMP Assoc When receiving HCI Command Status after HCI Create Physical Link execute HCI Write Remote AMP Assoc command to AMP controller. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit a02226d6ff5098e6b97590cc55aabe7faf0860ed Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:19 2012 +0300 Bluetooth: AMP: Create Physical Link When receiving A2MP Get AMP Assoc Response execute HCI Create Physical Link to AMP controller. Define function which will run when receiving HCI Command Status. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 5a349186692950b13896abc3fb2f491d023f95a1 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:18 2012 +0300 Bluetooth: AMP: Add AMP key calculation Function calculates AMP keys using hmac_sha256 helper. Calculated keys are Generic AMP Link Key (gamp) and Dedicated AMP Link Key with keyID "802b" for 802.11 PAL. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit ba221bbabadd5fc2c80677b52178138fd694cc26 Author: Dmitry Kasatkin Date: Thu Sep 27 17:26:17 2012 +0300 Bluetooth: Add function to derive AMP key using hmac hmac(sha256) will be used for AMP key generation. Signed-off-by: Dmitry Kasatkin Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 93c3e8f5c9a0e4dc6b6c93108dcf3ec54ab1191a Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:16 2012 +0300 Bluetooth: Choose connection based on capabilities Choose which L2CAP connection to establish by checking support for HS and remote side supported features. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 9a5e94dbb4aa306742a47cbbcb0a44d4fc77a9e4 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:15 2012 +0300 Bluetooth: A2MP: Process A2MP Get AMP Assoc Rsp When receiving A2MP Get AMP Assoc Response save assoc data to remote AMP controller list and prepare for creating physical link. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 0d868de9d8760c76f6d4c6c777935c05ef272caa Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:14 2012 +0300 Bluetooth: A2MP: Process A2MP Getinfo Rsp Process A2MP Getinfo Response, send Get AMP Assoc Req. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit cb8488c0b60a947c0ef4a1a94573a7fefd3f20b4 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:13 2012 +0300 Bluetooth: AMP: Handle create / disc phylink req Use hci_conn structure to keep track about AMP physical connections. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 52c0d6e56b634b195e377192182391d526cdd5e4 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:12 2012 +0300 Bluetooth: AMP: Remote AMP ctrl definitions Create remote AMP controllers structure. It is used to keep information about discovered remote AMP controllers by A2MP protocol. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 3161ae1c72f03b021bc67504c13025626c26d30c Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:11 2012 +0300 Bluetooth: AMP: Physical link struct and helpers Define physical link structures. Physical links are represented by hci_conn structure. For BR/EDR we use type ACL_LINK and for AMP we use AMP_LINK. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit aa09537d80bf7e6282103618eb496f03e76f2953 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:10 2012 +0300 Bluetooth: A2MP: Process Discover Response When receiving A2MP Discover Response send A2MP Get Info Request for each AMP controller in the discovery list. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 903e45411099ae8292f5ce637ad0c72f6fef61db Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:09 2012 +0300 Bluetooth: AMP: Use HCI cmd to Read Loc AMP Assoc When receiving A2MP Get AMP Assoc Request execute Read Local AMP Assoc HCI command to AMP controller. If the AMP Assoc data is larger than it can fit to HCI event only fragment is read. When all fragments are read send A2MP Get AMP Assoc Response. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 8e2a0d92c56ec6955526a8b60838c9b00f70540d Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:08 2012 +0300 Bluetooth: AMP: Use HCI cmd to Read AMP Info When receiving A2MP Get Info Request execute Read Local AMP Info HCI command to AMP controller with function to be executed upon receiving command complete event. Function will handle A2MP Get Info Response. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit f97268fccdd4e76462195216fcab621b8d4a6cd1 Author: Andrei Emeltchenko Date: Thu Sep 27 17:26:07 2012 +0300 Bluetooth: A2MP: Create amp_mgr global list Create amp_mgr_list global list which will be used by different hci devices to find amp_mgr. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo Padovan commit 3bcedbe5f2a3da65326d99803cac71c1e89bc93f Author: Jesse Barnes Date: Wed Sep 19 13:29:01 2012 -0700 drm/i915: limit VLV IRQ enables to those we use To match IVB. Signed-off-by: Jesse Barnes Signed-off-by: Daniel Vetter commit da131a46268bf2a67e7b7fa137a90a1279866367 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 07d3dc18396790d9d394f4f0717a91b3a845c758 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 b091cd928dfa81e8c28b9707899201358b4e50b5 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 015b85a067bd9949756e49b01b70c820d31316d7 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 e2f12b070d715315f0ed549fe8d722b681518c1b Author: Paulo Zanoni Date: Thu Sep 20 18:36:06 2012 -0300 drm/i915: remove unused variables from ironlake_crtc_mode_set The last patches moved a lot of code from ironlake_crtc_mode_set to sub-functions, so these variables became useless. You could get warnings by enabling -Wunused-but-set-variable. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit de13a2e3f88a4da8e85063b6de37096795079e41 Author: Paulo Zanoni Date: Thu Sep 20 18:36:05 2012 -0300 drm/i915: extract compute_dpll from ironlake_crtc_mode_set Too many lines just to compute the value of a single variable, so move this to its own function. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit f48d8f235a9e3d2331b25743807340fc65b86587 Author: Paulo Zanoni Date: Thu Sep 20 18:36:04 2012 -0300 drm/i915: extract set_m_n from ironlake_crtc_mode_set The set_m_n code was spread all over the mode_set function. Version 2: Don't set the DP M/N registers on ironlake_set_m_n. Daniel Vetter has plans to add some encoder-specific callbacks. Also, on this version we don't change the order we're writing the registers, making the code change safer. Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter commit cc769b6257884e26476e1643d7203b4e875b2387 Author: Paulo Zanoni Date: Thu Sep 20 18:36:03 2012 -0300 drm/i915: don't recheck for invalid pipe bpp As noticed by Daniel Vetter, intel_pipe_choose_bpp_dither should already check for invalid bpp values and set a valid value, so remove the recheck inside ironlake_crtc_mode_set and also replace a "default" switch case inside ironlake_set_pipeconf with a BUG(). Signed-off-by: Paulo Zanoni Reviewed-by: Rodrigo Vivi Signed-off-by: Daniel Vetter