• Florian Tobias Schandinat's avatar
    viafb: hardware acceleration initialization cleanup · 31de59d5
    Florian Tobias Schandinat authored
    The main motivation of this patch was to merge the three initialization
    functions in one and clean it up. However as some changes in other code
    areas where needed to do it right some small other changes were made.
    
    Changes to viafb_par:
    
    io_virt renamed as engine_mmio and moved to shared
    VQ_start renamed as vq_vram_addr and moved to shared
    VQ_end removed as it is easily recalculatable
    
    vq_vram_addr is not strictly needed but keep it to track where we
    allocated video memory.  The memory allocated for the virtual queue was
    shrunk to VQ_SIZE as VQ_SIZE+CURSOR_SIZE looked like a bug to me.  But to
    be honest I don't have the faintest idea what virtual queues are for in
    the graphic hardware and whether the driver needs them in any way.  I only
    know that they aren't directly accessed by the driver and so the only
    potential current use would be as hardware internal buffers.  For now keep
    them to avoid regressions and only remove the double cursor allocation.
    
    The most changes were caused by renames and the mentioned structure
    changes so the chance of regressions is pretty low.  The meaning of
    viafb_accel changed slightly as previously it was changed back and forth
    in the code and allowed to enable the hardware acceleration by software if
    previously disabled.  The new behaviour is that viafb_accel=0 always
    prevents hardware acceleration.  With viafb_accel!=0 the acceleration can
    be freely choosen by set_var.  This means viafb_accel is a diagnostic tool
    and if someone has to use viafb_accel=0 the driver needs to be fixed.
    
    As this is mostly a code cleanup no regressions beside the slightly change
    of viafb_accel is expected.
    Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
    Cc: Scott Fang <ScottFang@viatech.com.cn>
    Cc: Joseph Chan <JosephChan@via.com.tw>
    Cc: Harald Welte <laforge@gnumonks.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    31de59d5
viafbdev.c 62.5 KB