summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>1999-02-03 23:25:31 +0000
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>1999-02-03 23:25:31 +0000
commit7612165ef628025903698bcb33b7140c576f2963 (patch)
treeaf419d0a3f18cac6f2a9ccb1ff09bd1b0c46e3cd /drivers
parentf1cd1b5f03d447cb19dc5dcc0224ba3a1c2d0a14 (diff)
fixed hal2 access
removed workaround attempt in hal2_reset()
Diffstat (limited to 'drivers')
-rw-r--r--drivers/sgi/audio/hal2.c4
-rw-r--r--drivers/sgi/audio/hal2.h17
2 files changed, 9 insertions, 12 deletions
diff --git a/drivers/sgi/audio/hal2.c b/drivers/sgi/audio/hal2.c
index b6fc24a69..e28f0b389 100644
--- a/drivers/sgi/audio/hal2.c
+++ b/drivers/sgi/audio/hal2.c
@@ -1,4 +1,4 @@
-/* $Id: hal2.c,v 1.9 1999/01/28 21:54:39 ulfc Exp $
+/* $Id: hal2.c,v 1.10 1999/02/02 20:24:46 ulfc Exp $
*
* drivers/sgi/audio/hal2.c
*
@@ -211,8 +211,6 @@ static void hal2_reset(void)
udelay(200);
printk("reset done isr:%04hx\n", h2_ctrl->isr);
udelay(200);
- h2_ctrl->isr = H2_ISR_GLOBAL_RESET_N;
- udelay(200);
h2_ctrl->isr = H2_ISR_GLOBAL_RESET_N | H2_ISR_CODEC_RESET_N;
udelay(200);
printk("reactivation done isr:%04hx\n", h2_ctrl->isr);
diff --git a/drivers/sgi/audio/hal2.h b/drivers/sgi/audio/hal2.h
index 525d3fde2..64a72a5c2 100644
--- a/drivers/sgi/audio/hal2.h
+++ b/drivers/sgi/audio/hal2.h
@@ -11,28 +11,27 @@
#define H2_VOLUME_PIO (H2_HAL2_BASE + 2 * 0x200)
#define H2_SYNTH_PIO (H2_HAL2_BASE + 3 * 0x200)
-typedef volatile unsigned short hal_reg;
+typedef volatile unsigned int hal_reg;
struct hal2_ctrl_regs {
- hal_reg _unused0[8];
+ hal_reg _unused0[4];
hal_reg isr; /* 0x10 Status Register */
- hal_reg _unused1[7];
+ hal_reg _unused1[3];
hal_reg rev; /* 0x20 Revision Register */
- hal_reg _unused2[7];
+ hal_reg _unused2[3];
hal_reg iar; /* 0x30 Indirect Address Register */
- hal_reg _unused3[7];
+ hal_reg _unused3[3];
hal_reg idr0; /* 0x40 Indirect Data Register 0 */
- hal_reg _unused4[7];
+ hal_reg _unused4[3];
hal_reg idr1; /* 0x50 Indirect Data Register 1 */
- hal_reg _unused5[7];
+ hal_reg _unused5[3];
hal_reg idr2; /* 0x60 Indirect Data Register 2 */
- hal_reg _unused6[7];
+ hal_reg _unused6[3];
hal_reg idr3; /* 0x70 Indirect Data Register 3 */
} volatile *h2_ctrl = (struct hal2_ctrl_regs *) KSEG1ADDR(H2_CTRL_PIO);
struct hal2_vol_regs {
hal_reg right; /* 0x00 Right volume */
- hal_reg _unused0[1];
hal_reg left; /* 0x04 Left volume */
} volatile *h2_vol = (struct hal2_vol_regs *) KSEG1ADDR(H2_VOLUME_PIO);