aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-03-27[PATCH] bcm43xx: fix some stuff, add a few missing mmiowb(), remove dead code.Michael Buesch
This may workaround the XMIT ERRORs some people are getting. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Remove the mmio access printing facility overhead.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Abstract the locking mechanism.Michael Buesch
This is the starting point to make the driver out-of-order-MMIO-stores safe. There are more mmiowb() needed. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Set both, the DMAmask and the coherent DMAmask.Michael Buesch
This has a potential to fix the >1G bug. But I can not test that, yet. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: fix DMA TX skb freeing in case of fragmented packets.Pete Zaitcev
It seems to me that the today's wireless-2.6 git contains bcm43xx which does not free txb's correctly, if I understand it right. Consider a situation where a txb with two skb's is sent down. The dma_tx_fragment will save the pointer to meta->txb of the first fragment. If fragments are freed in order, ieee80211_txb_free frees both skb's when the first fragment is processed. This may result in reuse of the second skb's memory. This danger is rather remote, but it seems to me that the patch below not only fixes the problem, but also makes the code simpler, which is good, right? Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Add sysfs attributes for device specific tunables.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Move TX/RX related functions to its own file. Add basic ↵Michael Buesch
RTS/CTS code. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: add assert(bcm->initialized) to periodic_tasks_setup().Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: move initialized = 1 to the end of init_board.Michael Buesch
Note that the periodic work has to be started with initialized==1 Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Workaround init_board vs IRQ race.Michael Buesch
The proper fix for this is to move IRQ enabling to the end of init_board. But this is nontrivial and needs to be done with care. Stay with this cheap workaround for now. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Fix Kconfig typo (transfer mode default)Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: remove old unused struct.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: split the channel helper functions, so that they can be ↵Michael Buesch
used without a valid running core. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: make bcm43xx_sprom_crc() static.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Move sprom lowlevel reading/writing to its own functions.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Code cleanups. This removes various "inline" statements and ↵Michael Buesch
reduces codesize. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: rewrite and simplify the periodic task handling.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: fix LED code.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: update READMEMichael Buesch
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] Apple Airport: Add Kconfig note that the bcm43xx driver has to be ↵Michael Buesch
used for Airport Extreme cards. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: add a note that not all devices support PIO.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Partially fix PIO code. Add Kconfig option for PIO or DMA ↵Michael Buesch
mode (or both). Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: remove WX debugging.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: fix compiletime warning (phy_xmitpower)Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: heavily increase mac_suspend timeout.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: enable SPROM writing.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: fix txpower reporting in WE.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] Sync bcm43xx_phy_initb6() with specsDanny van Dyk
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Wireless Ext updateMichael Buesch
Wireless Ext update: update we_version_source set enc_capa Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: basic ethtool supportMichael Buesch
This patch contains the beginnings of ethtool support for bcm43xx. It only implements get_drvinfo and get_link, but that's enough for ifplugd to use ethtool to know whether we're associated or not and then start or stop dhcp as necessary. Signed-off-by: Jason Lunz <lunz@falooley.org> Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Remove function bcm43xx_channel_is_allowed()Michael Buesch
Geographical restriction should become part of the 80211 stack, so every driver does not have to duplicate it. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Add more initvals sanity checks and error out, if one ↵Michael Buesch
sanity check fails. Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Fix makefile. Remove all the "out-of-tree" stuff.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: add DEBUG Kconfig option. Also fix indention.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: remove redundant COPYING file.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: Move README file to Documentation directory.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: remove linux version compatibility code.Michael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: sync with svn.berlios.deMichael Buesch
Signed-off-by: Michael Buesch <mbuesch@freenet.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] bcm43xx: patch Kconfig and wireless/Makefile for importJohn W. Linville
Patch Kconfig and wireless/Makefile to merge bcm43xx 'properly' Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-27[PATCH] wireless: import bcm43xx sourcesJohn W. Linville
Import the bcm43xx driver from the upstream sources here: ftp://ftp.berlios.de/pub/bcm43xx/snapshots/bcm43xx/bcm43xx-20060123.tar.bz2 Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-26[SPARC64]: Kill duplicate exports of string library functions.David S. Miller
Kbuild now points these out. Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-26[SPARC64]: Update defconfig.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-26[PATCH] one ipc/sem.c->mutex.c converstion too many..Manfred Spraul
Ingo's sem2mutex patch incorrectly replaced one reference to ipc/sem.c with ipc/mutex.c in a comment. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivialLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: drivers/char/ftape/lowlevel/fdc-io.c: Correct a comment Kconfig help: MTD_JEDECPROBE already supports Intel Remove ugly debugging stuff do_mounts.c: Minor ROOT_DEV comment cleanup BUG_ON() Conversion in drivers/s390/block/dasd_devmap.c BUG_ON() Conversion in mm/mempool.c BUG_ON() Conversion in mm/memory.c BUG_ON() Conversion in kernel/fork.c BUG_ON() Conversion in ipc/sem.c BUG_ON() Conversion in fs/ext2/ BUG_ON() Conversion in fs/hfs/ BUG_ON() Conversion in fs/dcache.c BUG_ON() Conversion in fs/buffer.c BUG_ON() Conversion in input/serio/hp_sdc_mlc.c BUG_ON() Conversion in md/dm-table.c BUG_ON() Conversion in md/dm-path-selector.c BUG_ON() Conversion in drivers/isdn BUG_ON() Conversion in drivers/char BUG_ON() Conversion in drivers/mtd/
2006-03-26drivers/char/ftape/lowlevel/fdc-io.c: Correct a commentBastien Roucaries
This patch correct a comment about cli(). Signed-off-by: Bastien Roucaries <roucaries.bastien@gmail.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-03-26Kconfig help: MTD_JEDECPROBE already supports IntelAdrian Bunk
Intel chips are already supported. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: David Woodhouse <dwmw2@infradead.org>
2006-03-26[PATCH] bitops: hweight() speedupAkinobu Mita
<linux@horizon.com> wrote: This is an extremely well-known technique. You can see a similar version that uses a multiply for the last few steps at http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel whch refers to "Software Optimization Guide for AMD Athlon 64 and Opteron Processors" http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25112.PDF It's section 8.6, "Efficient Implementation of Population-Count Function in 32-bit Mode", pages 179-180. It uses the name that I am more familiar with, "popcount" (population count), although "Hamming weight" also makes sense. Anyway, the proof of correctness proceeds as follows: b = a - ((a >> 1) & 0x55555555); c = (b & 0x33333333) + ((b >> 2) & 0x33333333); d = (c + (c >> 4)) & 0x0f0f0f0f; #if SLOW_MULTIPLY e = d + (d >> 8) f = e + (e >> 16); return f & 63; #else /* Useful if multiply takes at most 4 cycles */ return (d * 0x01010101) >> 24; #endif The input value a can be thought of as 32 1-bit fields each holding their own hamming weight. Now look at it as 16 2-bit fields. Each 2-bit field a1..a0 has the value 2*a1 + a0. This can be converted into the hamming weight of the 2-bit field a1+a0 by subtracting a1. That's what the (a >> 1) & mask subtraction does. Since there can be no borrows, you can just do it all at once. Enumerating the 4 possible cases: 0b00 = 0 -> 0 - 0 = 0 0b01 = 1 -> 1 - 0 = 1 0b10 = 2 -> 2 - 1 = 1 0b11 = 3 -> 3 - 1 = 2 The next step consists of breaking up b (made of 16 2-bir fields) into even and odd halves and adding them into 4-bit fields. Since the largest possible sum is 2+2 = 4, which will not fit into a 4-bit field, the 2-bit ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "which will not fit into a 2-bit field" fields have to be masked before they are added. After this point, the masking can be delayed. Each 4-bit field holds a population count from 0..4, taking at most 3 bits. These numbers can be added without overflowing a 4-bit field, so we can compute c + (c >> 4), and only then mask off the unwanted bits. This produces d, a number of 4 8-bit fields, each in the range 0..8. From this point, we can shift and add d multiple times without overflowing an 8-bit field, and only do a final mask at the end. The number to mask with has to be at least 63 (so that 32 on't be truncated), but can also be 128 or 255. The x86 has a special encoding for signed immediate byte values -128..127, so the value of 255 is slower. On other processors, a special "sign extend byte" instruction might be faster. On a processor with fast integer multiplies (Athlon but not P4), you can reduce the final few serially dependent instructions to a single integer multiply. Consider d to be 3 8-bit values d3, d2, d1 and d0, each in the range 0..8. The multiply forms the partial products: d3 d2 d1 d0 d3 d2 d1 d0 d3 d2 d1 d0 + d3 d2 d1 d0 ---------------------- e3 e2 e1 e0 Where e3 = d3 + d2 + d1 + d0. e2, e1 and e0 obviously cannot generate any carries. Signed-off-by: Akinobu Mita <mita@miraclelinux.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26Remove ugly debugging stuffArtem B. Bityuckiy
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-03-26[PATCH] bitops: hweight() related cleanupAkinobu Mita
By defining generic hweight*() routines - hweight64() will be defined on all architectures - hweight_long() will use architecture optimized hweight32() or hweight64() I found two possible cleanups by these reasons. Signed-off-by: Akinobu Mita <mita@miraclelinux.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26[PATCH] bitops: remove unused generic bitops in include/linux/bitops.hAkinobu Mita
generic_{ffs,fls,fls64,hweight{64,32,16,8}}() were moved into include/asm-generic/bitops.h. So all architectures don't use them. Signed-off-by: Akinobu Mita <mita@miraclelinux.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>