Commit graph

134,929 commits

Author SHA1 Message Date
Rafał Miłecki
7ed8852888 b43: LCN-PHY: switch analog
Analog is switched on right after reading PHY version:
 read16 0xfaafc3e0 -> 0xa801
 phy_read(0x043b) -> 0x0000
phy_write(0x043b) <- 0x0000
Switched off after after killing radio:
>>> Switch Radio(OFF) end
 phy_read(0x043c) -> 0x0000
phy_write(0x043c) <- 0x0007
 phy_read(0x043b) -> 0x0000
phy_write(0x043b) <- 0x0007

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 14:41:41 -04:00
Rafał Miłecki
ba356b569f b43: LCN-PHY: implement disabling radio
wl reads radio version, then disables it. That's how we found it in MMIO
dump:
 radio_read(0x0000) -> 0x0031 <-- RADIO READ WITHOUT 0x200 SET!
 radio_read(0x0001) -> 0x0064 <-- RADIO READ WITHOUT 0x200 SET!
 radio_read(0x0002) -> 0x0020 <-- RADIO READ WITHOUT 0x200 SET!
 read32 0xfaafc120 -> 0x04000400
 phy_read(0x044d) -> 0x0000
phy_write(0x044d) <- 0x0000
 phy_read(0x044c) -> 0x1fff
phy_write(0x044c) <- 0x1fff
 phy_read(0x04b7) -> 0x0000
phy_write(0x04b7) <- 0x0000
 phy_read(0x04b1) -> 0x0000
phy_write(0x04b1) <- 0x0000
 phy_read(0x04b0) -> 0x7dff
phy_write(0x04b0) <- 0x7dff
 phy_read(0x04fa) -> 0x0000
phy_write(0x04fa) <- 0x0000
 phy_read(0x04f9) -> 0x007f
phy_write(0x04f9) <- 0x007f

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 14:41:41 -04:00
Rafał Miłecki
f928668f2d b43: LCN-PHY: add very basic PHY ops
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 14:41:41 -04:00
Rafał Miłecki
0cc9772a6b b43: fix DMA on some bugged hardware
Some hardware with 64-bit DMA uses lower address word for setting
routing (translation) bit. Add workaround for such boards.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 14:41:41 -04:00
Rafał Miłecki
04023afcce ssb: fix DMA translation for some specific boards
Signed-off-by: Michael Buesch <m@bues.ch>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 14:41:41 -04:00
Linus Torvalds
a53e77fa57 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  HID: wiimote: Add status and return request handlers
  HID: wiimote: Add drm request
  HID: wiimote: Register led class devices
  HID: wiimote: Correctly call HID open/close callbacks
  HID: wiimote: Simplify synchronization
  HID: usbhid: Add support for SiGma Micro chip
  HID: add support for new revision of Apple aluminum keyboard
2011-08-24 11:25:08 -07:00
Felix Fietkau
292121dce2 ath9k: remove a bogus WARN_ON
On embedded hardware it's normal to not have a PCI device for the PCI
bridge that the wifi card is attached to. pdev->bus->self will be
NULL in that case. In that case, simply return without emitting an
useless kernel stack trace.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 14:05:19 -04:00
Rajkumar Manoharan
d069a46be8 ath9k: Dump modal noisefloor calibration history
Debugfs file location:
<debugfs_mnt>/ieee80211/phy#/ath9k/dump_nfcal

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:46 -04:00
Rajkumar Manoharan
e338a85e21 ath9k: Fix invalid noisefloor reading due to channel update
While switching b/w HT20/40, the current channel's nf values
are updated into history buffer. Since the current channel's
channel type, channel flag got updated before reading
nf value from hw. This channel type mismatch is causing invalid
readings when hw is on ht20 but getnf tries to read on extn chains.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:46 -04:00
Rajkumar Manoharan
6b3d348681 ath9k: Fix noisefloor history update for extn chains
Before doing hw reset the current channel's noisefloor readings
are updated into history buffer. The extension chain's readings
are considered only if the current channel was configured in HT40.
While moving from HT40 to HT20, the extn chain's readings are
skipped though the current channel is in ht40. This patch updates
extn chain reading based on channel flag.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:46 -04:00
Rajkumar Manoharan
f82b4bde17 ath9k: Move ath9k_init_crypto to common
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:45 -04:00
Rajkumar Manoharan
d77bf3eb51 ath9k: Remove SC_OP_ENABLE_APM
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:45 -04:00
Rajkumar Manoharan
56266bff6d ath9k_hw: Remove unnecessary chainmask configuration
The chainmasks were already configured at process_ini
before doing init calibration.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:45 -04:00
Rajkumar Manoharan
479c68927a ath9k: qinfo never be NULL in setuptxqueue
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:45 -04:00
Rajkumar Manoharan
3de2111697 ath9k: Remove unused argument tsf from ath9k_hw_rxprocdesc
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:44 -04:00
Rajkumar Manoharan
29ab0b3632 ath9k: Re-enable RXOEL interrupt after processing rx buffers
Once RXEOL was disabled, it never be enabled again. This patch
re-enables rxeol at the end of rx tasklet.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:44 -04:00
Rajkumar Manoharan
0682c9b52b ath9k: Fix rx overrun interrupt storm
Whenever RXEOL is received, both RXORN and RXEOL got cleared
to avoid rx overrun interrupt storm. This was handled only for
edma chips. The same scenario was also observered with AR9280,
doing frequent channel type switch b/w HT20/40 with bidi traffic
that is causing failure to stop rx dma. This patch clears
the RXEOL & RXORN interrupts for all chips.

ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020
DMADBG_7=0x000062c0
ath: Could not stop RX, we could be confusing the DMA engine when we
start RX up
------------[ cut here ]------------
WARNING: at drivers/net/wireless/ath/ath9k/recv.c:532
ath_stoprecv+0x110/0x120 [ath9k]()
Call Trace:
 [<ffffffff8104a55a>] warn_slowpath_common+0x7a/0xb0
 [<ffffffff8104a5a5>] warn_slowpath_null+0x15/0x20
 [<ffffffffa0560380>] ath_stoprecv+0x110/0x120 [ath9k]
 [<ffffffffa055e6fa>] ath_reset+0x6a/0x200 [ath9k]

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:44 -04:00
Rajkumar Manoharan
7a12dfdbf5 ath9k_hw: Fix exceed transmission burst-time of 5GHz
The WAR which adds extra delimiters when using RTS/CTS
with aggregation and non-enterprise AR9003 chips.
This extra padding is done after doing all the 4ms limit
checks and hence the total aggregate sizes are exceeding
the allowed duration. This patch limits the aggregate
sizes appropriately after including these extra delimiters.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:59:44 -04:00
Mohammed Shafi Shajakhan
8b2a3827bb ath9k: Fix PS wrappers in ath9k_set_coverage_class
this callback is called during suspend/resume and also via iw command.
it configures parameters like sifs, slottime, acktimeout in
ath9k_hw_init_global_settings where few REG_READ, REG_RMW are also done
and hence the need for PS wrappers

Cc: stable@kernel.org
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:52:28 -04:00
Alexey Khoroshilov
66cb54bd24 carl9170: Fix mismatch in carl9170_op_set_key mutex lock-unlock
If is_main_vif(ar, vif) reports that we have to fall back
to software encryption, we goto err_softw; before locking ar->mutex.
As a result, we have unprotected call to carl9170_set_operating_mode
and unmatched mutex_unlock.

The patch fix the issue by adding mutex_lock before goto.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Cc: <stable@kernel.org>
Acked-By: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-24 13:52:27 -04:00
Linus Torvalds
8554cc18db Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: ad714x - read the interrupt status registers in a row
  Input: ad714x - use DMA-safe buffers for spi_write()
  Input: ad714x - fix endianness issues
  Input: ad714xx-spi - force SPI bus into the default 8-bit mode
  Input: ep93xx_keypad - add missing include of linux/module.h
  Input: tnetv107x-ts - add missing include of linux/module.h
  Input: max11801_ts - correct license statement
  Input: atmel_mxt_ts - report pressure information from the driver
  Input: bcm5974 - Add support for newer MacBookPro8,2
  Input: wacom - report id 3 returns 4 bytes of data
  Input: wacom - add WAC_MSG_RETRIES define
  Input: wacom - add support for the Wacom Bamboo Pen (CTL-660/K)
  Input: tegra-kbc - correct call to input_free_device
  Input: mpu3050 - correct call to input_free_device
  Input: bcm5974 - add support for touchpads found in MacBookAir4,2
  Input: mma8450 - fix module device table type
  Input: remove CLOCK_TICK_RATE from analog joystick driver
2011-08-24 09:19:03 -07:00
Linus Torvalds
2da2c664ec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (29 commits)
  bridge: fix a possible net_device leak
  net: Documentation: RFC 2553bis is now RFC 3493
  atm: br2684: Fix oops due to skb->dev being NULL
  ipv6: Fix ipv6_getsockopt for IPV6_2292PKTOPTIONS
  net: netdev-features.txt update to Documentation/networking/00-INDEX
  vlan: reset headers on accel emulation path
  forcedeth: call vlan_mode only if hw supports vlans
  via-velocity: remove non-tagged packet filtering
  bonding:reset backup and inactive flag of slave
  net_sched: fix port mirror/redirect stats reporting
  sit tunnels: propagate IPv6 transport class to IPv4 Type of Service
  gianfar: reduce stack usage in gianfar_ethtool.c
  net: minor update to Documentation/networking/scaling.txt
  net: add missing entries to Documentation/networking/00-INDEX
  gianfar: prevent buggy hw rx vlan tagging
  net: sh_eth: Fix build by forgot including linux/interrupt.h
  drivers/net/can/sja1000/plx_pci.c: eliminate double free
  usbnet/cdc_ncm: Don't use stack variables for DMA
  vmxnet3: Don't enable vlan filters in promiscuous mode.
  iwlagn: sysfs couldn't find the priv pointer
  ...
2011-08-24 09:11:08 -07:00
Larry Finger
9de9f962c7 staging: rtl8192e: Convert typedefs that can be replaced with #define
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:55:49 -05:00
Larry Finger
e660594750 staging: rtl8192e: Convert typedef HT_AGGRE_SIZE_E to enum ht_aggre_size
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:55:33 -05:00
Larry Finger
d0df281309 staging: rtl8192e: Convert typedef RATR_TABLE_MODE_8192S to enum ratr_table_mode_8192s
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:09 -05:00
Larry Finger
74082c929d staging: rtl8192e: Convert typedef FW_CMD_IO_TYPE to enum fw_cmd_io_type
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:08 -05:00
Larry Finger
472ba32655 staging: rtl8192e: Convert typedef SCAN_OPERATION_BACKUP_OPT to enum scan_op_backup_opt
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:08 -05:00
Larry Finger
569e595955 staging: rtl8192e: Convert typedef country_code_type_t to enum country_code_type
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:07 -05:00
Larry Finger
d45c88a63b staging: rtl8192e: Convert typedef WOLPATTERN_TYPE to enum wol_pattern_type
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:06 -05:00
Larry Finger
de7c885a24 staging: rtl8192e: Convert typedef RT_RF_POWER_STATE to enum rt_rf_power_state
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:04 -05:00
Larry Finger
f6ce577e38 staging: rtl8192e: Convert typedef RT_JOIN_ACTION to enum rt_join_action
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:03 -05:00
Larry Finger
8304cc64dc staging: rtl8192e: Convert typedef IPS_CALLBACK_FUNCION to enum ips_callback_function
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:02 -05:00
Larry Finger
f6e3d4f4c2 staging: rtl8192e: Convert typedef RT_PS_MODE to enum rt_ps_mode
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:01 -05:00
Larry Finger
3c093c2ba1 staging: rtl8192e: Convert typedef Fsync_State to enum fsync_state
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:53:00 -05:00
Larry Finger
3b45eb8309 staging: rtl8192e: Convert typedef erp_t to enum erp_t
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:59 -05:00
Larry Finger
80f839d439 staging: rtl8192e: Convert typedef WIRELESS_NETWORK_TYPE to enum wireless_network_type
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:59 -05:00
Larry Finger
dc20a3265e staging: rtl8192e: Convert typedef WIRELESS_MODE to enum wireless_mode
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:58 -05:00
Larry Finger
e608063303 staging: rtl8192e: Convert typedef RT_RF_TYPE_DEF to enum rt_rf_type_def
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:57 -05:00
Larry Finger
4fd7cedc51 staging: rtl8192e: Convert typedef LED_CTL_MODE to enum led_ctl_mode
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:56 -05:00
Larry Finger
062de0a9df staging: rtl8192e: Convert typedef InitialGainOpType to enum init_gain_op_type
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:55 -05:00
Larry Finger
07276bac0f staging: rtl8192e: Convert typedef BA_ACTION to enum ba_action
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:54 -05:00
Larry Finger
5a604053a9 staging: rtl8192e: Convert typedef TS_ACTION to enum ts_action
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:54 -05:00
Larry Finger
09ced23df6 staging: rtl8192e: Convert typedef ACT_CATEGORY to enum act_category
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:53 -05:00
Larry Finger
e93e0f6aab staging: rtl8192e: Convert typedef RT_OP_MODE to enum rt_op_mode
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:52 -05:00
Larry Finger
bb5e482246 staging: rtl8192e: Convert typedef HW_VARIABLES to enum hw_variables
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:51 -05:00
Larry Finger
839370c572 staging: rtl8192e: Convert typedef HAL_DEF_VARIABLE to enum hal_def_variable
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:50 -05:00
Larry Finger
a3120de6c4 staging: rtl8192e: Convert typedef DM_DBG_E to enum dm_dbg
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:49 -05:00
Larry Finger
fe5cd9c21b staging: rtl8192e: Convert typedef DM_CCK_Rx_Path_Method to enum dm_cck_rx_path_method
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:49 -05:00
Larry Finger
2fa7c96243 staging: rtl8192e: Convert typedef dm_dig_cs_ratio_e to enum dm_dig_cs_ratio
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:48 -05:00
Larry Finger
5d1703aee6 staging: rtl8192e: Convert typedef dm_dig_pd_th_e to enum dm_dig_pd_th
Remove typedef from enum.
Rename enum.
Rename uses.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
2011-08-24 10:52:47 -05:00