#
c1762a3f |
| 12-Jan-2012 |
Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> |
ath6kl: Add support for uAPSD
* A new APSD power save queue is added in the station structure. * When a station has APSD capability and goes to power save, the frame designated to the station will
ath6kl: Add support for uAPSD
* A new APSD power save queue is added in the station structure. * When a station has APSD capability and goes to power save, the frame designated to the station will be buffered in APSD queue. * When the host receives a frame which the firmware marked as trigger, host delivers the buffered frame from the APSD power save queue. Number of frames to deliver is decided by MAX SP length. * When a station moves from sleep to awake state, all frames buffered in APSD power save queue are sent to the firmware. * When a station is disconnected, all frames bufferes in APSD power save queue are dropped. * When the host queues the first frame to the APSD queue or removes the last frame from the APSD queue, it is indicated to the firmware using WMI_AP_APSD_BUFFERED_TRAFFIC_CMD.
kvalo: fix buggy handling of sks queues, made it more obvious the user priority when wmm is disabled, remove unneed else block and combined some variable declarations
Signed-off-by: Thirumalai Pachamuthu <tpachamu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
8232736d |
| 09-Jan-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath6kl: Fix listen interval handling
This patch addresses a few problems with the commit:
"ath6kl: Implement support for listen interval from userspace"
* The debugfs file required for reading/wri
ath6kl: Fix listen interval handling
This patch addresses a few problems with the commit:
"ath6kl: Implement support for listen interval from userspace"
* The debugfs file required for reading/writing the listen interval wasn't created. Fix this.
* The interface index was being hardcoded to zero. Fix this.
* Two separate parameters, "listen_interval_time and listen_interval_beacons" were being used. This fails to work as expected because the FW assigns higher precedence to "listen_interval_beacons" and "listen_interval_time" ends up being never used at all.
To handle this, fix the host driver to exclusively use listen interval based on units of beacon intervals.
To set the listen interval, a user would now do something like this:
echo "10" > /sys/kernel/debug/ieee80211/*/ath6kl/listen_interval
kvalo: fix two checkpatch warnings
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2 |
|
#
80abaf9b |
| 03-Jan-2012 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Implement ndo_set_rx_mode()
There are maximum of seven multicast filter are supported by hw. When the requested number of filters exceeds the maximum supported one, multicast filtering is co
ath6kl: Implement ndo_set_rx_mode()
There are maximum of seven multicast filter are supported by hw. When the requested number of filters exceeds the maximum supported one, multicast filtering is completely disabled, the requested filters will be configured in firmware and the only multicast frames that host is interested in will be passed to host for further processing otherwise.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc7, v3.2-rc6 |
|
#
65a8b4cc |
| 16-Dec-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add support for FW API 3
As firmware starting from 3.2.0.12 has some API changes and doesn't work with older versions of ath6kl we need to bump up the API version. This way we don't break an
ath6kl: add support for FW API 3
As firmware starting from 3.2.0.12 has some API changes and doesn't work with older versions of ath6kl we need to bump up the API version. This way we don't break anything.
Also store which version of API is used and print that during boot:
ath6kl: ar6003 hw 2.1.1 sdio fw 3.2.0.13 api 3
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
c0038972 |
| 16-Dec-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: handle firmware names more dynamically
Currently ath6kl has just hardcoded paths to each firmware file. Change this more dynamic by separating the the directory and file name from each other
ath6kl: handle firmware names more dynamically
Currently ath6kl has just hardcoded paths to each firmware file. Change this more dynamic by separating the the directory and file name from each other. That way it's easier to dynamically create full paths to firmware and code looks better. And now it's possible to remove a function needed by devicetree code.
While at it add a structure inside struct ath6kl_hw to contain all firmware names. I deliberately omitted board file support as those will be handled later.
This is needed for firmware API 3.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
3ca9d1fc |
| 13-Dec-2011 |
Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> |
ath6kl: support for P2P mgmt operations on station interface
This patch enables support for doing P2P management operations like device discovery on top of a station interface. After group formation
ath6kl: support for P2P mgmt operations on station interface
This patch enables support for doing P2P management operations like device discovery on top of a station interface. After group formation, the station interface will become a P2P GO/client interface as the case may be.
This feature requires modifications to a couple of existing WMI structures and therefore new command ids and structures have been defined in order to be compatible with older firmware versions and other chips. The exception here is the wmi_connect_cmd. Adding a new field to the end of the structure will not cause any issues with previous firmware versions since firmware only checks for minimum length of the command. The other structures are of variable length, hence it was not possible to add new fields to the end.
The new command ids have to be added to the end of enum wmi_cmd_id, so it has updated to match the firmware.
The driver will support both the 'old' and the 'new' commands for a while by checking the firmware capabilities.
Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
39586bf2 |
| 13-Dec-2011 |
Ryan Hsu <ryanhsu@qca.qualcomm.com> |
ath6kl: Support different uart_tx pin and refclk configuration
AR6003 family use uart_tx=8 and refclk=26Mhz by default, and AR6004 family uses different uart_tx pin and could also support various xt
ath6kl: Support different uart_tx pin and refclk configuration
AR6003 family use uart_tx=8 and refclk=26Mhz by default, and AR6004 family uses different uart_tx pin and could also support various xtal source, moves these per hw configuration.
Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
10509f90 |
| 13-Dec-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: implement scheduled scan
ath6kl firmware supports scheduled scan functionality with the wow ssid filter. But the firmware does not send any events after scan results so I had to add a timer
ath6kl: implement scheduled scan
ath6kl firmware supports scheduled scan functionality with the wow ssid filter. But the firmware does not send any events after scan results so I had to add a timer which notifies about new scan results.
Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't support sched scan the driver will not enable the feature.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc5, v3.2-rc4 |
|
#
d6d5c06c |
| 25-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: cleanup ath6kl_priv()
It really should not return a void pointer. Also remove useless casts from its users.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
Revision tags: v3.2-rc3 |
|
#
0bb4e30f |
| 23-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: remove unused sc_params from struct ath6kl
It was only initialised but not used anywhere. Also remove two defines which ended up unused after this change.
Signed-off-by: Kalle Valo <kvalo@q
ath6kl: remove unused sc_params from struct ath6kl
It was only initialised but not used anywhere. Also remove two defines which ended up unused after this change.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
b64de356 |
| 17-Nov-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Enable multiple vif support
The maximum number of supported virtual interfaces are 3.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@q
ath6kl: Enable multiple vif support
The maximum number of supported virtual interfaces are 3.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc2 |
|
#
368b1b0f |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add firmware IE for maximum number of vifs
Not all firmwares support multiple vifs and we need to read the limit from the firmware image.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
71f96ee6 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: make maximum number of vifs runtime configurable
Needed when detecting how many vifs firmware supports.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
d1a9421d |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add firmware filename info to struct ath6kl_hw
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
0d0192ba |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: use hardware version names consistently
Part of ath6kl uses "REV3" style of naming hardware versions and elsewhere "hw 2.1.1" is used instead for the same version. This is confusing, use the
ath6kl: use hardware version names consistently
Part of ath6kl uses "REV3" style of naming hardware versions and elsewhere "hw 2.1.1" is used instead for the same version. This is confusing, use the latter term everywhere.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
293badf4 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add name field to struct ath6kl_hw
To make it easier to print name for each hardware type. Also move the hw info print to ath6kl_init_hw_start() which is more logical place for it.
Signed-o
ath6kl: add name field to struct ath6kl_hw
To make it easier to print name for each hardware type. Also move the hw info print to ath6kl_init_hw_start() which is more logical place for it.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
03ef0250 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add firmware IE for board data address
Board data address can change between firmwares so we need to read that from the firmware image.
Also fix debug log for the patch address to print the
ath6kl: add firmware IE for board data address
Board data address can change between firmwares so we need to read that from the firmware image.
Also fix debug log for the patch address to print the address in hex.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
0d4d72bf |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add board address to struct ath6kl_hw
This is to make it configurable by firmware IEs. Also determine if we need to write or read the board address to the chip by checking if board address i
ath6kl: add board address to struct ath6kl_hw
This is to make it configurable by firmware IEs. Also determine if we need to write or read the board address to the chip by checking if board address is set or not.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
856f4b31 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: move hw version related to parameters to struct
It's easier to handle the values when they are defined in a struct.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
77eab1e9 |
| 11-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add hif_type
In some rare cases core code needs to know what hif type is used. Add a field to struct ath6kl to denote that. Hopefully this is just a temporary solution.
Signed-off-by: Kalle
ath6kl: add hif_type
In some rare cases core code needs to know what hif type is used. Add a field to struct ath6kl to denote that. Hopefully this is just a temporary solution.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
d5720e59 |
| 11-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: update ar6004 definitions
Add also hw 1.1.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
1f4c894d |
| 11-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: change bmi sizes being configurable by HIF
SDIO and USB have different maximum sizes for BMI commands so make that configurable.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
Revision tags: v3.2-rc1 |
|
#
a918fb3c |
| 07-Nov-2011 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Perform WOW resume in RX path in case of SDIO IRQ wake up
The target triggers sdio data line to wake up the host when WOW pattern matches. This causes sdio irq handler is being executed in t
ath6kl: Perform WOW resume in RX path in case of SDIO IRQ wake up
The target triggers sdio data line to wake up the host when WOW pattern matches. This causes sdio irq handler is being executed in the host side which internally hits ath6kl's RX path.
WOW resume should happen before start processing any data from the target. So it's required to perform WOW resume in RX path.
This area needs bit rework to avoid WOW resume in RX path, As of now it's fine to have this model, rework will be done later.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
dd6c0c63 |
| 07-Nov-2011 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Add new state for WOW mode
In addition to existing deep sleep and cut pwr mode, new state is added in ath6kl_cfg_suspend_mode as well as in ath6kl_state for WOW.
Signed-off-by: Raja Mani <r
ath6kl: Add new state for WOW mode
In addition to existing deep sleep and cut pwr mode, new state is added in ath6kl_cfg_suspend_mode as well as in ath6kl_state for WOW.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
6cb3c714 |
| 07-Nov-2011 |
Raja Mani <rmani@qca.qualcomm.com> |
ath6kl: Add WOW suspend/resume implementation
This is the core WOW suspend/resume functions will be called in PM suspend/resume path.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by
ath6kl: Add WOW suspend/resume implementation
This is the core WOW suspend/resume functions will be called in PM suspend/resume path.
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|