15 Jan, 2012

1 commit

  • * 'fbdev-next' of git://github.com/schandinat/linux-2.6: (175 commits)
    module_param: make bool parameters really bool (drivers/video/i810)
    Revert "atmel_lcdfb: Adjust HFP calculation so it matches the manual."
    OMAPDSS: HDMI: Disable DDC internal pull up
    OMAPDSS: HDMI: Move duplicate code from boardfile
    OMAPDSS: add OrtusTech COM43H4M10XTC display support
    OMAP: DSS2: Support for UMSH-8173MD TFT panel
    ASoC: OMAP: HDMI: Move HDMI codec trigger function to generic HDMI driver
    OMAPDSS: HDMI: Create function to enable HDMI audio
    ASoC: OMAP: HDMI: Correct signature of ASoC functions
    ASoC: OMAP: HDMI: Introduce driver data for audio codec
    grvga: fix section mismatch warnings
    video: s3c-fb: Don't keep device runtime active when open
    video: s3c-fb: Hold runtime PM references when touching registers
    video: s3c-fb: Take a runtime PM reference when unblanked
    video: s3c-fb: Disable runtime PM in error paths from probe
    video: s3c-fb: Use s3c_fb_enable() to enable the framebuffer
    video: s3c-fb: Make runtime PM functional again
    drivers/video: fsl-diu-fb: merge fsl_diu_alloc() into map_video_memory()
    drivers/video: fsl-diu-fb: add default platform ops functions
    drivers/video: fsl-diu-fb: remove broken reference count enabling the display
    ...

    Linus Torvalds
     

13 Jan, 2012

1 commit


12 Nov, 2011

3 commits

  • Some Village Tronic Picasso IV graphics cards identify as a 64 MiB Zorro
    device in Zorro III mode.

    While the total graphics memory size is the same on such cards, the offset
    of the graphics memory differs. Add a quirk to handle this.

    Based on src/sys/arch/amiga/dev/grf_cl.c from NetBSD.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Jeff Garzik
    Signed-off-by: Florian Tobias Schandinat

    Geert Uytterhoeven
     
  • In Zorro II mode, the Village Tronic Picasso IV graphics card shows up as
    either 2 or 3 Zorro devices:
    - One for the registers of the Cirrus Logic graphics chip,
    - One for the first bank of 2 MiB of graphics memory,
    - An optional one for the second bank of 2 MiB of graphics memory,
    if there was enough free Zorro II address space.

    Based on src/sys/arch/amiga/dev/grf_cl.c from NetBSD.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Jeff Garzik
    Signed-off-by: Florian Tobias Schandinat

    Geert Uytterhoeven
     
  • As indicated by commit a7f4d00a82feb5b311f765bf9522bc55bee0684f ("zorro:
    Defer device_register() until all devices have been identified"), cirrusfb
    crashes if zorro_find_device() cannot find an expected device.

    Rewrite the Zorro device probe code to make it more robust, easier to
    understand, and more extensible.

    Other logical changes:
    - For cards that show up as 2 Zorro devices, autoprobe graphics memory
    sizes based on the size of the Zorro device containing the graphics
    memory.
    Acording to the NetBSD sources, this is safe.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Jeff Garzik
    Signed-off-by: Florian Tobias Schandinat

    Geert Uytterhoeven
     

18 May, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

14 Apr, 2009

1 commit


01 Apr, 2009

21 commits

  • Fix calculations of timings for interlaced modes.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Fix threshold register mask for Laguna chips otherwise some 8bpp modes are
    garbled after selecting a 24bpp mode.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Fix handling of the Cirrus Logic GD5434 chip. Distinguish this chip from the
    GD5430. It allows detecting memory size for both models correctly.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • A memory clock (MCLK) is set at various places. Move the setting into one
    place.

    Set the MCLK only for Zorro cards as the x86 cards should be initialized by
    BIOS.

    Improve handling of the GD5434 (SD64).

    Kill one annoying debug output "virtual offset: ...".

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Add an accelerator constant so almost all Cirrus are recognized as
    accelerators by the fbset command.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Cirrus' Alpine and Picasso4 chips uses DAC clock doubling to achieve full
    range of pixclock frequencies.

    [akpm@linux-foundation.org: fix spelling, use usual comment layout]
    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • The 32bpp is supported only on the latest Cirrus Logic chips. Use the
    24bpp which is supported at least since Alpine chips (GD543x).

    Change 32bpp mode setting to 24bpp mode. Change acceleration as well.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Various fixes to make Cirrus GD5446 chip work.

    Another Cirrus chip works with the cirrusfb. The gd5446 seems very
    similar to Alpine chips.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Balance iomap and iounmap and alloc and free calls in case of error druing
    device register (probing).

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Add hardware color expansion (imageblit) function. It roughly doubles
    scrolling speed of my Alpine card (GD5430).

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • - Fix color expansion for 16bpp and 32bpp modes in the
    cirrusfb_RectFill().

    - Make a function with a common blitter code (cirrusfb_set_blitter).

    - Add fb_sync function to allow a higher layer synchronize with the
    blitter.

    - Kill one redundant blitter reset.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • - The Laguna GD5465 (AGP) has one register more than non-AGP chips.
    Recognize the AGP version and write a tile control register only on the
    AGP version. Tested only on an AGP card.

    - Bump up RAMDAC frequencies after X11 code. This allow to drive a flat
    panel resolution 1680x1050 at 16bpp from the 4MB card.

    - Fix screen start address overflow bits on Laguna cards (CRT1D
    register).

    - Fix exit path in the cirrusfb_pci_register() in case of error.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Break cirrusfb_decode_var() function into two parts:
    cirrusfb_check_pixclock() which can be called from the
    cirrusfb_check_var() aand merge rest into the cirrusfb_set_par_foo().
    This allows rejecting modes with too high pixclock before before any
    change to hardware state (and a console is messed up).

    Also, fix RGB field's lengths for 8bpp modes to correct ones so X11 works
    with fbdev driver with cirrusfb.

    Kill some redundant function calls or register loads.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Fix 8bpp mode by adding handling of the Laguna chipsets to various places
    and stop trashing a HDR register which probably does not exist on the
    Laguna.

    Fix compilation warnings about uninitialized variables also.

    Finally, all 8bpp, 16bpp and 32bpp modes work on the Laguna chipset.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Various improvements to the code:
    - kill a structure with only one
    field: multiplexing and use the
    field directly
    - move the cirrusfb_ops structure
    down the file to kill forward
    declarations
    - move cirrusfb_init() to kill
    forward declaration
    - kill register loads done already
    in the init_vgachip()
    - kill assigments done by higher
    layer in the cirrusfb_pan_display()
    - do not overwrite line pitch bit in
    the CL_CRT1D register
    - kill btype variables if they were
    used only once or twice
    - add cpu_relax() in the busy waiting
    loop

    The fix to the CL_CRT1D register handling makess the 1024x768 32bpp mode
    work. Previously, only lower resolution modes have worked with 32bpp.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Use the 5-6-5 RGB mode instead of the 5-5-5 mode at 16bpp depth.

    It fixes colors in the 16bpp modes on Cirrus Laguna chips.

    Signed-off-by: Krzysztof Helt
    Cc: Geert Uytterhoeven
    Cc: Arthur Marsh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • A line length is calculated twice: first in the cirrusfb_decode_var() then
    in the cirrusfb_set_par_foo().

    Use the first calculated value. A nice side effect is that 32bpp mode
    works now.

    Signed-off-by: Krzysztof Helt
    Cc: Geert Uytterhoeven
    Cc: Arthur Marsh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • The Laguna chipsets use special registers which are available through the
    mmio area. The cirrusfb driver does not use memory mapped registers for
    the PCI cards.

    Add the memory mapped area for Laguna chipsets and add basic usage of the
    special Laguna registers after SVGALIB code.

    This gives readable console at 16bpp on the GD-5465 (Laguna AGP). The
    8bpp and 32bpp depths are still broken.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Add additional overflow register setting for Laguna chips.

    Also, simplify some code in the cirrusfb_pan_display() and
    cirrusfb_blank().

    Signed-off-by: Krzysztof Helt
    Cc: Geert Uytterhoeven

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Fix memory detection and clock setting for Cirrus Laguna chipsets
    (GD5464/GD5465). The changes are done after the Xorg code.

    The driver still does not display anything on the GD5465 but it switches
    resolutions correctly at least.

    Signed-off-by: Krzysztof Helt
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Convert all printks to dev_dbg, dev_info or dev_err. Kill some excessive
    debug information and code in the process.

    [akpm@linux-foundation.org: printk fixes]
    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: Krzysztof Helt
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     

20 Nov, 2008

1 commit

  • After commit a1d35a7a (cirrusfb: use modedb and add mode_option
    parameter), these variables are no longer used, so remove them to fix
    compilation warning.

    Signed-off-by: Vlada Periæ
    Acked-by: Krzysztof Helt
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vlada Peric
     

02 Nov, 2008

1 commit

  • cirrusfb_zorro_unmap() may be called both from __devexit and (on
    cleanup path) from __devinit. So it needs to be a normal function,
    same as for cirrusfb_pci_unmap()

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

17 Oct, 2008

9 commits