From owner-freebsd-multimedia@FreeBSD.ORG Thu Jun 28 14:29:03 2007 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 62EB816A469 for ; Thu, 28 Jun 2007 14:29:03 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe09.swip.net [212.247.155.1]) by mx1.freebsd.org (Postfix) with ESMTP id CE34513C46C for ; Thu, 28 Jun 2007 14:29:02 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [194.248.135.20] (account mc467741@c2i.net HELO laptop.lan) by mailfe09.swip.net (CommuniGate Pro SMTP 5.1.10) with ESMTPA id 362763096; Thu, 28 Jun 2007 16:29:00 +0200 From: Hans Petter Selasky To: Alexander Leidinger Date: Thu, 28 Jun 2007 16:28:59 +0200 User-Agent: KMail/1.9.5 References: <7FDFD29DD240104598AADEAF34F2730F94F1@ex1.gc.nat> <200706281244.28523.hselasky@c2i.net> <20070628130131.hinbxfi78k080ck8@webmail.leidinger.net> In-Reply-To: <20070628130131.hinbxfi78k080ck8@webmail.leidinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200706281628.59367.hselasky@c2i.net> Cc: freebsd-multimedia@freebsd.org, "Robin P. Blanchard" Subject: Re: RELENG_6 + usb audio ? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jun 2007 14:29:03 -0000 Hi Alexander, It is a problem in the USB code. Check all the "isoc.*enter" methods, and make sure that they look something like this: /* get the current frame index */ nframes = EOREAD4(sc, EHCI_FRINDEX) / 8; /* check if the frame index is within * the window where the frames will be * inserted */ buf_offset = (nframes - xfer->pipe->isoc_next) & (EHCI_VIRTUAL_FRAMELIST_COUNT-1); if ((LIST_FIRST(&(xfer->pipe->list_head)) == NULL) || (buf_offset < xfer->nframes)) { /* If there is data underflow or the pipe queue is * empty we schedule the transfer a few frames ahead * of the current frame position. Else two * isochronous transfers might overlap. */ xfer->pipe->isoc_next = (nframes + 3) & (EHCI_VIRTUAL_FRAMELIST_COUNT-1); DPRINTFN(2,("start next=%d\n", xfer->pipe->isoc_next)); } --HPS On Thursday 28 June 2007 13:01, Alexander Leidinger wrote: > Quoting Hans Petter Selasky (from Thu, 28 Jun 2007 > > 12:44:28 +0200): > > On Thursday 28 June 2007 11:40, Alexander Leidinger wrote: > >> Quoting Hans Petter Selasky (from Wed, 27 Jun 2007 > >> > >> 18:23:08 +0200): > >> > Hi, > >> > > >> > USB Audio works fine with my new USB stack, also called HPS USB stack. > >> > There are some problems with the official USB stack regarding > >> > isochronous transfers. > >> > >> Can you please be more specific? > > > > Yes, last time I checked, the start position where the isochronous > > transfers are inserted, was not updated properly when there was data > > underrun. > > Is this a problem in uaudio or in the USB code? If it is the former, > can you please point out the code in question in a way that someone > without knowledge of the USB system is able to fix this? If it is the > later, would you please tell Warner about it in a way that he can > investigate this (I'm sure you can tell if the fix is a > nearly-one-liner and where it needs to be done). We are approaching > the release of 7.0 and it would be nice if easy to fix bugs which are > known are fixed until then. > > > Secondly, full-duplex was not working with OHCI hardware, right? > > AFAIK: yes. This may or may not an issue in this case. > > Bye, > Alexander.