From 3f34ec0fc3987478b2cd67e8f4c5f667ee355e4a Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 14 Nov 2000 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2000-11-14 --- bitsy/devuda1341.c | 5 +++-- bitsy/main.c | 50 +++++++++++++++++++--------------------------- 2 files changed, 24 insertions(+), 31 deletions(-) diff --git a/bitsy/devuda1341.c b/bitsy/devuda1341.c index 9d2d9a2217ae390a65f69f70a82ae5137ab70810..546f41d3e4d1243a96bf603b276612c4257e3f79 100644 --- a/bitsy/devuda1341.c +++ b/bitsy/devuda1341.c @@ -583,8 +583,9 @@ audioopen(Chan *c, int omode) audio.amode |= Aread; if(audio.i.bufinit == 0) bufinit(&audio.i); - audio.i.chan = c; setempty(&audio.i); + audio.i.chan = c; + audio.i.dma = dmaalloc(0, 0, 8, 2, SSPRecvDMA, Port4SSP, audiointr, (void*)&audio.o); } if (omode & 0x2) { /* write */ @@ -595,7 +596,7 @@ audioopen(Chan *c, int omode) bufinit(&audio.o); setempty(&audio.o); audio.o.chan = c; - audio.o.dma = dmaalloc(0, 0, 8, 2, AudioDMA, Port4MCP, audiointr, (void*)&audio.o); + audio.o.dma = dmaalloc(0, 0, 8, 2, SSPXmitDMA, Port4SSP, audiointr, (void*)&audio.o); } qunlock(&audio); // mxvolume(); diff --git a/bitsy/main.c b/bitsy/main.c index 7883678ed20b1c17bbc12bfa7b9c3dccfc0146b2..49dace194eeb702305153c2f441b626edb31e5b0 100644 --- a/bitsy/main.c +++ b/bitsy/main.c @@ -395,62 +395,54 @@ sspinit(void) { static ulong egpiosticky; -void -rs232power(int on) +static void +egpiobits(ulong bits, int on) { if(on) - egpiosticky |= EGPIO_rs232_power; + egpiosticky |= bits; else - egpiosticky &= ~EGPIO_rs232_power; + egpiosticky &= ~bits; *egpioreg = egpiosticky; } +void +rs232power(int on) +{ + egpiobits(EGPIO_rs232_power, on); +} + void irpower(int on) { - if(on) - egpiosticky |= EGPIO_ir_power; - else - egpiosticky &= ~EGPIO_ir_power; - *egpioreg = egpiosticky; + egpiobits(EGPIO_ir_power, on); } void lcdpower(int on) { - if(on) - egpiosticky |= EGPIO_lcd_3v|EGPIO_lcd_ic_power|EGPIO_lcd_5v|EGPIO_lcd_9v; - else - egpiosticky &= ~(EGPIO_lcd_3v|EGPIO_lcd_ic_power|EGPIO_lcd_5v|EGPIO_lcd_9v); - *egpioreg = egpiosticky; + egpiobits(EGPIO_lcd_3v|EGPIO_lcd_ic_power|EGPIO_lcd_5v|EGPIO_lcd_9v, on); } void audiopower(int on) { - if(on) - egpiosticky |= EGPIO_audio_ic_power | EGPIO_codec_reset; - else - egpiosticky &= ~(EGPIO_audio_ic_power | EGPIO_codec_reset); - *egpioreg = egpiosticky; + egpiobits(EGPIO_audio_ic_power | EGPIO_codec_reset, on); } void amplifierpower(int on) { - if(on) - egpiosticky |= EGPIO_audio_power; - else - egpiosticky &= ~(EGPIO_audio_power); - *egpioreg = egpiosticky; + egpiobits(EGPIO_audio_power, on); } void audiomute(int on) { - if(on) - egpiosticky |= EGPIO_audio_mute; - else - egpiosticky &= ~(EGPIO_audio_mute); - *egpioreg = egpiosticky; + egpiobits(EGPIO_audio_mute, on); +} + +void +flashprogpower(int on) +{ + egpiobits(EGPIO_prog_flash, on); }