b43: flush some writes on Broadcom MIPS SoCs
Access to PHY and radio registers is indirect on Broadcom hardware and it seems that addressing on some MIPS SoCs may require flushing. So far this problem was noticed on 0x4716 SoC only (marketing names: BCM4717, BCM4718). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
这个提交包含在:
@@ -22,6 +22,10 @@
|
||||
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_BCM47XX_BCMA
|
||||
#include <asm/mach-bcm47xx/bcm47xx.h>
|
||||
#endif
|
||||
|
||||
#include "b43.h"
|
||||
#include "bus.h"
|
||||
|
||||
@@ -102,6 +106,12 @@ struct b43_bus_dev *b43_bus_dev_bcma_init(struct bcma_device *core)
|
||||
dev->write32 = b43_bus_bcma_write32;
|
||||
dev->block_read = b43_bus_bcma_block_read;
|
||||
dev->block_write = b43_bus_bcma_block_write;
|
||||
#ifdef CONFIG_BCM47XX_BCMA
|
||||
if (b43_bus_host_is_pci(dev) &&
|
||||
bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA &&
|
||||
bcm47xx_bus.bcma.bus.chipinfo.id == BCMA_CHIP_ID_BCM4716)
|
||||
dev->flush_writes = true;
|
||||
#endif
|
||||
|
||||
dev->dev = &core->dev;
|
||||
dev->dma_dev = core->dma_dev;
|
||||
|
在新工单中引用
屏蔽一个用户