Re: [RFC PATCH 0/2] usb: dwc2: Enable URB giveback in a tasklet context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux