28 Sep, 2010

1 commit

  • * master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits)
    ARM: 6411/1: vexpress: set RAM latencies to 1 cycle for PL310 on ct-ca9x4 tile
    ARM: 6409/1: davinci: map sram using MT_MEMORY_NONCACHED instead of MT_DEVICE
    ARM: 6408/1: omap: Map only available sram memory
    ARM: 6407/1: mmu: Setup MT_MEMORY and MT_MEMORY_NONCACHED L1 entries
    ARM: pxa: remove pr_ uses of KERN_
    ARM: pxa168fb: clear enable bit when not active
    ARM: pxa: fix cpu_is_pxa*() not expanding to zero when not configured
    ARM: pxa168: fix corrected reset vector
    ARM: pxa: Use PIO for PI2C communication on Palm27x
    ARM: pxa: Fix Vpac270 gpio_power for MMC
    ARM: 6401/1: plug a race in the alignment trap handler
    ARM: 6406/1: at91sam9g45: fix i2c bus speed
    leds: leds-ns2: fix locking
    ARM: dove: fix __io() definition to use bus based offset
    dmaengine: fix interrupt clearing for mv_xor
    ARM: kirkwood: Unbreak PCIe I/O port
    ARM: Fix build error when using KCONFIG_CONFIG
    ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing
    ARM: 6400/1: at91: fix arch_gettimeoffset fallout
    ARM: 6398/1: add proc info for ARM11MPCore/Cortex-A9 from ARM
    ...

    Linus Torvalds
     

25 Sep, 2010

2 commits


23 Sep, 2010

4 commits

  • The FBIOGET_VBLANK device ioctl allows unprivileged users to read 16 bytes
    of uninitialized stack memory, because the "reserved" member of the
    fb_vblank struct declared on the stack is not altered or zeroed before
    being copied back to the user. This patch takes care of it.

    Signed-off-by: Dan Rosenberg
    Cc: Thomas Winischhofer
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Rosenberg
     
  • Fix the lockdep warning:

    [ 13.657164] INFO: trying to register non-static key.
    [ 13.657169] the code is fine but needs lockdep annotation.
    [ 13.657171] turning off the locking correctness validator.
    [ 13.657177] Pid: 622, comm: modprobe Not tainted 2.6.36-rc3c #8
    [ 13.657180] Call Trace:
    [ 13.657194] [] ? printk+0x18/0x20
    [ 13.657202] [] register_lock_class+0x336/0x350
    [ 13.657208] [] __lock_acquire+0x449/0x1180
    [ 13.657215] [] lock_acquire+0x67/0x80
    [ 13.657222] [] ? __cancel_work_timer+0x51/0x230
    [ 13.657227] [] __cancel_work_timer+0x83/0x230
    [ 13.657231] [] ? __cancel_work_timer+0x51/0x230
    [ 13.657236] [] ? mark_held_locks+0x62/0x80
    [ 13.657243] [] ? kfree+0x7f/0xe0
    [ 13.657248] [] ? trace_hardirqs_on_caller+0x11c/0x160
    [ 13.657253] [] ? trace_hardirqs_on+0xb/0x10
    [ 13.657259] [] ? fbcon_deinit+0x16d/0x1e0
    [ 13.657263] [] ? fbcon_deinit+0x16d/0x1e0
    [ 13.657268] [] cancel_work_sync+0xa/0x10
    [ 13.657272] [] fbcon_deinit+0xe4/0x1e0
    ...

    The warning is caused by trying to cancel an uninitialized work from
    fbcon_exit(). Fix it by adding a check for queue.func, similarly to other
    places in this code.

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

    Jarek Poplawski
     
  • Enable the EFI framebuffer on 14 more Macs, including the iMac11,1
    iMac10,1 iMac8,1 Macmini3,1 Macmini4,1 MacBook5,1 MacBook6,1 MacBook7,1
    MacBookPro2,2 MacBookPro5,2 MacBookPro5,3 MacBookPro6,1 MacBookPro6,2 and
    MacBookPro7,1

    Information gathered from various user submissions.

    https://bugzilla.redhat.com/show_bug.cgi?id=528232
    http://ubuntuforums.org/showthread.php?t=1557326

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Luke Macken
    Signed-off-by: Peter Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luke Macken
     
  • Some Apple machines have identical DMI data but different memory
    configurations for the video. Given that, check that the address in our
    table is actually within the range of a PCI BAR on a VGA device in the
    machine.

    This also fixes up the return value from set_system(), which has always
    been wrong, but never resulted in bad behavior since there's only ever
    been one matching entry in the dmi table.

    The patch

    1) stops people's machines from crashing when we get their display wrong,
    which seems to be unfortunately inevitable,

    2) allows us to support identical dmi data with differing video memory
    configurations

    This also adds me as the efifb maintainer, since I've effectively been
    acting as such for quite some time.

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

    Peter Jones
     

17 Sep, 2010

1 commit


16 Sep, 2010

1 commit


30 Aug, 2010

1 commit


21 Aug, 2010

1 commit

  • Screen is completely corrupted since 2.6.34. Bisection revealed that it's
    caused by commit 6175ddf06b61720 ("x86: Clean up mem*io functions.").

    H. Peter Anvin explained that memcpy_toio() does not copy data in 32bit
    chunks anymore on x86.

    Signed-off-by: Ondrej Zary
    Cc: Brian Gerst
    Cc: H. Peter Anvin
    Cc: Petr Vandrovec
    Cc: Jean Delvare
    Cc: [2.6.34.x, 2.6.35.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ondrej Zary
     

18 Aug, 2010

1 commit


13 Aug, 2010

3 commits

  • * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    i2c: I2C bus multiplexer driver pca954x
    i2c: Multiplexed I2C bus core support
    i2c: Use a separate mutex for userspace client lists
    i2c: Make i2c_default_probe self-sufficient
    i2c: Drop dummy variable
    i2c: Move adapter locking helpers to i2c-core
    V4L/DVB: Use custom I2C probing function mechanism
    i2c: Add support for custom probe function
    i2c-dev: Use memdup_user
    i2c-dev: Remove unnecessary kmalloc casts

    Linus Torvalds
     
  • * 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)
    param: don't deref arg in __same_type() checks
    param: update drivers/acpi/debug.c to new scheme
    param: use module_param in drivers/message/fusion/mptbase.c
    ide: use module_param_named rather than module_param_call
    param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
    param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
    param: lock myri10ge_fw_name against sysfs changes.
    param: simple locking for sysfs-writable charp parameters
    param: remove unnecessary writable charp
    param: add kerneldoc to moduleparam.h
    param: locking for kernel parameters
    param: make param sections const.
    param: use free hook for charp (fix leak of charp parameters)
    param: add a free hook to kernel_param_ops.
    param: silence .init.text references from param ops
    Add param ops struct for hvc_iucv driver.
    nfs: update for module_param_named API change
    AppArmor: update for module_param_named API change
    param: use ops in struct kernel_param, rather than get and set fns directly
    param: move the EXPORT_SYMBOL to after the definitions.
    ...

    Linus Torvalds
     
  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
    mmc_spi: Fix unterminated of_match_table
    of/sparc: fix build regression from of_device changes
    of/device: Replace struct of_device with struct platform_device

    Linus Torvalds
     

12 Aug, 2010

3 commits

  • The probe method used by i2c_new_probed_device() may not be suitable
    for all cases. Let the caller provide its own, optional probe
    function.

    Signed-off-by: Jean Delvare
    Acked-by: Mauro Carvalho Chehab

    Jean Delvare
     
  • * 'msm-video' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
    video: msm: Fix section mismatch in mddi.c.
    drivers: video: msm: drop some unused variables

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits)
    ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions}
    ARM: 6324/1: cam60: move cam60_spi_devices to .init.data
    ARM: 6322/1: imx/pca100: Fix name of spi platform data
    ARM: 6321/1: fix syntax error in main Kconfig file
    ARM: 6297/1: move U300 timer to dynamic clock lookup
    ARM: 6296/1: clock U300 intcon and timer properly
    ARM: 6295/1: fix U300 apb_pclk split
    ARM: 6306/1: fix inverted MMC card detect in U300
    ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
    ARM: 6294/1: etm: do a dummy read from OSSRR during initialization
    ARM: 6292/1: coresight: add ETM management registers
    ARM: 6288/1: ftrace: document mcount formats
    ARM: 6287/1: ftrace: clean up mcount assembly indentation
    ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
    ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
    ARM: 6280/1: imx: Fix build failure when including without
    ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3
    ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig
    ARM: S5PV210: Override FIMC driver name on Aquila board
    ARM: S5PC100: enable FIMC on SMDKC100
    ...

    Fix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to
    different subsystem 'setname' calls, and trivial port types in
    include/linux/serial_core.h

    Linus Torvalds
     

11 Aug, 2010

22 commits

  • Cc: Kulikov Vasiliy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • If iga_init() fails, code releases resources and continues to use it. It
    seems that after releasing resources 'return' should be.

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

    Kulikov Vasiliy
     
  • When we setup up the VMA flags for the mmap flag and we end up using the
    fallback mmap functionality we set the vma->vm_flags |= VM_IO. However we
    neglect to propagate the flag to the vma->vm_page_prot.

    This bug was found when Linux kernel was running under Xen. In that
    scenario, any page that has VM_IO flag to it, means that it MUST be a
    MMIO/VRAM backend memory , _not_ System RAM. That is what the fbmem.c
    does: sets VM_IO, ioremaps the region - everything is peachy.

    Well, not exactly. The vm_page_prot does not get the relevant PTE flags
    set (_PAGE_IOMAP) which under Xen is a death-kneel to pages that are
    referencing real physical devices but don't have that flag set.

    This patch fixes this.

    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Daniel De Graaf
    Tested-by: Eamon Walsh
    Cc: Florian Tobias Schandinat
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel De Graaf
     
  • Add a simple algorithm which calculates the pixel clock based on the video
    mode parameters. This is only done when no pixel clock is supplied
    through the platform data.

    This allows drivers to omit the pixel clock data and thus share the
    algorithm used for calculating it.

    Signed-off-by: Maurus Cuelenaere
    Cc: Pawel Osciak
    Cc: Marek Szyprowski
    Cc: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Russell King
    Tested-by: Donghwa Lee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maurus Cuelenaere
     
  • S5PV210 SoCs allow enabling/disabling DMA channels per window. For a
    window to display data from framebuffer memory, its channel has to be
    enabled.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • This patch fixes the following section mismatch errors:

    WARNING: vmlinux.o(.data+0x20b40): Section mismatch in reference from the variable s3c_fb_driver_ids to the (unknown reference) .devinit.data:(unknown)
    The variable s3c_fb_driver_ids references
    the (unknown reference) __devinitdata (unknown)
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

    WARNING: vmlinux.o(.data+0x20b58): Section mismatch in reference from the variable s3c_fb_driver_ids to the (unknown reference) .devinit.data:(unknown)
    The variable s3c_fb_driver_ids references
    the (unknown reference) __devinitdata (unknown)
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

    WARNING: vmlinux.o(.data+0x20b70): Section mismatch in reference from the variable s3c_fb_driver_ids to the (unknown reference) .devinit.data:(unknown)
    The variable s3c_fb_driver_ids references
    the (unknown reference) __devinitdata (unknown)
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marek Szyprowski
     
  • Newer hardware (S3C6410, S5P) have the ability to block updates from
    shadow registers during reconfiguration. Add protect calls for set_par
    and clear protection when resetting.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • S3C64xx and S5P OSD registers for OSD size and alpha are as follows:
    VIDOSDC: win 0 - size, win 1-4: alpha
    VIDOSDD: win 1-2 - size; not present for windows 0, 3 and 4

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • S5PV210 allows per-window locking of register value updates from shadow
    registers.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Add VSYNC interrupt support and an ioctl that allows waiting for it.
    Interrupts are turned on only when needed.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Supports all bpp modes.

    The PRTCON register is used to disable in-hardware updates of registers
    that store start and end addresses of framebuffer memory. This prevents
    display corruption in case we do not make it before VSYNC with updating
    them atomically. With this feature there is no need to wait for a VSYNC
    interrupt before each such update.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • S5PC100 and S5PV210 framebuffer devices differ slightly in terms of
    available registers and their driver data structures have to be separate.
    Those differences include dissimilar ways to control shadow register
    updates.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • The following problems were found in the above situation:

    sfb->windows[win] was being assigned at the end of s3c_fb_probe_win only.
    This resulted in passing a NULL to s3c_fb_release_win if probe_win
    returned early and a memory leak.

    dma_free_writecombine does not allow its third argument to be NULL.

    fb_dealloc_cmap does not verify whether its argument is not NULL.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Remove the palette setup code from the header files and put it into the
    main driver.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Update the variant and window variant structures with the necessary
    changes to support the older style of hardware where these are not in the
    same place.

    Add the support for the s3c2443/s3c2416 hardware by using the
    platform-device s3c2443 to cover both, and add the initialisation data for
    these.

    Also change to including just the v4 header files for the moment until the
    last of the merging of these is sorted out.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Remove the various header files that configure this driver and use the
    platform device name to select the correct configuration at probe time.

    Currently this does not remove the header files, only updates the driver
    and the relevant platform files.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • The driver clears all windows, but also sets the windows' colour key
    controls at the same time. However, the last window does not have these
    registers as it is always blended into the previous window.

    Move the colour key initialisation into the probe, and run it for only
    nr_win-1 windows.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • It has been working fine at 16bpp but in case of pixel format more then
    24bpp it would occur distortedness situation on that mode. so this patch
    set the word swap control bit of WINCONx to 1 as default value. but it
    should be set to 0 in case that each ENLOCAL bit of WINCON0 ~ 2 registers
    is enabled. this issue would be solved with local path feature soon.

    Signed-off-by: InKi Dae
    Reviewed-by: KyungMin Park
    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    InKi Dae
     
  • s5pv210 has five window layers (window0 ~ 4), among them, window0 ~ 2
    could be used for local path with fimc(capture device) and fimd writeback
    feature so this patch makes default window layer for UI to be set at
    machine code.

    Signed-off-by: InKi Dae
    Reviewed-by: KyungMin Park
    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    InKi Dae
     
  • As suggested by Marek Szyprowski, we should make the driver depend on the
    configuration currently being used to build the platform device into the
    kernel.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Replaced !strlen(str) check with !str[0]. Removed the variable which was
    used solely to store strlen result.

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

    Denys Vlasenko