summaryrefslogtreecommitdiffstats
path: root/sys/dev/hfa
diff options
context:
space:
mode:
authormks <mks@FreeBSD.org>1999-05-10 22:53:45 +0000
committermks <mks@FreeBSD.org>1999-05-10 22:53:45 +0000
commitb78daed0c3b7cec89e906487fe7fdb48eef2bab8 (patch)
tree76b31c63dcc344da6b8743097f9661687b758f1d /sys/dev/hfa
parent981e54ef4459cae15ed91dc7b0ff2d44d13dc0ad (diff)
downloadFreeBSD-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.c17
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);
OpenPOWER on IntegriCloud