Commit graph

4771 commits

Author SHA1 Message Date
Devin Kim
07cd434307 msm_fb: call the backlight control before FB_BLANK_POWERDOWN
You might see the white line while lcd off. You should turn lcd backlight
off before lcd off to avoid that issue. So call the notifier for backlight
before handling of FB_BLANK_POWERDOWN in msm_fb.

Change-Id: I3bd08025a949ec02a1fba7cef98a13d8977c135b
2013-03-04 12:46:29 -08:00
Naseer Ahmed
3aa5b914d3 msm_fb: display: empty queue at suspend
Change-Id: Iafdf469c6cdbf5d469c9dee114555a8d1adb9c66
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:27 -08:00
Naseer Ahmed
94f97545b1 msm : display: buffer sync point update
Do not put sync point if it has been added to
a fence successfully in error handling

Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:26 -08:00
Naseer Ahmed
1816d1eb76 msm: mdp: Disable vsync in video off.
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:26 -08:00
Naseer Ahmed
fdf06a0c73 msm_fb: display: remove extra dmap irq disable
irq enable and disable need to be called symmetrically.
Remove an extra dmap irq disable call.

Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:25 -08:00
jh.koo
cbff6e7a0c slimport: Modify to support slimport-to-VGA and slimport-to-DP dongles
Change-Id: I4bbe996351d50bfa2a4073987c97db37a4ed3484
2013-03-04 12:46:21 -08:00
Devin Kim
ae71d63d07 msm_fb: Fix display corruption with continuous splash screen feature
During boot up, we observe random lines on screen between the
splash_screen image and the android animation. MDP clocks
were turned off during bootup. Fix this issue by enabling
the clocks when this feature is enabled.

Add check to see that the video mode engine is not busy before
turning off the dsi controller to avoid any underruns.

CRs-Fixed: 399634

Change-Id: I8fdb50fa848362a548b8cdd53ee1817346b57716
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2013-03-04 12:46:18 -08:00
Naseer Ahmed
ccd2059e3c msm_fb: display: check base layer pipe at irq handler
Change-Id: Ib188d575044f5479672503508042c8c1e9c759c4
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:15 -08:00
Naseer Ahmed
5f2bdb1c5f msm_fb: display: add blt condition check at video/lcdc off
Blt mode may be enabled during system suspend. Need to make
sure blt overlay done  before turn off video/lcdc timig generator.

Change-Id: Iad54ee544499213bb7c9cfe60d00919f819aacb1
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:14 -08:00
Kinjal Bhavsar
70f7421a80 msm: display: Buffer sync point support
Add MSMFB_BUFFER_SYNC ioctl for the communication of
the acquired and released fence fd between kernel and hwc.

Wait for acquired fence before pan display.
Release the previous released fence after pan display

Change-Id: I6534aed574a025d948581e70465f06a86b46c868
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
2013-03-04 12:46:14 -08:00
Naseer Ahmed
bd7a66d33a msm: mdp: Send fake vsync only when enabled from userspace
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:13 -08:00
Naseer Ahmed
53e65eac9e msm_fb: Clear real pipe attributes in the pipe free
Clear original pipe attributes in the pipe free call.

Change-Id: I776869e7997e5b70e4c2b102e1a394034247bbcd
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2013-03-04 12:46:08 -08:00
Jongrak Kwon
a5a9c40226 msm: dsi: use timeout for dma transfer
Use wait_for_completion_timeout instead of wait_for_completion
not to stuck in the kernel even when the DMA fails.

Change-Id: I29702c3c62f78399c173d660bbbc17a07ed27468
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:46:07 -08:00
Jongrak Kwon
73161d35e7 Revert "[ARM] msm: fix mipi_dsi_off"
Preserve original dsi-off sequence to remove DMA failure.  Previously the power
off sequence was modified to resolve display turn on/off issue, but the changes
were not necessary in current kernel and just caused side effects which
resulted in fb_blank being stuck due to occasional DMA failures.

This reverts commit e1a9b1bda7691e4f62728d09e1993eb9ae9db8d6.

Change-Id: Ia0a60cfdf697675d34066852f106d9e37578073d
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:46:07 -08:00
Jongrak Kwon
7060213779 Revert "[ARM] msm: fix mdp_off"
Preserve original mdp off sequence to remove DMA failure.  Previously the power
off sequence was modified to resolve display turn on / off issue, but the
changes is not necessary in current kernel and just causes side effects
resulting in fb_blank being stuck due to occasional DMA failures.

This reverts commit 0b3bc7e958f98432538a8537739fbaa560761434.

Change-Id: Ia82fb79b56b57f6696c55d9b079eeadebe8c40bf
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:46:06 -08:00
Devin Kim
f80be7d12e backlight: lm3530: decrease a little more backlight level
decrease backlight level to 70 nit at the charging mode

Change-Id: I3ad14dbcfc5daf5090219da21c3f348fdb97ff77
2013-03-04 12:45:59 -08:00
choongryeol.lee
23580403bd Revert "mako: backlight: sync backlight on/off with lcd on/off"
This reverts commit af3f22de5dd769b555c018c12be837450cd59dd6.

Due to the order of backlight and lcd on/off will be guaranteed by
PowerManagerService, this patch is reverted.

Change-Id: I2e54dc14d338b5bfa1aca1bddcc37b46928a94e8
Signed-off-by: Iliyan Malchev <malchev@google.com>

Conflicts:
	drivers/video/msm/msm_fb.c
2013-03-04 12:45:51 -08:00
Iliyan Malchev
77af5d3270 msm_fsb: handle pipe-allocation errors
In mdp4_overlay_writeback_on, return -EIO is pipe allocation fails.

Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:45:49 -08:00
Ajay Dudani
475ec34506 msm_fb: Add option to enable/disable mixer commit
Adds support to enable or disable mixer commit during pipe staging operations.
Depending on the current activity, this selection can be made.

Change-Id: Ia2f5dbab58f73ef4de90abf7f278332d8d73df46
Signed-off-by: Pradeep Jilagam <pjilagam@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:45:49 -08:00
Ajay Dudani
af539886f6 msm_fb: display: free base layer pipe at adb stop
Base layer pipe need to be freed at adb stop so that same
pipe can be allocated at adb start.

CRs-fixed: 390644
Change-Id: I948bb27687cfe1c96cc3b071b7bb9bb84b2c52c6
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:45:48 -08:00
Devin Kim
ce9d76b093 mako: display: disable LP stop mode
Enabling LP stop flag caused flicking or after image.

Change-Id: I91066bebc3b4c5277ef524435615c1b8bde70e80
2013-03-04 12:45:32 -08:00
Devin Kim
1c659927e5 mako: display: increase mipi line speed
increase mipi speed to 470Mbps from 450Mbps
too low line speed don't support HD resolution

Change-Id: I572afcc82f0c67aa0d45547f3f7f10214f4ebf81
2013-03-04 12:45:32 -08:00
Deva Ramasubramanian
eb9863d4c8 vidc: Correct start and stop sequence.
Video core stop should be called only if start is successful.

Change-Id: Ie2a8d970355387ee3fcdc34b62184972e89dd6cc
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2013-03-04 12:45:29 -08:00
jh.koo
6ff2586036 slimport: Add slimport detection function
It will be used for charger detection codes. slimport is also used
as charger like as usb charger

Change-Id: Idd40dd88b8a5f035dfb207dd787d7fd3f4ae713b
2013-03-04 12:45:23 -08:00
Deva Ramasubramanian
de751b9e44 vidc: Add secure node support for encoder.
Encoder driver will expose a new node for clients
intending to start a secure encoding session.

Change-Id: I2a104155fd19534a3b3b35e6606d39047f34c42f
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2013-03-04 12:45:22 -08:00
Deva Ramasubramanian
a7b1a91bbb msm: vidc: Use MM heap for prediction buffer during secure encode
We are incorrectly using the firmware heap to allocate prediction
buffers. This violates an agreement between TZ and HLOS that only
the firmware will reside in the FW heap. As such, move the buffer
to MM heap.

Change-Id: I2c91499c38043abfa21ae3443d3a8f22d6474eaa
CRs-fixed: 380161
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2013-03-04 12:45:21 -08:00
jaekyung.oh
0e4c04388a mako: display: update lcd initial code.
Added OTP read protection code for prevent skew value read error.

Change-Id: Ic91031c41ccf6a43346eb0e20f82ad6144fccab2
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:45:16 -08:00
Devin Kim
7e45a10da4 backlight: lm3530: add the backlight map in platform data
Add the backlight map into platform data for calibrating
by the board specific values

Change-Id: Ib997a8cbf738b2700305028f47178f31420f9e85
2013-03-04 12:45:13 -08:00
Ajay Dudani
c271edce37 Revert "msm: vidc: Correct calculation of yuv buffer size"
This reverts commit 3a2945ef2385ae934ab4df98f26651d132b7b4fc.
2013-03-04 12:44:56 -08:00
Ajay Dudani
27cf9b7743 msm_fb: display: add mutex on overlay_play to fix iommu page fault
An iommu page fault may heppen When a pipe_commit is executed
in between of frame dropped and pipe_queue during overlay play.
An mutex is necessary to mutual exclusive between pipe_commit
and overlay_play.

Change-Id: I736e821c6c648a6ebd435303a1906a40e9b75791
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:51 -08:00
Ajay Dudani
6d8f25a183 msm_fb: display: add wait for overlay0 done
Dcs command mode BLT involves both overlay0 done interrupt
and dmap done interrupt. A transaction is start at kickoff and
end with done interrupt.  At some cornor cases both overlay0 and
dmap transaction need to be completed before kickoff new transaction.

Change-Id: I5a3cc6e8255acf2c61fc627d35f990182d226f63
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:51 -08:00
Ajay Dudani
83a5244576 msm_fb: display: fix mdp crash during overlay unset
Check real_pipe address before refer to it.

Change-Id: I2f8c6fa6f8e657801dc676f7d9887e7eb0f10e73
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:50 -08:00
Ajay Dudani
523352899a msm_fb: display: alloc/free writeback buffer done at do_blt()
To avoid double freeing writeback at end of blt mode, let
both alloc and free writeback buffer done at do_blt().

Change-Id: Ida5d24589c19be8f6f655eca6add00badca356b2
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:50 -08:00
Ajay Dudani
de46e23776 msm_fb: display: fix page fault during supend/resume
There has VG1 pipe commit (pan display) happen after system
suspended. This left VG1 still staged up at mdp mixer. Once timing
generator is enabled at resume, VG1 pipe start fetching contents from
address 0 since VG1 has not yet be configured. This cause page fault.
This patch has sanity check at system suspend to make sure no any pipe
stage up at mixer after suspend.

Change-Id: Idcf974ceb4afe2a3ec55b9603b700fa497f84045
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:49 -08:00
Naseer Ahmed
71be284a8e mdp: Fix incorrect reserved[3] usage 2013-03-04 12:44:10 -08:00
Naseer Ahmed
8b1bd63cfb msm: mdp: Fix reserved field usage
An earlier commit(ec5b2f)increased the number of reserved fields
in the kernel standard fb.h header changing the struct size.
This caused issues with userland applications using the corresponding
bionic header. This patch revert the earlier increas in size
and makes corresponding adjustments to the reserved field usage.
A follow up patch will remove usage of reserved fields entirely.
2013-03-04 12:44:09 -08:00
Iliyan Malchev
d3e1e3e13e [ARM] msm: call video start function
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:44:04 -08:00
Iliyan Malchev
6a72f05a4f [ARM] msm: fix mipi_dsi_off
Signed-off-by: Iliyan Malchev <malchev@google.com>

Conflicts:
	drivers/video/msm/mipi_dsi.c
2013-03-04 12:44:03 -08:00
Iliyan Malchev
89244c5bea [ARM] msm: fix mdp_off
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:44:02 -08:00
taeyol.kim
55499f5ac1 display: removed the code exhausts file descriptor in mdp overlay and rotator.
Fix the problem crashed while playing video clips and VT camera test.
ion_share_dma_buf is called in pr_debug.
So, it is called depends on build option and makes crash problem.
2013-03-04 12:43:58 -08:00
choongryeol.lee
a87d0e534a msm_fb: check null pointer before reading backlight on status
Since msm_fb_blank_sub() can be called from hdmi which has no
backlight, we should check the null pointer before to run the
get_backlight_on_status().

Change-Id: I9a91dc337b56e20fbfd82347cf429350f1a72b37
2013-03-04 12:43:49 -08:00
jaekyung.oh
781f6d1c2f mako: display: fixed lcd blink in the first boot.
VGL/VGH power generation is reenabled when first boot.
So Skip this routine when booting.
2013-03-04 12:43:34 -08:00
choongryeol.lee
2cb854aebc mako: backlight: sync backlight on/off with lcd on/off
To avoid dispalying garbage during lcd on/off, the turning on
lcd should be done before backlight on and turning off backlight
should be finished before lcd off. But current implementation
doesn't guarantee these on/off sequence. This patch ensure the
sequence of lcd and backligth on/off.

Change-Id: I11771d395c1a68b4e70b63639f50c773a665b441
Signed-off-by: Iliyan Malchev <malchev@google.com>

Conflicts:
	drivers/video/msm/msm_fb.c
2013-03-04 12:43:34 -08:00
choongryeol.lee
20c283689b backlight: lm3530: add level setting to bl_set_intensity()
When application calls FBIOBLANK ioctl without backlight control,
even though bl_set_intensity() is called by fb_notifier_callback,
the backlight level cannot be set properly. So this patch add the
level changing to bl_set_intensity().

Change-Id: Id512c2f1bffbde2d47186d40071d05bc1388dc03
2013-03-04 12:43:33 -08:00
choongryeol.lee
dc93c5a1ec mako: display: change color value to displayed in case of underflow
In case of data underflow, MDP display specific color on lcd.
Due to data underflow rarely happen during display on/off,
we can see unintended blue screen at that time.
So this patch changes this underflow control color from blue to black
for hiding unintended blue image displaying during display on/off.

Change-Id: I26910065b5210a2571125d25f3f1b41a67ba1c1c
2013-03-04 12:43:32 -08:00
choongryeol.lee
6a18ef8007 mako: display: enable lcd color temperature calibration
Add lcd color temperature calibration interface and apply
the calibrated value to the target using mdp lut.

Change-Id: Ibdd606a155e0d7708ba79be6f817c3d89b51a282
2013-03-04 12:43:31 -08:00
choongryeol.lee
01fc0013e4 mako: display: enable CABC function
CABC(Content Adaptive Backlight Control) is supported by
mako lcd panel. So this patch enables it to reduce power
consumption.

Change-Id: I433281bc5fe4e638cfeba1beb9cb61e1775f3896
2013-03-04 12:43:27 -08:00
choongryeol.lee
58aa102331 Revert "mako: temoprarily blocked mdp error message"
This reverts commit 0fca8a4db86917c28b9c8161b1ae5ee73743605d.
2013-03-04 12:43:20 -08:00
choongryeol.lee
b4826d07a0 mako: slimport: enable slimport for mako
apply slimport driver to mako

Change-Id: I411d89784ab2796db61cb9f3202952e0e5744107
2013-03-04 12:43:20 -08:00
choongryeol.lee
fe01ac999e mako: display: update lcd initial code
update lcd initial code and change power on sequence for
new initial code.

Change-Id: Ic876d5dbef3528591ca374ba0f67f073f4584534
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:43:14 -08:00