b43: N-PHY: reorder and optimize tables initialization
authorRafał Miłecki <zajec5@gmail.com>
Tue, 7 Dec 2010 08:42:05 +0000 (09:42 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 8 Dec 2010 20:38:44 +0000 (15:38 -0500)
Order was changed in specs. For writing arrays we have designed bulk function
which makes use of auto increment and do not write table address over and over.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/tables_nphy.c

index 46f0a7a7752987b789e066925f8d914b9a0ac620..df61c1610e39e9212f18f97ed97851fcce8d1913 100644 (file)
@@ -1811,9 +1811,7 @@ void b43_ntab_write_bulk(struct b43_wldev *dev, u32 offset,
 }
 
 #define ntab_upload(dev, offset, data) do { \
-               unsigned int i;                                         \
-               for (i = 0; i < (offset##_SIZE); i++)                   \
-                       b43_ntab_write(dev, (offset) + i, (data)[i]);   \
+               b43_ntab_write_bulk(dev, offset, offset##_SIZE, data);  \
        } while (0)
 
 void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev)
@@ -1825,18 +1823,18 @@ void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev)
        ntab_upload(dev, B43_NTAB_TDTRN, b43_ntab_tdtrn);
        ntab_upload(dev, B43_NTAB_INTLEVEL, b43_ntab_intlevel);
        ntab_upload(dev, B43_NTAB_PILOT, b43_ntab_pilot);
-       ntab_upload(dev, B43_NTAB_PILOTLT, b43_ntab_pilotlt);
        ntab_upload(dev, B43_NTAB_TDI20A0, b43_ntab_tdi20a0);
        ntab_upload(dev, B43_NTAB_TDI20A1, b43_ntab_tdi20a1);
        ntab_upload(dev, B43_NTAB_TDI40A0, b43_ntab_tdi40a0);
        ntab_upload(dev, B43_NTAB_TDI40A1, b43_ntab_tdi40a1);
-       ntab_upload(dev, B43_NTAB_BDI, b43_ntab_bdi);
        ntab_upload(dev, B43_NTAB_CHANEST, b43_ntab_channelest);
        ntab_upload(dev, B43_NTAB_MCS, b43_ntab_mcs);
-
-       /* Volatile tables */
        ntab_upload(dev, B43_NTAB_NOISEVAR10, b43_ntab_noisevar10);
        ntab_upload(dev, B43_NTAB_NOISEVAR11, b43_ntab_noisevar11);
+
+       /* Volatile tables */
+       ntab_upload(dev, B43_NTAB_BDI, b43_ntab_bdi);
+       ntab_upload(dev, B43_NTAB_PILOTLT, b43_ntab_pilotlt);
        ntab_upload(dev, B43_NTAB_C0_ESTPLT, b43_ntab_estimatepowerlt0);
        ntab_upload(dev, B43_NTAB_C1_ESTPLT, b43_ntab_estimatepowerlt1);
        ntab_upload(dev, B43_NTAB_C0_ADJPLT, b43_ntab_adjustpower0);