[alsa-devel] Testers wanted: New SB X-Fi driver
Takashi Iwai
tiwai at suse.de
Tue Jul 21 11:53:23 CEST 2009
At Sat, 4 Jul 2009 23:27:04 +0200,
Christian Esken wrote:
>
> Am Dienstag 30 Juni 2009 19:55:44 schrieb Matthias Diehl:
> > > At Tue, 30 Jun 2009 16:10:45 +0200,
> > >
> > > Matthias Diehl wrote:
> > > > hi,
> > > >
> > > > i guess you dont speak german, do you? well, i'll try it in
> > >
> > > english ;-)
> > >
> > > > i tried to install your newest x-fi "hack" in ubuntu 9.04 64bit.
>
> Interesting enough, I don't manage to get it working under 64 ("SuSE 11.1, 64
> Bit, Xen") bit either. Could you check if you also see something in your
> syslog (e.g. /var/log/messages) when running speaker-test ?
>
> When I tested the same on the same hardware on "Kubuntu Karmic alpha 2, 32
> bit", I get sound.
>
> It might be an indication of a either:
> - a 32/64 bit issue
> - the kernel version (Kubuntu karmic ships with 2.6.30)
> - Xen vs non-Xen
> - something else
The 64bit issue might depend on the card model.
Which model do you have? You can see in /proc/asound/cards.
What about the patch below?
Takashi
---
diff --git a/sound/pci/ctxfi/cthw20k1.c b/sound/pci/ctxfi/cthw20k1.c
index ad3e1d1..bab0203 100644
--- a/sound/pci/ctxfi/cthw20k1.c
+++ b/sound/pci/ctxfi/cthw20k1.c
@@ -1275,7 +1275,7 @@ static int hw_trn_init(struct hw *hw, const struct trn_conf *info)
trnctl = 0x13; /* 32-bit, 4k-size page */
ptp_phys_low = (u32)info->vm_pgt_phys;
ptp_phys_high = upper_32_bits(info->vm_pgt_phys);
- if (sizeof(void *) == 8) /* 64bit address */
+ if (ptp_phys_high) /* 64bit address */
trnctl |= (1 << 2);
#if 0 /* Only 4k h/w pages for simplicitiy */
#if PAGE_SIZE == 8192
diff --git a/sound/pci/ctxfi/cthw20k2.c b/sound/pci/ctxfi/cthw20k2.c
index 0c4db2d..269c7f1 100644
--- a/sound/pci/ctxfi/cthw20k2.c
+++ b/sound/pci/ctxfi/cthw20k2.c
@@ -1237,7 +1237,7 @@ static int hw_trn_init(struct hw *hw, const struct trn_conf *info)
vmctl = 0x80000C0F; /* 32-bit, 4k-size page */
ptp_phys_low = (u32)info->vm_pgt_phys;
ptp_phys_high = upper_32_bits(info->vm_pgt_phys);
- if (sizeof(void *) == 8) /* 64bit address */
+ if (ptp_phys_high) /* 64bit address */
vmctl |= (3 << 8);
/* Write page table physical address to all PTPAL registers */
for (i = 0; i < 64; i++) {
More information about the Alsa-devel
mailing list