1. 05 8月, 2011 2 次提交
  2. 24 4月, 2011 3 次提交
    • F
      viafb: add X server compatibility mode · 2946294f
      Florian Tobias Schandinat 提交于
      This patch adds a config option to be compatible with X servers like
      OpenChrome. This is required as for example the X server does not
      handle things like disabled IGAs/PLLs resulting in a potential
      freeze on X startup. With this option disabled we can provide some
      nice features like power management and not reinitializing the
      hardware on every mode switch (taking long time, causing flickering).
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      2946294f
    • F
      viafb: reduce OLPC refresh a bit · c5a4e6d7
      Florian Tobias Schandinat 提交于
      When allowing some PLL calculation we get a frequency that seems to
      be a bit higher than what the OLPC DCON likes resulting in a still
      readable but not so good image. We don't really know whether this is
      a problem with the calculation formula or the OLPC but as other
      displays seem to be happy with the other modes adjusting the OLPC
      refresh looks like the better thing. This patch prevents a
      regression when dynamic PLL calculation is allowed.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      c5a4e6d7
    • F
      viafb: fix OLPC XO 1.5 device connection · 32fab7bc
      Florian Tobias Schandinat 提交于
      This patch fixes the devices connected on OLPC. The OLPC panel seems
      to be connected to DVP1 and LVDS2 for some reasons and if not both
      are handled correct the display does not work correct or not at all.
      This patch prevents regressions on the OLPC where it worked by
      accident but would break in future as the driver did not know the
      correct devices connected. This might also fix hardware scaling.
      Hopefully the OLPC is the only device with such a requirement but it
      will be certainly better to actually know what devices are actually
      connected and to not work by accident.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      32fab7bc
  3. 16 4月, 2011 1 次提交
    • F
      viafb: fix OLPC DCON refresh rate · b4ce6a28
      Florian Tobias Schandinat 提交于
      This patch fixes a regression introduced by
      	fd3cc698a
      	"viafb: remove duplicated clock storage"
      caused by an incosistent mode which pretended to have a higher
      refresh rate than it actually had. The wrong refresh rate resulted
      in a calculated higher pixclock which the OLPC DCON could not handle.
      By reducing the refresh rate to 50Hz we get close to the old
      pixclock which makes the OLPC display usable again.
      Minor other adjustments are needed as 60Hz is assumed to be a safe
      value which is not true for OLPC DCON. This is no problem as we only
      support 1200x900 on the OLPC.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Reported-by: NDaniel Drake <dsd@laptop.org>
      b4ce6a28
  4. 27 3月, 2011 1 次提交
  5. 26 3月, 2011 1 次提交
  6. 25 3月, 2011 1 次提交
    • F
      viafb: add VIA slapping capability · b692a63a
      Florian Tobias Schandinat 提交于
      This patch introduces dummy functions to execute when we don't know
      what we should do (due to missing documentation). They do nothing
      but print a nice message in the log explaining the situation.
      To trigger this message initial power management support is
      activated which might save a bit energy by disabling PLL and clock
      if no device is configured to use them.
      
      Note: The message is only shown for the oldest IGPs CLE266 and K400
            as for the other platforms there are reasonable assumptions
            how it does (hopefully) work.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      b692a63a
  7. 24 3月, 2011 4 次提交
  8. 23 3月, 2011 2 次提交
  9. 22 3月, 2011 3 次提交
  10. 17 3月, 2011 1 次提交
  11. 12 3月, 2011 4 次提交
  12. 10 3月, 2011 3 次提交
  13. 24 10月, 2010 1 次提交
    • F
      viafb: add initial VX900 support · 51f4332b
      Florian Tobias Schandinat 提交于
      This patch adds basic support for the new VX900 IGP. Almost everything
      that was implemented for other IGPs is expected to work also on VX900
      after this patch. The only known issue is that on the CRT output mode
      setting does not always work.
      It is clear that the possibility for regressions is zero.
      
      A big thanks to VIA Technologies for making this possible and
      supporting this work.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Jonathan Corbet <corbet@lwn.net>
      51f4332b
  14. 24 9月, 2010 13 次提交
    • F
      viafb: rename output devices · a2aa9f9f
      Florian Tobias Schandinat 提交于
      Now it looks like we finally know enough about the output devices to give
      them proper names. As VIA_96 is often referred to as DVP0 rename it to
      VIA_DVP0. As VIA_6C and VIA_93 seem to exist only on CLE266 and "replace"
      DVP0 and DVP1 there rename them to VIA_LDVP0 and VIA_LDVP1 (L as legacy).
      The proc names were changed accordingly which should be harmless as they
      were just introduced and not beyond RFC state.
      This patch should make things a bit more comfortable and less scary.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Acked-by: NJonathan Corbet <corbet@lwn.net>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      a2aa9f9f
    • F
      viafb: set sync polarity for all output devices · 2e1abbdd
      Florian Tobias Schandinat 提交于
      This patch sets the sync polarity for all output devices, not only CRT.
      This may give some people a working screen but only if lcd scaling and
      centering are not used as it is currently too dificult to propagate a
      different resolution (from what the application thinks) to the correct
      output device. Hopefully this does not introduce regressions as the
      polarity of non-CRT devices was completly ignored before.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      2e1abbdd
    • F
      viafb: add function to change sync polarity per device · 7f0e153e
      Florian Tobias Schandinat 提交于
      At the moment only the sync polarity for CRT is handled but there are
      also bits for controlling the sync polarity for other output devices.
      Add a function to change those similar to the other output device
      functions.
      There is no runtime change yet as the code still handles only CRT.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      7f0e153e
    • F
      viafb: introduce per output device power management · 6f9422d4
      Florian Tobias Schandinat 提交于
      This patch moves common parts of dvi.c, lcd.c and vt1636.c to hw.c to
      start a per output device power management. There should be no runtime
      changes aside that this patch enables the proc interface to enable/disable
      devices when needed which greatly increases the chances that changes to
      the output device configuration will work. However the power management is
      not yet complete so it might fail on some configurations. As this area is
      quite complex and touches undocumented things there is a slight chance of
      regressions.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      6f9422d4
    • F
      viafb: add interface for output device configuration · 2a918392
      Florian Tobias Schandinat 提交于
      This patch extends the proc entry to contain a possibility to view and
      change the output devices for each IGA. This is useful for debugging
      output problems as it provides a reliable way to query which low level
      devices are active after VIAs output device configuration nightmare
      happended. It's as well suitable for daily use as one can change the
      output configuration on the fly for example to connect a projector.
      At the moment it's still unstable. The reason is that we have to handle
      a bunch of undocumented output devices (those without a proper name) and
      that this patch is the first step to collect and verify the needed
      information. Basically the only configuration change that is expected to
      work at the moment is switching output devices between IGA1 and IGA2.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Acked-by: NJonathan Corbet <corbet@lwn.net>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      2a918392
    • F
      viafb: merge the remaining output path with enable functions · cd7e9103
      Florian Tobias Schandinat 提交于
      This patch merges the remaining functionality of the output path
      function in the associated enabling functions. This is very natural as
      most of the remaining code does actually enable the device.
      Just some more or less intelligent code merge. If no stupid mistakes
      occured there should be no regressions.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      cd7e9103
    • F
      viafb: use new device routing · bc684887
      Florian Tobias Schandinat 提交于
      This patch uses the iga{1,2}_devices variables to select which IGA
      should be the source. Doing this is convinient, more powerfull
      than the older scheme and easy extendable to support further output
      devices. It is not yet completed as the device on/off selection needs
      to be converted to the same scheme to take full advantage.
      No visible changes yet as we want to complete the transition before
      anouncing any unstabke interface.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      bc684887
    • F
      viafb: add new output device management · 18d9dc08
      Florian Tobias Schandinat 提交于
      This patch adds a new output device management that stores for each
      IGA which output devices are routed to it and a compatiblity layer
      that converts the old per-output device values in the new format.
      Bounding the output devices to each IGA is a central idea of the
      cleanup. Doing it this way should be easier and make much more sense
      than the old format which happily mixed different output devices
      together and did not even take into account that some devices are no
      longer available on newer chipsets.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      18d9dc08
    • F
      viafb: reduce viafb_set_iga_path usage · 661c65cd
      Florian Tobias Schandinat 提交于
      The result of viafb_set_iga_path can change after init only in the
      hotplug ioctl. So we can move it there rather than doing it always
      when a new mode is set. The setup during init is done via a call
      from the init chip funtion.
      This change enables a stable mapping between the old device scheme
      and a new more powerfull one.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      661c65cd
    • F
      viafb: propagate __init and __devinit · f4ab2f7a
      Florian Tobias Schandinat 提交于
      There are a lot of init functions which are not marked as such.
      Fix this.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      f4ab2f7a
    • F
      viafb: rework output device routing · a54be174
      Florian Tobias Schandinat 提交于
      This patch rips the device routing out of the 3 main functions to
      separate functions to make them available for transition to a better
      controlling scheme.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      a54be174
    • F
      viafb: enable second display channel at central place · b002741d
      Florian Tobias Schandinat 提交于
      Move the enabling of the second display channel to the generic
      output routing function and do it exactly if something is using it.
      This unifies a zoo of variants how to do it and does no longer
      disable it if LCD is not on the second display which is much saner
      as there can be other users who need it. Probably this did not cause
      any problems so far as we only recently started dual fb support and
      otherwise there won't be other users and LCD is preferred assigned to
      second display channel.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      b002741d
    • F
      viafb: unify output path configuration · 414d3ce1
      Florian Tobias Schandinat 提交于
      Move all output path routing directly in the viafb_setmode. This
      gives a better overview and allows to factor similar parts out.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      414d3ce1