From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: ALSA on AMD64 with a 32-bit userspace Date: Fri, 13 May 2005 16:21:44 +0200 Message-ID: References: Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: Sender: alsa-devel-admin@lists.sourceforge.net Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: =?ISO-8859-1?Q?Istv=E1n_V=E1radi?= Cc: alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org Hi, thanks for the patches. At Fri, 22 Apr 2005 11:04:53 +0200, Istv=E1n V=E1radi wrote: >=20 > Hi, >=20 > I am using ALSA with a 64-bit AMD64 kernel (2.6.11) but with 32-bit > applications. While trying to use Rosegarden4 (with JACK and > Fluidsynth), I encountered some problems: >=20 > - some sequencer-related ioctl's did not work correctly because the > kernel member of seq_port_info structure was not initialized. I > attached a patch that initializes this to 0. Note that the 32bit-compat ioctl framework was majorly rewritten in the recent kernel, but this is still true for the old code remaining in alsa-driver tree. > - start the playback with snd_pcm_hw_start failed with -EPIPE, because > some pointers were not updated. I attached a patch for alsa-lib 1.0.8, > in which sync_ptr is called before SNDRV_PCM_IOCTL_START. It seems to > solve the problem, though I don't know alsa-lib enough to be sure that > this is the right solution... Your fix should be OK. It's harmless for non sync-ptr case, anyway. Both are applied to CVS now. > With these patches playback works, but JACK always reports xruns, > whereas there aren't any. I discovered that the xruns are detected in > the alsa_driver_wait function in alsa_driver.c (in JACK) returns 0, > because the snd_pcm_avail_update calls in that function return 0. > Putting sync_ptr into snd_pcm_avail_update does not seem to solve the > problem. Hmm, strange. Anyway, sync_ptr() is already there in snd_pcm_hw_avail_update() in the alsa-lib CVS version. So, it should be sync'ed before calculation of avail size. Takashi ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click