• P
    bcm2708 framebuffer driver · 38a1e371
    popcornmix 提交于
    raspberrypi inclusion
    category: feature
    bugzilla: 50432
    
    --------------------------------
    Signed-off-by: Npopcornmix <popcornmix@gmail.com>
    
    bcm2708_fb : Implement blanking support using the mailbox property interface
    
    bcm2708_fb: Add pan and vsync controls
    
    bcm2708_fb: DMA acceleration for fb_copyarea
    
    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: NSiarhei Siamashka <siarhei.siamashka@gmail.com>
    
    bcm2708_fb: report number of dma copies
    
    Add a counter (exported via debugfs) reporting the
    number of dma copies that the framebuffer driver
    has done, in order to help evaluate different
    optimization strategies.
    Signed-off-by: NLuke Diamand <luked@broadcom.com>
    
    bcm2708_fb: use IRQ for DMA copies
    
    The copyarea ioctl() uses DMA to speed things along. This
    was busy-waiting for completion. This change supports using
    an interrupt instead for larger transfers. For small
    transfers, busy-waiting is still likely to be faster.
    Signed-off-by: NLuke Diamand <luke@diamand.org>
    
    bcm2708: Make ioctl logging quieter
    
    video: fbdev: bcm2708_fb: Don't panic on error
    
    No need to panic the kernel if the video driver fails.
    Just print a message and return an error.
    Signed-off-by: NNoralf Trønnes <noralf@tronnes.org>
    
    fbdev: bcm2708_fb: Add ARCH_BCM2835 support
    
    Add Device Tree support.
    Pass the device to dma_alloc_coherent() in order to get the
    correct bus address on ARCH_BCM2835.
    Use the new DMA legacy API header file.
    Including <mach/platform.h> is not necessary.
    Signed-off-by: NNoralf Trønnes <noralf@tronnes.org>
    
    BCM270x_DT: Add bcm2708-fb device
    
    Add bcm2708-fb to Device Tree and don't add the
    platform device when booting in DT mode.
    Signed-off-by: NNoralf Trønnes <noralf@tronnes.org>
    
    Cleanup of bcm2708_fb file to kernel coding standards
    
    Some minor change to function - remove a use of
    in_atomic, plus replacing various debug messages
    that manually specify the function name with
    ("%s",.__func__)
    Signed-off-by: NJames Hughes <james.hughes@raspberrypi.org>
    
    video: bcm2708_fb: Try allocating on the ARM and passing to VPU
    
    Currently the VPU allocates the contiguous buffer for the
    framebuffer.
    Try an alternate path first where we use dma_alloc_coherent
    and pass the buffer to the VPU. Should the VPU firmware not
    support that path, then free the buffer and revert to the
    old behaviour of using the VPU allocation.
    Signed-off-by: NDave Stevenson <dave.stevenson@raspberrypi.org>
    Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
    Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
    38a1e371
raspberrypi-firmware.h 7.9 KB