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

Commit 6a931423 authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by David S. Miller
Browse files

defxx: Disable DEFEA's ESIC I/O decoding on shutdown



Make sure the option card does not respond after shutdown by disabling
it via ESIC's Expansion Board Control register.  Also disable memory and
port I/O decoders, the latter in particular to disable slot-specific I/O
decoding that otherwise remains active even in the board is disabled.

Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fef85fc4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -856,6 +856,12 @@ static void dfx_bus_uninit(struct net_device *dev)
		val = inb(base_addr + PI_ESIC_K_IO_CONFIG_STAT_0);
		val &= ~PI_CONFIG_STAT_0_M_INT_ENB;
		outb(val, base_addr + PI_ESIC_K_IO_CONFIG_STAT_0);

		/* Disable the board.  */
		outb(0, base_addr + PI_ESIC_K_SLOT_CNTRL);

		/* Disable memory and port decoders.  */
		outb(0, base_addr + PI_ESIC_K_FUNCTION_CNTRL);
	}
	if (dfx_bus_pci) {
		/* Disable interrupts at PCI bus interface chip (PFI) */