diff -ur linux-2.6.7-rc1-bk5-build-test/sound/pci/au88x0/au88x0_eq.c linux-2.6.7-rc1-bk5-build-test2/sound/pci/au88x0/au88x0_eq.c --- linux-2.6.7-rc1-bk5-build-test/sound/pci/au88x0/au88x0_eq.c 2004-07-17 12:56:02.000000000 -0400 +++ linux-2.6.7-rc1-bk5-build-test2/sound/pci/au88x0/au88x0_eq.c 2004-07-17 12:54:13.000000000 -0400 @@ -40,41 +40,46 @@ #include "au88x0_eq.h" #include "au88x0_eqdata.c" +#define VORTEX_EQ_BASE 0x2b000 +#define VORTEX_EQ_DEST (VORTEX_EQ_BASE + 0x410) +#define VORTEX_EQ_SOURCE (VORTEX_EQ_BASE + 0x430) +#define VORTEX_EQ_CTRL (VORTEX_EQ_BASE + 0x440) + /* CEqHw.s */ -static void vortex_EqHw_SetTimeConsts(vortex_t * vortex, u16 a, u16 b) +static void vortex_EqHw_SetTimeConsts(vortex_t * vortex, u16 gain, u16 level) { - hwwrite(vortex->mmio, 0x2b3c4, a); - hwwrite(vortex->mmio, 0x2b3c8, b); + hwwrite(vortex->mmio, 0x2b3c4, gain); + hwwrite(vortex->mmio, 0x2b3c8, level); } -static void vortex_EqHw_SetLeftCoefs(vortex_t * vortex, u16 a[]) +static void vortex_EqHw_SetLeftCoefs(vortex_t * vortex, u16 coefs[]) { eqhw_t *eqhw = &(vortex->eq.this04); int eax, i = 0, n /*esp2c */; for (n = 0; n < eqhw->this04; n++) { - hwwrite(vortex->mmio, 0x2b000 + n * 0x30, a[i + 0]); - hwwrite(vortex->mmio, 0x2b004 + n * 0x30, a[i + 1]); + hwwrite(vortex->mmio, 0x2b000 + n * 0x30, coefs[i + 0]); + hwwrite(vortex->mmio, 0x2b004 + n * 0x30, coefs[i + 1]); if (eqhw->this08 == 0) { - hwwrite(vortex->mmio, 0x2b008 + n * 0x30, a[i + 2]); - hwwrite(vortex->mmio, 0x2b00c + n * 0x30, a[i + 3]); - eax = a[i + 4]; //esp24; + hwwrite(vortex->mmio, 0x2b008 + n * 0x30, coefs[i + 2]); + hwwrite(vortex->mmio, 0x2b00c + n * 0x30, coefs[i + 3]); + eax = coefs[i + 4]; //esp24; } else { - if (a[2 + i] == 0x8000) + if (coefs[2 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[2 + i]; + eax = ~coefs[2 + i]; hwwrite(vortex->mmio, 0x2b008 + n * 0x30, eax & 0xffff); - if (a[3 + i] == 0x8000) + if (coefs[3 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[3 + i]; + eax = ~coefs[3 + i]; hwwrite(vortex->mmio, 0x2b00c + n * 0x30, eax & 0xffff); - if (a[4 + i] == 0x8000) + if (coefs[4 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[4 + i]; + eax = ~coefs[4 + i]; } hwwrite(vortex->mmio, 0x2b010 + n * 0x30, eax); @@ -82,34 +87,34 @@ } } -static void vortex_EqHw_SetRightCoefs(vortex_t * vortex, u16 a[]) +static void vortex_EqHw_SetRightCoefs(vortex_t * vortex, u16 coefs[]) { eqhw_t *eqhw = &(vortex->eq.this04); int i = 0, n /*esp2c */, eax; for (n = 0; n < eqhw->this04; n++) { - hwwrite(vortex->mmio, 0x2b1e0 + n * 0x30, a[0 + i]); - hwwrite(vortex->mmio, 0x2b1e4 + n * 0x30, a[1 + i]); + hwwrite(vortex->mmio, 0x2b1e0 + n * 0x30, coefs[0 + i]); + hwwrite(vortex->mmio, 0x2b1e4 + n * 0x30, coefs[1 + i]); if (eqhw->this08 == 0) { - hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, a[2 + i]); - hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, a[3 + i]); - eax = a[4 + i]; //*esp24; + hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, coefs[2 + i]); + hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, coefs[3 + i]); + eax = coefs[4 + i]; //*esp24; } else { - if (a[2 + i] == 0x8000) + if (coefs[2 + i] == 0x8000) eax = 0x7fff; else - eax = ~(a[2 + i]); + eax = ~(coefs[2 + i]); hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, eax & 0xffff); - if (a[3 + i] == 0x8000) + if (coefs[3 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[3 + i]; + eax = ~coefs[3 + i]; hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, eax & 0xffff); - if (a[4 + i] == 0x8000) + if (coefs[4 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[4 + i]; + eax = ~coefs[4 + i]; } hwwrite(vortex->mmio, 0x2b1f0 + n * 0x30, eax); i += 5; @@ -120,7 +125,7 @@ static void vortex_EqHw_SetLeftStates(vortex_t * vortex, u16 a[], u16 b[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, ebx = 0; + int i = 0, ebx; hwwrite(vortex->mmio, 0x2b3fc, a[0]); hwwrite(vortex->mmio, 0x2b400, a[1]); @@ -137,7 +142,7 @@ static void vortex_EqHw_SetRightStates(vortex_t * vortex, u16 a[], u16 b[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, ebx = 0; + int i = 0, ebx; hwwrite(vortex->mmio, 0x2b404, a[0]); hwwrite(vortex->mmio, 0x2b408, a[1]); @@ -418,12 +423,12 @@ #endif static void vortex_EqHw_Enable(vortex_t * vortex) { - hwwrite(vortex->mmio, 0x2b440, 0xf001); + hwwrite(vortex->mmio, VORTEX_EQ_CTRL, 0xf001); } static void vortex_EqHw_Disable(vortex_t * vortex) { - hwwrite(vortex->mmio, 0x2b440, 0xf000); + hwwrite(vortex->mmio, VORTEX_EQ_CTRL, 0xf000); } /* Reset (zero) buffers */ @@ -431,16 +436,16 @@ { int i; for (i = 0; i < 0x8; i++) - hwwrite(vortex->mmio, 0x2b410 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_DEST + (i << 2), 0x0); for (i = 0; i < 0x4; i++) - hwwrite(vortex->mmio, 0x2b430 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_SOURCE + (i << 2), 0x0); } static void vortex_EqHw_ZeroA3DIO(vortex_t * vortex) { int i; for (i = 0; i < 0x4; i++) - hwwrite(vortex->mmio, 0x2b410 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_DEST + (i << 2), 0x0); } static void vortex_EqHw_ZeroState(vortex_t * vortex) @@ -611,11 +616,10 @@ if (((eq->this10) * 2 != count) || (eq->this28 == 0)) return 1; - if (0 < count) { - for (i = 0; i < count; i++) { - eq->this130[i] = gains[i]; - } + for (i = 0; i < count; i++) { + eq->this130[i] = gains[i]; } + if (eq->this54) return 0; return vortex_Eqlzr_SetAllBandsFromActiveCoeffSet(vortex);