Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eee40820 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

b43legacy: drop invalid IMCFGLO workaround



We were performing it on wrong core, it was outdated and is already
implemented in ssb.

Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
Tested-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent fc2b1e0c
Loading
Loading
Loading
Loading
+0 −32
Original line number Original line Diff line number Diff line
@@ -3104,37 +3104,6 @@ static void setup_struct_wldev_for_init(struct b43legacy_wldev *dev)
	memset(&dev->noisecalc, 0, sizeof(dev->noisecalc));
	memset(&dev->noisecalc, 0, sizeof(dev->noisecalc));
}
}


static void b43legacy_imcfglo_timeouts_workaround(struct b43legacy_wldev *dev)
{
#ifdef CONFIG_SSB_DRIVER_PCICORE
	struct ssb_bus *bus = dev->dev->bus;
	u32 tmp;

	if (bus->pcicore.dev &&
	    bus->pcicore.dev->id.coreid == SSB_DEV_PCI &&
	    bus->pcicore.dev->id.revision <= 5) {
		/* IMCFGLO timeouts workaround. */
		tmp = ssb_read32(dev->dev, SSB_IMCFGLO);
		switch (bus->bustype) {
		case SSB_BUSTYPE_PCI:
		case SSB_BUSTYPE_PCMCIA:
			tmp &= ~SSB_IMCFGLO_REQTO;
			tmp &= ~SSB_IMCFGLO_SERTO;
			tmp |= 0x32;
			break;
		case SSB_BUSTYPE_SSB:
			tmp &= ~SSB_IMCFGLO_REQTO;
			tmp &= ~SSB_IMCFGLO_SERTO;
			tmp |= 0x53;
			break;
		default:
			break;
		}
		ssb_write32(dev->dev, SSB_IMCFGLO, tmp);
	}
#endif /* CONFIG_SSB_DRIVER_PCICORE */
}

static void b43legacy_set_synth_pu_delay(struct b43legacy_wldev *dev,
static void b43legacy_set_synth_pu_delay(struct b43legacy_wldev *dev,
					  bool idle) {
					  bool idle) {
	u16 pu_delay = 1050;
	u16 pu_delay = 1050;
@@ -3278,7 +3247,6 @@ static int b43legacy_wireless_core_init(struct b43legacy_wldev *dev)
	/* Enable IRQ routing to this device. */
	/* Enable IRQ routing to this device. */
	ssb_pcicore_dev_irqvecs_enable(&bus->pcicore, dev->dev);
	ssb_pcicore_dev_irqvecs_enable(&bus->pcicore, dev->dev);


	b43legacy_imcfglo_timeouts_workaround(dev);
	prepare_phy_data_for_init(dev);
	prepare_phy_data_for_init(dev);
	b43legacy_phy_calibrate(dev);
	b43legacy_phy_calibrate(dev);
	err = b43legacy_chip_init(dev);
	err = b43legacy_chip_init(dev);