On 2/04/2008, at 9:26 AM, Bob Tracy wrote:
Hugh said we could blame him or Nick for removing the special PageReserved usage, or the Alpha for ignoring gfp_flags in the following:
#define dma_alloc_coherent(dev, size, addr, gfp) \ pci_alloc_consistent(alpha_gendev_to_pci(dev), size, addr)
The workaround (until the official patch was issued) was a small patch against arch/alpha/kernel/pci_iommu.c:pci_alloc_consistent() that replaced "gfp_t gfp = GFP_ATOMIC;" with "gfp_t gfp = GFP_ATOMIC| __GFP_COMP;". That eliminated the "bad page state" errors for me, and I don't recall what the official patch was.
The official patch has just been uploaded to the -mm kernel. Get it at:
http://userweb.kernel.org/~akpm/mmotm/broken-out/alpha-fix-alsa-dma-mmap-cra...
It fixed up quite a number of sound playing applications that were causing kernel oops on my newer PWS600au (the older one still has problems that are of a completely different nature) and also fixed use of an M-Audio Revolution audio card on my XP1000.
The repeated small passages at the end of a short sound file still occurs with the es18xx driver on the newer PWS600au (and to a lesser extent on the Compaq XP1000). Other sound drivers (cmipci, ice1724) do not exhibit the same anomalous symptoms so the problem is probably in the es18xx driver.
The older PWS600au fails to play sound at all and exhibits the behaviour you described in a recent message (machine gun like noises and the interrupts don't clock up at all) with the es18xx driver. I tried to put the C-Media audio card (which uses the cmipci driver) into this machine, but SRM reports on powerup that there is an "illegal" card installed (I hope the police don't turn up at my door) and that it must be removed to continue booting!!! I tried setting pci_device_override to 1 in SRM, but that didn't help. So I can't verify whether this is an es18xx specific problem or a more general alsa problem.
Now that the crashes due to "bad page state" errors are solved on both of my PWS600aus, maybe I should start re-applying the es18xx interrupt type patches that Tyson, et al., suggested and see if they now make a difference. I will not be able to do this before the weekend.
Cheerz Michael.