Skip to content
  1. Aug 06, 2013
    • popcornmix's avatar
      88ebb927
    • popcornmix's avatar
      sdhci-bcm2807: Increase sync_after_dma timeout · bfc96cee
      popcornmix authored
      The current timeout is being hit with some cards that complete successfully with a longer timeout.
      The timeout is not handled well, and is believed to be a code path that causes corruption.
      872a8ff7 suggests that crappy cards can take up to 3 seconds to respond
      bfc96cee
    • Gordon Hollingworth's avatar
      USB fix using a FIQ to implement split transactions · fac03c01
      Gordon Hollingworth authored
      This commit adds a FIQ implementaion that schedules
      the split transactions using a FIQ so we don't get
      held off by the interrupt latency of Linux
      fac03c01
    • Mike Bradley's avatar
      dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock held in completion handler · bc43f802
      Mike Bradley authored
      usb_hcd_unlink_urb_from_ep must be called with the HCD lock held.  Calling it
      asynchronously in the tasklet was not safe (regression in
      c4564d4a).
      
      This change unlinks it from the endpoint prior to queueing it for handling in
      the tasklet, and also adds a check to ensure the urb is OK to be unlinked
      before doing so.
      
      NULL pointer dereference kernel oopses had been observed in usb_hcd_giveback_urb
      when a USB device was unplugged/replugged during data transfer.  This effect
      was reproduced using automated USB port power control, hundreds of replug
      events were performed during active transfers to confirm that the problem was
      eliminated.
      bc43f802
    • Siarhei Siamashka's avatar
      bcm2708_fb: DMA acceleration for fb_copyarea · 428b68dc
      Siarhei Siamashka authored
      Based on http://www.raspberrypi.org/phpBB3/viewtopic.php?p=62425#p62425
      
      
      Also used Simon's dmaer_master module as a reference for tweaking DMA
      settings for better performance.
      
      For now busylooping only. IRQ support might be added later.
      With non-overclocked Raspberry Pi, the performance is ~360 MB/s
      for simple copy or ~260 MB/s for two-pass copy (used when dragging
      windows to the right).
      
      In the case of using DMA channel 0, the performance improves
      to ~440 MB/s.
      
      For comparison, VFP optimized CPU copy can only do ~114 MB/s in
      the same conditions (hindered by reading uncached source buffer).
      
      Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
      428b68dc
    • Siarhei Siamashka's avatar
      fbdev: add FBIOCOPYAREA ioctl · 6f75f225
      Siarhei Siamashka authored
      Based on the patch authored by Ali Gholami Rudi at
          https://lkml.org/lkml/2009/7/13/153
      
      
      
      Provide an ioctl for userspace applications, but only if this operation
      is hardware accelerated (otherwide it does not make any sense).
      
      Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
      6f75f225
    • Harm Hanemaaijer's avatar
      Speed up console framebuffer imageblit function · 78652370
      Harm Hanemaaijer authored
      
      
      Especially on platforms with a slower CPU but a relatively high
      framebuffer fill bandwidth, like current ARM devices, the existing
      console monochrome imageblit function used to draw console text is
      suboptimal for common pixel depths such as 16bpp and 32bpp. The existing
      code is quite general and can deal with several pixel depths. By creating
      special case functions for 16bpp and 32bpp, by far the most common pixel
      formats used on modern systems, a significant speed-up is attained
      which can be readily felt on ARM-based devices like the Raspberry Pi
      and the Allwinner platform, but should help any platform using the
      fb layer.
      
      The special case functions allow constant folding, eliminating a number
      of instructions including divide operations, and allow the use of an
      unrolled loop, eliminating instructions with a variable shift size,
      reducing source memory access instructions, and eliminating excessive
      branching. These unrolled loops also allow much better code optimization
      by the C compiler. The code that selects which optimized variant is used
      is also simplified, eliminating integer divide instructions.
      
      The speed-up, measured by timing 'cat file.txt' in the console, varies
      between 40% and 70%, when testing on the Raspberry Pi and Allwinner
      ARM-based platforms, depending on font size and the pixel depth, with
      the greater benefit for 32bpp.
      
      Signed-off-by: default avatarHarm Hanemaaijer <fgenfb@yahoo.com>
      78652370
    • popcornmix's avatar
      Avoid responding to unexpected I2C interrupts · c5f17ff6
      popcornmix authored
      c5f17ff6
    • popcornmix's avatar
      Only init gpio pins of selected i2c bus · 4f577522
      popcornmix authored
      4f577522
  2. May 31, 2013
  3. May 29, 2013
  4. May 17, 2013
  5. May 12, 2013