mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
This commit updates the driver from version 6.6 to 7.1. In contrast to the old driver the new one will now probe all available HDA devices and will drive the first usable one, e.g.: ``` [init -> audio_drv] azalia0 [8086:160c] [init -> audio_drv] : [init -> audio_drv] azalia0: no supported codecs [init -> audio_drv] azalia1 [8086:9ca0] [init -> audio_drv] : [init -> audio_drv] azalia1: codecs: Realtek ALC292 [init -> audio_drv] audio0 at azalia1 ``` Fixes #4629.
26 lines
688 B
Diff
26 lines
688 B
Diff
--- a/dev/pci/azalia.c
|
|
+++ b/dev/pci/azalia.c
|
|
@@ -1063,10 +1063,6 @@
|
|
uint16_t corbrp, corbwp;
|
|
uint8_t corbctl;
|
|
|
|
- err = azalia_halt_corb(az);
|
|
- if (err)
|
|
- return(err);
|
|
-
|
|
if (!resuming) {
|
|
err = azalia_alloc_dmamem(az,
|
|
az->corb_entries * sizeof(corb_entry_t), 128,
|
|
@@ -1079,6 +1075,11 @@
|
|
}
|
|
timeout_set(&az->unsol_to, azalia_rirb_kick_unsol_events, az);
|
|
|
|
+ /* do after the allocation as it will access 'corb_dma' */
|
|
+ err = azalia_halt_corb(az);
|
|
+ if (err)
|
|
+ return(err);
|
|
+
|
|
AZ_WRITE_4(az, CORBLBASE, (uint32_t)AZALIA_DMA_DMAADDR(&az->corb_dma));
|
|
AZ_WRITE_4(az, CORBUBASE, PTR_UPPER32(AZALIA_DMA_DMAADDR(&az->corb_dma)));
|
|
AZ_WRITE_1(az, CORBSIZE, az->corbsize);
|