17 Apr, 2014

1 commit

  • The drivers/video directory is a mess. It contains generic video related
    files, directories for backlight, console, linux logo, lots of fbdev
    device drivers, fbdev framework files.

    Make some order into the chaos by creating drivers/video/fbdev
    directory, and move all fbdev related files there.

    No functionality is changed, although I guess it is possible that some
    subtle Makefile build order related issue could be created by this
    patch.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Laurent Pinchart
    Acked-by: Geert Uytterhoeven
    Acked-by: Rob Clark
    Acked-by: Jingoo Han
    Acked-by: Daniel Vetter

    Tomi Valkeinen
     

11 Feb, 2014

1 commit

  • When FB_EVENT_FB_UNBIND is sent, fbcon has two paths, one path taken
    when there is another frame buffer to switch any affected vcs to and
    another path when there isn't.

    In the case where there is another frame buffer to use,
    fbcon_fb_unbind calls set_con2fb_map to remap all of the affected vcs
    to the replacement frame buffer. set_con2fb_map will eventually call
    con2fb_release_oldinfo when the last vcs gets unmapped from the old
    frame buffer.

    con2fb_release_oldinfo frees the fbcon data that is hooked off of the
    fb_info structure, including the cursor timer.

    In the case where there isn't another frame buffer to use,
    fbcon_fb_unbind simply calls fbcon_unbind, which doesn't clear the
    con2fb_map or free the fbcon data hooked from the fb_info
    structure. In particular, it doesn't stop the cursor blink timer. When
    the fb_info structure is then freed, we end up with a timer queue
    pointing into freed memory and "bad things" start happening.

    This patch first changes con2fb_release_oldinfo so that it can take a
    NULL pointer for the new frame buffer, but still does all of the
    deallocation and cursor timer cleanup.

    Finally, the patch tries to replicate some of what set_con2fb_map does
    by clearing the con2fb_map for the affected vcs and calling the
    modified con2fb_release_info function to clean up the fb_info structure.

    Signed-off-by: Keith Packard
    Signed-off-by: Tomi Valkeinen

    Keith Packard
     

03 Feb, 2014

1 commit

  • The built-in ROM fonts lack many necessary ASCII characters, which is
    why it makes sens to prefer the Linux fonts instead if they are
    available. This makes consoles on STI graphics cards which are not
    supported by the stifb driver (e.g. Visualize FXe) looks much nicer.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # v3.13

    Helge Deller
     

17 Jan, 2014

3 commits

  • arm64 is unlikely to have a VGA console and does not export screen_info
    causing build failures if the driver is build, for example in all*config.
    Add a dependency on !ARM64 to prevent this.

    This list is getting quite long, it may be easier to depend on a symbol
    which architectures that do support the driver can select.

    Signed-off-by: Mark Brown
    [tomi.valkeinen@ti.com: moved && to first modified line]
    Signed-off-by: Tomi Valkeinen

    Mark Brown
     
  • kmemleak reported a memory leak as below.

    unreferenced object 0xffff880036ca84c0 (size 16):
    comm "swapper/0", pid 1, jiffies 4294877407 (age 4434.633s)
    hex dump (first 16 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ................
    backtrace:
    [] kmemleak_alloc+0x4e/0xb0
    [] __kmalloc+0x1fc/0x290
    [] bit_cursor+0x24e/0x6c0
    [] fbcon_cursor+0x154/0x1d0
    [] hide_cursor+0x28/0xa0
    [] update_region+0x6f/0x90
    [] fbcon_switch+0x518/0x550
    [] redraw_screen+0x189/0x240
    [] do_bind_con_driver+0x360/0x380
    [] do_take_over_console+0x114/0x1c0
    [] do_fbcon_takeover+0x63/0xd0
    [] fbcon_event_notify+0x605/0x720
    [] notifier_call_chain+0x4c/0x70
    [] __blocking_notifier_call_chain+0x4d/0x70
    [] blocking_notifier_call_chain+0x16/0x20
    [] fb_notifier_call_chain+0x1b/0x20

    In this case ops->cursor_state.mask is allocated in bit_cursor() but
    not freed in fbcon_exit(). So, fbcon_exit() needs to free buffer in its
    process.
    In the case, fbcon_exit() was called from fbcon_deinit() when driver
    called remove_conflicting_framebuffers().

    Signed-off-by: Masami Ichikawa
    Signed-off-by: Tomi Valkeinen

    Masami Ichikawa
     
  • Break out as soon as we find a mapped entry con2fb_map.

    Signed-off-by: Wang YanQing
    Signed-off-by: Tomi Valkeinen

    Wang YanQing
     

08 Nov, 2013

1 commit

  • STI text console (sticon) was broken on 64bit machines with more than
    4GB RAM and this lead in some cases to a kernel crash.

    Since sticon uses the 32bit STI API it needs to keep pointers to memory
    below 4GB. But on a 64bit kernel some memory regions (e.g. the kernel
    stack) might be above 4GB which then may crash the kernel in the STI
    functions.

    Additionally sticon didn't selected the built-in framebuffer fonts by
    default. This is now fixed.

    On a side-note: Theoretically we could enhance the sticon driver to
    use the 64bit STI API. But - beside the fact that some machines don't
    provide a 64bit STI ROM - this would just add complexity.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # 3.8+

    Helge Deller
     

03 Aug, 2013

1 commit

  • fbdev provides framebuffer hotplugging, hence, we need to allow fbcon to
    unbind from framebuffers. Unfortunately, fbcon_fb_unbind() cannot unbind
    from the last framebuffer, unless console-unbinding is supported.

    Fixing fbcon_unbind() to return 0 caused some horrible NULL-derefs in the
    VT layer and I couldn't figure out why. Hence, lets just require
    console-unbinding so fbdev hotplugging works with fbcon.

    Signed-off-by: David Herrmann
    Link: http://lkml.kernel.org/r/1375445127-15480-9-git-send-email-dh.herrmann@gmail.com
    Signed-off-by: H. Peter Anvin

    David Herrmann
     

10 Jul, 2013

1 commit

  • Pull drm updates from Dave Airlie:
    "Okay this is the big one, I was stalled on the fbdev pull req as I
    stupidly let fbdev guys merge a patch I required to fix a warning with
    some patches I had, they ended up merging the patch from the wrong
    place, but the warning should be fixed. In future I'll just take the
    patch myself!

    Outside drm:

    There are some snd changes for the HDMI audio interactions on haswell,
    they've been acked for inclusion via my tree. This relies on the
    wound/wait tree from Ingo which is already merged.

    Major changes:

    AMD finally released the dynamic power management code for all their
    GPUs from r600->present day, this is great, off by default for now but
    also a huge amount of code, in fact it is most of this pull request.

    Since it landed there has been a lot of community testing and Alex has
    sent a lot of fixes for any bugs found so far. I suspect radeon might
    now be the biggest kernel driver ever :-P p.s. radeon.dpm=1 to enable
    dynamic powermanagement for anyone.

    New drivers:

    Renesas r-car display unit.

    Other highlights:

    - core: GEM CMA prime support, use new w/w mutexs for TTM
    reservations, cursor hotspot, doc updates
    - dvo chips: chrontel 7010B support
    - i915: Haswell (fbc, ips, vecs, watermarks, audio powerwell),
    Valleyview (enabled by default, rc6), lots of pll reworking, 30bpp
    support (this time for sure)
    - nouveau: async buffer object deletion, context/register init
    updates, kernel vp2 engine support, GF117 support, GK110 accel
    support (with external nvidia ucode), context cleanups.
    - exynos: memory leak fixes, Add S3C64XX SoC series support, device
    tree updates, common clock framework support,
    - qxl: cursor hotspot support, multi-monitor support, suspend/resume
    support
    - mgag200: hw cursor support, g200 mode limiting
    - shmobile: prime support
    - tegra: fixes mostly

    I've been banging on this quite a lot due to the size of it, and it
    seems to okay on everything I've tested it on."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (811 commits)
    drm/radeon/dpm: implement vblank_too_short callback for si
    drm/radeon/dpm: implement vblank_too_short callback for cayman
    drm/radeon/dpm: implement vblank_too_short callback for btc
    drm/radeon/dpm: implement vblank_too_short callback for evergreen
    drm/radeon/dpm: implement vblank_too_short callback for 7xx
    drm/radeon/dpm: add checks against vblank time
    drm/radeon/dpm: add helper to calculate vblank time
    drm/radeon: remove stray line in old pm code
    drm/radeon/dpm: fix display_gap programming on rv7xx
    drm/nvc0/gr: fix gpc firmware regression
    drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
    drm/radeon/dpm: implement force performance level for TN
    drm/radeon/dpm: implement force performance level for ON/LN
    drm/radeon/dpm: implement force performance level for SI
    drm/radeon/dpm: implement force performance level for cayman
    drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
    drm/radeon/dpm: add infrastructure to force performance levels
    drm/radeon: fix surface setup on r1xx
    drm/radeon: add support for 3d perf states on older asics
    drm/radeon: set default clocks for SI when DPM is disabled
    ...

    Linus Torvalds
     

04 Jul, 2013

1 commit

  • Pull "exotic" arch fixes from Geert Uytterhoeven:
    "This is a collection of several exotic architecture fixes, and a few
    other fixes for issues that were detected while doing the former"

    * 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits)
    lib: Move fonts from drivers/video/console/ to lib/fonts/
    console/font: Refactor font support code selection logic
    Revert "staging/solo6x10: depend on CONFIG_FONTS"
    input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP
    score: Wire up asm-generic/xor.h
    score: Remove unneeded
    openrisc: Wire up asm-generic/xor.h
    h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]"
    h8300: Mark H83002 and H83048 CPU support broken
    h8300: Switch h8300 to drivers/Kconfig
    h8300: Limit timer channel ranges in Kconfig
    h8300: Wire up asm-generic/xor.h
    h8300: Fill the system call table using a CALL() macro
    h8300: Fix
    h8300: Hardcode symbol prefixes in asm sources
    h8300: add missing definition for read_barries_depends()
    frv: head.S - Remove commented-out initialization code
    cris: Wire up asm-generic/vga.h
    parport: disable PC-style parallel port support on cris
    console: Disable VGA text console support on cris
    ...

    Linus Torvalds
     

03 Jul, 2013

1 commit

  • Pull workqueue changes from Tejun Heo:
    "Surprisingly, Lai and I didn't break too many things implementing
    custom pools and stuff last time around and there aren't any follow-up
    changes necessary at this point.

    The only change in this pull request is Viresh's patches to make some
    per-cpu workqueues to behave as unbound workqueues dependent on a boot
    param whose default can be configured via a config option. This leads
    to higher processing overhead / lower bandwidth as more work items are
    bounced across CPUs; however, it can lead to noticeable powersave in
    certain configurations - ~10% w/ idlish constant workload on a
    big.LITTLE configuration according to Viresh.

    This is because per-cpu workqueues interfere with how the scheduler
    perceives whether or not each CPU is idle by forcing pinned tasks on
    them, which makes the scheduler's power-aware scheduling decisions
    less effective.

    Its effectiveness is likely less pronounced on homogenous
    configurations and this type of optimization can probably be made
    automatic; however, the changes are pretty minimal and the affected
    workqueues are clearly marked, so it's an easy gain for some
    configurations for the time being with pretty unintrusive changes."

    * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    fbcon: queue work on power efficient wq
    block: queue work on power efficient wq
    PHYLIB: queue work on system_power_efficient_wq
    workqueue: Add system wide power_efficient workqueues
    workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues

    Linus Torvalds
     

28 Jun, 2013

1 commit

  • Several drivers need font support independent of CONFIG_VT, cfr. commit
    9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, "console/font: Refactor font
    support code selection logic").
    Hence move the fonts and their support logic from drivers/video/console/ to
    its own library directory lib/fonts/.
    This also allows to limit processing of drivers/video/console/Makefile to
    CONFIG_VT=y again.

    [Kevin Hilman : Update arch/arm/boot/compressed/Makefile]
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     

27 Jun, 2013

1 commit


26 Jun, 2013

1 commit

  • Booting a 64-vcpu KVM guest, with CONFIG_PREEMPT_VOLUNTARY,
    can result in a soft lockup:

    BUG: soft lockup - CPU#41 stuck for 67s! [setfont:1505]
    RIP: 0010:[]
    [] vgacon_do_font_op.clone.0+0x1ba/0x550

    This is due to the 8192 (cmapsz) IO operations taking longer than expected
    due to lock contention in QEMU.

    Add conditional resched points in between writes allowing other tasks to
    execute.

    Signed-off-by: Marcelo Tosatti
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Marcelo Tosatti
     

23 Jun, 2013

2 commits

  • The current Makefile rules to build font support are messy and buggy.
    Replace them by Kconfig rules:
    - Introduce CONFIG_FONT_SUPPORT, which controls the building of all font
    code,
    - Select CONFIG_FONT_SUPPORT for all drivers that use fonts,
    - Select CONFIG_FONT_8x16 for all drivers that default to the VGA8x16
    font,
    - Drop the bogus console dependency for CONFIG_VIDEO_VIVI,
    - Always process drivers/video/console/Makefile, as some drivers need
    fonts even if CONFIG_VT is not set.

    This fixes (if CONFIG_SOLO6X10=y and there are no built-in console
    drivers):

    drivers/built-in.o: In function `solo_osd_print':
    drivers/staging/media/solo6x10/solo6x10-enc.c:144: undefined reference to `.find_font'

    This fixes (if CONFIG_VT=n):

    drivers/built-in.o: In function `vivi_init':
    vivi.c:(.init.text+0x1a3da): undefined reference to `find_font'

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Hans Verkuil [original part]
    Acked-by: Randy Dunlap [drivers/video/Makefile]

    Geert Uytterhoeven
     
  • This reverts commit 8c090cfbf980581454ae4caae731574fedd7dce8.

    CONFIG_FONTS is not about enabling font support, but about enabling
    manual selection of built-in fonts.

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     

16 Jun, 2013

1 commit


27 May, 2013

1 commit


21 May, 2013

4 commits

  • Impact:
    1:convert all remain take_over_console to do_take_over_console
    2:update take_over_console to do_take_over_console in comment

    Commit dc9641895abb ("vt: delete unneeded functions
    register_con_driver|take_over_console") delete take_over_console,
    but forget to convert remain take_over_console's users to new API
    do_take_over_console, this patch fix it.

    Reported-by: Stephen Rothwell
    Signed-off-by: Wang YanQing
    Signed-off-by: Greg Kroah-Hartman

    Wang YanQing
     
  • There are only two place use unregister_con_driver now, this patch
    convert them to do_unregister_con_driver too, then we can delete
    unregister_con_driver whos function can be achieved with do_unregister_con_driver
    easily to reduce code size and duplication.

    Signed-off-by: Wang YanQing
    Signed-off-by: Greg Kroah-Hartman

    Wang YanQing
     
  • Now there is no place use fbcon_takeover, and
    fbcon_takeover has huge duplication code with
    do_fbcon_takeover, we can achieve fbcon_takeover's
    function with do_fbcon_takeover easily, so we
    can just delete it.

    Signed-off-by: Wang YanQing
    Signed-off-by: Greg Kroah-Hartman

    Wang YanQing
     
  • After commit 054430e773c9a1e26f38e30156eff02dedfffc17 (fbcon: fix locking harder),
    there is only one place use do_fbcon_takeover now, this patch
    convert it to do_fbcon_takeover too, then we can delete
    fbcon_takeover whos function can be achieved with do_fbcon_takeover
    easily to reduce code size and duplication.

    Signed-off-by: Wang YanQing
    Signed-off-by: Greg Kroah-Hartman

    Wang YanQing
     

17 May, 2013

1 commit

  • The new SOLO6X10 driver needs the built-in console fonts, specifically
    the VGA8x16 font and building it without console support results in
    a link error error.

    drivers/built-in.o: In function `solo_osd_print':
    :(.text+0x7d3424): undefined reference to `find_font'

    This adds a dependency on the CONFIG_FONTS symbol and changes the
    console code to always build the base driver even if there are
    no specific fonts built-in.

    Cc: Greg Kroah-Hartman
    Cc: Hans Verkuil
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

15 May, 2013

1 commit

  • fbcon uses workqueues and it has no real dependency of scheduling these on the
    cpu which scheduled them.

    On a idle system, it is observed that and idle cpu wakes up many times just to
    service this work. It would be better if we can schedule it on a cpu which the
    scheduler believes to be the most appropriate one.

    This patch replaces system_wq with system_power_efficient_wq.

    Cc: Dave Airlie
    Cc: linux-fbdev@vger.kernel.org
    Signed-off-by: Viresh Kumar
    Signed-off-by: Tejun Heo

    Viresh Kumar
     

03 May, 2013

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main drm pull request for 3.10.

    Wierd bits:
    - OMAP drm changes required OMAP dss changes, in drivers/video, so I
    took them in here.
    - one more fbcon fix for font handover
    - VT switch avoidance in pm code
    - scatterlist helpers for gpu drivers - have acks from akpm

    Highlights:
    - qxl kms driver - driver for the spice qxl virtual GPU

    Nouveau:
    - fermi/kepler VRAM compression
    - GK110/nvf0 modesetting support.

    Tegra:
    - host1x core merged with 2D engine support

    i915:
    - vt switchless resume
    - more valleyview support
    - vblank fixes
    - modesetting pipe config rework

    radeon:
    - UVD engine support
    - SI chip tiling support
    - GPU registers initialisation from golden values.

    exynos:
    - device tree changes
    - fimc block support

    Otherwise:
    - bunches of fixes all over the place."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
    qxl: update to new idr interfaces.
    drm/nouveau: fix build with nv50->nvc0
    drm/radeon: fix handling of v6 power tables
    drm/radeon: clarify family checks in pm table parsing
    drm/radeon: consolidate UVD clock programming
    drm/radeon: fix UPLL_REF_DIV_MASK definition
    radeon: add bo tracking debugfs
    drm/radeon: add new richland pci ids
    drm/radeon: add some new SI PCI ids
    drm/radeon: fix scratch reg handling for UVD fence
    drm/radeon: allocate SA bo in the requested domain
    drm/radeon: fix possible segfault when parsing pm tables
    drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
    OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
    OMAPDSS: VENC: Add error handling for venc_probe_pdata
    OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
    OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
    OMAPDSS: DSI: Add error handling for dsi_probe_pdata
    OMAPDSS: SDI: Add error handling for sdi_probe_pdata
    OMAPDSS: DPI: Add error handling for dpi_probe_pdata
    ...

    Linus Torvalds
     

30 Apr, 2013

1 commit


24 Apr, 2013

1 commit

  • commit ae1287865f5361fa138d4d3b1b6277908b54eac9
    Author: Dave Airlie
    Date: Thu Jan 24 16:12:41 2013 +1000

    fbcon: don't lose the console font across generic->chip driver switch

    uses a pointer in vc->vc_font.data to load font into the new driver.
    However if the font is actually freed, we need to clear the data
    so that we don't reload font from dangling pointer.

    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=892340
    Signed-off-by: Mika Kuoppala
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Mika Kuoppala
     

26 Feb, 2013

1 commit

  • Pull drm merge from Dave Airlie:
    "Highlights:

    - TI LCD controller KMS driver

    - TI OMAP KMS driver merged from staging

    - drop gma500 stub driver

    - the fbcon locking fixes

    - the vgacon dirty like zebra fix.

    - open firmware videomode and hdmi common code helpers

    - major locking rework for kms object handling - pageflip/cursor
    won't block on polling anymore!

    - fbcon helper and prime helper cleanups

    - i915: all over the map, haswell power well enhancements, valleyview
    macro horrors cleaned up, killing lots of legacy GTT code,

    - radeon: CS ioctl unification, deprecated UMS support, gpu reset
    rework, VM fixes

    - nouveau: reworked thermal code, external dp/tmds encoder support
    (anx9805), fences sleep instead of polling,

    - exynos: all over the driver fixes."

    Lovely conflict in radeon/evergreen_cs.c between commit de0babd60d8d
    ("drm/radeon: enforce use of radeon_get_ib_value when reading user cmd")
    and the new changes that modified that evergreen_dma_cs_parse()
    function.

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (508 commits)
    drm/tilcdc: only build on arm
    drm/i915: Revert hdmi HDP pin checks
    drm/tegra: Add list of framebuffers to debugfs
    drm/tegra: Fix color expansion
    drm/tegra: Split DC_CMD_STATE_CONTROL register write
    drm/tegra: Implement page-flipping support
    drm/tegra: Implement VBLANK support
    drm/tegra: Implement .mode_set_base()
    drm/tegra: Add plane support
    drm/tegra: Remove bogus tegra_framebuffer structure
    drm: Add consistency check for page-flipping
    drm/radeon: Use generic HDMI infoframe helpers
    drm/tegra: Use generic HDMI infoframe helpers
    drm: Add EDID helper documentation
    drm: Add HDMI infoframe helpers
    video: Add generic HDMI infoframe helpers
    drm: Add some missing forward declarations
    drm: Move mode tables to drm_edid.c
    drm: Remove duplicate drm_mode_cea_vic()
    gma500: Fix n, m1 and m2 clock limits for sdvo and lvds
    ...

    Linus Torvalds
     

22 Feb, 2013

2 commits

  • Merge misc patches from Andrew Morton:

    - Florian has vanished so I appear to have become fbdev maintainer
    again :(

    - Joel and Mark are distracted to welcome to the new OCFS2 maintainer

    - The backlight queue

    - Small core kernel changes

    - lib/ updates

    - The rtc queue

    - Various random bits

    * akpm: (164 commits)
    rtc: rtc-davinci: use devm_*() functions
    rtc: rtc-max8997: use devm_request_threaded_irq()
    rtc: rtc-max8907: use devm_request_threaded_irq()
    rtc: rtc-da9052: use devm_request_threaded_irq()
    rtc: rtc-wm831x: use devm_request_threaded_irq()
    rtc: rtc-tps80031: use devm_request_threaded_irq()
    rtc: rtc-lp8788: use devm_request_threaded_irq()
    rtc: rtc-coh901331: use devm_clk_get()
    rtc: rtc-vt8500: use devm_*() functions
    rtc: rtc-tps6586x: use devm_request_threaded_irq()
    rtc: rtc-imxdi: use devm_clk_get()
    rtc: rtc-cmos: use dev_warn()/dev_dbg() instead of printk()/pr_debug()
    rtc: rtc-pcf8583: use dev_warn() instead of printk()
    rtc: rtc-sun4v: use pr_warn() instead of printk()
    rtc: rtc-vr41xx: use dev_info() instead of printk()
    rtc: rtc-rs5c313: use pr_err() instead of printk()
    rtc: rtc-at91rm9200: use dev_dbg()/dev_err() instead of printk()/pr_debug()
    rtc: rtc-rs5c372: use dev_dbg()/dev_warn() instead of printk()/pr_debug()
    rtc: rtc-ds2404: use dev_err() instead of printk()
    rtc: rtc-efi: use dev_err()/dev_warn()/pr_err() instead of printk()
    ...

    Linus Torvalds
     
  • Explicitly clear_margins when clearing the logo, in case the font dimensions
    are non-integral to the framebuffer dimensions.

    Signed-off-by: Kamal Mostafa
    Cc: Florian Tobias Schandinat
    Cc: Tomi Valkeinen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kamal Mostafa
     

08 Feb, 2013

4 commits

  • (not the fbcon maintainer pull 2)

    fix bug in vgacon on bootup and fbcon losing fonts on startup.

    * console-fixes: (50 commits)
    fbcon: don't lose the console font across generic->chip driver switch
    vgacon/vt: clear buffer attributes when we load a 512 character font (v2)

    Dave Airlie
     
  • Okay so Alan's patch handled the case where there was no registered fbcon,
    however the other path entered in set_con2fb_map pit.

    In there we called fbcon_takeover, but we also took the console lock in a couple
    of places. So push the console lock out to the callers of set_con2fb_map,

    this means fbmem and switcheroo needed to take the lock around the fb notifier
    entry points that lead to this.

    This should fix the efifb regression seen by Maarten.

    Tested-by: Maarten Lankhorst
    Tested-by: Lu Hua
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • I've still got lockdep warnings even after Alan's patch, and it seems that
    yet more band aids are required to paper over similar paths for
    unbind_con_driver() and unregister_con_driver(). After this hack, lockdep
    warnings are finally gone.

    Signed-off-by: Takashi Iwai
    Cc: Alan Cox
    Cc: Florian Tobias Schandinat
    Cc: Jiri Kosina
    Cc: stable
    Tested-by: Sedat Dilek
    Signed-off-by: Andrew Morton
    Signed-off-by: Dave Airlie

    Takashi Iwai
     
  • Adjust the console layer to allow a take over call where the caller
    already holds the locks. Make the fb layer lock in order.

    This is partly a band aid, the fb layer is terminally confused about the
    locking rules it uses for its notifiers it seems.

    [akpm@linux-foundation.org: remove stray non-ascii char, tidy comment]
    [akpm@linux-foundation.org: export do_take_over_console()]
    [airlied: cleanup another non-ascii char]
    Signed-off-by: Alan Cox
    Cc: Florian Tobias Schandinat
    Cc: Stephen Rothwell
    Cc: Jiri Kosina
    Cc: stable
    Tested-by: Sedat Dilek
    Reviewed-by: Daniel Vetter
    Signed-off-by: Andrew Morton
    Signed-off-by: Dave Airlie

    Alan Cox
     

07 Feb, 2013

2 commits

  • If grub2 loads efifb/vesafb, then when systemd starts it can set the console
    font on that framebuffer device, however when we then load the native KMS
    driver, the first thing it does is tear down the generic framebuffer driver.

    The thing is the generic code is doing the right thing, it frees the font
    because otherwise it would leak memory. However we can assume that if you
    are removing the generic firmware driver (vesa/efi/offb), that a new driver
    *should* be loading soon after, so we effectively leak the font.

    However the old code left a dangling pointer in vc->vc_font.data and we
    can now reuse that dangling pointer to load the font into the new
    driver, now that we aren't freeing it.

    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=892340

    Cc: Kay Sievers
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • When we switch from 256->512 byte font rendering mode, it means the
    current contents of the screen is being reinterpreted. The bit that holds
    the high bit of the 9-bit font, may have been previously set, and thus
    the new font misrenders.

    The problem case we see is grub2 writes spaces with the bit set, so it
    ends up with data like 0x820, which gets reinterpreted into 0x120 char
    which the font translates into G with a circumflex. This flashes up on
    screen at boot and is quite ugly.

    A current side effect of this patch though is that any rendering on the
    screen changes color to a slightly darker color, but at least the screen
    no longer corrupts.

    v2: as suggested by hpa, always clear the attribute space, whether we
    are are going to or from 512 chars.

    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Dave Airlie
     

22 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Florian Tobias Schandinat
    CC: Mathieu Poirier
    CC: Jiri Kosina
    CC: Paul Bolle
    CC: Arnd Bergmann
    Signed-off-by: Kees Cook
    Signed-off-by: Greg Kroah-Hartman

    Kees Cook
     

04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

16 Dec, 2012

1 commit

  • Pull fbdev changes from Tomi Valkeinen:
    "OMAPDSS changes, including:
    - use dynanic debug prints
    - OMAP platform dependency removals
    - Creation of compat-layer, helping us to improve omapdrm
    - Misc cleanups, aiming to make omadss more in line with the upcoming
    common display framework

    Exynos DP changes for the 3.8 merge window:
    - Device Tree support for Samsung Exynos DP
    - SW Link training is cleaned up.
    - HPD interrupt is supported.

    Samsung Framebuffer changes for the 3.8 merge window:
    - The bit definitions of header file are updated.
    - Some minor typos are fixed.
    - Some minor bugs of s3c_fb_check_var() are fixed.

    FB related changes for SH Mobile, Freescale DIU

    Add support for the Solomon SSD1307 OLED Controller"

    * tag 'fbdev-for-3.8' of git://gitorious.org/linux-omap-dss2/linux: (191 commits)
    OMAPDSS: fix TV-out issue with DSI PLL
    Revert "OMAPFB: simplify locking"
    OMAPFB: remove silly loop in fb2display()
    OMAPFB: fix error handling in omapfb_find_best_mode()
    OMAPFB: use devm_kzalloc to allocate omapfb2_device
    OMAPDSS: DISPC: remove dispc fck uses
    OMAPDSS: DISPC: get dss clock rate from dss driver
    drivers/video/console/softcursor.c: remove redundant NULL check before kfree()
    drivers/video: add support for the Solomon SSD1307 OLED Controller
    OMAPDSS: use omapdss_compat_init() in other drivers
    OMAPDSS: export dispc functions
    OMAPDSS: export dss_feat functions
    OMAPDSS: export dss_mgr_ops functions
    OMAPDSS: separate compat files in the Makefile
    OMAPDSS: move display sysfs init to compat layer
    OMAPDSS: DPI: use dispc's check_timings
    OMAPDSS: DISPC: add dispc_ovl_check()
    OMAPDSS: move irq handling to dispc-compat
    OMAPDSS: move omap_dispc_wait_for_irq_interruptible_timeout to dispc-compat.c
    OMAPDSS: move blocking mgr enable/disable to compat layer
    ...

    Conflicts:
    arch/arm/mach-davinci/devices-da8xx.c
    arch/arm/plat-omap/common.c
    drivers/media/platform/omap/omap_vout.c

    Linus Torvalds
     

14 Dec, 2012

1 commit

  • Because of commit e84de0c61905030a0fe66b7210b6f1bb7c3e1eab [MIPS: GIO bus
    support for SGI IP22/28] newport con is now taking over console from
    dummy con, therefore it's necessary to resize the VC to the correct size
    to avoid crashes and garbage on console

    Signed-off-by: Thomas Bogendoerfer
    Cc: linux-mips@linux-mips.org
    Cc: linux-fbdev@vger.kernel.org
    Cc: FlorianSchandinat@gmx.de
    Patchwork: https://patchwork.linux-mips.org/patch/4138/
    Acked-by: Florian Tobias Schandinat
    Signed-off-by: Ralf Baechle

    Thomas Bogendoerfer