Miscellaneous changes and fix:
- Remove explicit call to pmap_change_attr(), since we now have proper and functional definition of BUS_DMA_NOCACHE. - Enable PCI(e) bus snooping for non i386/amd64 as an alternative for uncacheable DMA. - Codecs changes: * Analag Device -> Analog Devices, AD1988. * New codec: VIA VT1708 and VT1709, Realtek ALC262, ALC861-VD and ALC885. * Various fixups for Conexant Waikiki, fix recording (read: microphone) on various Analog Devices codecs due to vendor BIOS mess, various quirks for several ASUS laptops/boards. - Fix connection list handling, closely following the specification to handle range of nids. - Basic Jack sense polling infrastructure for possible hardwares with broken unsolicited response interrupt. Ideas/Submitted/Tested by: Andriy Gapon <avg@icyb.net.ua>, #freebsd-azalia, many.
This commit is contained in:
parent
25785f9165
commit
71e3af015d
File diff suppressed because it is too large
Load Diff
@ -251,6 +251,7 @@ struct hdac_devinfo {
|
||||
struct hdac_audio_ctl *ctl;
|
||||
uint32_t mvol;
|
||||
uint32_t quirks;
|
||||
uint32_t gpio;
|
||||
int ossidx;
|
||||
int playcnt, reccnt;
|
||||
int parsing_strategy;
|
||||
@ -268,6 +269,7 @@ struct hdac_chan {
|
||||
uint32_t spd, fmt, fmtlist[8], pcmrates[16];
|
||||
uint32_t supp_stream_formats, supp_pcm_size_rate;
|
||||
uint32_t ptr, prevptr, blkcnt, blksz;
|
||||
uint32_t *dmapos;
|
||||
int active;
|
||||
int dir;
|
||||
int off;
|
||||
@ -292,6 +294,7 @@ struct hdac_softc {
|
||||
struct hdac_irq irq;
|
||||
uint32_t pci_subvendor;
|
||||
|
||||
int nocache;
|
||||
|
||||
int num_iss;
|
||||
int num_oss;
|
||||
@ -307,6 +310,8 @@ struct hdac_softc {
|
||||
struct hdac_dma rirb_dma;
|
||||
int rirb_rp;
|
||||
|
||||
struct hdac_dma pos_dma;
|
||||
|
||||
struct hdac_chan play, rec;
|
||||
bus_dma_tag_t chan_dmat;
|
||||
int chan_size;
|
||||
@ -317,8 +322,10 @@ struct hdac_softc {
|
||||
*/
|
||||
int polling;
|
||||
int poll_ticks;
|
||||
int poll_ival;
|
||||
struct callout poll_hda;
|
||||
struct callout poll_hdac;
|
||||
struct callout poll_jack;
|
||||
|
||||
#define HDAC_UNSOLQ_MAX 64
|
||||
#define HDAC_UNSOLQ_READY 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user