06 Dec, 2011

1 commit


27 Oct, 2011

17 commits

  • Patch adds 24bpp support and configures LCDC in 24bpp packed mode.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • LCDC controller on AM335x it was seen that loading module after
    unloading leads to flicker. This patch fixes the issue by doing software
    reset of major domains within LCDC.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • On AM335x LCD controller flicker is observed on doing FB_BLANK_UNBLANK
    after FB_BLANK_POWERDOWN. Patch fixes the by following below order for
    disabling and re-enabling.
    1)set cfg_lcden='0'. Wait for the Done interrupt.
    2)Set the software reset bit(s) high (cfg_main_rst=.1. or
    [cfg_dma_rst='1' and cfg_core_rst='1'])for several cycles.
    3)Set the reset(s) back low. Then, set cfg_lcden='1'.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • Patch fixes build warning on label "err_cpu_freq" when CONFIG_CPU_FREQ
    is not defined.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • There is flicker/tearing issue was observed with current FB driver.
    Below link to wiki describes the issue and it also has link to
    application with which issue can be reproduced.
    http://ap-fpdsp-swapps.dal.design.ti.com/index.php/DA8XX_LCDC_Linux_FB_FAQs
    Issue is because of 2 active DMA channels ping ponging among them
    along with usage of 2 DDR buffer ping pong and application is not
    aware of active DMA channel.
    Below steps describe issue:
    1)Initially assume both buffers FB0 and FB1 are programmed for buffer-0.
    2)On EOF0: Program FB0 for buffer-1, indicate(wake up) application
    to fill up buffer-0. As FB1 is active and continues to DMA buffer-0
    (which is being filled), leading to tearing/flickering issue.
    3)On EOF1: Program FB1 for buffer-0, indicate(wake up) application to
    fill up buffer-1. As FB0 is active and continues to DMA buffer-1(which
    is being filled), leading to tearing/flickering issue.
    4)On EOF0: Program FB0 for buffer-1, indicate(wake up) application to fill
    up buffer-0. As FB1 is active and continues to DMA buffer-0(which is being
    filled), leading to tearing/flickering issue.
    ...
    The above steps also depicts that there is one frame delay for each
    frame panned by application.
    Patch fixes the issue by keeping track free DMA channel and configures
    it in driver PAN callback so that panned frame from application gets
    displayed in next frame period.

    Signed-off-by: Nellutla, Aditya
    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • This patch adds support for I2C configurable TLC59108 backlight
    control driver.

    Signed-off-by: Manjunathappa, Prakash
    Signed-off-by: Vaibhav Hiremath

    Manjunathappa, Prakash
     
  • This patch adds APIs to register and unregister wait for vsync
    callback.

    Signed-off-by: Manjunathappa, Prakash
    Signed-off-by: Vaibhav Hiremath

    Manjunathappa, Prakash
     
  • This patch corrects the wrong information reported by fbset
    command. This was reported by Martin Ambrose.

    Signed-off-by: Sudhakar Rajashekhara
    Signed-off-by: Vaibhav Hiremath

    Sudhakar Rajashekhara
     
  • The vfp and the vbp parameters were needed to be modified for
    LK043T1DG01 display panel. Without this modification, the first
    line would be cropped and not be visible on the display.

    Signed-off-by: Madhvapathi Sriram
    Signed-off-by: Vaibhav Hiremath

    Madhvapathi Sriram
     
  • It is observed that LCD becomes non-responsive (does not
    take new data) after multiple suspend resume operations.
    This patch fixes that issue.

    In suspend:
    1) After disabling raster, wait for current frame to finish
    before disabling LCD module clock.
    2) Power down the panel after raster is disabled.

    On resume, enable the LCD module before panel is powered up.

    Signed-off-by: Sekhar Nori
    Signed-off-by: Manjunathappa, Prakash

    Sekhar Nori
     
  • During LCDC initialization, there is the potential for a FIFO
    underflow condition to occur. A FIFO underflow condition
    occurs when the input FIFO is completely empty and the LCDC
    raster controller logic that drives data to the output pins
    attempts to fetch data from the FIFO. When a FIFO underflow
    condition occurs, incorrect data will be driven out on the
    LCDC data pins.

    Software should poll the FUF bit field in the LCD_STAT register
    to check if an error condition has occurred or service the
    interrupt if FUF_EN is enabled when FUF occurs. If the FUF bit
    field has been set to 1, this will indicate an underflow
    condition has occurred and then the software should execute a
    reset of the LCDC via the LPSC.

    This problem may occur if the LCDC FIFO threshold size
    (LCDDMA_CTRL[TH_FIFO_READY]) is left at its default value after
    reset. Increasing the FIFO threshold size will reduce or
    eliminate underflows. Setting the threshold size to 256 double
    words or larger is recommended.

    Signed-off-by: Rajashekhara, Sudhakar

    Rajashekhara, Sudhakar
     
  • Sometimes system comes up with a 'white screen' on the LCD after
    boot, and nothing is ever displayed. This was consistent with the
    'reset' button (or linux reboot). This is fixed by switching off
    and switching on the panel power and backlight after enabling
    raster. Earlier this sequence was done before enabling the raster.

    Signed-off-by: Rajashekhara, Sudhakar

    Rajashekhara, Sudhakar
     
  • Currently CONSISTENT_DMA_SIZE is 2MB. But dual frame buffer driver
    requires this to be more than 4MB. So making this as configurable via
    FB_DA8XX_CONSISTENT_DMA_SIZE config option.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • Adding pinmux, platform resource information. Also add
    AM335X panel inforamtion.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • LCD controller in AM335X supports 24bpp raster configuration
    in addition LCD configuration supported on DA850. Frame buffer
    data in DDR should ARGB:8888 format, configuring unpacked 24bpp
    format, doesnot interpret Alpha component of data.
    Actually there is bug in LCDC IP, expects data in DDR to be in
    ABGR:8888 format. This is worked around by configuring CPLD to
    swap B and R LCD data lines.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • LCD controller in AM335X which is updated version of that found on DA850
    SoC supports 2048*2048 resolution. Below are the encoding details:
    Width:
    Pixels Per Line = {pplmsb, ppllsb, 4'b1111} + 1
    Where pplmsb:1bit==>Raster Timing0[3], ppllsb:6bits==>Raster Timing0[9:4].
    And encoded value can range from 16 to 2048 in multiples of 16.

    Height:
    Lines Per Panel = {lpp_b10, lpp}
    Where lpp:10bits==>Raster Timing1[9:0], lpp_b10:1bit==>Raster Timing2[26].
    And encoded value can range from 1 to 2048, programmable range is 0 to
    2047.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     
  • LCD controller on AM335X SoC is an updated version of that found on DA850 SoC.
    The da8xx-fb driver can support this LCD IP with some enhancements.

    This patch adds support for updated interrupt configuration on the AM335X LCD IP.
    1) Registers for setting and clearing interrupts are different.
    2) Raw and masked status registers are different.

    The updates have been tested on an emulation platform for new features and the
    patch has been tested on DA850 platform to make sure nothing existing breaks.

    Signed-off-by: Manjunathappa, Prakash

    Manjunathappa, Prakash
     

11 Sep, 2011

1 commit

  • Since backlight_types[] isn't modified, let's declare it const. That
    was probably the intention of the author of commit bb7ca747f8d6
    ("backlight: add backlight type"), via which the "const char const *"
    construct was introduced. The duplicate const was detected by sparse.

    Signed-off-by: Bart Van Assche
    Cc: Matthew Garrett
    Cc: Richard Purdie
    Cc: Florian Tobias Schandinat
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bart Van Assche
     

26 Aug, 2011

3 commits

  • This is an i2c driver, not a platform driver, thus use "i2c" prefix for
    the module alias.

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

    Axel Lin
     
  • We need a callback to do some things after pwm_enable, pwm_disable
    and pwm_config.

    Signed-off-by: Dilan Lee
    Reviewed-by: Robert Morell
    Reviewed-by: Arun Murthy
    Cc: Richard Purdie
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dilan Lee
     
  • ep93xx_bl.c uses interfaces from linux/module.h, so it should include
    that file. This patch fixes build errors:

    CC [M] drivers/video/backlight/ep93xx_bl.o
    drivers/video/backlight/ep93xx_bl.c:138: error: 'THIS_MODULE' undeclared here (not in a function)
    drivers/video/backlight/ep93xx_bl.c:158: error: expected declaration specifiers or '...' before string constant
    drivers/video/backlight/ep93xx_bl.c:158: warning: data definition has no type or storage class
    ...

    Signed-off-by: Axel Lin
    Acked-by: H Hartley Sweeten
    Cc: Ryan Mallon
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     

07 Aug, 2011

1 commit

  • Two additional savage4 variants were added, but the S3_SAVAGE4_SERIES
    macro was incompletely modified, resulting in a false positive detection
    of a savage4 card regardless of which savage card is actually present.

    For non-savage4 series cards, such as a Savage/IX-MV card, this results
    in garbled video and/or a hard-hang at boot time. Fix this by changing
    an '||' to an '&&' in the S3_SAVAGE4_SERIES macro.

    Signed-off-by: John P. Stanley
    Reviewed-by: Tormod Volden
    [ The macros have incomplete parenthesis too, but whatever .. -Linus ]
    Signed-off-by: Linus Torvalds

    John Stanley
     

04 Aug, 2011

3 commits

  • i386 allmodconfig:

    drivers/built-in.o: In function `aat2870_bl_remove':
    aat2870_bl.c:(.text+0x414f9): undefined reference to `backlight_device_unregister'
    drivers/built-in.o: In function `aat2870_bl_probe':
    aat2870_bl.c:(.text+0x418fc): undefined reference to `backlight_device_register'
    aat2870_bl.c:(.text+0x41a31): undefined reference to `backlight_device_unregiste

    Cc: Jin Park
    Cc: Samuel Ortiz
    Cc: Axel Lin
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • - Current implementation tests wrong value for setting
    aat2870_bl->max_current.

    - In the current implementation, we cannot differentiate between 2 cases:

    a) if pdata->max_current is not set , or

    b) pdata->max_current is set to AAT2870_CURRENT_0_45 (which is also 0).

    Fix it by setting AAT2870_CURRENT_0_45 to be 1 and adjust the equation in
    aat2870_brightness() accordingly.

    Signed-off-by: Axel Lin
    Cc: Richard Purdie
    Cc: Samuel Ortiz
    Tested-by: Jin Park
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     
  • backlight_device_register() returns ERR_PTR() on error.

    Signed-off-by: Axel Lin
    Cc: Richard Purdie
    Cc: Jin Park
    Cc: Samuel Ortiz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     

02 Aug, 2011

1 commit

  • * 'for-3.1-rc1' of git://gitorious.org/linux-omap-dss2/linux: (31 commits)
    OMAP: DSS2: HDMI: fix hdmi clock name
    HACK: OMAP: DSS2: clk hack for OMAP2/3
    OMAP: DSS2: DSS: Fix context save/restore
    OMAP: DSS2: DISPC: Fix context save/restore
    OMAP: DSS2: Remove ctx loss count from dss.c
    OMAP: DSS2: Remove unused code from display.c
    OMAP: DSS2: DISPC: remove finegrained clk enables/disables
    OMAP: DSS2: Remove unused opt_clock_available
    OMAP: DSS2: Use PM runtime & HWMOD support
    OMAP: DSS2: Remove CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET
    OMAP: DSS2: Remove core_dump_clocks
    OMAP: DSS2: DPI: remove unneeded SYSCK enable/disable
    OMAP: DSS2: Use omap_pm_get_dev_context_loss_count to get ctx loss count
    OMAP: DSS2: rewrite use of context_loss_count
    OMAP: DSS2: Remove clk optimization at dss init
    OMAP: DSS2: Fix init and unit sequence
    OMAP: DSS2: Clean up probe for DSS & DSI
    OMAP: DSS2: Handle dpll4_m4_ck in dss_get/put_clocks
    OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4
    OMAP: DSS2: DSI: sync when disabling a display
    ...

    Linus Torvalds
     

01 Aug, 2011

3 commits


27 Jul, 2011

1 commit

  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     

26 Jul, 2011

6 commits

  • * Merge akpm patch series: (122 commits)
    drivers/connector/cn_proc.c: remove unused local
    Documentation/SubmitChecklist: add RCU debug config options
    reiserfs: use hweight_long()
    reiserfs: use proper little-endian bitops
    pnpacpi: register disabled resources
    drivers/rtc/rtc-tegra.c: properly initialize spinlock
    drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()
    drivers/rtc: add support for Qualcomm PMIC8xxx RTC
    drivers/rtc/rtc-s3c.c: support clock gating
    drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200
    init: skip calibration delay if previously done
    misc/eeprom: add eeprom access driver for digsy_mtc board
    misc/eeprom: add driver for microwire 93xx46 EEPROMs
    checkpatch.pl: update $logFunctions
    checkpatch: make utf-8 test --strict
    checkpatch.pl: add ability to ignore various messages
    checkpatch: add a "prefer __aligned" check
    checkpatch: validate signature styles and To: and Cc: lines
    checkpatch: add __rcu as a sparse modifier
    checkpatch: suggest using min_t or max_t
    ...

    Did this as a merge because of (trivial) conflicts in
    - Documentation/feature-removal-schedule.txt
    - arch/xtensa/include/asm/uaccess.h
    that were just easier to fix up in the merge than in the patch series.

    Linus Torvalds
     
  • Since commit a19a6ee "backlight: Allow properties to be passed at
    registration" and commit bb7ca74 "backlight: add backlight type", we can
    set backlight type and max_brightness before backlights are registered.
    Some newly added drivers did not set it properly, let's fix it.

    Signed-off-by: Axel Lin
    Cc: Matthew Garrett
    Cc: Jingoo Han
    Cc: Donghwa Lee
    Cc: InKi Dae
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     
  • Add the ams369fg06 amoled panel driver. The ams369fg06 amoled panel (480
    x 800) driver uses 3-wired SPI inteface. The brightness can be controlled
    by gamma setting of amoled panel.

    [sfr@canb.auug.org.au: fix build error]
    [axel.lin@gmail.com: unregister backlight device when unloading the module]
    [axel.lin@gmail.com: staticize ams369fg06_shutdown]
    Signed-off-by: Jingoo Han
    Cc: Richard Purdie
    Cc: Inki Dae
    Cc: anish singh
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Axel Lin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • We have set props.max_brightness before registering backlight device.

    Signed-off-by: Axel Lin
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Axel Lin
     
  • - Fix checking of wrong return value for backlight_device_register()

    - Properly free allocated resources in ld9040_probe() error path and
    ld9040_remove().

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

    Axel Lin
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    fs: Merge split strings
    treewide: fix potentially dangerous trailing ';' in #defined values/expressions
    uwb: Fix misspelling of neighbourhood in comment
    net, netfilter: Remove redundant goto in ebt_ulog_packet
    trivial: don't touch files that are removed in the staging tree
    lib/vsprintf: replace link to Draft by final RFC number
    doc: Kconfig: `to be' -> `be'
    doc: Kconfig: Typo: square -> squared
    doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
    drivers/net: static should be at beginning of declaration
    drivers/media: static should be at beginning of declaration
    drivers/i2c: static should be at beginning of declaration
    XTENSA: static should be at beginning of declaration
    SH: static should be at beginning of declaration
    MIPS: static should be at beginning of declaration
    ARM: static should be at beginning of declaration
    rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
    Update my e-mail address
    PCIe ASPM: forcedly -> forcibly
    gma500: push through device driver tree
    ...

    Fix up trivial conflicts:
    - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
    - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
    - drivers/net/r8169.c (just context changes)

    Linus Torvalds
     

25 Jul, 2011

3 commits

  • The current method of saving and restoring the context could cause a
    restore before saving, effectively "restoring" zero values to registers.

    Add ctx_valid field to indicate if the saved context is valid and can be
    restored.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • The current method of saving and restoring the context could cause a
    restore before saving, effectively "restoring" zero values to registers.

    Add ctx_valid field to indicate if the saved context is valid and can be
    restored.

    Also restructure the code to save the ctx_loss_count in save_context(),
    which makes more sense than the previous method of storing new
    ctx_loss_count in dispc_need_ctx_restore.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • dss.c only saves 1 register (3 in OMAP3) so the extra overhead from
    need_ctx_restore & co. is probably bigger than the time spent saving and
    restoring those few registers every time.

    So remove the code from dss.c and restore context every time dss has
    been off.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen