diff options
Diffstat (limited to 'drivers/net/wireless/bcm43xx/bcm43xx_ilt.c')
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_ilt.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_ilt.c b/drivers/net/wireless/bcm43xx/bcm43xx_ilt.c index ad8e569d1faf..f2b8dbac55a4 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_ilt.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_ilt.c | |||
@@ -325,6 +325,21 @@ void bcm43xx_ilt_write(struct bcm43xx_private *bcm, u16 offset, u16 val) | |||
325 | } | 325 | } |
326 | } | 326 | } |
327 | 327 | ||
328 | void bcm43xx_ilt_write32(struct bcm43xx_private *bcm, u16 offset, u32 val) | ||
329 | { | ||
330 | if (bcm43xx_current_phy(bcm)->type == BCM43xx_PHYTYPE_A) { | ||
331 | bcm43xx_phy_write(bcm, BCM43xx_PHY_ILT_A_CTRL, offset); | ||
332 | mmiowb(); | ||
333 | bcm43xx_phy_write(bcm, BCM43xx_PHY_ILT_A_DATA2, (val & 0xFFFF0000) >> 16); | ||
334 | bcm43xx_phy_write(bcm, BCM43xx_PHY_ILT_A_DATA1, val & 0x0000FFFF); | ||
335 | } else { | ||
336 | bcm43xx_phy_write(bcm, BCM43xx_PHY_ILT_G_CTRL, offset); | ||
337 | mmiowb(); | ||
338 | bcm43xx_phy_write(bcm, BCM43xx_PHY_ILT_G_DATA2, (val & 0xFFFF0000) >> 16); | ||
339 | bcm43xx_phy_write(bcm, BCM43xx_PHY_ILT_G_DATA1, val & 0x0000FFFF); | ||
340 | } | ||
341 | } | ||
342 | |||
328 | u16 bcm43xx_ilt_read(struct bcm43xx_private *bcm, u16 offset) | 343 | u16 bcm43xx_ilt_read(struct bcm43xx_private *bcm, u16 offset) |
329 | { | 344 | { |
330 | if (bcm43xx_current_phy(bcm)->type == BCM43xx_PHYTYPE_A) { | 345 | if (bcm43xx_current_phy(bcm)->type == BCM43xx_PHYTYPE_A) { |