22 Nov, 2011

1 commit

  • While the OLPC display appears to be able to handle either positive
    or negative sync, the Display Controller only recognises positive sync.

    This brings viafb (for XO-1.5) in line with lxfb (for XO-1) and
    fixes a recent regression where the XO-1.5 DCON could no longer be
    frozen. Thanks to Florian Tobias Schandinat for helping identify
    the fix.

    Test case: from a vt,
    echo 1 > /sys/devices/platform/dcon/freeze
    should cause the current screen contents to freeze, rather than garbage being
    displayed.

    Signed-off-by: Daniel Drake
    Signed-off-by: Florian Tobias Schandinat
    Cc: stable@kernel.org

    Daniel Drake
     

01 Nov, 2011

1 commit


18 Aug, 2011

2 commits


07 Aug, 2011

7 commits

  • 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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    Florian Tobias Schandinat
     
  • drivers/video/via/via-core.c: In function 'via_pci_probe':
    drivers/video/via/via-core.c:691: warning: assignment discards qualifiers from pointer target type

    Signed-off-by: Wang Shaoyan
    Signed-off-by: Florian Tobias Schandinat

    Wang Shaoyan
     

05 Aug, 2011

6 commits


17 Jul, 2011

1 commit

  • This patch adds checks for minimum and maximum pitch size to prevent
    invalid settings which could otherwise crash the machine. Also the
    alignment is done in a slightly more readable way.

    Signed-off-by: Florian Tobias Schandinat
    Cc: stable@kernel.org

    Florian Tobias Schandinat
     

27 Jun, 2011

1 commit


28 May, 2011

1 commit


27 May, 2011

1 commit

  • * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6:
    gpio/via: rename VIA local config struct
    basic_mmio_gpio: split into a gpio library and platform device
    gpio: remove some legacy comments in build files
    gpio: add trace events for setting direction and value
    gpio/pca953x: Use handle_simple_irq instead of handle_edge_irq
    gpiolib: export gpiochip_find
    gpio: remove redundant Kconfig depends on GPIOLIB
    basic_mmio_gpio: convert to non-__raw* accessors
    basic_mmio_gpio: support direction registers
    basic_mmio_gpio: support different input/output registers
    basic_mmio_gpio: detect output method at probe time
    basic_mmio_gpio: request register regions
    basic_mmio_gpio: allow overriding number of gpio
    basic_mmio_gpio: convert to platform_{get,set}_drvdata()
    basic_mmio_gpio: remove runtime width/endianness evaluation

    Linus Torvalds
     

23 May, 2011

1 commit

  • * 'viafb-next' of git://github.com/schandinat/linux-2.6: (24 commits)
    viafb: Automatic OLPC XO-1.5 configuration
    viafb: remove unused CEA mode
    viafb: try to map less memory in case of failure
    viafb: use write combining for video ram
    viafb: add X server compatibility mode
    viafb: reduce OLPC refresh a bit
    viafb: fix OLPC XO 1.5 device connection
    viafb: fix OLPC DCON refresh rate
    viafb: delete clock and PLL initialization
    viafb: replace custom return values
    viafb: some small cleanup for global variables
    viafb: gather common good, old VGA initialization in one place
    viafb: add engine clock support
    viafb: add VIA slapping capability
    viafb: split clock and PLL code to an extra file
    viafb: add primary/secondary clock on/off switches
    viafb: add clock source selection and PLL power management support
    viafb: prepare for PLL separation
    viafb: call viafb_get_clk_value only in viafb_set_vclock
    viafb: remove unused max_hres/vres
    ...

    Linus Torvalds
     

20 May, 2011

1 commit


11 May, 2011

1 commit

  • Currently, a long set of viafb options are needed to get the XO-1.5
    laptop to output video (there is only 1 configuration that works, that
    can't really be autodetected).

    This patch automatically detects and configures viafb for the XO-1.5
    laptop, meaning all that is required for working display is that
    viafb is loaded.

    Signed-off-by: Daniel Drake
    Signed-off-by: Florian Tobias Schandinat

    Daniel Drake
     

26 Apr, 2011

2 commits


25 Apr, 2011

1 commit


24 Apr, 2011

5 commits

  • Conflicts:
    drivers/video/via/viamode.c

    Signed-off-by: Florian Tobias Schandinat

    Florian Tobias Schandinat
     
  • 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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    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: Florian Tobias Schandinat

    Florian Tobias Schandinat
     

16 Apr, 2011

1 commit

  • This patch fixes a regression introduced by
    fd3cc69848b7e1873e5f12bbcdd572b20277ecf3a
    "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: Florian Tobias Schandinat
    Reported-by: Daniel Drake

    Florian Tobias Schandinat
     

08 Apr, 2011

1 commit

  • …l/git/lethal/fbdev-2.6

    * 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6:
    efifb: Add override for 11" Macbook Air 3,1
    efifb: Support overriding fields FW tells us with the DMI data.
    fb: Reduce priority of resource conflict message
    savagefb: Remove obsolete else clause in savage_setup_i2c_bus
    savagefb: Set up I2C based on chip family instead of card id
    savagefb: Replace magic register address with define
    drivers/video/bfin-lq035q1-fb.c: introduce missing kfree
    video: s3c-fb: fix checkpatch errors and warning
    efifb: support AMD Radeon HD 6490
    s3fb: fix Virge/GX2
    fbcon: Remove unused 'display *p' variable from fb_flashcursor()
    fbdev: sh_mobile_lcdcfb: fix module lock acquisition
    fbdev: sh_mobile_lcdcfb: add blanking support
    viafb: initialize margins correct
    viafb: refresh rate bug collection
    sh: mach-ap325rxa: move backlight control code
    sh: mach-ecovec24: support for main lcd backlight

    Linus Torvalds
     

01 Apr, 2011

1 commit


31 Mar, 2011

1 commit


27 Mar, 2011

3 commits


26 Mar, 2011

1 commit