summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroger <roger@FreeBSD.org>2000-04-16 07:50:09 +0000
committerroger <roger@FreeBSD.org>2000-04-16 07:50:09 +0000
commit88a1808ad0408e5c82887b476bb8f17ab699096c (patch)
treead01c76159e8893fd40b6b8ea4693a3939ddc5e1
parent3e65a21d76201a3c144fcda575fb3aa9a3ed2d3c (diff)
downloadFreeBSD-src-88a1808ad0408e5c82887b476bb8f17ab699096c.zip
FreeBSD-src-88a1808ad0408e5c82887b476bb8f17ab699096c.tar.gz
Fix typo in interrupt handling code and fix bug in setting of adelay
-rwxr-xr-xsys/dev/bktr/CHANGELOG.TXT7
-rw-r--r--sys/dev/bktr/bktr_core.c15
-rw-r--r--sys/dev/bktr/bktr_os.c4
-rw-r--r--sys/dev/bktr/bktr_os.h12
4 files changed, 24 insertions, 14 deletions
diff --git a/sys/dev/bktr/CHANGELOG.TXT b/sys/dev/bktr/CHANGELOG.TXT
index fe3b5ea..a210f83 100755
--- a/sys/dev/bktr/CHANGELOG.TXT
+++ b/sys/dev/bktr/CHANGELOG.TXT
@@ -477,3 +477,10 @@
Stop printing MSP autodetect. Requested by
Chris D. Faulhaber <jedgar@fxp.org>
+2.12 16 Apr 2000 Set adelay as an 8 bit value, noticed by
+ Thomas Klausner <wiz@netbsd.org>
+ Fix typo in the new interrupt code.
+
+
+
+
diff --git a/sys/dev/bktr/bktr_core.c b/sys/dev/bktr/bktr_core.c
index 2818a47..d338d09 100644
--- a/sys/dev/bktr/bktr_core.c
+++ b/sys/dev/bktr/bktr_core.c
@@ -920,7 +920,7 @@ video_open( bktr_ptr_t bktr )
else
OUTB(bktr, BKTR_IFORM, INB(bktr, BKTR_IFORM) | BT848_IFORM_M_MUX1);
- OUTL(bktr, BKTR_ADELAY, format_params[bktr->format_params].adelay);
+ OUTB(bktr, BKTR_ADELAY, format_params[bktr->format_params].adelay);
OUTB(bktr, BKTR_BDELAY, format_params[bktr->format_params].bdelay);
frame_rate = format_params[bktr->format_params].frame_rate;
@@ -1292,7 +1292,7 @@ video_ioctl( bktr_ptr_t bktr, int unit, ioctl_cmd_t cmd, caddr_t arg, struct pro
case BT848_IFORM_F_NTSCJ:
bktr->flags = (bktr->flags & ~METEOR_FORM_MASK) |
METEOR_NTSC;
- OUTL(bktr, BKTR_ADELAY, format_params[temp].adelay);
+ OUTB(bktr, BKTR_ADELAY, format_params[temp].adelay);
OUTB(bktr, BKTR_BDELAY, format_params[temp].bdelay);
bktr->format_params = temp;
break;
@@ -1304,7 +1304,7 @@ video_ioctl( bktr_ptr_t bktr, int unit, ioctl_cmd_t cmd, caddr_t arg, struct pro
case BT848_IFORM_F_PALM:
bktr->flags = (bktr->flags & ~METEOR_FORM_MASK) |
METEOR_PAL;
- OUTL(bktr, BKTR_ADELAY, format_params[temp].adelay);
+ OUTB(bktr, BKTR_ADELAY, format_params[temp].adelay);
OUTB(bktr, BKTR_BDELAY, format_params[temp].bdelay);
bktr->format_params = temp;
break;
@@ -1324,7 +1324,7 @@ video_ioctl( bktr_ptr_t bktr, int unit, ioctl_cmd_t cmd, caddr_t arg, struct pro
METEOR_NTSC;
OUTB(bktr, BKTR_IFORM, temp_iform | BT848_IFORM_F_NTSCM |
format_params[BT848_IFORM_F_NTSCM].iform_xtsel);
- OUTL(bktr, BKTR_ADELAY, format_params[BT848_IFORM_F_NTSCM].adelay);
+ OUTB(bktr, BKTR_ADELAY, format_params[BT848_IFORM_F_NTSCM].adelay);
OUTB(bktr, BKTR_BDELAY, format_params[BT848_IFORM_F_NTSCM].bdelay);
bktr->format_params = BT848_IFORM_F_NTSCM;
break;
@@ -1334,7 +1334,7 @@ video_ioctl( bktr_ptr_t bktr, int unit, ioctl_cmd_t cmd, caddr_t arg, struct pro
METEOR_PAL;
OUTB(bktr, BKTR_IFORM, temp_iform | BT848_IFORM_F_PALBDGHI |
format_params[BT848_IFORM_F_PALBDGHI].iform_xtsel);
- OUTL(bktr, BKTR_ADELAY, format_params[BT848_IFORM_F_PALBDGHI].adelay);
+ OUTB(bktr, BKTR_ADELAY, format_params[BT848_IFORM_F_PALBDGHI].adelay);
OUTB(bktr, BKTR_BDELAY, format_params[BT848_IFORM_F_PALBDGHI].bdelay);
bktr->format_params = BT848_IFORM_F_PALBDGHI;
break;
@@ -2333,8 +2333,9 @@ common_ioctl( bktr_ptr_t bktr, ioctl_cmd_t cmd, caddr_t arg )
#if defined( STATUS_SUM )
case BT848_GSTATUS: /* reap status */
- {int s;
- s = DISABLE_INTR;
+ {
+ DECLARE_INTR_MASK(s);
+ DISABLE_INTR(s);
temp = status_sum;
status_sum = 0;
ENABLE_INTR(s);
diff --git a/sys/dev/bktr/bktr_os.c b/sys/dev/bktr/bktr_os.c
index 416e082..25e7227 100644
--- a/sys/dev/bktr/bktr_os.c
+++ b/sys/dev/bktr/bktr_os.c
@@ -708,9 +708,9 @@ bktr_mmap( dev_t dev, vm_offset_t offset, int nprot )
int bktr_poll( dev_t dev, int events, struct proc *p)
{
int unit;
- int s;
bktr_ptr_t bktr;
int revents = 0;
+ DECLARE_INTR_MASK(s);
unit = UNIT(minor(dev));
@@ -721,7 +721,7 @@ int bktr_poll( dev_t dev, int events, struct proc *p)
return (ENXIO);
}
- s = DISABLE_INTR;
+ DISABLE_INTR(s);
if (events & (POLLIN | POLLRDNORM)) {
diff --git a/sys/dev/bktr/bktr_os.h b/sys/dev/bktr/bktr_os.h
index 8226d9b..d358188 100644
--- a/sys/dev/bktr/bktr_os.h
+++ b/sys/dev/bktr/bktr_os.h
@@ -59,12 +59,14 @@ void free_bktr_mem(bktr_ptr_t, bus_dmamap_t, vm_offset_t);
/************************************/
/* *** Interrupt Enable/Disable *** */
/************************************/
-#if defined(__FreeBSD__)
-#define DISABLE_INTR s=spltty()
-#define ENABLE_INTR(s) splx(s)
+#if defined(__XFreeBSD__)
+#define DECLARE_INTR_MASK(s) intrmask_t s
+#define DISABLE_INTR(s) s=spltty()
+#define ENABLE_INTR(s) splx(s)
#else
-#define DISABLE_INTR disable_intr()
-#define ENABLE_INTR enable_intr()
+#define DECLARE_INTR_MASK(s) /* no need to declare 's' */
+#define DISABLE_INTR(s) disable_intr()
+#define ENABLE_INTR(s) enable_intr()
#endif
OpenPOWER on IntegriCloud