1. 24 2月, 2012 2 次提交
  2. 07 8月, 2011 6 次提交
    • F
      viafb: get rid of the remaining modetable structure assumptions · 5dd72f12
      Florian Tobias Schandinat 提交于
      This patch removes the remaining places where assumptions about the
      structure of the modetable were made. Aside from some places where
      assumptions are made that certain modes are in the modetable the
      only code dealing with the modetable and not just a single mode is
      in viamode. This will allow chaniging the modetable and use other
      sources for videomodes like the subsystem or EDID.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      5dd72f12
    • F
      viafb: eliminate modetable dependancy of LCD modesetting · bfe7d5f9
      Florian Tobias Schandinat 提交于
      This patch removes the need for knowing the modetable structure
      within the LCD modesetting function. The magic 60Hz refresh rate was
      already there as always the first entry for a resolution was choosen
      based on the ascending refresh rate ordering in the modetable.
      For all but one this is at least 60Hz, if only higher frequencies
      available we choose those like the code before did. The exception is
      OLPC but that resolution has only one frequency so we get the same
      behaviour there as well.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      bfe7d5f9
    • F
      viafb: seperate hardware initialization · 4fbf4bfe
      Florian Tobias Schandinat 提交于
      This patch splits the hardware initialization out of the modesetting
      function which will make it easier to make it conditional and not
      require starting from scratch for every mode change, which is
      especially annoying in dual framebuffer mode.
      This required some minor reordering but it should not influence its
      functionality.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      4fbf4bfe
    • F
      viafb: use information in var for modesetting · ebb29fb4
      Florian Tobias Schandinat 提交于
      This patch starts to use the information in var for modesetting for
      CRT and DVI devices. This is the right thing as it allows us to use
      more generic modes than the ones predefined by VIA. We do not yet
      allow more generic modes as check_var still limits them to the
      predefined ones but with this patch applied it would be really easy
      to do so. A problem was VIAs SAMM mode as it has 2 different modes
      but just one frame buffer device. This is solved by creating a
      pseudo var which contains enough information to use it for
      modesetting. Hopefully one day we can use information in var for all
      modes that do not involve hardware scaling.
      Well I'd like to say that the chance of regressions is low but it is
      quite likely that the behaviour in some cases changed especially
      when SAMM is involved. I hope we made it better than before in
      particular the DVI frequency check was probably broken before and
      hopefully works better now.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      ebb29fb4
    • F
      viafb: eliminate viafb_get_pixclock · 42edcb16
      Florian Tobias Schandinat 提交于
      As there is only one user we can just insert the formula where
      needed. Avoids one lookup in the modetable and
      viafb_fill_var_timing_info does no longer depend on the modetable.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      42edcb16
    • F
      viafb: add new funcions to select a single mode · 94715ba9
      Florian Tobias Schandinat 提交于
      This patch introduces 2 new functions for selecting a single mode
      based on hres, vres and refresh rate and changes some uses to use
      those. The advantage is that it is less error prone than doing the
      selection based on refresh rate everywhere and allows replacing the
      modetable structure. This includes a little change that users may
      notice: If a refresh rate was given as module parameters but does
      not exist in the modetable prior to this patch a refresh rate of 60
      was assumed and after this patch the closest supported refresh rate
      to the one provided by the user is used.
      Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      94715ba9
  3. 05 8月, 2011 5 次提交
  4. 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
  5. 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
  6. 27 3月, 2011 1 次提交
  7. 26 3月, 2011 1 次提交
  8. 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
  9. 24 3月, 2011 4 次提交
  10. 23 3月, 2011 2 次提交
  11. 22 3月, 2011 3 次提交
  12. 17 3月, 2011 1 次提交
  13. 12 3月, 2011 4 次提交
  14. 10 3月, 2011 3 次提交
  15. 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
  16. 24 9月, 2010 2 次提交
    • 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