Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 May 2014 09:51:09 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        Ian Lepore <ian@FreeBSD.org>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>
Subject:   Re: USB isochronous traffic with Rasberry Pi [WAS: Re: USB audio device on Raspberry Pi]
Message-ID:  <536DDA6D.7060101@selasky.org>
In-Reply-To: <1399661378.22079.376.camel@revolution.hippie.lan>
References:  <20140425154430.GA76168@utility-01.thismonkey.com>	 <535A8AEA.1000100@selasky.org> <20140425204134.GA458@cicely7.cicely.de>	 <20140430091411.GA45015@utility-01.thismonkey.com>	 <5360C0A7.9010407@selasky.org>	 <1398867266.22079.51.camel@revolution.hippie.lan>	 <CAGW5k5bZ_bTQUXuzNm=tbwx3npz1_HoOR3vM8TBRVFs8zWCq-w@mail.gmail.com>	 <5362638B.1080104@selasky.org> <5363C133.2000304@selasky.org>	 <53677CB8.5000800@selasky.org>	 <CAJ-Vmo=XmH-RX6_i13NuAXhq-jTC%2BWedGiyOMJaPO4r014DSgw@mail.gmail.com>	 <1399303695.22079.239.camel@revolution.hippie.lan>	 <1399304157.22079.243.camel@revolution.hippie.lan>	 <CAJ-Vmok-%2B7%2Bcq%2BDa6_C2AA7BuP5readY_Gfwwm_RF5kh4VerQA@mail.gmail.com>	 <5368A93D.3070608@selasky.org> <5368AC03.8080401@selasky.org>	 <536CE5E9.8020408@selasky.org>	 <1399647986.22079.367.camel@revolution.hippie.lan>	 <536D0575.1040407@selasky.org> <1399661378.22079.376.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

I've made one more patch to the DWC OTG driver. Nice if you can test 
that too.

http://svnweb.freebsd.org/changeset/base/265806

BTW: I think I've found what is causing the glitches when using USB 
audio devices:

diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c
index 0490be7..de7f015 100644
--- a/sys/arm/arm/machdep.c
+++ b/sys/arm/arm/machdep.c
@@ -423,7 +423,7 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate)
  void
  cpu_idle(int busy)
  {
-
+#if 0
         CTR2(KTR_SPARE2, "cpu_idle(%d) at %d",
             busy, curcpu);
  #ifndef NO_EVENTTIMERS
@@ -442,6 +442,7 @@ cpu_idle(int busy)
  #endif
         CTR2(KTR_SPARE2, "cpu_idle(%d) at %d done",
             busy, curcpu);
+#endif
  }

  int


It appears that cpu_idle() is going to sleep when there are pending 
interrupts, and then waking up on the next timer IRQ! Can someone 
familiar with these parts of the kernel comment?

Please try for yourself, with and without the patch above, using an USB 
audio device with the RPI-B!

Still when the console is printing, there are significant glitches too 
:-) That's because the TTY layer is synchronously writing data to the 
serial line. That's OK for now.

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?536DDA6D.7060101>