22 Nov, 2011

3 commits


18 Nov, 2011

3 commits

  • Current code calculates scaling factors for video overlays even when the
    overlays are not scaled. Change the code to skip calculations when not
    scaling.

    This optimizes the code a bit, but also fixes a problem when configuring
    an overlay for a disabled display: if the display is disabled we don't
    necessarily know the pixel clock used when the display is enabled, and
    in some cases (like HDMI) the pixel clock is set to zero until a proper
    video mode is set later. A wrong pixel clock will mess up the
    scaling calculations, causing an error like:

    omapdss DISPC error: failed to set up scaling, required fclk rate = 0
    Hz, current fclk rate = 170666666 Hz

    A proper fix would be to check later whether the clocks are enough for the
    scaling, at the point when the overlay or display is actually enabled,
    but this patch removes the problem for now.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Fix warnings similar to this by including module.h:

    drivers/video/omap/dispc.c:276:1: warning: data definition has no type
    or storage class
    drivers/video/omap/dispc.c:276:1: warning: type defaults to 'int' in
    declaration of 'EXPORT_SYMBOL'

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • hdmi_get_pixel_clock() returns the pixel clock in Hz, but the pck is
    stored as kHz. This means the return value has to be multiplied by 1000,
    not by 10000 as the code did.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

04 Nov, 2011

1 commit

  • * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
    MIPS: O32: Provide definition of registers ta0 .. ta3.
    MIPS: perf: Add Octeon support for hardware perf.
    MIPS: perf: Add support for 64-bit perf counters.
    MIPS: perf: Reorganize contents of perf support files.
    MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
    MIPS: Add accessor macros for 64-bit performance counter registers.
    MIPS: Add probes for more Octeon II CPUs.
    MIPS: Add more CPU identifiers for Octeon II CPUs.
    MIPS: XLR, XLS: Add comment for smp setup
    MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
    MIPS: JZ4740: GPIO: Simplify IRQ demuxer
    MIPS: JZ4740: Use generic irq chip
    MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
    MIPS: Alchemy: kill au1xxx.h header
    MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
    MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
    MIPS: Alchemy: Redo PCI as platform driver
    MIPS: Alchemy: more base address cleanup
    MIPS: Alchemy: rewrite USB platform setup.
    MIPS: Alchemy: abstract USB block control register access
    ...

    Fix up trivial conflicts in:
    arch/mips/alchemy/devboards/db1x00/platform.c
    drivers/ide/Kconfig
    drivers/mmc/host/au1xmmc.c
    drivers/video/Kconfig
    sound/mips/Kconfig

    Linus Torvalds
     

02 Nov, 2011

1 commit

  • * 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc: (28 commits)
    ARM: pxa/cm-x300: properly set bt_reset pin
    ARM: mmp: rename SHEEVAD to GPLUGD
    ARM: imx: Fix typo 'MACH_MX31_3DS_MXC_NAND_USE_BBT'
    ARM: i.MX28: shift frac value in _CLK_SET_RATE
    plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired
    ARM: mx5: fix clock usage for suspend
    ARM: pxa: use correct __iomem annotations
    ARM: pxa: sharpsl pm needs SPI
    ARM: pxa: centro and treo680 need palm27x
    ARM: pxa: make pxafb_smart_*() empty when not enabled
    ARM: pxa: select POWER_SUPPLY on raumfeld
    ARM: pxa: pxa95x is incompatible with earlier pxa
    ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
    ARM: pxa: pxa95x/saarb depends on pxa3xx code
    ARM: pxa: allow selecting just one of TREO680/CENTRO
    ARM: pxa: export symbols from pxa3xx-ulpi
    ARM: pxa: make zylonite_pxa*_init declaration match code
    ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
    ARM: at91: add defconfig for at91sam9g45 family
    ARM: at91: remove dependency for Atmel PWM driver selector in Kconfig
    ...

    Linus Torvalds
     

01 Nov, 2011

7 commits

  • The rename of corgibl_limit_intensity is missed in commit d00ba726
    ("backlight: Rename the corgi backlight driver to generic"). Let's fix it
    now.

    Signed-off-by: Axel Lin
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     
  • Using gpio_request_one can make the error handling simpler.

    Signed-off-by: Fabio Estevam
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fabio Estevam
     
  • The regulator support in the l4f00242t03 is very non-idiomatic. Rather
    than requesting the regulators based on the device name and the supply
    names used by the device the driver requires boards to pass system
    specific supply names around through platform data. The driver also
    conditionally requests the regulators based on this platform data, adding
    unneeded conditional code to the driver.

    Fix this by removing the platform data and converting to the standard
    idiom, also updating all in tree users of the driver. As no datasheet
    appears to be available for the LCD I'm guessing the names for the
    supplies based on the existing users and I've no ability to do anything
    more than compile test.

    The use of regulator_set_voltage() in the driver is also problematic,
    since fixed voltages are required the expectation would be that the
    voltages would be fixed in the constraints set by the machines rather than
    manually configured by the driver, but is less problematic.

    Signed-off-by: Mark Brown
    Tested-by: Fabio Estevam
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Brown
     
  • A few new i2c-drivers came into the kernel which clear the
    clientdata-pointer on exit or error. This is obsolete meanwhile, the core
    will do it.

    Signed-off-by: Wolfram Sang
    Cc: Richard Purdie
    Cc: Paul Mundt
    Acked-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wolfram Sang
     
  • They were getting this implicitly by an include of module.h
    from device.h -- but we are going to clean that up and break
    that include chain, so include module.h explicitly now.

    [ with contributions from Axel Lin ]

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • With module.h being implicitly everywhere via device.h, the absence
    of explicitly including something for EXPORT_SYMBOL went unnoticed.
    Since we are heading to fix things up and clean module.h from the
    device.h file, we need to explicitly include these files now.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • This sorts out merge conflicts with the arm/gpio branch that
    already got merged into mainline Linux.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

31 Oct, 2011

1 commit

  • * 'fbdev-next' of git://github.com/schandinat/linux-2.6: (270 commits)
    video: platinumfb: Add __devexit_p at necessary place
    drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data
    drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data
    drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
    drivers/video: fsl-diu-fb: remove unused panel operating mode support
    drivers/video: fsl-diu-fb: use an enum for the AOI index
    drivers/video: fsl-diu-fb: add several new video modes
    drivers/video: fsl-diu-fb: remove broken screen blanking support
    drivers/video: fsl-diu-fb: move some definitions out of the header file
    drivers/video: fsl-diu-fb: fix some ioctls
    video: da8xx-fb: Increased resolution configuration of revised LCDC IP
    OMAPDSS: picodlp: add missing #include
    fb: fix au1100fb bitrot.
    mx3fb: fix NULL pointer dereference in screen blanking.
    video: irq: Remove IRQF_DISABLED
    smscufx: change edid data to u8 instead of char
    OMAPDSS: DISPC: zorder support for DSS overlays
    OMAPDSS: DISPC: VIDEO3 pipeline support
    OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting
    video/omap: fix build dependencies
    ...

    Fix up conflicts in:
    - drivers/staging/xgifb/XGI_main_26.c
    Changes to XGIfb_pan_var()
    - drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}
    Removed (or in the case of apollon.c, merged into the generic
    DSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)

    Linus Torvalds
     

27 Oct, 2011

2 commits

  • * 'clk' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7131/1: clkdev: Add Common Macro for clk_lookup
    clk: spi-pl022: convert to clk_prepare()/clk_unprepare()
    clk: timer-sp: convert to clk_prepare()/clk_unprepare()
    clk: sa1111: convert to clk_prepare()/clk_unprepare()
    clk: mmci: convert to clk_prepare()/clk_unprepare()
    clk: amba-pl011: convert to clk_prepare()/clk_unprepare()
    clk: amba-pl010: convert to clk_prepare()/clk_unprepare()
    clk: amba-clcd: convert to clk_prepare()/clk_unprepare()
    clk: amba bus: convert to clk_prepare()/clk_unprepare()
    clk: provide prepare/unprepare functions

    Linus Torvalds
     
  • * 'gpio' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (43 commits)
    ARM: 7135/1: ep93xx: bring back missing
    ARM: 7104/1: plat-pxa: break out GPIO driver specifics
    ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystem
    ARM: 7042/3: mach-ep93xx: break out GPIO driver specifics
    ARM: 7101/1: arm/tegra: Replace with
    ARM: 7094/1: arm/tegra: Move EN_VDD_1V05_GPIO to board-harmony.h
    ARM: 7083/1: rewrite U300 GPIO to use gpiolib
    ARM: 7074/1: gpio: davinci: eliminate unused variable warnings
    ARM: 7063/1: Orion: gpio: add missing include of linux/types.h
    ARM: 7055/1: arm/tegra: mach/gpio.h: include linux/types.h to fix build
    ARM: 7054/1: arm/tegra: Delete custom gpio_to_irq, and irq_to_gpio
    ARM: 7053/1: gpio/tegra: Implement gpio_chip.to_irq
    ARM: 7052/1: gpio/tegra: Remove use of irq_to_gpio
    ARM: 7057/1: mach-pnx4008: rename GPIO header
    ARM: 7056/1: plat-nomadik: kill off
    ARM: 7050/1: mach-sa1100: delete irq_to_gpio() function
    ARM: 7049/1: mach-sa1100: move SA1100 GPIO driver to GPIO subsystem
    ARM: 7045/1: mach-lpc32xx: break out GPIO driver specifics
    ARM: 7044/1: mach-lpc32xx: move LPC32XX GPIO driver to GPIO subsystem
    ARM: 7043/1: mach-ixp2000: rename GPIO header
    ...

    Fix up trivial conflicts in arch/arm/mach-u300/Kconfig manually

    Linus Torvalds
     

26 Oct, 2011

1 commit

  • * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
    rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()
    lockdep: Comment all warnings
    lib: atomic64: Change the type of local lock to raw_spinlock_t
    locking, lib/atomic64: Annotate atomic64_lock::lock as raw
    locking, x86, iommu: Annotate qi->q_lock as raw
    locking, x86, iommu: Annotate irq_2_ir_lock as raw
    locking, x86, iommu: Annotate iommu->register_lock as raw
    locking, dma, ipu: Annotate bank_lock as raw
    locking, ARM: Annotate low level hw locks as raw
    locking, drivers/dca: Annotate dca_lock as raw
    locking, powerpc: Annotate uic->lock as raw
    locking, x86: mce: Annotate cmci_discover_lock as raw
    locking, ACPI: Annotate c3_lock as raw
    locking, oprofile: Annotate oprofilefs lock as raw
    locking, video: Annotate vga console lock as raw
    locking, latencytop: Annotate latency_lock as raw
    locking, timer_stats: Annotate table_lock as raw
    locking, rwsem: Annotate inner lock as raw
    locking, semaphores: Annotate inner lock as raw
    locking, sched: Annotate thread_group_cputimer as raw
    ...

    Fix up conflicts in kernel/posix-cpu-timers.c manually: making
    cputimer->cputime a raw lock conflicted with the ABBA fix in commit
    bcd5cff7216f ("cputimer: Cure lock inversion").

    Linus Torvalds
     

25 Oct, 2011

1 commit

  • Now that no driver any longer depends on the CONFIG_SOC_AU1??? symbols,
    it's time to get rid of them: Move some of the platform devices to the
    boards which can use them, Rename a few (unused) constants in the header,
    Replace them with MIPS_ALCHEMY in the various Kconfig files. Finally
    delete them altogether from the Alchemy Kconfig file.

    Signed-off-by: Manuel Lauss
    To: Linux-MIPS
    Patchwork: https://patchwork.linux-mips.org/patch/2707/
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     

15 Oct, 2011

3 commits


08 Oct, 2011

2 commits


05 Oct, 2011

9 commits

  • The diu_pool structure contains diu_addr objects for various objects
    allocated in DMA space that are used by the DIU, but the only instance
    of this structure is a global variable, 'pool'. Eliminate 'pool' by
    merging its fields into the fsl_diu_data structure, which is instantiated
    on the heap for each DIU controller found.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • The diu_hw structure contains two fields used to access the DIU registers,
    but the only instance of this structure is a global variable, 'dr'.
    Eliminate 'dr' by merging its fields into the fsl_diu_data structure,
    which is instantiated on the heap for each DIU controller found.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • The Freescale DIU video controller supports five video "modes", but only
    the first two are used by the driver. The other three are special modes
    that don't make sense for a framebuffer driver. Therefore, there's no
    point in keeping a global variable that indicates which mode we're
    supposed to use.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • The MFB_TYPE_xxx macros indicate different "operating modes" of each AOI,
    but this feature is not actually used in the driver. The mfb_index.type
    field is always set to MFB_TYPE_OUTPUT, so just delete it and any code
    that references it.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • Each of the five AOIs created by the DIU driver has a special purpose, and
    they're not treated equally. It makes sense to identify them with an enum
    instead of a hard-coded number.

    Since the 'index' is now an enum, it can only contain allowed values, so
    there's no need to check for an invalid value. This simplifies some other
    code, such as fsl_diu_disable_panel(), which no longer needs to return an
    error code.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • Add the following new video modes to the Freescale DIU framebuffer driver:

    640x480x60
    640x480x72
    640x480x75
    640x480x90
    640x480x100
    800x480x60
    800x600x60
    854x480x60
    1280x480x60
    1280x720x60
    1920x1080x60

    Also add margin data to the 320x240 video mode. This mode was originally
    intended only for the AOIs (overlays) used on planes two and three, but with
    real margin data, it can now be used as an actual video mode.
    Video mode data is from earlier work done by Jerry Huang
    .

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • The function which is supposed to provide screen blanking support doesn't
    actually do anything, so the framebuffer layer thinks the screen has
    been blanked when it really isn't. Remove the code completely for now.

    A side-effect of this change is that the framebuffer console blanking now
    works correctly. Presumably this is because the console now receives -EINVAL
    instead of '0' when it asks the driver to blank the screen, so the console
    does it manually now.

    A signficant refactoring of the driver is planned, and proper hardware
    blanking support will added afterwards.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • Move several macros and structures from the Freescale DIU driver's header
    file into the source file, because they're only used by that file. Also
    delete a few unused macros.

    The diu and diu_ad structures cannot be moved because they're being used
    by the MPC5121 platform file. A future patch eliminate the need for
    the platform file to access these structs, so they'll be moved also.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     
  • Use the _IOx macros to define the ioctl commands, instead of hard-coded
    numbers. Unfortunately, the original definitions of MFB_SET_PIXFMT and
    MFB_GET_PIXFMT used the wrong value for the size, so these macros have
    new values now. To avoid breaking binary compatibility with older
    applications, we retain support for the original values, but the driver
    displays a warning message if they're used.

    Also remove the FBIOGET_GWINFO and FBIOPUT_GWINFO ioctls. FBIOPUT_GWINFO
    was never implemented, and FBIOGET_GWINFO was never used by any
    application.

    Signed-off-by: Timur Tabi
    Signed-off-by: Florian Tobias Schandinat

    Timur Tabi
     

04 Oct, 2011

3 commits


03 Oct, 2011

2 commits

  • Removes some bitrot from the au1100fb driver and fix it up so it works again.

    Signed-off-by: Manuel Lauss
    Signed-off-by: Florian Tobias Schandinat

    Manuel Lauss
     
  • When blanking an already blanked framebuffer, a kernel NULL pointer
    dereference occurred, because mx3fb driver handles all kinds of screen
    blanking (normal, vsync suspend, powerdown) in the same way.
    Certain programs (Xorg X11 server) first do a normal blank, followed by
    a powerdown blank, which triggered the bug.

    Add an additional safeguard and make sdc_disable_channel() safe against
    multiple calls independent of other logic.

    Signed-off-by: Michael Thalmeier
    Signed-off-by: Florian Tobias Schandinat

    Wolfram Stering