[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Openvortex-dev] Re: [ALSA - driver 0001025]: kernel panic when trying t
From: |
Raymond |
Subject: |
[Openvortex-dev] Re: [ALSA - driver 0001025]: kernel panic when trying to load module snd-au8830 |
Date: |
Wed, 15 Jun 2005 21:30:36 +0800 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.7.7) Gecko/20050504 Fedora/1.7.7-1.1.2.legacy |
Alien wrote:
Op dinsdag 7 juni 2005 15:44, schreef Raymond:
From your png, it seem that you are not using the alsamixer in the
latest version of alsa-utils.
since i'm using alsa CVS for driver, kernel and lib; i'll use utils
from CVS as well...
It seem that there are bugs in alsamixer 1.0.9a ( even CVS Rev 1.88 )
alsamixer -V capture
1) The volume (Line,CD,Mic,Video,Home,Aux,Mix,Mix Mono) cannot be
changed in view capture.
2) The Mic Select(Mic1,Mic2) and Mono Out(Mix,Mic) controls are missing
in view capture.
The above problems do not exist when using "alsamixer" or "alsamixer -V
playback"
The alsamixer or amixer are unable to display EQ Peaks correctly, the EQ
Peaks is a volatile read-only kcontrol which return 20 EQ peak values
from the 10-bands stereo hardware equalizer in au8810/au8830.
didn't know that, in the previous versions, i know that all these
peaks were listed as mono sliders, not partly mono and stereo...
The graphic equalizer in vortexcontrol use a timer callback to read and
display the EQ peaks when EQ Enable switch is on. (attached vc_eq.png)
vortexcontrol looks nice, from what alsa CVS package is that?
"vortexcontrol" (Vortex Control Panel) can be obtained from the support
page in openvortex
http://savannah.nongnu.org/support/?func=detailitem&item_id=103017
If your au8810/au8830 has stereo codec
speaker-test -c 2 -t 2 -f frequency
If your au8810/au8830 has quad codec
speaker-tet -c 4 -t 2 -f frequency
The graphic equalizer will show left and right EQ peak values in
different bands when you change the frequency , please note that only
front channels are connected to the equalizer.
Takashi Iwai wrote:
> At Wed, 8 Jun 2005 15:29:50 +0200,
> Alien wrote:
>
>>Op woensdag 8 juni 2005 14:12, schreef Takashi Iwai:
>>
>>>At Wed, 8 Jun 2005 13:13:46 +0200,
>>>
>>>Alien wrote:
>>>
>>>>>You don't need to define values if the static array is initialize to
>>>>>zero. In this case,
>>>>>
>>>>> static u16 eq_levels[64];
>>>>>
>>>>>would be better.
diff -Naur alsa-driver-1.0.9b/alsa-kernel/pci/au88x0_orig/au88x0_eq.c
alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_eq.c
--- alsa-driver-1.0.9b/alsa-kernel/pci/au88x0_orig/au88x0_eq.c
2005-06-12 08:01:13.000000000 +0800
+++ alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_eq.c
2005-06-15 15:15:28.000000000 +0800
@@ -149,26 +149,6 @@
*b = hwread(vortex->mmio, 0x2b3c8);
}
-static void vortex_EqHw_GetLeftCoefs(vortex_t * vortex, u16 a[])
-{
-
-}
-
-static void vortex_EqHw_GetRightCoefs(vortex_t * vortex, u16 a[])
-{
-
-}
-
-static void vortex_EqHw_GetLeftStates(vortex_t * vortex, u16 * a, u16 b[])
-{
-
-}
-
-static void vortex_EqHw_GetRightStates(vortex_t * vortex, u16 * a, u16 b[])
-{
-
-}
-
#endif
/* Mix Gains */
static void vortex_EqHw_SetBypassGain(vortex_t * vortex, u16 a, u16 b)
@@ -321,27 +301,26 @@
#endif
/* EQ band levels settings */
-static void vortex_EqHw_SetLevels(vortex_t * vortex, u16 peaks[])
+static void vortex_EqHw_SetLevels(vortex_t * vortex)
{
eqhw_t *eqhw = &(vortex->eq.this04);
int i;
/* set left peaks */
for (i = 0; i < eqhw->this04; i++) {
- hwwrite(vortex->mmio, 0x2b024 + i *
VORTEX_BAND_COEFF_SIZE, peaks[i]);
+ hwwrite(vortex->mmio, 0x2b024 + i *
VORTEX_BAND_COEFF_SIZE, 0);
}
- hwwrite(vortex->mmio, 0x2b3cc, peaks[eqhw->this04]);
- hwwrite(vortex->mmio, 0x2b3d8, peaks[eqhw->this04 + 1]);
+ hwwrite(vortex->mmio, 0x2b3cc, 0);
+ hwwrite(vortex->mmio, 0x2b3d8, 0);
/* set right peaks */
for (i = 0; i < eqhw->this04; i++) {
- hwwrite(vortex->mmio, 0x2b204 + i * VORTEX_BAND_COEFF_SIZE,
- peaks[i + (eqhw->this04 + 2)]);
+ hwwrite(vortex->mmio, 0x2b204 + i *
VORTEX_BAND_COEFF_SIZE, 0);
}
- hwwrite(vortex->mmio, 0x2b3e4, peaks[2 + (eqhw->this04 * 2)]);
- hwwrite(vortex->mmio, 0x2b3f0, peaks[3 + (eqhw->this04 * 2)]);
+ hwwrite(vortex->mmio, 0x2b3e4, 0);
+ hwwrite(vortex->mmio, 0x2b3f0, 0);
}
#if 0
@@ -377,7 +356,7 @@
#endif
/* Global Control */
-static void vortex_EqHw_SetControlReg(vortex_t * vortex, unsigned long reg)
+static void vortex_EqHw_SetControlReg(vortex_t * vortex, u32 reg)
{
hwwrite(vortex->mmio, 0x2b440, reg);
}
@@ -449,7 +428,7 @@
//vortex_EqHw_SetCurrA3DBypassGain(vortex, 0, 0);
vortex_EqHw_SetLeftStates(vortex, eq_states_zero,
asEqOutStateZeros);
vortex_EqHw_SetRightStates(vortex, eq_states_zero,
asEqOutStateZeros);
- vortex_EqHw_SetLevels(vortex, (u16 *) eq_levels);
+ vortex_EqHw_SetLevels(vortex);
}
/* Program coeficients as pass through */
@@ -608,7 +587,7 @@
unsigned long b)
{
eqlzr_t *eq = &(vortex->eq);
- int eax, ebx;
+ u32 eax, ebx;
eq->this58 = a;
eq->this5c = b;
@@ -624,7 +603,7 @@
static void vortex_Eqlzr_ProgramA3dBypassGain(vortex_t * vortex)
{
eqlzr_t *eq = &(vortex->eq);
- int eax, ebx;
+ u32 eax, ebx;
if (eq->this54)
eax = eq->this0e;
@@ -854,7 +833,7 @@
vortex_Eqlzr_GetAllPeaks(vortex, peaks, &count);
if (count != 20) {
- printk("vortex: peak count error 20 != %d \n", count);
+ printk(KERN_ERR "vortex: peak count error 20 != %d \n",
count);
return -1;
}
for (i = 0; i < 20; i++)
@@ -922,14 +901,6 @@
static int vortex_eq_free(vortex_t * vortex)
{
- /*
- //FIXME: segfault because vortex->eqctrl[i] == 4
- int i;
- for (i=0; i<10; i++) {
- if (vortex->eqctrl[i])
- snd_ctl_remove(vortex->card, vortex->eqctrl[i]);
- }
- */
vortex_Eqlzr_shutdown(vortex);
return 0;
}
diff -Naur
alsa-driver-1.0.9b/alsa-kernel/pci/au88x0_orig/au88x0_eqdata.c
alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_eqdata.c
--- alsa-driver-1.0.9b/alsa-kernel/pci/au88x0_orig/au88x0_eqdata.c
2005-06-12 08:01:13.000000000 +0800
+++ alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_eqdata.c
2005-06-12 11:04:37.000000000 +0800
@@ -102,11 +102,3 @@
0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000
};
-
-/*_rodataba0:*/
-static long eq_levels[32] = {
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
-};
diff -Naur alsa-driver-1.0.9b/alsa-kernel/pci/au88x0_orig/au88x0_eq.h
alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_eq.h
--- alsa-driver-1.0.9b/alsa-kernel/pci/au88x0_orig/au88x0_eq.h
2005-06-12 08:01:13.000000000 +0800
+++ alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_eq.h
2005-06-12 09:47:11.000000000 +0800
@@ -18,13 +18,13 @@
} auxxEqCoeffSet_t;
typedef struct {
- unsigned int *this00; /*CAsp4HwIO */
+// unsigned int *this00; /*CAsp4HwIO */
long this04; /* How many filters for each side
(default = 10) */
long this08; /* inited to cero. Stereo flag? */
} eqhw_t;
typedef struct {
- unsigned int *this00; /*CAsp4Core */
+// unsigned int *this00; /*CAsp4Core */
eqhw_t this04; /* CHwEq */
short this08; /* Bad codec flag ? SetBypassGain:
bypass gain */
short this0a;
address@hidden wrote:
A NOTE has been added to this issue.
======================================================================
<https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1025>
======================================================================
Reported By: Osiris
Assigned To: mjander
======================================================================
Project: ALSA - driver
Issue ID: 1025
Category: PCI - au88x0
Reproducibility: always
Severity: block
Priority: normal
Status: assigned
Distribution: Debian
Kernel Version: 2.6.11.6
======================================================================
Date Submitted: 03-30-2005 22:50 CEST
Last Modified: 04-04-2005 11:00 CEST
======================================================================
Summary: kernel panic when trying to load module snd-au8830
Description:
kernel panic occurs on boot when system tries to load kernel module for
Aureal Vortex 2. The same thing happens when driver is compiled into
kernel, not module
======================================================================
----------------------------------------------------------------------
Osiris - 04-03-05 21:16
----------------------------------------------------------------------
My computer's hardware configuration is:
AMD Athlon64 2800+ (runs in 64-bit mode)
512 Mb RAM
MB: Asus K8V (chipset - Via KT800)
Video: GeForceFX 5600 (Sparcle)
HDD: Maxtor Diamond Max 9 SATA
built-in soundcard is turned off in bios
Vortex2 driver is built into kernel (not as a module)
Here are kernel messages during boot:
ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 18(level, low)->IRQ177
Vortex: init....<1> Unable to handle kernel paging request at
ffffc20000754018
RIP:<ffffffff802a0dda>{vortex_core_init+42}
PGD 1ff12067 PUD 1ff11067 PMD 1fc8f067 PTE 0
Oops:0002 [1]
CPU 0
Modules linked in:
Pid:1, comm: swapper Not tainted 2.6.11.6
RIP:0010:[<ffffffff802a0dda>] <ffffffff802a0dda> {vortex_core_init+42}
RSP:0000:ffff8100018c3d98 EFLAGS:00010296
RAX:ffffc20000700000 RBX:ffff81001fda8000 RCX:00000000000927bf
RDX:ffffffff80429310 RSI:0000000000000000 RDI:0000000000000005
RBP:0000000000000000 R08:0000000000000008 R09:ffff8100018da120
R10:00000000ffffffff R11:0000000000000000 R12:00000000ffffffff
R13:ffff81001fd5fc00 R14:ffff8100018c3df0 R15:ffffffff8045bfb0
FS:0000000000000000(0000) GS:ffffffff804540c0(0000)
knlGS:0000000000000008
CS:0010 DS:0018 ES:0018 CR0:000000008005003b
CR2:ffffc20000754018 CR3:0000000000101000 CR4:00000000000006e0
Process swapper (pid:1, threadinfo ffff8100018c2000, task
ffff8100018c14d0)
Stack:ffff81001fd5fc00 ffff8100019e9000 ffff81001fda8000 ffffffff802a51d3
ffffffff803d8ce0 ffff81001fd5fc00 ffff8100019e9000 0000000000000000
0000ffffffff8010 ffffffff802a5328
Call trace: <ffffffff802a51d3> {snd_vortex_create+323}
<ffffffff802a5328> {snd_vortex_probe+120}
<ffffffff801ed1bd> {pci_device_probe_static+61}
<ffffffff801ed219> {__pci_device_probe+41}
<ffffffff801ed270> {pci_device_probe+48}
<ffffffff80245f5d> {driver_probe_device+77}
<ffffffff80246076> {driver_attach+70}
<ffffffff80246570> {bus_add_driver+144}
<ffffffff80246a92> {driver_register+50}
<ffffffff801ed516> {pci_register_driver+118}
<ffffffff8045c85a> {do_initcalls+106}
<ffffffff8010c07d> {init+45}
<ffffffff8010ebdb> {child_rip+8}
<ffffffff8010c050> {init+0}
<ffffffff8010ebd3> {child_rip+0}
Code 44 89 a0 18 40 05 00 e8 6a 89 e9 ff 48 8b 93 e8 40 00 00 b8
RIP <ffffffff802a0dda> {vortex_core_init+42} RSP <ffff8100018c3d98>
CR2: ffffc20000754018
<0> kernel panic - not syncing: Attempt to kill init!
the soundcard worked fine with kernel 2.6.10 (32bit) on the same machine
- [Openvortex-dev] Re: [ALSA - driver 0001025]: kernel panic when trying to load module snd-au8830,
Raymond <=