summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/audiohda.c
AgeCommit message (Collapse)Author
2021-11-18audiohda: add support for intel cannon point-lp (t490s)qwx
2021-11-05audiohda: add support for intel comet lake-s, fix typoqwx
2021-09-11audiohda: Add DID for Intel 200 Series PCH HD Audionessabeene@gmail.com
2021-08-30audiohda: fix syntax errorqwx
2021-08-29audiohda: add ztom z36*/z37* device idSigrid Solveig Haflínudóttir
2021-02-03[9front] [PATCH] audiohda: add PCI ID for Intel C610/X99Michael Forney
--- Tested and seems to work fine.
2021-01-18audiohda: Add AMD Starship/Matisse HD Audio Controller (thanks uramekus)cinap_lenrek
2020-11-15audiohda: do not enable interrupts before intrenable()cinap_lenrek
When using /dev/reboot, the MSI vecor might have already been setup causing interrupts to fire on the designated cpu while we send the commands to the card.
2020-11-11audiohda: reset irbsts bits in hdainterrupt() (thanks LordCreepity)cinap_lenrek
reseting irbsts bits in hdacmd() only works while interrupts are disabled during hdareset(). once interrupts are enabled we need to reset the irbsts bits in the interrupt handler or else the interrupt never clears and locks up the system.
2020-10-27audiohda: make it work with qemu (thanks mischief)cinap_lenrek
the driver was not using irb interrupts and was just polling the irb write pointer to wait for command completion. this is not supported by qemu. qemu requires the use of irb interrupt handshake and it refuses to accept the next command until we acknowledge the irb interrupt.
2020-10-18audiohda: use PCIWADDR() instead of PADDR(), handle 64-bit dma addressescinap_lenrek
2020-09-13kernel: massive pci code rewritecinap_lenrek
The new pci code is moved to port/pci.[hc] and shared by all ports. Each port has its own PCI controller implementation, providing the pcicfgrw*() functions for low level pci config space access. The locking for pcicfgrw*() is now done by the caller (only port/pci.c). Device drivers now need to include "../port/pci.h" in addition to "io.h". The new code now checks bridge windows and membars, while enumerating the bus, giving the pc driver a chance to re-assign them. This is needed because some UEFI implementations fail to assign the bars for some devices, so we need to do it outselfs. (See pcireservemem()). While working on this, it was discovered that the pci code assimed the smallest I/O bar size is 16 (pcibarsize()), which is wrong. I/O bars can be as small as 4 bytes. Bit 1 in an I/O bar is also reserved and should be masked off, making the port mask: port = bar & ~3;
2020-06-06audiohda: use 64-bit physical addresses, check pci membar typescinap_lenrek
2020-03-31audiohda: add pci vid/did for AMD Raven HD Audio Controller (T495)cinap_lenrek
2019-04-13pc: audiohda: recognize AMD Family 17h hd audio controllermischief
2019-04-08audiohda: add support for Gemini-Lake audio in Intel NUC nuc7pjyh (thanks sam-d)cinap_lenrek
2018-10-07pc drivers: use pcienable() to handle device power up and missing initializationcinap_lenrek
2018-07-26audiohda: support Intel Sunrise Point-LP on thinkpad X1cinap_lenrek
2018-02-16audiohda: add device id for x260's Intel Sunrise Point-LP. (thanks rodri)cinap_lenrek
2017-09-10audiohda: add pci id for nvidia GM204BurnZeZ
2017-09-10audiohda: add pci id for Intel 9 SeriesBurnZeZ
2017-09-10audiohda: add pci id for ICH10 (thanks echoline)cinap_lenrek
2017-08-29audiohda: Intel Sunrise Point-H support (thanks sam-d)cinap_lenrek
2015-09-29pc, pc64: add did for intel wildcat point audio controllermischief
2015-04-02audiohda: add AMD FCH Azalia Controller (thanks qeed)cinap_lenrek
2014-11-17audiohda: add pci ids for Intel 8 Series Lynx Point (thanks quux)cinap_lenrek
Based on OpenBSD driver: - /sys/dev/pci/azalia.c rev 1.209 - /sys/dev/pci/pcidevs rev 1.1689 - only tested on amd64; machine is an Acer V5-573G exact model: V5-573G-74518G1Takk
2014-06-09audiohda: add Intel 8 Series/C220 Series supportftrvxmtrx
2014-03-19audiohda: start playback only when we have a minimum delay bufferedcinap_lenrek
2013-09-29audiohda: allow manual pin routing, more verbose audiostat, initial mute of ↵cinap_lenrek
al widgets the automatic routing from jack to dac/adc sometimes gets us a path thats not audible. manually specifying a route path gets us arround these. the syntax is just a comma separated list of node ids in the "pin" and "inpin" audioctl commands instead of a single pin node id. to find alternative paths, audiostat now lists all the widgets; not just the pins; and ther input connections. initially mute all pins and amps of all function groups. connectpath() and disconnectpath() will mute and unmute the widgets as required later.
2013-09-22audiohda: vmware support (thanks dreadlorde)cinap_lenrek
2013-07-06audiohda: x230 pci magiccinap_lenrek
2013-02-01audio: fix delay control, increase default buffer delay to 40mscinap_lenrek
just doing a single sleep isnt enougth, as we get woken up for every block!
2013-01-29audiohda: fix vid typo 1003 -> 1003cinap_lenrek
2013-01-29audiohda: add pci id for Intel P55 chipset and ATI HDMI (Radeon HD 8500)cinap_lenrek
2013-01-27audioac97: fix inverted recgain control, init to zero recgaincinap_lenrek
some controls are inverted. we reflect this by specifying negative range in the volume table now and let genaudiovolread() and genaudiovolwrite() do the conversion.
2013-01-27audioac97, audiohda: dont block on close, just pad the last block with zeroscinap_lenrek
2013-01-19audiohda: automatically pick inpincinap_lenrek
2013-01-19audiohda: first attempt on audio recording support for intel hda audio, ↵cinap_lenrek
distinguish mode in audio code
2012-12-10audiohda: add support for PCH (Dell E5420)cinap_lenrek
2012-12-07audiohda: pikesheddingcinap_lenrek
use seprint() for audiostat.
2012-12-07audiohda: fix getoutamprange()cinap_lenrek
same problem as previous commit. have to query function group if not Wampovrcap.
2012-12-07audiohda: handle default amp settingscinap_lenrek
widgets that do not have Wampovrcap have ther default amplifier parameters stored in the aydio function group. only if the amp override bit is *not* set, then the widget stores its own amplifier parameters and we have to query its node id, otherwise the audio function group node id.
2012-12-06audiohda: dont xspanalloc() Ctlr structurecinap_lenrek
theres no requirement for the Ctlr structure to be 8 byte aligned. its not passed to hardware.
2012-11-28audiohda: add pci vid/did for lenovo thinkpad x230tcinap_lenrek
2012-09-19fix typo.google
2012-09-02audiohda: unsigned vid/rid formatingcinap_lenrek
2012-08-26audiohda: add intel sch models (thanks puddingpimp on #cat-v for sending a ↵cinap_lenrek
patch)
2012-03-04audiohda: oops...cinap_lenrek
2012-03-04audiohda: set power state, eapd for x61cinap_lenrek
2012-02-21audiohda: add more pci vid/didcinap_lenrek