diff options
author | mks <mks@FreeBSD.org> | 1999-05-10 22:53:45 +0000 |
---|---|---|
committer | mks <mks@FreeBSD.org> | 1999-05-10 22:53:45 +0000 |
commit | b78daed0c3b7cec89e906487fe7fdb48eef2bab8 (patch) | |
tree | 76b31c63dcc344da6b8743097f9661687b758f1d /sys/dev/hfa | |
parent | 981e54ef4459cae15ed91dc7b0ff2d44d13dc0ad (diff) | |
download | FreeBSD-src-b78daed0c3b7cec89e906487fe7fdb48eef2bab8.zip FreeBSD-src-b78daed0c3b7cec89e906487fe7fdb48eef2bab8.tar.gz |
Enable PCI bus master during attach in case the BIOS hasn't done it for us.
Diffstat (limited to 'sys/dev/hfa')
-rw-r--r-- | sys/dev/hfa/fore_load.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/sys/dev/hfa/fore_load.c b/sys/dev/hfa/fore_load.c index 10a35bc..a6cbe10 100644 --- a/sys/dev/hfa/fore_load.c +++ b/sys/dev/hfa/fore_load.c @@ -23,7 +23,7 @@ * Copies of this Software may be made, however, the above copyright * notice must be reproduced on all copies. * - * @(#) $Id: fore_load.c,v 1.6 1999/04/24 20:17:05 peter Exp $ + * @(#) $Id: fore_load.c,v 1.7 1999/05/09 17:07:30 peter Exp $ * */ @@ -38,7 +38,7 @@ #include <dev/hfa/fore_include.h> #ifndef lint -__RCSID("@(#) $Id: fore_load.c,v 1.6 1999/04/24 20:17:05 peter Exp $"); +__RCSID("@(#) $Id: fore_load.c,v 1.7 1999/05/09 17:07:30 peter Exp $"); #endif @@ -949,8 +949,21 @@ fore_pci_attach(config_id, unit) } /* + * Enable Memory Mapping / Bus Mastering + */ + val = pci_conf_read(config_id, PCI_COMMAND_STATUS_REG); + val |= (PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); + pci_conf_write(config_id, PCI_COMMAND_STATUS_REG, val); + + /* * Map RAM */ + val = pci_conf_read(config_id, PCI_COMMAND_STATUS_REG); + if ((val & PCIM_CMD_MEMEN) == 0) { + log(LOG_ERR, "%s%d: memory mapping not enabled\n", + FORE_DEV_NAME, unit); + goto failed; + } if ((pci_map_mem(config_id, PCA200E_PCI_MEMBASE, &va, &pa)) == 0) { log(LOG_ERR, "%s%d: unable to map memory\n", FORE_DEV_NAME, unit); |