- 11 7月, 2009 2 次提交
-
-
由 Andrey Yurovsky 提交于
The SPI driver does a couple of card cleanup steps in the wrong order on module removal. If IEEE PS is enabled, this results in the card being left in IEEE PS mode and subsequent failures to reload the module. The problem is that the surpriseremoved flag is set before calling lbs_remove_card, but that function needs to issue a command to exit IEEE PS mode (the flag blocks the command path). In addition, lbs_stop_card should be called first because it clears out any pending commands. Tested on a GSPI device with V9 firmware by confirming that we can reload the module with or without IEEE PS enabled. Also fix a warning from the wrong uint format in a printk. V2: use z modifier, thanks Sebastian. Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Andrey Yurovsky 提交于
Power save support depends on the firmware capabilities rather than the card's hardware interface. Use the FW_CAPINFO_PS bit in the firmware capabilities mask throughout the driver in place of the redundant ps_supported flag and don't make decisions about PS support in the interface drivers (with the exception of a special case in the USB driver). V2: put the USB special case in the right place. Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 16 6月, 2009 3 次提交
-
-
由 John W. Linville 提交于
We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch eplaces the shared FIRMWARE_NAME_MAX definition with a libertas local one. Signed-off-by: NJohn W. Linville <linville@tuxdriver.com> Acked-by: NDan Williams <dcbw@redhat.com> Acked-by: NSamuel Ortiz <sameo@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
|BUG: spinlock recursion on CPU#0, lbs_spi_thread/1030 | lock: dee9a1bc, .magic: dead4ead, .owner: lbs_spi_thread/1030, .owner_cpu: 0 |Call Trace: |[deec3eb0] [c0007220] show_stack+0x4c/0x15c (unreliable) |[deec3ef0] [c0187720] spin_bug+0x9c/0xb0 |[deec3f10] [c0187890] _raw_spin_lock+0x54/0x148 |[deec3f40] [c02d260c] _spin_lock_irqsave+0x2c/0x44 |[deec3f60] [e8671800] lbs_queue_event+0x7c/0x130 [libertas] |[deec3f80] [e8725f04] lbs_spi_thread+0x538/0x58c [libertas_spi] |[deec3fe0] [c004f270] kthread+0x4c/0x88 |[deec3ff0] [c000f33c] kernel_thread+0x4c/0x68 if_spi_e2h() is grabbing ->driver_lock just while calling lbs_queue_event() which is grabbing the same lock. Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Andrey Yurovsky 提交于
The card firmware does not set the Command Download Ready interrupt bit when IEEE PS mode is enabled, preventing the driver from sending commands (such as the command to exit IEEE PS mode) since there is no indication that the card is ready to accept commands. This patch works around the problem by using the the TX Download Ready bit in place of the Command Download Ready Bit while in IEEE PS mode. TX Download Ready is set in IEEE PS mode. Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Signed-off-by: NJavier Cardona <javier@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 11 6月, 2009 1 次提交
-
-
This removes the dependency on GPIO framework and lets the SPI host driver handle the chip select. The SPI host driver is required to keep the CS active for the entire message unless cs_change says otherwise. This patch collects the two/three single SPI transfers into a message. Also the delay in read path in case use_dummy_writes are not used is moved into the SPI host driver. Tested-by: NMike Rapoport <mike@compulab.co.il> Tested-by: NAndrey Yurovsky <andrey@cozybit.com> Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 04 6月, 2009 1 次提交
-
-
The comment (which I remove) says that the translation is done SPI routines. IMHO this can't work because the SPI driver does not know whether the incomming bytes are part of the registers/bytes which need to be flipped or part of packet data which has to remain untouched. While adding le helpers I also removed spu_write_u32() which has no users. Tested-by: NAndrey Yurovsky <andrey@cozybit.com> Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 23 5月, 2009 1 次提交
-
-
由 andrey@cozybit.com 提交于
The GPSI interface driver does not re-enable the Card Event Interrupt, which causes problems after a card event (for example: link-loss) comes in. This can lead, for example, to the card failing to re-associate. This patch ensures that we re-enable the Card Event Interrupt when we handle card events. Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 25 4月, 2009 1 次提交
-
-
由 John W. Linville 提交于
drivers/net/wireless/libertas/if_spi.c: In function ‘if_spi_c2h_data’: drivers/net/wireless/libertas/if_spi.c:733: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 23 4月, 2009 1 次提交
-
-
由 Anna Neal 提交于
Currently, the libertas main thread contends with the spi driver thread in the TX path. To improve throughput, ensure that the driver thread has higher scheduling priority than the libertas main thread. Do this by making the libertas spi driver thread a low priority real time thread. We measured an average throughput improvement of 13%. Signed-off-by: NAnna Neal <anna@cozybit.com> Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 10 2月, 2009 1 次提交
-
-
由 Mike Rapoport 提交于
In certain cases it is required to perform board specific actions before activating libertas G-SPI interface. These actions may include power up of the chip, GPIOs setup, proper pin-strapping and SPI controller config. This patch adds ability to call board specific setup/teardown methods Signed-off-by: NMike Rapoport <mike@compulab.co.il> Acked-by: NAndrey Yurovsky <andrey@cozybit.com> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 30 1月, 2009 1 次提交
-
-
由 Colin McCabe 提交于
Add initial support for libertas devices using a GSPI interface. This has been tested with the 8686. GSPI is intended to be used on embedded systems. Board-specific parameters are required (see libertas_spi.h). Thanks to everyone who took a look at the earlier versions of the patch. Signed-off-by: NColin McCabe <colin@cozybit.com> Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-