Skip to content

Commit

Permalink
b43: LCN-PHY: rewrite 0x7 table at the end of init
Browse files Browse the repository at this point in the history
This is not implemented in brcmsmac, but was noticed in (newer) wl. Can
be workaround for some hardware bug.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Rafał Miłecki authored and John W. Linville committed Sep 13, 2011
1 parent b35e6d9 commit 095be64
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/net/wireless/b43/tables_phy_lcn.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,17 @@ static void b43_phy_lcn_upload_static_tables(struct b43_wldev *dev)
lcntab_upload(dev, B43_LCNTAB32(0x18, 0), b43_lcntab_0x18);
}

/* Not implemented in brcmsmac, noticed in wl in MMIO dump */
static void b43_phy_lcn_rewrite_tables(struct b43_wldev *dev)
{
int i;
u32 tmp;
for (i = 0; i < 128; i++) {
tmp = b43_lcntab_read(dev, B43_LCNTAB32(0x7, 0x240 + i));
b43_lcntab_write(dev, B43_LCNTAB32(0x7, 0x240 + i), tmp);
}
}

static void b43_phy_lcn_clean_0x18_table(struct b43_wldev *dev)
{
u8 i;
Expand All @@ -475,5 +486,6 @@ void b43_phy_lcn_tables_init(struct b43_wldev *dev)
{
b43_phy_lcn_upload_static_tables(dev);
/* TODO: various tables ops here */
b43_phy_lcn_rewrite_tables(dev);
b43_phy_lcn_clean_0x18_table(dev);
}

0 comments on commit 095be64

Please sign in to comment.