Changeset 26735


Ignore:
Timestamp:
2011-04-19T23:43:19+02:00 (6 years ago)
Author:
hauke
Message:

mac80211: b43: Expose PIO mode fallback

Allow reenabling the PIO mode fallback for b43.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@…>

Location:
trunk/package/mac80211
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/Makefile

    r26734 r26735  
    3535        CONFIG_PACKAGE_ATH_DEBUG \ 
    3636        CONFIG_PACKAGE_B43_DEBUG \ 
     37        CONFIG_PACKAGE_B43_PIO \ 
    3738        CONFIG_ATH_USER_REGD \ 
    3839 
     
    11191120                  If unsure, say N. 
    11201121 
     1122        config PACKAGE_B43_PIO 
     1123                bool "Enable support for PIO transfer mode" 
     1124                default n 
     1125                help 
     1126                  Enable support for using PIO instead of DMA. Unless you have DMA 
     1127                  transfer problems you don't need this. 
     1128 
     1129                  If unsure, say N. 
     1130 
    11211131        endmenu 
    11221132endef 
     
    11801190        $(if $(CONFIG_ATH_USER_REGD),-DATH_USER_REGD=1) \ 
    11811191        $(if $(CONFIG_PACKAGE_B43_DEBUG),-DCONFIG_B43_DEBUG) \ 
     1192        $(if $(CONFIG_PACKAGE_B43_PIO),-DCONFIG_B43_PIO) \ 
    11821193        $(if $(CONFIG_PACKAGE_RT2X00_LIB_DEBUGFS),-DCONFIG_RT2X00_LIB_DEBUGFS) \ 
    11831194        $(if $(CONFIG_PACKAGE_RT2X00_DEBUG),-DCONFIG_RT2X00_DEBUG) \ 
     
    12121223        CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \ 
    12131224        CONFIG_B43_DEBUG=$(if $(CONFIG_PACKAGE_B43_DEBUG),y) \ 
     1225        CONFIG_B43_PIO=$(if $(CONFIG_PACKAGE_B43_PIO),y) \ 
    12141226        CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \ 
    12151227        CONFIG_ATH_DEBUG=$(if $(CONFIG_PACKAGE_ATH_DEBUG),y) \ 
  • trunk/package/mac80211/patches/810-b43_no_pio.patch

    r24655 r26735  
    66 b43-y                          += dma.o 
    77-b43-y                          += pio.o 
    8 +# b43-y                                += pio.o 
     8+b43-$(CONFIG_B43_PIO)          += pio.o 
    99 b43-y                          += rfkill.o 
    1010 b43-$(CONFIG_B43_LEDS)         += leds.o 
     
    1616                        b43err(dev->wl, "This device does not support DMA " 
    1717                               "on your system. It will now be switched to PIO.\n"); 
    18 +#if 0 
     18+#ifdef CONFIG_B43_PIO 
    1919                        /* Fall back to PIO transfers if we get fatal DMA errors! */ 
    2020                        dev->use_pio = 1; 
     
    2626--- a/drivers/net/wireless/b43/pio.h 
    2727+++ b/drivers/net/wireless/b43/pio.h 
    28 @@ -151,15 +151,34 @@ static inline void b43_piorx_write32(str 
     28@@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str 
     29        b43_write32(q->dev, q->mmio_base + offset, value); 
    2930 } 
    3031  
     32- 
     33+#ifdef CONFIG_B43_PIO 
     34 int b43_pio_init(struct b43_wldev *dev); 
     35 void b43_pio_free(struct b43_wldev *dev); 
    3136  
    32 -int b43_pio_init(struct b43_wldev *dev); 
    33 -void b43_pio_free(struct b43_wldev *dev); 
     37@@ -161,5 +161,37 @@ void b43_pio_rx(struct b43_pio_rxqueue * 
     38  
     39 void b43_pio_tx_suspend(struct b43_wldev *dev); 
     40 void b43_pio_tx_resume(struct b43_wldev *dev); 
     41+#else 
    3442+static inline int b43_pio_init(struct b43_wldev *dev) 
    3543+{ 
     
    4553+       return 0; 
    4654+} 
    47   
    48 -int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb); 
    49 -void b43_pio_handle_txstatus(struct b43_wldev *dev, 
    50 -                            const struct b43_txstatus *status); 
    51 -void b43_pio_rx(struct b43_pio_rxqueue *q); 
     55+ 
    5256+static inline void b43_pio_handle_txstatus(struct b43_wldev *dev, 
    5357+                                          const struct b43_txstatus *status) 
     
    5862+{ 
    5963+} 
    60   
    61 -void b43_pio_tx_suspend(struct b43_wldev *dev); 
    62 -void b43_pio_tx_resume(struct b43_wldev *dev); 
     64+ 
    6365+static inline void b43_pio_tx_suspend(struct b43_wldev *dev) 
    6466+{ 
    6567+} 
     68+ 
    6669+static inline void b43_pio_tx_resume(struct b43_wldev *dev) 
    6770+{ 
    6871+} 
     72+#endif /* CONFIG_B43_PIO */ 
    6973  
    7074 #endif /* B43_PIO_H_ */ 
Note: See TracChangeset for help on using the changeset viewer.