svn commit: r254306 - in stable/9/sys: dev/aacraid dev/advansys dev/aic7xxx dev/amr dev/an dev/arcmsr dev/asr dev/ata dev/bktr dev/buslogic dev/dpt dev/e1000 dev/fatm dev/firewire dev/fxp dev/hatm ...
Scott Long
scottl at FreeBSD.org
Tue Aug 13 22:05:59 UTC 2013
Author: scottl
Date: Tue Aug 13 22:05:50 2013
New Revision: 254306
URL: http://svnweb.freebsd.org/changeset/base/254306
Log:
Merge r254263:
Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI
command register. The lazy BAR allocation code in FreeBSD sometimes
disables this bit when it detects a range conflict, and will re-enable
it on demand when a driver allocates the BAR. Thus, the bit is no longer
a reliable indication of capability, and should not be checked. This
results in the elimination of a lot of code from drivers, and also gives
the opportunity to simplify a lot of drivers to use a helper API to set
the busmaster enable bit.
This changes fixes some recent reports of disk controllers and their
associated drives/enclosures disappearing during boot.
Candidate for 9.2
Submitted by: jhb
Reviewed by: jfv, marius, adrian, achim
Modified:
stable/9/sys/dev/aacraid/aacraid_pci.c
stable/9/sys/dev/advansys/adw_pci.c
stable/9/sys/dev/aic7xxx/ahc_pci.c
stable/9/sys/dev/aic7xxx/ahd_pci.c
stable/9/sys/dev/amr/amr_pci.c
stable/9/sys/dev/an/if_an_pci.c
stable/9/sys/dev/arcmsr/arcmsr.c
stable/9/sys/dev/asr/asr.c
stable/9/sys/dev/ata/ata-pci.c
stable/9/sys/dev/bktr/bktr_os.c
stable/9/sys/dev/buslogic/bt_pci.c
stable/9/sys/dev/dpt/dpt_pci.c
stable/9/sys/dev/e1000/if_em.c
stable/9/sys/dev/e1000/if_igb.c
stable/9/sys/dev/e1000/if_lem.c
stable/9/sys/dev/fatm/if_fatm.c
stable/9/sys/dev/firewire/fwohci_pci.c
stable/9/sys/dev/fxp/if_fxp.c
stable/9/sys/dev/hatm/if_hatm.c
stable/9/sys/dev/ida/ida_pci.c
stable/9/sys/dev/ips/ips_pci.c
stable/9/sys/dev/isp/isp_pci.c
stable/9/sys/dev/iwn/if_iwn.c
stable/9/sys/dev/ixgb/if_ixgb.c
stable/9/sys/dev/ixgbe/ixv.c
stable/9/sys/dev/mfi/mfi_pci.c
stable/9/sys/dev/mlx/mlx_pci.c
stable/9/sys/dev/mly/mly.c
stable/9/sys/dev/mn/if_mn.c
stable/9/sys/dev/mps/mps_pci.c
stable/9/sys/dev/mpt/mpt_pci.c
stable/9/sys/dev/mwl/if_mwl_pci.c
stable/9/sys/dev/mxge/if_mxge.c
stable/9/sys/dev/pccbb/pccbb_pci.c
stable/9/sys/dev/pst/pst-pci.c
stable/9/sys/dev/rp/rp_pci.c
stable/9/sys/dev/safe/safe.c
stable/9/sys/dev/sound/pci/als4000.c
stable/9/sys/dev/sound/pci/aureal.c
stable/9/sys/dev/sound/pci/cmi.c
stable/9/sys/dev/sound/pci/cs4281.c
stable/9/sys/dev/sound/pci/csa.c
stable/9/sys/dev/sound/pci/ds1.c
stable/9/sys/dev/sound/pci/emu10k1.c
stable/9/sys/dev/sound/pci/emu10kx.c
stable/9/sys/dev/sound/pci/envy24.c
stable/9/sys/dev/sound/pci/envy24ht.c
stable/9/sys/dev/sound/pci/es137x.c
stable/9/sys/dev/sound/pci/fm801.c
stable/9/sys/dev/sound/pci/hdspe.c
stable/9/sys/dev/sound/pci/maestro.c
stable/9/sys/dev/sound/pci/maestro3.c
stable/9/sys/dev/sound/pci/neomagic.c
stable/9/sys/dev/sound/pci/solo.c
stable/9/sys/dev/sound/pci/t4dwave.c
stable/9/sys/dev/sound/pci/via82c686.c
stable/9/sys/dev/sound/pci/vibes.c
stable/9/sys/dev/stge/if_stge.c
stable/9/sys/dev/sym/sym_hipd.c
stable/9/sys/dev/tdfx/tdfx_pci.c
stable/9/sys/dev/twa/tw_osl_freebsd.c
stable/9/sys/dev/tws/tws.c
stable/9/sys/dev/ubsec/ubsec.c
stable/9/sys/dev/wi/if_wi_pci.c
stable/9/sys/pci/ncr.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/dev/ (props changed)
stable/9/sys/dev/e1000/ (props changed)
stable/9/sys/dev/isp/ (props changed)
stable/9/sys/dev/ixgbe/ (props changed)
Modified: stable/9/sys/dev/aacraid/aacraid_pci.c
==============================================================================
--- stable/9/sys/dev/aacraid/aacraid_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/aacraid/aacraid_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -169,18 +169,12 @@ aacraid_pci_attach(device_t dev)
/*
* Verify that the adapter is correctly set up in PCI space.
*/
- command = pci_read_config(sc->aac_dev, PCIR_COMMAND, 2);
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, command, 2);
+ pci_enable_busmaster(dev);
command = pci_read_config(sc->aac_dev, PCIR_COMMAND, 2);
if (!(command & PCIM_CMD_BUSMASTEREN)) {
device_printf(sc->aac_dev, "can't enable bus-master feature\n");
goto out;
}
- if ((command & PCIM_CMD_MEMEN) == 0) {
- device_printf(sc->aac_dev, "memory window not available\n");
- goto out;
- }
/*
* Detect the hardware interface version, set up the bus interface
Modified: stable/9/sys/dev/advansys/adw_pci.c
==============================================================================
--- stable/9/sys/dev/advansys/adw_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/advansys/adw_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -199,14 +199,13 @@ adw_pci_attach(device_t dev)
{
struct adw_softc *adw;
struct adw_pci_identity *entry;
- u_int32_t command;
+ u_int16_t command;
struct resource *regs;
int regs_type;
int regs_id;
int error;
int zero;
- command = pci_read_config(dev, PCIR_COMMAND, /*bytes*/1);
entry = adw_find_pci_device(dev);
if (entry == NULL)
return (ENXIO);
@@ -214,14 +213,11 @@ adw_pci_attach(device_t dev)
regs_type = 0;
regs_id = 0;
#ifdef ADW_ALLOW_MEMIO
- if ((command & PCIM_CMD_MEMEN) != 0) {
- regs_type = SYS_RES_MEMORY;
- regs_id = ADW_PCI_MEMBASE;
- regs = bus_alloc_resource_any(dev, regs_type,
- ®s_id, RF_ACTIVE);
- }
+ regs_type = SYS_RES_MEMORY;
+ regs_id = ADW_PCI_MEMBASE;
+ regs = bus_alloc_resource_any(dev, regs_type, ®s_id, RF_ACTIVE);
#endif
- if (regs == NULL && (command & PCIM_CMD_PORTEN) != 0) {
+ if (regs == NULL) {
regs_type = SYS_RES_IOPORT;
regs_id = ADW_PCI_IOBASE;
regs = bus_alloc_resource_any(dev, regs_type,
@@ -296,6 +292,7 @@ adw_pci_attach(device_t dev)
* 'control_flag' CONTROL_FLAG_IGNORE_PERR flag to tell the microcode
* to ignore DMA parity errors.
*/
+ command = pci_read_config(dev, PCIR_COMMAND, /*bytes*/2);
if ((command & PCIM_CMD_PERRESPEN) == 0)
adw_lram_write_16(adw, ADW_MC_CONTROL_FLAG,
adw_lram_read_16(adw, ADW_MC_CONTROL_FLAG)
Modified: stable/9/sys/dev/aic7xxx/ahc_pci.c
==============================================================================
--- stable/9/sys/dev/aic7xxx/ahc_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/aic7xxx/ahc_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -139,12 +139,10 @@ int
ahc_pci_map_registers(struct ahc_softc *ahc)
{
struct resource *regs;
- u_int command;
int regs_type;
int regs_id;
int allow_memio;
- command = aic_pci_read_config(ahc->dev_softc, PCIR_COMMAND, /*bytes*/1);
regs = NULL;
regs_type = 0;
regs_id = 0;
@@ -166,7 +164,7 @@ ahc_pci_map_registers(struct ahc_softc *
#endif
}
- if ((allow_memio != 0) && (command & PCIM_CMD_MEMEN) != 0) {
+ if (allow_memio != 0) {
regs_type = SYS_RES_MEMORY;
regs_id = AHC_PCI_MEMADDR;
@@ -190,16 +188,11 @@ ahc_pci_map_registers(struct ahc_softc *
bus_release_resource(ahc->dev_softc, regs_type,
regs_id, regs);
regs = NULL;
- } else {
- command &= ~PCIM_CMD_PORTEN;
- aic_pci_write_config(ahc->dev_softc,
- PCIR_COMMAND,
- command, /*bytes*/1);
}
}
}
- if (regs == NULL && (command & PCIM_CMD_PORTEN) != 0) {
+ if (regs == NULL) {
regs_type = SYS_RES_IOPORT;
regs_id = AHC_PCI_IOADDR;
regs = bus_alloc_resource_any(ahc->dev_softc, regs_type,
@@ -217,11 +210,6 @@ ahc_pci_map_registers(struct ahc_softc *
bus_release_resource(ahc->dev_softc, regs_type,
regs_id, regs);
regs = NULL;
- } else {
- command &= ~PCIM_CMD_MEMEN;
- aic_pci_write_config(ahc->dev_softc,
- PCIR_COMMAND,
- command, /*bytes*/1);
}
}
}
Modified: stable/9/sys/dev/aic7xxx/ahd_pci.c
==============================================================================
--- stable/9/sys/dev/aic7xxx/ahd_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/aic7xxx/ahd_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -143,13 +143,11 @@ ahd_pci_map_registers(struct ahd_softc *
{
struct resource *regs;
struct resource *regs2;
- u_int command;
int regs_type;
int regs_id;
int regs_id2;
int allow_memio;
- command = aic_pci_read_config(ahd->dev_softc, PCIR_COMMAND, /*bytes*/1);
regs = NULL;
regs2 = NULL;
regs_type = 0;
@@ -165,8 +163,7 @@ ahd_pci_map_registers(struct ahd_softc *
allow_memio = 1;
}
- if ((command & PCIM_CMD_MEMEN) != 0
- && (ahd->bugs & AHD_PCIX_MMAPIO_BUG) == 0
+ if ((ahd->bugs & AHD_PCIX_MMAPIO_BUG) == 0
&& allow_memio != 0) {
regs_type = SYS_RES_MEMORY;
@@ -199,15 +196,10 @@ ahd_pci_map_registers(struct ahd_softc *
regs_id, regs);
regs = NULL;
AHD_CORRECTABLE_ERROR(ahd);
- } else {
- command &= ~PCIM_CMD_PORTEN;
- aic_pci_write_config(ahd->dev_softc,
- PCIR_COMMAND,
- command, /*bytes*/1);
}
}
}
- if (regs == NULL && (command & PCIM_CMD_PORTEN) != 0) {
+ if (regs == NULL) {
regs_type = SYS_RES_IOPORT;
regs_id = AHD_PCI_IOADDR0;
regs = bus_alloc_resource_any(ahd->dev_softc, regs_type,
@@ -233,9 +225,6 @@ ahd_pci_map_registers(struct ahd_softc *
}
ahd->tags[1] = rman_get_bustag(regs2);
ahd->bshs[1] = rman_get_bushandle(regs2);
- command &= ~PCIM_CMD_MEMEN;
- aic_pci_write_config(ahd->dev_softc, PCIR_COMMAND,
- command, /*bytes*/1);
ahd->platform_data->regs_res_type[1] = regs_type;
ahd->platform_data->regs_res_id[1] = regs_id2;
ahd->platform_data->regs[1] = regs2;
Modified: stable/9/sys/dev/amr/amr_pci.c
==============================================================================
--- stable/9/sys/dev/amr/amr_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/amr/amr_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -184,7 +184,6 @@ amr_pci_attach(device_t dev)
struct amr_softc *sc;
struct amr_ident *id;
int rid, rtype, error;
- u_int32_t command;
debug_called(1);
@@ -204,24 +203,8 @@ amr_pci_attach(device_t dev)
if ((id = amr_find_ident(dev)) == NULL)
return (ENXIO);
- command = pci_read_config(dev, PCIR_COMMAND, 1);
if (id->flags & AMR_ID_QUARTZ) {
- /*
- * Make sure we are going to be able to talk to this board.
- */
- if ((command & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "memory window not available\n");
- return (ENXIO);
- }
sc->amr_type |= AMR_TYPE_QUARTZ;
- } else {
- /*
- * Make sure we are going to be able to talk to this board.
- */
- if ((command & PCIM_CMD_PORTEN) == 0) {
- device_printf(dev, "I/O window not available\n");
- return (ENXIO);
- }
}
if ((amr_force_sg32 == 0) && (id->flags & AMR_ID_DO_SG64) &&
@@ -231,11 +214,7 @@ amr_pci_attach(device_t dev)
}
/* force the busmaster enable bit on */
- if (!(command & PCIM_CMD_BUSMASTEREN)) {
- device_printf(dev, "busmaster bit not set, enabling\n");
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, command, 2);
- }
+ pci_enable_busmaster(dev);
/*
* Allocate the PCI register window.
Modified: stable/9/sys/dev/an/if_an_pci.c
==============================================================================
--- stable/9/sys/dev/an/if_an_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/an/if_an_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -141,7 +141,6 @@ static int
an_attach_pci(dev)
device_t dev;
{
- u_int32_t command;
struct an_softc *sc;
int flags, error = 0;
@@ -153,19 +152,6 @@ an_attach_pci(dev)
sc->mpi350 = 1;
sc->port_rid = PCIR_BAR(0);
} else {
- /*
- * Map control/status registers.
- */
- command = pci_read_config(dev, PCIR_COMMAND, 4);
- command |= PCIM_CMD_PORTEN;
- pci_write_config(dev, PCIR_COMMAND, command, 4);
- command = pci_read_config(dev, PCIR_COMMAND, 4);
-
- if (!(command & PCIM_CMD_PORTEN)) {
- device_printf(dev, "failed to enable I/O ports!\n");
- error = ENXIO;
- goto fail;
- }
sc->port_rid = AN_PCI_LOIO;
}
error = an_alloc_port(dev, sc->port_rid, 1);
Modified: stable/9/sys/dev/arcmsr/arcmsr.c
==============================================================================
--- stable/9/sys/dev/arcmsr/arcmsr.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/arcmsr/arcmsr.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -4102,8 +4102,7 @@ static u_int32_t arcmsr_initialize(devic
pci_command |= PCIM_CMD_BUSMASTEREN;
pci_command |= PCIM_CMD_PERRESPEN;
pci_command |= PCIM_CMD_MWRICEN;
- /* Enable Busmaster/Mem */
- pci_command |= PCIM_CMD_MEMEN;
+ /* Enable Busmaster */
pci_write_config(dev, PCIR_COMMAND, pci_command, 2);
switch(acb->adapter_type) {
case ACB_ADAPTER_TYPE_A: {
Modified: stable/9/sys/dev/asr/asr.c
==============================================================================
--- stable/9/sys/dev/asr/asr.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/asr/asr.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -2428,9 +2428,7 @@ asr_attach(device_t dev)
return(ENXIO);
}
/* Enable if not formerly enabled */
- pci_write_config(dev, PCIR_COMMAND,
- pci_read_config(dev, PCIR_COMMAND, sizeof(char)) |
- PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN, sizeof(char));
+ pci_enable_busmaster(dev);
sc->ha_pciBusNum = pci_get_bus(dev);
sc->ha_pciDeviceNum = (pci_get_slot(dev) << 3) | pci_get_function(dev);
Modified: stable/9/sys/dev/ata/ata-pci.c
==============================================================================
--- stable/9/sys/dev/ata/ata-pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/ata/ata-pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -99,11 +99,8 @@ ata_pci_attach(device_t dev)
ctlr->dev = dev;
/* if needed try to enable busmastering */
+ pci_enable_busmaster(dev);
cmd = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!(cmd & PCIM_CMD_BUSMASTEREN)) {
- pci_write_config(dev, PCIR_COMMAND, cmd | PCIM_CMD_BUSMASTEREN, 2);
- cmd = pci_read_config(dev, PCIR_COMMAND, 2);
- }
/* if busmastering mode "stuck" use it */
if ((cmd & PCIM_CMD_BUSMASTEREN) == PCIM_CMD_BUSMASTEREN) {
Modified: stable/9/sys/dev/bktr/bktr_os.c
==============================================================================
--- stable/9/sys/dev/bktr/bktr_os.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/bktr/bktr_os.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -318,7 +318,6 @@ bktr_attach( device_t dev )
{
u_long latency;
u_long fun;
- u_long val;
unsigned int rev;
unsigned int unit;
int error = 0;
@@ -336,9 +335,7 @@ bktr_attach( device_t dev )
/*
* Enable bus mastering and Memory Mapped device
*/
- val = pci_read_config(dev, PCIR_COMMAND, 4);
- val |= (PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN);
- pci_write_config(dev, PCIR_COMMAND, val, 4);
+ pci_enable_busmaster(dev);
/*
* Map control/status registers.
Modified: stable/9/sys/dev/buslogic/bt_pci.c
==============================================================================
--- stable/9/sys/dev/buslogic/bt_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/buslogic/bt_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -57,24 +57,19 @@ __FBSDID("$FreeBSD$");
static int
bt_pci_alloc_resources(device_t dev)
{
- int command, type = 0, rid, zero;
+ int type = 0, rid, zero;
struct resource *regs = 0;
struct resource *irq = 0;
- command = pci_read_config(dev, PCIR_COMMAND, /*bytes*/1);
#if 0
/* XXX Memory Mapped I/O seems to cause problems */
- if (command & PCIM_CMD_MEMEN) {
- type = SYS_RES_MEMORY;
- rid = BT_PCI_MEMADDR;
- regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE);
- }
+ type = SYS_RES_MEMORY;
+ rid = BT_PCI_MEMADDR;
+ regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE);
#else
- if (!regs && (command & PCIM_CMD_PORTEN)) {
- type = SYS_RES_IOPORT;
- rid = BT_PCI_IOADDR;
- regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE);
- }
+ type = SYS_RES_IOPORT;
+ rid = BT_PCI_IOADDR;
+ regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE);
#endif
if (!regs)
return (ENOMEM);
Modified: stable/9/sys/dev/dpt/dpt_pci.c
==============================================================================
--- stable/9/sys/dev/dpt/dpt_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/dpt/dpt_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -77,23 +77,17 @@ dpt_pci_attach (device_t dev)
dpt_softc_t * dpt;
int error = 0;
- u_int32_t command;
-
dpt = device_get_softc(dev);
dpt->dev = dev;
dpt_alloc(dev);
- command = pci_read_config(dev, PCIR_COMMAND, /*bytes*/1);
-
#ifdef DPT_ALLOW_MMIO
- if ((command & PCIM_CMD_MEMEN) != 0) {
- dpt->io_rid = DPT_PCI_MEMADDR;
- dpt->io_type = SYS_RES_MEMORY;
- dpt->io_res = bus_alloc_resource_any(dev, dpt->io_type,
- &dpt->io_rid, RF_ACTIVE);
- }
+ dpt->io_rid = DPT_PCI_MEMADDR;
+ dpt->io_type = SYS_RES_MEMORY;
+ dpt->io_res = bus_alloc_resource_any(dev, dpt->io_type,
+ &dpt->io_rid, RF_ACTIVE);
#endif
- if (dpt->io_res == NULL && (command & PCIM_CMD_PORTEN) != 0) {
+ if (dpt->io_res == NULL) {
dpt->io_rid = DPT_PCI_IOADDR;
dpt->io_type = SYS_RES_IOPORT;
dpt->io_res = bus_alloc_resource_any(dev, dpt->io_type,
Modified: stable/9/sys/dev/e1000/if_em.c
==============================================================================
--- stable/9/sys/dev/e1000/if_em.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/e1000/if_em.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -2442,16 +2442,8 @@ em_identify_hardware(struct adapter *ada
device_t dev = adapter->dev;
/* Make sure our PCI config space has the necessary stuff set */
+ pci_enable_busmaster(dev);
adapter->hw.bus.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) &&
- (adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN))) {
- device_printf(dev, "Memory Access and/or Bus Master bits "
- "were not set!\n");
- adapter->hw.bus.pci_cmd_word |=
- (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
- pci_write_config(dev, PCIR_COMMAND,
- adapter->hw.bus.pci_cmd_word, 2);
- }
/* Save off the information about this board */
adapter->hw.vendor_id = pci_get_vendor(dev);
Modified: stable/9/sys/dev/e1000/if_igb.c
==============================================================================
--- stable/9/sys/dev/e1000/if_igb.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/e1000/if_igb.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -2410,16 +2410,8 @@ igb_identify_hardware(struct adapter *ad
device_t dev = adapter->dev;
/* Make sure our PCI config space has the necessary stuff set */
+ pci_enable_busmaster(dev);
adapter->hw.bus.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) &&
- (adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN))) {
- INIT_DEBUGOUT("Memory Access and/or Bus Master "
- "bits were not set!\n");
- adapter->hw.bus.pci_cmd_word |=
- (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
- pci_write_config(dev, PCIR_COMMAND,
- adapter->hw.bus.pci_cmd_word, 2);
- }
/* Save off the information about this board */
adapter->hw.vendor_id = pci_get_vendor(dev);
Modified: stable/9/sys/dev/e1000/if_lem.c
==============================================================================
--- stable/9/sys/dev/e1000/if_lem.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/e1000/if_lem.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -2119,16 +2119,8 @@ lem_identify_hardware(struct adapter *ad
device_t dev = adapter->dev;
/* Make sure our PCI config space has the necessary stuff set */
+ pci_enable_busmaster(dev);
adapter->hw.bus.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) &&
- (adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN))) {
- device_printf(dev, "Memory Access and/or Bus Master bits "
- "were not set!\n");
- adapter->hw.bus.pci_cmd_word |=
- (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
- pci_write_config(dev, PCIR_COMMAND,
- adapter->hw.bus.pci_cmd_word, 2);
- }
/* Save off the information about this board */
adapter->hw.vendor_id = pci_get_vendor(dev);
Modified: stable/9/sys/dev/fatm/if_fatm.c
==============================================================================
--- stable/9/sys/dev/fatm/if_fatm.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/fatm/if_fatm.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -2829,21 +2829,13 @@ fatm_attach(device_t dev)
ifp->if_linkmiblen = sizeof(IFP2IFATM(sc->ifp)->mib);
/*
- * Enable memory and bustmaster
+ * Enable busmaster
*/
- cfg = pci_read_config(dev, PCIR_COMMAND, 2);
- cfg |= PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, cfg, 2);
+ pci_enable_busmaster(dev);
/*
* Map memory
*/
- cfg = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!(cfg & PCIM_CMD_MEMEN)) {
- if_printf(ifp, "failed to enable memory mapping\n");
- error = ENXIO;
- goto fail;
- }
sc->memid = 0x10;
sc->memres = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->memid,
RF_ACTIVE);
Modified: stable/9/sys/dev/firewire/fwohci_pci.c
==============================================================================
--- stable/9/sys/dev/firewire/fwohci_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/firewire/fwohci_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -242,7 +242,7 @@ fwohci_pci_init(device_t self)
uint16_t cmd;
cmd = pci_read_config(self, PCIR_COMMAND, 2);
- cmd |= PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN | PCIM_CMD_MWRICEN;
+ cmd |= PCIM_CMD_BUSMASTEREN | PCIM_CMD_MWRICEN;
#if 1 /* for broken hardware */
cmd &= ~PCIM_CMD_MWRICEN;
#endif
Modified: stable/9/sys/dev/fxp/if_fxp.c
==============================================================================
--- stable/9/sys/dev/fxp/if_fxp.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/fxp/if_fxp.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -452,7 +452,6 @@ fxp_attach(device_t dev)
* Enable bus mastering.
*/
pci_enable_busmaster(dev);
- val = pci_read_config(dev, PCIR_COMMAND, 2);
/*
* Figure out which we should try first - memory mapping or i/o mapping?
@@ -610,6 +609,7 @@ fxp_attach(device_t dev)
* is a valid cacheline size (8 or 16 dwords), then tell
* the board to turn on MWI.
*/
+ val = pci_read_config(dev, PCIR_COMMAND, 2);
if (val & PCIM_CMD_MWRICEN &&
pci_read_config(dev, PCIR_CACHELNSZ, 1) != 0)
sc->flags |= FXP_FLAG_MWI_ENABLE;
Modified: stable/9/sys/dev/hatm/if_hatm.c
==============================================================================
--- stable/9/sys/dev/hatm/if_hatm.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/hatm/if_hatm.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -1686,7 +1686,7 @@ hatm_attach(device_t dev)
* 4.2 BIOS Configuration
*/
v = pci_read_config(dev, PCIR_COMMAND, 2);
- v |= PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN | PCIM_CMD_MWRICEN;
+ v |= PCIM_CMD_BUSMASTEREN | PCIM_CMD_MWRICEN;
pci_write_config(dev, PCIR_COMMAND, v, 2);
/*
@@ -1702,12 +1702,6 @@ hatm_attach(device_t dev)
/*
* Map memory
*/
- v = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!(v & PCIM_CMD_MEMEN)) {
- device_printf(dev, "failed to enable memory\n");
- error = ENXIO;
- goto failed;
- }
sc->memid = PCIR_BAR(0);
sc->memres = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->memid,
RF_ACTIVE);
Modified: stable/9/sys/dev/ida/ida_pci.c
==============================================================================
--- stable/9/sys/dev/ida/ida_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/ida/ida_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -236,19 +236,8 @@ ida_pci_attach(device_t dev)
struct ida_board *board = ida_pci_match(dev);
u_int32_t id = pci_get_devid(dev);
struct ida_softc *ida;
- u_int command;
int error, rid;
- command = pci_read_config(dev, PCIR_COMMAND, 1);
-
- /*
- * it appears that this board only does MEMIO access.
- */
- if ((command & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "Only memory mapped I/O is supported\n");
- return (ENXIO);
- }
-
ida = (struct ida_softc *)device_get_softc(dev);
ida->dev = dev;
ida->cmd = *board->accessor;
Modified: stable/9/sys/dev/ips/ips_pci.c
==============================================================================
--- stable/9/sys/dev/ips/ips_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/ips/ips_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -59,7 +59,6 @@ static int ips_pci_probe(device_t dev)
static int ips_pci_attach(device_t dev)
{
- u_int32_t command;
ips_softc_t *sc;
@@ -95,22 +94,18 @@ static int ips_pci_attach(device_t dev)
} else
goto error;
/* make sure busmastering is on */
- command = pci_read_config(dev, PCIR_COMMAND, 1);
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, command, 1);
+ pci_enable_busmaster(dev);
/* seting up io space */
sc->iores = NULL;
- if(command & PCIM_CMD_MEMEN){
- PRINTF(10, "trying MEMIO\n");
- if(pci_get_device(dev) == IPS_COPPERHEAD_DEVICE_ID)
- sc->rid = PCIR_BAR(1);
- else
- sc->rid = PCIR_BAR(0);
- sc->iotype = SYS_RES_MEMORY;
- sc->iores = bus_alloc_resource_any(dev, sc->iotype,
- &sc->rid, RF_ACTIVE);
- }
- if(!sc->iores && command & PCIM_CMD_PORTEN){
+ PRINTF(10, "trying MEMIO\n");
+ if(pci_get_device(dev) == IPS_COPPERHEAD_DEVICE_ID)
+ sc->rid = PCIR_BAR(1);
+ else
+ sc->rid = PCIR_BAR(0);
+ sc->iotype = SYS_RES_MEMORY;
+ sc->iores = bus_alloc_resource_any(dev, sc->iotype, &sc->rid,
+ RF_ACTIVE);
+ if(!sc->iores){
PRINTF(10, "trying PORTIO\n");
sc->rid = PCIR_BAR(0);
sc->iotype = SYS_RES_IOPORT;
Modified: stable/9/sys/dev/isp/isp_pci.c
==============================================================================
--- stable/9/sys/dev/isp/isp_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/isp/isp_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -706,13 +706,10 @@ isp_pci_attach(device_t dev)
pcs->irq = pcs->regs = NULL;
pcs->rgd = pcs->rtp = pcs->iqd = 0;
- cmd = pci_read_config(dev, PCIR_COMMAND, 2);
- if (cmd & m1) {
- pcs->rtp = (m1 == PCIM_CMD_MEMEN)? SYS_RES_MEMORY : SYS_RES_IOPORT;
- pcs->rgd = (m1 == PCIM_CMD_MEMEN)? MEM_MAP_REG : IO_MAP_REG;
- pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, RF_ACTIVE);
- }
- if (pcs->regs == NULL && (cmd & m2)) {
+ pcs->rtp = (m1 == PCIM_CMD_MEMEN)? SYS_RES_MEMORY : SYS_RES_IOPORT;
+ pcs->rgd = (m1 == PCIM_CMD_MEMEN)? MEM_MAP_REG : IO_MAP_REG;
+ pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, RF_ACTIVE);
+ if (pcs->regs == NULL) {
pcs->rtp = (m2 == PCIM_CMD_MEMEN)? SYS_RES_MEMORY : SYS_RES_IOPORT;
pcs->rgd = (m2 == PCIM_CMD_MEMEN)? MEM_MAP_REG : IO_MAP_REG;
pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, RF_ACTIVE);
@@ -891,6 +888,7 @@ isp_pci_attach(device_t dev)
/*
* Make sure that SERR, PERR, WRITE INVALIDATE and BUSMASTER are set.
*/
+ cmd = pci_read_config(dev, PCIR_COMMAND, 2);
cmd |= PCIM_CMD_SEREN | PCIM_CMD_PERRESPEN | PCIM_CMD_BUSMASTEREN | PCIM_CMD_INVEN;
if (IS_2300(isp)) { /* per QLogic errata */
cmd &= ~PCIM_CMD_INVEN;
Modified: stable/9/sys/dev/iwn/if_iwn.c
==============================================================================
--- stable/9/sys/dev/iwn/if_iwn.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/iwn/if_iwn.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -455,12 +455,12 @@ iwn_attach(device_t dev)
pci_write_config(dev, 0x41, 0, 1);
/* Hardware bug workaround. */
- reg = pci_read_config(dev, PCIR_COMMAND, 1);
+ reg = pci_read_config(dev, PCIR_COMMAND, 2);
if (reg & PCIM_CMD_INTxDIS) {
DPRINTF(sc, IWN_DEBUG_RESET, "%s: PCIe INTx Disable set\n",
__func__);
reg &= ~PCIM_CMD_INTxDIS;
- pci_write_config(dev, PCIR_COMMAND, reg, 1);
+ pci_write_config(dev, PCIR_COMMAND, reg, 2);
}
/* Enable bus-mastering. */
Modified: stable/9/sys/dev/ixgb/if_ixgb.c
==============================================================================
--- stable/9/sys/dev/ixgb/if_ixgb.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/ixgb/if_ixgb.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -1209,15 +1209,9 @@ ixgb_identify_hardware(struct adapter *
device_t dev = adapter->dev;
/* Make sure our PCI config space has the necessary stuff set */
+ pci_enable_busmaster(dev);
adapter->hw.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!((adapter->hw.pci_cmd_word & PCIM_CMD_BUSMASTEREN) &&
- (adapter->hw.pci_cmd_word & PCIM_CMD_MEMEN))) {
- device_printf(dev,
- "Memory Access and/or Bus Master bits were not set!\n");
- adapter->hw.pci_cmd_word |=
- (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
- pci_write_config(dev, PCIR_COMMAND, adapter->hw.pci_cmd_word, 2);
- }
+
/* Save off the information about this board */
adapter->hw.vendor_id = pci_get_vendor(dev);
adapter->hw.device_id = pci_get_device(dev);
Modified: stable/9/sys/dev/ixgbe/ixv.c
==============================================================================
--- stable/9/sys/dev/ixgbe/ixv.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/ixgbe/ixv.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -1561,14 +1561,8 @@ ixv_identify_hardware(struct adapter *ad
** Make sure BUSMASTER is set, on a VM under
** KVM it may not be and will break things.
*/
+ pci_enable_busmaster(dev);
pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2);
- if (!((pci_cmd_word & PCIM_CMD_BUSMASTEREN) &&
- (pci_cmd_word & PCIM_CMD_MEMEN))) {
- INIT_DEBUGOUT("Memory Access and/or Bus Master "
- "bits were not set!\n");
- pci_cmd_word |= (PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN);
- pci_write_config(dev, PCIR_COMMAND, pci_cmd_word, 2);
- }
/* Save off the information about this board */
adapter->hw.vendor_id = pci_get_vendor(dev);
Modified: stable/9/sys/dev/mfi/mfi_pci.c
==============================================================================
--- stable/9/sys/dev/mfi/mfi_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mfi/mfi_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -187,7 +187,6 @@ mfi_pci_attach(device_t dev)
{
struct mfi_softc *sc;
struct mfi_ident *m;
- uint32_t command;
int count, error;
sc = device_get_softc(dev);
@@ -196,19 +195,8 @@ mfi_pci_attach(device_t dev)
m = mfi_find_ident(dev);
sc->mfi_flags = m->flags;
- /* Verify that the adapter can be set up in PCI space */
- command = pci_read_config(dev, PCIR_COMMAND, 2);
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, command, 2);
- command = pci_read_config(dev, PCIR_COMMAND, 2);
- if ((command & PCIM_CMD_BUSMASTEREN) == 0) {
- device_printf(dev, "Can't enable PCI busmaster\n");
- return (ENXIO);
- }
- if ((command & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "PCI memory window not available\n");
- return (ENXIO);
- }
+ /* Ensure busmastering is enabled */
+ pci_enable_busmaster(dev);
/* Allocate PCI registers */
if ((sc->mfi_flags & MFI_FLAGS_1064R) ||
Modified: stable/9/sys/dev/mlx/mlx_pci.c
==============================================================================
--- stable/9/sys/dev/mlx/mlx_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mlx/mlx_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -113,21 +113,11 @@ mlx_pci_attach(device_t dev)
{
struct mlx_softc *sc;
int i, error;
- u_int32_t command;
debug_called(1);
- /*
- * Make sure we are going to be able to talk to this board.
- */
- command = pci_read_config(dev, PCIR_COMMAND, 2);
- if ((command & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "memory window not available\n");
- return(ENXIO);
- }
/* force the busmaster enable bit on */
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, command, 2);
+ pci_enable_busmaster(dev);
/*
* Initialise softc.
Modified: stable/9/sys/dev/mly/mly.c
==============================================================================
--- stable/9/sys/dev/mly/mly.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mly/mly.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -333,7 +333,6 @@ static int
mly_pci_attach(struct mly_softc *sc)
{
int i, error;
- u_int32_t command;
debug_called(1);
@@ -342,21 +341,8 @@ mly_pci_attach(struct mly_softc *sc)
/*
* Verify that the adapter is correctly set up in PCI space.
- *
- * XXX we shouldn't do this; the PCI code should.
*/
- command = pci_read_config(sc->mly_dev, PCIR_COMMAND, 2);
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(sc->mly_dev, PCIR_COMMAND, command, 2);
- command = pci_read_config(sc->mly_dev, PCIR_COMMAND, 2);
- if (!(command & PCIM_CMD_BUSMASTEREN)) {
- mly_printf(sc, "can't enable busmaster feature\n");
- goto fail;
- }
- if ((command & PCIM_CMD_MEMEN) == 0) {
- mly_printf(sc, "memory window not available\n");
- goto fail;
- }
+ pci_enable_busmaster(sc->mly_dev);
/*
* Allocate the PCI register window.
Modified: stable/9/sys/dev/mn/if_mn.c
==============================================================================
--- stable/9/sys/dev/mn/if_mn.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mn/if_mn.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -1364,9 +1364,9 @@ mn_attach (device_t self)
return(ENXIO);
}
- u = pci_read_config(self, PCIR_COMMAND, 1);
+ u = pci_read_config(self, PCIR_COMMAND, 2);
printf("%x\n", u);
- pci_write_config(self, PCIR_COMMAND, u | PCIM_CMD_PERRESPEN | PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN, 1);
+ pci_write_config(self, PCIR_COMMAND, u | PCIM_CMD_PERRESPEN | PCIM_CMD_BUSMASTEREN, 2);
#if 0
pci_write_config(self, PCIR_COMMAND, 0x02800046, 4);
#endif
Modified: stable/9/sys/dev/mps/mps_pci.c
==============================================================================
--- stable/9/sys/dev/mps/mps_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mps/mps_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -183,7 +183,6 @@ mps_pci_attach(device_t dev)
{
struct mps_softc *sc;
struct mps_ident *m;
- uint16_t command;
int error;
sc = device_get_softc(dev);
@@ -193,18 +192,7 @@ mps_pci_attach(device_t dev)
sc->mps_flags = m->flags;
/* Twiddle basic PCI config bits for a sanity check */
- command = pci_read_config(dev, PCIR_COMMAND, 2);
- command |= PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, command, 2);
- command = pci_read_config(dev, PCIR_COMMAND, 2);
- if ((command & PCIM_CMD_BUSMASTEREN) == 0) {
- device_printf(dev, "Cannot enable PCI busmaster\n");
- return (ENXIO);
- }
- if ((command & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "PCI memory window not available\n");
- return (ENXIO);
- }
+ pci_enable_busmaster(dev);
/* Allocate the System Interface Register Set */
sc->mps_regs_rid = PCIR_BAR(1);
Modified: stable/9/sys/dev/mpt/mpt_pci.c
==============================================================================
--- stable/9/sys/dev/mpt/mpt_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mpt/mpt_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -394,16 +394,11 @@ mpt_pci_attach(device_t dev)
/* Print INFO level (if any) if bootverbose is set */
mpt->verbose += (bootverbose != 0)? 1 : 0;
}
- /* Make sure memory access decoders are enabled */
- cmd = pci_read_config(dev, PCIR_COMMAND, 2);
- if ((cmd & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "Memory accesses disabled");
- return (ENXIO);
- }
/*
* Make sure that SERR, PERR, WRITE INVALIDATE and BUSMASTER are set.
*/
+ cmd = pci_read_config(dev, PCIR_COMMAND, 2);
cmd |=
PCIM_CMD_SERRESPEN | PCIM_CMD_PERRESPEN |
PCIM_CMD_BUSMASTEREN | PCIM_CMD_MWRICEN;
Modified: stable/9/sys/dev/mwl/if_mwl_pci.c
==============================================================================
--- stable/9/sys/dev/mwl/if_mwl_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mwl/if_mwl_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -120,29 +120,6 @@ mwl_pci_probe(device_t dev)
return ENXIO;
}
-static u_int32_t
-mwl_pci_setup(device_t dev)
-{
- u_int32_t cmd;
-
- /*
- * Enable memory mapping and bus mastering.
- */
- cmd = pci_read_config(dev, PCIR_COMMAND, 4);
- cmd |= PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, cmd, 4);
- cmd = pci_read_config(dev, PCIR_COMMAND, 4);
- if ((cmd & PCIM_CMD_MEMEN) == 0) {
- device_printf(dev, "failed to enable memory mapping\n");
- return 0;
- }
- if ((cmd & PCIM_CMD_BUSMASTEREN) == 0) {
- device_printf(dev, "failed to enable bus mastering\n");
- return 0;
- }
- return 1;
-}
-
static int
mwl_pci_attach(device_t dev)
{
@@ -152,11 +129,8 @@ mwl_pci_attach(device_t dev)
sc->sc_dev = dev;
- /*
- * Enable memory mapping and bus mastering.
- */
- if (!mwl_pci_setup(dev))
- return 0;
+ pci_enable_busmaster(dev);
+
/*
* Setup memory-mapping of PCI registers.
*/
@@ -285,8 +259,7 @@ mwl_pci_resume(device_t dev)
{
struct mwl_pci_softc *psc = device_get_softc(dev);
- if (!mwl_pci_setup(dev))
- return ENXIO;
+ pci_enable_busmaster(dev);
mwl_resume(&psc->sc_sc);
Modified: stable/9/sys/dev/mxge/if_mxge.c
==============================================================================
--- stable/9/sys/dev/mxge/if_mxge.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/mxge/if_mxge.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -3826,7 +3826,7 @@ mxge_setup_cfg_space(mxge_softc_t *sc)
{
device_t dev = sc->dev;
int reg;
- uint16_t cmd, lnk, pectl;
+ uint16_t lnk, pectl;
/* find the PCIe link width and set max read request to 4KB*/
if (pci_find_cap(dev, PCIY_EXPRESS, ®) == 0) {
@@ -3846,9 +3846,6 @@ mxge_setup_cfg_space(mxge_softc_t *sc)
/* Enable DMA and Memory space access */
pci_enable_busmaster(dev);
- cmd = pci_read_config(dev, PCIR_COMMAND, 2);
- cmd |= PCIM_CMD_MEMEN;
- pci_write_config(dev, PCIR_COMMAND, cmd, 2);
}
static uint32_t
Modified: stable/9/sys/dev/pccbb/pccbb_pci.c
==============================================================================
--- stable/9/sys/dev/pccbb/pccbb_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/pccbb/pccbb_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -471,10 +471,7 @@ cbb_chipinit(struct cbb_softc *sc)
pci_write_config(sc->dev, PCIR_SUBBUS_2, sc->subbus, 1);
/* Enable memory access */
- PCI_MASK_CONFIG(sc->dev, PCIR_COMMAND,
- | PCIM_CMD_MEMEN
- | PCIM_CMD_PORTEN
- | PCIM_CMD_BUSMASTEREN, 2);
+ pci_enable_busmaster(sc->dev);
/* disable Legacy IO */
switch (sc->chipset) {
Modified: stable/9/sys/dev/pst/pst-pci.c
==============================================================================
--- stable/9/sys/dev/pst/pst-pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/pst/pst-pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -88,9 +88,7 @@ iop_pci_attach(device_t dev)
RF_SHAREABLE | RF_ACTIVE);
/* now setup the infrastructure to talk to the device */
- pci_write_config(dev, PCIR_COMMAND,
- pci_read_config(dev, PCIR_COMMAND, 1) |
- PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN, 1);
+ pci_enable_busmaster(dev);
sc->ibase = rman_get_virtual(sc->r_mem);
sc->reg = (struct i2o_registers *)sc->ibase;
Modified: stable/9/sys/dev/rp/rp_pci.c
==============================================================================
--- stable/9/sys/dev/rp/rp_pci.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/rp/rp_pci.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -151,7 +151,6 @@ rp_pciattach(device_t dev)
CONTROLLER_t *ctlp;
int unit;
int retval;
- u_int32_t stcmd;
ctlp = device_get_softc(dev);
bzero(ctlp, sizeof(*ctlp));
@@ -161,13 +160,6 @@ rp_pciattach(device_t dev)
ctlp->aiop2off = rp_pci_aiop2off;
ctlp->ctlmask = rp_pci_ctlmask;
- /* Wake up the device. */
- stcmd = pci_read_config(dev, PCIR_COMMAND, 4);
- if ((stcmd & PCIM_CMD_PORTEN) == 0) {
- stcmd |= (PCIM_CMD_PORTEN);
- pci_write_config(dev, PCIR_COMMAND, 4, stcmd);
- }
-
/* The IO ports of AIOPs for a PCI controller are continuous. */
ctlp->io_num = 1;
ctlp->io_rid = malloc(sizeof(*(ctlp->io_rid)) * ctlp->io_num, M_DEVBUF, M_NOWAIT | M_ZERO);
Modified: stable/9/sys/dev/safe/safe.c
==============================================================================
--- stable/9/sys/dev/safe/safe.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/safe/safe.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -220,28 +220,15 @@ safe_attach(device_t dev)
{
struct safe_softc *sc = device_get_softc(dev);
u_int32_t raddr;
- u_int32_t cmd, i, devinfo;
+ u_int32_t i, devinfo;
int rid;
bzero(sc, sizeof (*sc));
sc->sc_dev = dev;
/* XXX handle power management */
-
- cmd = pci_read_config(dev, PCIR_COMMAND, 4);
- cmd |= PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN;
- pci_write_config(dev, PCIR_COMMAND, cmd, 4);
- cmd = pci_read_config(dev, PCIR_COMMAND, 4);
- if (!(cmd & PCIM_CMD_MEMEN)) {
- device_printf(dev, "failed to enable memory mapping\n");
- goto bad;
- }
-
- if (!(cmd & PCIM_CMD_BUSMASTEREN)) {
- device_printf(dev, "failed to enable bus mastering\n");
- goto bad;
- }
+ pci_enable_busmaster(dev);
/*
* Setup memory-mapping of PCI registers.
Modified: stable/9/sys/dev/sound/pci/als4000.c
==============================================================================
--- stable/9/sys/dev/sound/pci/als4000.c Tue Aug 13 22:05:10 2013 (r254305)
+++ stable/9/sys/dev/sound/pci/als4000.c Tue Aug 13 22:05:50 2013 (r254306)
@@ -806,16 +806,13 @@ static int
als_pci_attach(device_t dev)
{
struct sc_info *sc;
- u_int32_t data;
char status[SND_STATUSLEN];
sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
sc->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_als4000 softc");
sc->dev = dev;
- data = pci_read_config(dev, PCIR_COMMAND, 2);
- data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN);
- pci_write_config(dev, PCIR_COMMAND, data, 2);
+ pci_enable_busmaster(dev);
/*
* By default the power to the various components on the
* ALS4000 is entirely controlled by the pci powerstate. We
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-stable-9
mailing list