Re: [Jack-Devel] Can't bring F/P below 128
Nikos Chantziaras wrote:
> I was using a very old and very cheap Soundblaster Live 24-bit PCI.
> That card uses a CA0106 chip, ... in JACK (using JACK2 now), I could
> use an F/P setting of 64 without suffering from XRUNs.
>
> I recently got a new mainboard, which came with a recent on-board
> sound chip, an ALC892 from Realtek.
The interesting part is the HDA controller (part of the chipset).
> it's impossible to use 64 F/P on it. [...] It's not like I get too
> many XRUNs at 64 and lower, but rather I can't get anything else than
> just a static buzz noise.
It's likely that the HDA controller uses a larger burst size to save
power, and that it is too large for this small a period size. If I've
read the Intel documentation correctly, is uses packets of at most
128 *bytes*, so in theory, it should work. However, it might be
worthwhile to try reducing it. Please try the patch below.
Regards,
Clemens
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1428,6 +1428,8 @@ static int azx_setup_controller(struct azx *chip, struct azx_dev *azx_dev)
/* this value needs to be the same as the one programmed */
azx_sd_writew(azx_dev, SD_FORMAT, azx_dev->format_val);
+ azx_sd_writew(azx_dev, SD_FIFOSIZE, 0x1f);
+
/* program the stream LVI (last valid index) of the BDL */
azx_sd_writew(azx_dev, SD_LVI, azx_dev->frags - 1);
1324248850.12599_0.ltw:2,a <4EEE6EF5.4080202 at ladisch dot de>