summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroger <roger@FreeBSD.org>2000-04-15 07:46:19 +0000
committerroger <roger@FreeBSD.org>2000-04-15 07:46:19 +0000
commit5e5d9a77fb5f7704504320e442e97c7eecfe4311 (patch)
treef9802f7930ae0a6ba12aa9246cc6776992d4064a
parentaaaef0b54e307450b19dcd1fb6ec921cc62d1acf (diff)
downloadFreeBSD-src-5e5d9a77fb5f7704504320e442e97c7eecfe4311.zip
FreeBSD-src-5e5d9a77fb5f7704504320e442e97c7eecfe4311.tar.gz
Update to driver 2.11.
Driver now compiles on FreeBSD/Alpha, but still requires testing. Remove a printf, submitted by Chris D. Faulhaber <jedgar@fxp.org>
-rwxr-xr-xsys/dev/bktr/CHANGELOG.TXT4
-rw-r--r--sys/dev/bktr/bktr_audio.c1
-rw-r--r--sys/dev/bktr/bktr_core.c6
-rw-r--r--sys/dev/bktr/bktr_os.c11
-rw-r--r--sys/dev/bktr/bktr_os.h12
5 files changed, 26 insertions, 8 deletions
diff --git a/sys/dev/bktr/CHANGELOG.TXT b/sys/dev/bktr/CHANGELOG.TXT
index 0fe5fb7..fe3b5ea 100755
--- a/sys/dev/bktr/CHANGELOG.TXT
+++ b/sys/dev/bktr/CHANGELOG.TXT
@@ -473,3 +473,7 @@
This was done by Thomas Klausner <wiz@netbsd.org> and
myself Roger Hardiman <roger@freebsd.org>
+2.11 15 Apr 2000 Made changes so the driver compiles on FreeBSD/Alpha.
+ Stop printing MSP autodetect. Requested by
+ Chris D. Faulhaber <jedgar@fxp.org>
+
diff --git a/sys/dev/bktr/bktr_audio.c b/sys/dev/bktr/bktr_audio.c
index bee8a32..b38cbb7 100644
--- a/sys/dev/bktr/bktr_audio.c
+++ b/sys/dev/bktr/bktr_audio.c
@@ -430,7 +430,6 @@ void msp_read_id( bktr_ptr_t bktr ){
void msp_autodetect( bktr_ptr_t bktr ) {
int auto_detect, loops;
int stereo;
- printf("MSP autodetect\n");
/* MSP3430G - countries with mono and DBX stereo */
if (strncmp("3430G", bktr->msp_version_string, 5) == 0){
diff --git a/sys/dev/bktr/bktr_core.c b/sys/dev/bktr/bktr_core.c
index b25f86b..2818a47 100644
--- a/sys/dev/bktr/bktr_core.c
+++ b/sys/dev/bktr/bktr_core.c
@@ -2333,12 +2333,14 @@ common_ioctl( bktr_ptr_t bktr, ioctl_cmd_t cmd, caddr_t arg )
#if defined( STATUS_SUM )
case BT848_GSTATUS: /* reap status */
- disable_intr();
+ {int s;
+ s = DISABLE_INTR;
temp = status_sum;
status_sum = 0;
- enable_intr();
+ ENABLE_INTR(s);
*(u_int*)arg = temp;
break;
+ }
#endif /* STATUS_SUM */
default:
diff --git a/sys/dev/bktr/bktr_os.c b/sys/dev/bktr/bktr_os.c
index 12d0c29..416e082 100644
--- a/sys/dev/bktr/bktr_os.c
+++ b/sys/dev/bktr/bktr_os.c
@@ -333,7 +333,7 @@ bktr_attach( device_t dev )
goto fail;
}
- error = bus_setup_intr(dev, bktr->res_irq, INTR_TYPE_NET,
+ error = bus_setup_intr(dev, bktr->res_irq, INTR_TYPE_TTY,
bktr_intr, bktr, &bktr->res_ih);
if (error) {
device_printf(dev, "could not setup irq\n");
@@ -702,12 +702,13 @@ bktr_mmap( dev_t dev, vm_offset_t offset, int nprot )
if (offset >= bktr->alloc_pages * PAGE_SIZE)
return( -1 );
- return( i386_btop(vtophys(bktr->bigbuf) + offset) );
+ return( atop(vtophys(bktr->bigbuf) + offset) );
}
int bktr_poll( dev_t dev, int events, struct proc *p)
{
int unit;
+ int s;
bktr_ptr_t bktr;
int revents = 0;
@@ -720,7 +721,7 @@ int bktr_poll( dev_t dev, int events, struct proc *p)
return (ENXIO);
}
- disable_intr();
+ s = DISABLE_INTR;
if (events & (POLLIN | POLLRDNORM)) {
@@ -734,7 +735,7 @@ int bktr_poll( dev_t dev, int events, struct proc *p)
}
}
- enable_intr();
+ ENABLE_INTR(s);
return (revents);
}
@@ -882,7 +883,7 @@ bktr_attach( pcici_t tag, int unit )
/*
* setup the interrupt handling routine
*/
- pci_map_int(tag, bktr_intr, (void*) bktr, &net_imask);
+ pci_map_int(tag, bktr_intr, (void*) bktr, &tty_imask);
/* Update the Device Control Register */
diff --git a/sys/dev/bktr/bktr_os.h b/sys/dev/bktr/bktr_os.h
index 50334d0..8226d9b 100644
--- a/sys/dev/bktr/bktr_os.h
+++ b/sys/dev/bktr/bktr_os.h
@@ -56,3 +56,15 @@ vm_offset_t get_bktr_mem(bktr_ptr_t, bus_dmamap_t *, unsigned size);
void free_bktr_mem(bktr_ptr_t, bus_dmamap_t, vm_offset_t);
#endif
+/************************************/
+/* *** Interrupt Enable/Disable *** */
+/************************************/
+#if defined(__FreeBSD__)
+#define DISABLE_INTR s=spltty()
+#define ENABLE_INTR(s) splx(s)
+#else
+#define DISABLE_INTR disable_intr()
+#define ENABLE_INTR enable_intr()
+#endif
+
+
OpenPOWER on IntegriCloud