06 Dec, 2011
1 commit
-
Patch adds useful debug message on LCDC syn and underflow error.
Signed-off-by: Manjunathappa, Prakash
27 Oct, 2011
17 commits
-
Patch adds 24bpp support and configures LCDC in 24bpp packed mode.
Signed-off-by: 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
-
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
-
Patch fixes build warning on label "err_cpu_freq" when CONFIG_CPU_FREQ
is not defined.Signed-off-by: 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 -
This patch adds support for I2C configurable TLC59108 backlight
control driver.Signed-off-by: Manjunathappa, Prakash
Signed-off-by: Vaibhav Hiremath -
This patch adds APIs to register and unregister wait for vsync
callback.Signed-off-by: Manjunathappa, Prakash
Signed-off-by: Vaibhav Hiremath -
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 -
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 -
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 -
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
-
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
-
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
-
Adding pinmux, platform resource information. Also add
AM335X panel inforamtion.Signed-off-by: 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
-
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
-
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
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
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 -
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 -
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
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
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_unregisteCc: Jin Park
Cc: Samuel Ortiz
Cc: Axel Lin
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
- 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 -
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
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
...
01 Aug, 2011
3 commits
-
The HDMI clock (hdmi_clk) is missing in the current OMAP4 HWMOD
database. Fix this in the DSS driver by using the old clock name
(dss_48mhz_clk).Signed-off-by: Tomi Valkeinen
-
The HWMOD data for OMAP2 and 3 are currently not up to date regarding
DSS (OMAP4 HWMOD data is fine). This patch makes the DSS driver to get
the opt clocks needed for OMAP2/3 with the old clock names, thus
allowing DSS driver to use runtime PM.The HWMOD databases should be fixes ASAP, and this patch can be reverted
after that.Signed-off-by: Tomi Valkeinen
-
Add backlight driver for AnalogicTech AAT2870.
Signed-off-by: Jin Park
Signed-off-by: Samuel Ortiz
27 Jul, 2011
1 commit
-
This allows us to move duplicated code in
(atomic_inc_not_zero() for now) toSigned-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
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. -
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 -
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 -
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 -
- 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 -
* '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)
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
-
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
-
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