1. 23 9月, 2009 5 次提交
    • H
      viafb: add support for the VX855 chipset · 0306ab11
      Harald Welte 提交于
      Add support for a new VIA integrated graphics chipset, the VX855.
      Signed-off-by: NHaraldWelte <HaraldWelte@viatech.com>
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Scott Fang <ScottFang@viatech.com.cn>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0306ab11
    • F
      viafb: hardware acceleration initialization cleanup · 31de59d5
      Florian Tobias Schandinat 提交于
      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: NFlorian 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      31de59d5
    • F
      viafb: improve pitch handling · 2d6e8851
      Florian Tobias Schandinat 提交于
      Split the pitch handling up and replaces the calculation from virtual xres
      and bpp with fix.line_length which already contains the pitch and does not
      add any constrains for the virtual resolution.
      
      Also add a bit to the second pitch which the documentation mentions but
      which was ignored by the driver.
      
      Although it is a bit unclear what the right pitch for some LCD modes is
      this patch should have no negative runtime impact.
      Signed-off-by: NFlorian 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d6e8851
    • F
      viafb: another small cleanup of viafb_par · 68fa9208
      Florian Tobias Schandinat 提交于
      This removes the completly useless io variable as well as the temporary
      used variables mmio_base and mmio_len in favor to use directly the fb_info
      variables.
      
      This is a code cleanup only, no runtime change expected.
      Signed-off-by: NFlorian 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      68fa9208
    • F
      viafb: split viafb_set_start_addr up · 09cf1180
      Florian Tobias Schandinat 提交于
      Move individual start address setting to viafb_set_primary_address and
      viafb_set_secondary_address and make it more flexible to reuse it for
      panning.  Using central functions makes it easier to follow HW
      manipulations.
      
      Remove crt locking as it should be only needed for timing manipulation.
      Move iga_path manipulation to via_pci_probe.
      
      Remove memset for screen cleaning as it is currently done only for the
      second screen.  This is not needed for normal operation but has a little
      chance of causing unwanted display artifacts.  This can be fixed later
      more consistent and more efficient (using viafb_fillrect) if needed.
      
      This is a code clenup, no notable runtime changes expected.
      Signed-off-by: NFlorian 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      09cf1180
  2. 17 10月, 2008 1 次提交