summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/gsc
AgeCommit message (Collapse)Author
2003-04-07remove dead stuffMichael Shalayeff
2003-03-29try to blinkMichael Shalayeff
2003-03-12reclaim more resources on failures.Michael Shalayeff
test the harmony id to filter out unsupported yet audio types and detect the teleshare. detect input overload and report to userland.
2003-02-17Since the ps/2 input ports show up as two different devices, with the sameMiod Vallat
irq, but hppa has no generic shared interrupt code, we need to make sure that gsckbc devices using the same irq know each other, and will pass the interrupt notification to each other. This allow a mouse and a keyboard to work together...
2003-02-16Provide a wskbd type for gsc keyboards, make gsckbd use it, and take advantageMiod Vallat
of it in kbd(8) to work correctly with such a keyboard. Reminded by maja some time ago.
2003-02-16RegenMiod Vallat
2003-02-16Although some hppa models, such as the 715, will require specific keyboards,Miod Vallat
some others, like the 712, will run with a regular ps/2 keyboard from your average computer shop, and the hardware will convert the scancodes so that they match the braindead gsc usage. Thus, it makes no point carrying a specific set of keyboard layouts for gsckbd, when in fact it's (almost) the same as for pckbd, with scancodes shuffled. So, add a simple scheme to build gsckbd tables from the pckbd tables. This brings all the international layouts from pckbd, but jp and br have extra keys for which I don't know the scancodes, so the generated gsckbd layouts are incomplete.
2003-02-15Rework the console management on hppa:Miod Vallat
- only attach a keyboard as a console if it matches the PDC keyboard path - on hil, as there can be multiple keyboards on the loop, attach only the first hilkbd device configured as console keyboard. Right now this means the one with the lowest hil code, which was the existing behaviour so far. - do not try to switch to the wscons consdev structure early at all in wscons_machdep, but rather wait for the console to be completely configured (i.e. both wskbd and wsdisplay are attached) to switch. With feedback and help from mickey@
2003-02-15gsckbc is more sensitive than pckbc; always allow the enable() accessopMiod Vallat
to proceed on the console keyboard, or it would not be in a good state to handle boot -s prompt. Found the hard way by mickey@
2003-02-11hil at gsc attachment glue.Miod Vallat
2003-02-05Add knob for getting at the "output level bit", supposedly changes theJason Wright
full scale outputs between 2.8Vpp and 2.0Vpp for line.
2003-02-05Get rid of the pops:Jason Wright
- interrupt is called when the block has been DMA'd... since LASI seems to include a FIFO this is -not- the same as block completion which we have to poll for. Luckily the FIFO is deep enough that polling in the interrupt handler seems to work. - This probably breaks capture, but I'll fix that when I get up tomorrow. (committed to the tune of Fugazi's "Waiting Room")
2003-01-31Enter gsckbc, a driver for the ps/2-like input device ports found on manyMiod Vallat
hppa machines, and gsckbd, a driver for the ps/2-like keyboard. Both are derived from pckbc and pckbd, but the differences in port wiring and keyboard behaviour prevented the creation of a thin pckbc wrapper. Currently, only us and uk keyboard layouts are provided. The adventurous person can enable gsckb[cd], wsdisplay at sti and wskbd, but this will only work correctly on machines featuring a modern-prom sti graphics device, and a ps/2 keyboard port.
2003-01-30reread the dma status reg after playing part of the dma got programmed.Michael Shalayeff
according to the doc, the "play next" bit and therefore the device interrupt may get raised earlier than the "record next" is set, thus we might not program the record dma and get another harmony interrupt right after servicing this one. this little optimization allows to deal w/ the situation more efficiently, should it occur. jason@ ok
2003-01-30real meat in audio_device; discussed w/ jason@Michael Shalayeff
2003-01-30Check the codec revision... if it's >=CS4215E or >=AD1849K (same valueJason Wright
strangely =) the make ulinear (native) and slinear (emulated) available. Also, while here, make ulinear_le:16 available via emulation. (Btw, the LASI docs say that the format code for ulinear is a reserved value... Probably just wasn't available in the early CS4215/AD1849's)
2003-01-29print out the codec revision in dmesgMichael Shalayeff
2003-01-28Ok, you can only set the HE/SE/LE/IS bits in GAINCTL when reset is asserted ↵Jason Wright
(why? I have no clue, but not abding this causes the chip to wedge). So, you can now switch input/output ports to your hearts content... oh did I mention several commits ago that capture works?
2003-01-28Move device driver specific stuff to *var.h and add most of the code forJason Wright
dealing with output source selection (doesn't work right yet, so its disabled).
2003-01-27Stupid stupid stupid... DMA will not start until the capture next registerJason Wright
is written. I'm not sure how to -correctly- handle this for the fullduplex case, but this seems to make playback sound MUCH better...
2003-01-27As promised, I got some sleep and rewrote most of the driver... playbackJason Wright
is still a bit spotty, but at least interrupts are not enabled constantly any more. Also discovered a feature: messing with the LINE/MIC bit in GAINCTL has the side effect of wedging the chip under some circumstances, but I think this can be worked around by resetting the codec... later.
2003-01-27separate register defns and revise them based on the LASI info... a HUGEJason Wright
chunk of this driver will be rewritten once I've gotten some zzz's.
2003-01-27I declare defeat... once interrupts are enabled, just leave them enabled.Jason Wright
This is annoying because the chip will keep dma'n, but everytime I disable interrupts in halt_*, they never come back. Grr.
2003-01-27Write to the cntl register with the c flag set.Jason Wright
2003-01-26Ok, playback more or less works, now for capture. (I forgot to save the ↵Jason Wright
pintr/parg)
2003-01-26Ok, this now produces some noise (that's the best way I can describe it),Jason Wright
but the timing appears to get off some how and buffers just stay on the chip. Oh well, at least its keeping me from playing in the traffic.
2003-01-26Start on the harmony audio driver. It doesn't play or capture anythingJason Wright
yet, but the knobs and interrupt routine seem to work. More to come.
2003-01-25De-"register"Jason Wright
2003-01-08better osiop at gsc attachment and kill dead siop from files.hppaMichael Shalayeff
2003-01-08this one is old and must die nowMichael Shalayeff
2003-01-08Merry Christmas Mickey!Kenneth R Westerback
First cut at osiop driver (LSI Logic/Symbios/NCR 53C710). For hppa only at the moment. Functional for the most part, but there are known problems: 1) SCSI_CHECK/REQUEST_SENSE not handled at all - simply returns a zero'ed scsi_sense_data buffer. As a result all osiop sc_link's are created with the ADEV_NODOORLOCK quirk to suppress PREVENT_ALLOW commands from being issued (and failing) during probe. 2) Sync negotiation (wide is not supported on this chip) needs to be validated due to some ominous comments in the source about being valid only for the 33Mhz Zeus board. 3) Probe message needs fixing/completion to issue useful info. See 2). 4) Timeout/hangs occur under heavy load, e.g. make builds. From NetBSD. ok mickey@
2002-12-18newer machines use phantom bus to attach lasi and other bus adapters.Michael Shalayeff
oledr machines did not have a real device for the phantom bus port. change the device scanning technique to both include a full device path in the attach_args and do proper shifting in the pdc_scanbus() and add a device for the newer machines as well as use a newer device mapping (path to hpa) available on newer firmware versions, where old (hversion-dependant) is not available. tested on 712,715/33,c110, miod@ ok, weissmandude -- testing
2002-12-17real interrupts/spl framework.Michael Shalayeff
tested on 712/* 715/100, 715/33 which main cpu/bus types. miod@ ok
2002-12-14remove extra space in dmesgTheo de Raadt
2002-12-11delay(1) is enough on attentionMichael Shalayeff
2002-10-13split the scp/iscp/scb between the cache lines, make the leds blink betterMichael Shalayeff
2002-09-03forgot to set up the sc_frequency (;Michael Shalayeff
2002-07-17when bailing out from attach, -- pretend to be nice and place a backslashanMichael Shalayeff
2002-06-06do not say duh to the cerealMichael Shalayeff
2002-03-18kill debugging printfMichael Shalayeff
2002-03-15rewrite a pmap to use multilevel page tables.Michael Shalayeff
lower 12 bits contain the perms, no unused bits left, but a couple for off-tlb use (as the ref implemented now). do not use the hvt, which might get some use later if proven to speed thigs up, tlb handlers would po another dozen of insns though, but if that's worth its... move on the data seg and map kernel text rdonly (idea form fredette), since all of the page0 mods done before that we are all fine except for some viper fluff, but later w/ that. this also picks up a bit more of ddb magic for bpt and ss. tlb handlers can use a little bit more of attention, but things, visually, seem to be much faster already, -- sorry, no benchmarks for now. * effort sponsored in part by the `henry st. old ale house' * and mr.pete and mr.lee in particular in thier generous entrirety. * the proj took a little more that 72man*h as it was expected, * but within murhy's law estimations.
2002-03-14Final __P removal plus some cosmetic fixupsTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-02-16need ca_pdc_iodc_read from some devices to got their paramsMichael Shalayeff
2002-02-11extend the hackery to not use kvtopMichael Shalayeff
2002-02-06disable debugMichael Shalayeff
2002-02-06remove dangling spacesMichael Shalayeff
2002-02-05use splraise() when calling handlers; from fredette@Michael Shalayeff
2002-02-05do not comprobe() that hoses itMichael Shalayeff
2002-02-03better space mapMichael Shalayeff