* [PATCH 2/2] au88x0 eq cleanups
@ 2004-08-06 2:01 Jeff Muizelaar
0 siblings, 0 replies; only message in thread
From: Jeff Muizelaar @ 2004-08-06 2:01 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 36 bytes --]
some other misc eq cleanups
-Jeff
[-- Attachment #2: vortex-eq-cleanup.patch --]
[-- Type: text/x-patch, Size: 5589 bytes --]
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);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-08-06 2:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-06 2:01 [PATCH 2/2] au88x0 eq cleanups Jeff Muizelaar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.