]> git.baikalelectronics.ru Git - kernel.git/commit
libertas: remove internal buffers from GSPI driver
authorAndrey Yurovsky <andrey@cozybit.com>
Tue, 27 Oct 2009 23:51:40 +0000 (16:51 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 2 Nov 2009 20:39:41 +0000 (15:39 -0500)
commitaeb72f376bb8c8afa53fa690ca46a61c488ce6cc
treeb2bf5bb2f7c479ab04f2167937d89504e1b6ba09
parent2c98bb3ec08d05ccddc596491bcb0dad1423d202
libertas: remove internal buffers from GSPI driver

This patch removes the internal command and data buffers that the GSPI driver
maintained and instead relies on the Libertas core to synchronize access
to the command and data ports as with the other interface drivers.  This
cleanup reduces the GSPI driver's memory footprint and should improve
performance by removing the need to copy to these internal buffers.
This also simplifies the bottom half of the interrupt handler.

This is an incremental cleanup: after removing the redundant buffers, we
can further improve the driver to use a threaded IRQ handler instead of
maintaining its own thread.  However I would like a few folks to test
the buffer removal first and make sure that I'm not introducing
regressions.

Tested on Blackfin BF527 with DMA disabled due to an issue with the SPI
host controller driver in the current bleeding-edge Blackfin kernel.  I
would appreciate it if someone with working DMA could test this patch
and provide feedback.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Tested-by: George Shore <george.shore@imgtec.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/if_spi.c