Hi, On Tue, Sep 16, 2014 at 08:35:17AM +0800, Ming Lei wrote: > On Tue, Sep 16, 2014 at 7:16 AM, Paul Zimmerman > <Paul.Zimmerman@xxxxxxxxxxxx> wrote: > >> From: dinguyen@xxxxxxxxxxxxxxxxxxxxx [mailto:dinguyen@xxxxxxxxxxxxxxxxxxxxx] > >> Sent: Monday, September 15, 2014 8:23 AM > >> > >> Hi Ming-Lei, > >> > >> Thanks for your patch to enable the URB giveback in a tasklet context for > >> the EHCI driver. I found your patch to fix a USB webcam timeout/stutter > >> issue on the DWC2 HCD in the SOCFPGA platform. > >> > >> However, I need your help trying to figure out why I need the 2nd patch to > >> get your URB giveback patch to fully work. > >> > >> I enable tracepoints in the dwc2 dwc2_handle_hcd_intr for irq:irq_handler_entry > >> and irq:irq_handler_exit. However, I did not see any measurable differences > >> between enabling HCD_BH and no enabling HCD_BH. But I am able to get a full > >> image from a webcam with the following 2 patches, and timeouts/green screen > >> without the 2 patches. > >> > >> I am using a Logitech HD C270 webcam. > >> > >> Opening video decoder: [raw] RAW Uncompressed Video > >> Movie-Aspect is undefined - no prescaling applied. > >> VO: [sdl] 640x480 => 640x480 Packed YUY2 > >> Selected video codec: [rawyuy2] vfm: raw (RAW YUY2) > >> > >> Can you provide any comments on the following issues: > >> > >> 1) Am I placing the tracepoints in the right place for this non-ehci hcd? > >> 2) I don't quite understand why removing local_irq_save/local_irq_restore > >> around the the complete makes the webcam work? > >> > >> Thanks in advance for your comments. > > > > Hi Dinh, > > > > I'm not Ming, but I can hazard a guess why you are seeing this issue. > > > > The webcam driver is likely doing a lot of processing in the ->complete this is correct, yes. > > callback. With local interrupts disabled, this probably causes too long > > of a delay in handling other interrupts. Since the SOCFPGA platform is > > a uniprocessor (I think), there is no other CPU to handle the other > > interrupts. > > Per my previous observation, on some ARM platforms it is extremely > slow to memcpy to DMA coherent buffer, which is used in uvcvideo > at default. I remember Pandaboard should be one such platform. you remember correctly ;-) -- balbi
Attachment:
signature.asc
Description: Digital signature