Commit graph

566976 commits

Author SHA1 Message Date
Ujwal Patel
e509f3b8cb msm: mdss: workaround for bwc and panic
Due to HW problem, when BWC is enabled, panic is asserted continuously
as long as pipe with BWC decode is fetching from the memory. This
continuous panic assertion causes unnecessary CPU throttling and causes
lot of side effects. To prevent the issues related to HW problem, disable
BWC on video mode panels on msm8994. On CMD mode panels, use BWC but
disable panic signal as long as there is no video mode secondary display.
It is user-space's responsibility to not use BWC when primary display is
CMD mode but any kind of secondary video mode display is active.

Change-Id: Idb219e61599d2e2564bd4076fcfc787cd99c8d4d
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
[mattw@codeaurora.org: resolved a trivial context conflict in mdss.h]
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
2016-03-23 20:36:16 -07:00
Shivaraj Shetty
1e40a94776 msm: mdss: add bw requirement calculations for ppp on mdp3
Currently ppp engine adds huge fudge factors for bandwidth
calculations. Remove the fudge and add right bw requirement
calculations for the same.

Change-Id: I798d2bf6ac4c4cff13c82efdd53e5c73fa84b1ff
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
2016-03-23 20:36:15 -07:00
Padmanabhan Komanduru
1dd551da28 msm: mdss: delay clearing the DSI error interrupt
At present, the DSI error interrupt is cleared before the
respective errors are handled. This might cause re-generation
of the error interrupt which causes the ISR to be scheduled
again. Hence clear the DSI error interrupt after the errors
are handled.

Change-Id: I42b1d0beee8597e60b4103106ebbeffe6caf065e
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:36:14 -07:00
Padmanabhan Komanduru
2ceb2d0ec0 msm: mdss: avoid corner cases with DSI_INT_CTRL register read/write
To enable/disable a particular interrupt mask for DSI, we currently
read the DSI_INT_CTRL register and add/remove the interrupt mask on
top of the current register value. With this approach, we sometimes
clear some interrupts without handling them. Handle this case by
writing back only the required interrupt mask bits to the
DSI_INT_CTRL register.

Below is an instance of such issue when a DSI register read
operation is performed.

<3>[  342.509070] mdss_dsi_isr: ndx=0 isr=3200002
             -> At first, DSI error interrupt is received.

<3>[  342.512239] mdss_dsi_err_intr_ctrl: intr=1310003 enable=0
             -> During DSI_INT_CTRL read/write operation,
we clear the CMD_DMA_DONE interrupt which arrives few milli
seconds after DSI error interrupt.

<3>[  342.517620] mdss_dsi_fifo_status: status=44441000

<3>[  342.522351] mdss_dsi_timeout_status: status=1

<3>[  342.526980] mdss_dsi_err_intr_ctrl: intr=3210002 enable=1

<3>[  342.693365] mdss_dsi_cmds_rx: failed to tx cmd = 0xa
             -> This causes a CMD DMA timeout even though the
CMD_DMA_DONE interrupt arrived.

Change-Id: I82ba142d4da4ae5f4a1a2761c32b8af7964b538b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:36:13 -07:00
Kuogee Hsieh
4518cd302d msm: mdss: add DFPS horizontal front porch support
Add DFPS horizontal front porch support in addition to
vertical front porch. It adjust horizontal front porches
as needed to achieve specified new frame rate.

Change-Id: I05bccc4f515ba45a39642171799117584ae057ad
(cherry picked from commit 842c510f0759426535112d14a72a1c7658f430bd)
[veeras@codeaurora.org: Done as part of 3.18 upgrade
Removed msm8939-cdp.dtsi, msm8939-mtp.dtsi, msm8939-qrd-skuk.dtsi
from this commit]
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:36:12 -07:00
Ajay Singh Parmar
bca18b11fc msm: mdss: hdmi: remove hard-coded resolution id names
Generate the HDMI resolution id names based on resolution timing
details. This makes the code generic for all resolutions.

Change-Id: I097f450f5a85c85c1e81b7c7b1351d9c7228ba01
(cherry picked from commit 0e21977a89c126d610763c8ed9baf013bc9fa72a)
[veeras@codeaurora.org: Done as part of 3.18 upgrade
Removed msm8994-fluid.dtsi, msm8994-pinctrl.dtsi from this commit]
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:36:12 -07:00
Aravind Venkateswaran
fbcc005c2b msm: mdss: add support for LP2 low power state
Define a new low power state for display (LP2), in which the panel is
on but cannot accept any updates. Add support for transitions in and
out of this new power state.

Change-Id: Ie25ec157bf6bb16efb76d535822c2e978a0bc2e1
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:36:11 -07:00
Dhaval Patel
fa69b02d44 mdss: mdp: release file node before process node when open fail
Releasing file node after process node causes the kernel
panic because process node is already freed. Correct order
to release nodes should be file node followed by process node
when PM API fails.

CRs-fixed: 753912
Change-Id: I252fc9eabaf0ba81d19b1989b03100849cdeca38
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:36:10 -07:00
Veera Sundaram Sankaran
cec2b17af6 msm: mdss: fix possible null dereferencing in interface writeback
Added null check to avoid possible null pointer dereferencing.

Change-Id: Iedafe6e308b7b4a1d43efa7c37a26afd16fa1989
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:36:09 -07:00
Xiaoming Zhou
21ce99e154 msm: mdss: refactor the rotation logic
Creating a rotation session manager to manage the rotation sessions.
At creation time, rotation object is not assigned to the underlying
hardware resources (i.e. pipe, mixer, controller, and write-back).
The hardware assignment happens only at the time of commit, and released
after the commit is done.

Change-Id: I33bf625a177362953c11eefc2a779a5af409964b
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
2016-03-23 20:36:08 -07:00
Ajay Singh Parmar
62d4074af6 msm: mdss: hdmi: edid: fix proper adb size
ADB (Audio Data Block) can be more than one in some EDIDs of TV.
Handle multiple ADBs by allocating required memory.

Change-Id: I3f6d39560047d3fbc22dfb06121b898dabe16db3
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:36:07 -07:00
Jeykumar Sankaran
57df33e7aa msm: mdss: Allow up to 10 overlays per display
As per overall system performance recommendation, allow up to
10 overlays per display composition.

Change-Id: Ida0934588e45eec6556d48356ac30bfe1447ca50
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2016-03-23 20:36:06 -07:00
Padmanabhan Komanduru
d8a026f775 msm: mdss: fix lane configuration during DSI overflow recovery
While performing DSI overflow recovery operations, we currently
enable all the 4 DSI data lanes. For panels which have less than
4 data lanes, this might cause issues. Hence, program the
DSI_CTRL register based on the lane configuration that exists
prior to the overflow recovery operation.

Change-Id: I4131adb12169491c862033340a5f72efbd56971c
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:36:05 -07:00
Ujwal Patel
4dc5ccfa3b msm: mdss: fix processed overlay number mapping
When source split is enabled, overlay list is sorted and then processed
but user-space is not aware of this sorting and assumes that driver
processes overlays in the original order. So when there is an error
during prepare ioctl, processed_overlay return value is used by
user-space to find out which overlay had an error. But user-space uses
this process_overlay in the original list order while driver operates on
sorted list. This requires mapping of bad overlay from sorted list to
original list. Simplify and correct this mapping implementation.

Change-Id: If78f65812b989deed9f423a0c8630effc905d111
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:36:05 -07:00
Ujwal Patel
7541576401 msm: mdss: ignore pipe allocation error due to priority limitation
Pipe allocation can fail if the priority of the pipes in pair do not
satisfy the requirement. But these failures are not fatal and will be
handled in the next round. So ignore log spitting if pipe allocation
failure is due to priority limitation.

CRs-Fixed: 746386
Change-Id: I8586197a9653daa430617367e1e8ec3851d2cfa0
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:36:04 -07:00
Adrian Salido-Moreno
fecd461b57 msm: mdss: debug: provide unknown string when index is invalid
When index is not found in lookup table we should return unkown string,
however current check is only based on array bounds, but there may be
some indexes within the array that haven't been defined. A null check
for those should be sufficient.

Change-Id: I7fe7de572a95ae1482dc6a647979dfb7755270a7
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:36:03 -07:00
Casey Piper
616011665d msm: mdss: add support for mhl3 compilation
Update makefile and Kconfig to support
compilation of driver for SiI 8620 MHL Tx
i2c device.

Change-Id: Icf87c5bc059892433bc2ed88a5266adab92402ae
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
[cip@codeaurora.org: Moved updates to new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:36:02 -07:00
Casey Piper
0db193b16b mdss: mhl3: update enum flag with correct value
Update flag used for hardware interrupt info
with the correct enum for MSC DONE.

Change-Id: If9b74e14a974737d17abb06b1c590770a13000ec
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:36:01 -07:00
Casey Piper
67cdd4cfa8 mdss: mhl3: update logs for platform independence
Update log messages to print pointers with the
correct format identifier.

Change-Id: I79cdbfacd42cf6245d13ee7a8e75be99af615205
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:36:00 -07:00
Casey Piper
4c024922c0 msm: mdss: Add i2c mhl driver MSM8994 fluid configuration
Add support for HDMI to MHL i2c bridge chip on MSM8994
FLUID and enable HDMI on MSM8994 fluid, as it is supported
in conjunction with the MHL bridge chip.

Change-Id: I47d76cc0b507330d4ba10f420d82f9aee6604824
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:35:59 -07:00
Casey Piper
55d7b11d67 mdss: mhl3: update sil vendor prefix to correct value
The vendor prefix for Silicon Image is sil. Update
the vendor prefix for dt references to this correct
prefix.

Change-Id: I08f74f33c1bdc44c331a3b8813ed46ccbb05ad6f
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:35:59 -07:00
Aravind Venkateswaran
0c111eb0ac msm: mdss: fix fb device pm suspend and resume handlers
Under normal circumstances, the framebuffer device should have been
blanked or configured to a low power mode prior to the pm suspend
callback getting executed. In cases when this sequence is not followed,
blank the framebuffer as part of pm suspend handler to ensure that all
display resources are freed. Similarly, if the framebuffer was
explicitly blanked during suspend, then unblank it when resuming. This
also eliminates the need for the existing sysfs node to indicate
always-on display mode.

Change-Id: I1613f5eba420c9587af2ecb04bc5cb115b7a1095
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:35:58 -07:00
Kuogee Hsieh
b6d1c8645c msm: mdss: reduce waiting time before turn off mdp clock
Vsync happens at every 16.6 ms. Currently it waits for
6 vsyncs (100 ms) time before turning off mdp clock if
there is no new frame update. During suspend procedure,
change it to 1 so that mdp clock is turned off 1 vsync
after kickoff has completed if there is kickoff pending.
Otherwise mdp clock is turned off at next vsync.

Change-Id: Ibb000b04cb4204ff63647dda3146c55084330687
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:35:57 -07:00
Siva Yarravarapu
5f14a4369d mdss: mdp: secure buffer is unmaped without iommu attached
For secure content/buffers, it is a requirement that IOMMU is attached
before un-mapping can be called, otherwise the scm call to unmap the
buffer will not be successful. In the current implementation it is
possible to unmap buffer while going into suspend without IOMMU being
attached which leads to secure playback failures in subsequent sessions.
Fix this by ensuring IOMMU is attached before buffer is freed/unmapped.

Change-Id: I29cdce834356b45f05fc75ec07d1c6fa0fcf2d69
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Siva Yarravarapu <sivay@codeaurora.org>
2016-03-23 20:35:56 -07:00
Kuogee Hsieh
3fcbdd4946 msm: mdss: add support of border area
Add border_x_off and border_y_off to track the
left/right/top/bottom border parameters defined
at panel dtsi file. Adding border_x_off and
border_y_off to pipe's destination x and y so that
border can be formed during blending operation at
mixer.

Change-Id: I29673df30318c7d9064adae996da62823db3230d
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
[mattw@codeaurora.org: resolved trivial context conflict]
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
2016-03-23 20:35:55 -07:00
Mikhail Amchislavsky
3b9fec79f5 mdss: mhl3: Add driver for MHL Transmitter
Code drop from https://github.com/siliconimageinc/sii8620
taken from commit 20b4c581d705cffce422bc79c2bacf7ed5363beb

"Posting driver 1.03 release candidate.

Version 1.03.19

Signed-off-by: Mikhail Amchislavsky <Mikhail.Amchislavsky@siliconimage.com>"

Adding driver for SiI 8620 MHL transmitter.
Integrated the files into drivers/video/msm/mdss/mhl3/.

Removed unnecessary files:
apq8074_kernel_update/apq8074-dragonboard.dtsi
apq8074_kernel_update/board-8974-gpiomux.c
apq8074_kernel_update/msm8974.dtsi
apq8074_kernel_update/sii6031/msm_otg.c
apq_build.sh
build
build_num.txt
clean

Moved files relating to SiI 6031:
apq8074_kernel_update/sii6031/msm_otg.c
apq8074_kernel_update/sii6031/si_6031_switch.h
apq8074_kernel_update/sii6031/sii_6031/Kconfig
apq8074_kernel_update/sii6031/sii_6031/Makefile
apq8074_kernel_update/sii6031/sii_6031/si_6031_switch.c
into drivers/video/fbdev/msm/mhl3/sii6031/.

Change-Id: I29adf3bd4a02406bd9b47c0727d4093cdea94496
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
[cip@codeaurora.org: Moved new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:35:54 -07:00
Krishna Chaitanya Parimi
9d1c95d590 msm: mdss: Return success to hist start if hist is running
When histogram is already running a subsequent call to start
the histogram would return with an error. Now instead of
failing the request we return success if histogram is found
to be running already.

Change-Id: I728d8388be625ff5d8069166ad4517095a71727b
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
2016-03-23 20:35:53 -07:00
Chandan Uddaraju
56df68ff8c mdss: dsi: check the clock lane status for overflow recovery sequence
Implement the overflow recovery sequence only when the clock lane
is not present in stop state. This will prevent from running
the recovery sequence for non fatal overflow errors.

Change-Id: I3a64c9b42d0b112d84f376ab67c6a63c1dc0256e
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2016-03-23 20:35:52 -07:00
anisha agarwal
1a312bb083 msm: display: qpic: Add pinctrl support in qpic
Add pinctrl support for the installation of the required GPIOs
from devicetree, and make appropriate changes in the driver to
initialize and set the pins to active and sleep states during
panel on and off stages respectively in QPIC driver.

Change-Id: I7e227843553c2a32cdd8eed3c622af7e3d556e6c
Signed-off-by: Zohaib Alam <zalam@codeaurora.org>
Signed-off-by: anisha agarwal <anishaa@codeaurora.org>
2016-03-23 20:35:51 -07:00
Kuogee Hsieh
2af6aecbef msm: mdss: restore dsi interrupt mask bits
DSI interrupts are not enabled at LK. For cont_splash
case, dsi interrupt mask bits need to be restored to
enable interrupts so that dcs command be sent to panel.

CRs-Fixed: 745369
Change-Id: Ice61d538387c5d37dd9e077f01b4c6d4593cc393
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:35:51 -07:00
Adrian Salido-Moreno
1f09285af5 msm: mdss: fix check for bwc and decimation
Decimation flag is not sufficient to prevent decimation from being
enabled. Instead check that decimation values are also not set.

Change-Id: Iab5fb4ef96649a2f28f4203643856b9ab9df4bee
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:35:50 -07:00
Padmanabhan Komanduru
eca18cc344 msm: mdss: fix logic in DSI data lane overflow recovery
The DSI lane overflow recovery should be done only during
active region. Currently, we consider the vertical front
porch also to be part of minimum line count check. This needs
to be fixed since vertical front porch region arrives after
the MDP active region. Also consider the minimum line count
while checking the upper limit of the current MDP line count.

Change-Id: I02401be74ff3af303624eacae8576dd5ccada3f3
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:35:49 -07:00
Adrian Salido-Moreno
b9ebb7be67 msm: mdss: wait for idle when wait for kickoff not available
When underlying mdp driver doesn't support waiting for kickoff trigger,
wait for panel to be idle instead. This will ensure proper
synchronization of updates.

Change-Id: I8fcb75c1873cd55b1aade3442aa99c6c1eba62a8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:35:48 -07:00
Jeykumar Sankaran
80d82787ba msm: mdss: Validate ROI only when partial update is enabled
Validate frame's ROI against pipe parameter for scaled
destinations only when partial update feature is enabled.

Change-Id: I9e4ccb27ce5648baa4607c70fd375f69413b9d82
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2016-03-23 20:35:47 -07:00
Casey Piper
3bfef91a9d msm: mdss: hdmi: increase maximum edid read retries
Some HDMI sinks may not have EDID ready immediately
after asserting HPD. Increasing the maximum number of
read retries of the first EDID block to ensure that
EDID read is successful.

Change-Id: Ia8e49f3e8f6beca84ecb584dcb40446a8657edb0
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:35:46 -07:00
Adrian Salido-Moreno
acab8b7e1b msm: mdss: fix pixel extension validation on decimation
When decimating and if chroma is to be downsampled, hw doesn't decimate
for first step. This needs to be considered as part of the pixel
extension values validation.

Change-Id: I58e61776be4dcc11c105bb46e69c9b486ef1f4f9
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-03-23 20:35:45 -07:00
Ping Li
c74f9b5df2 msm: mdss: Add dither support for Thulium
MDP block supports dither feature in DSPPs (destination surface
processing pipes) which can be enabled or disabled by driver clients.
This change adds the support in post-processing driver to allow
dither configuration in DSPPs.

Change-Id: I2bd2da482f3d204649351bebdbe66bd5dab7a187
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:35:45 -07:00
Ping Li
e8bd84e0ca msm: mdss: Support for gamma correction in thulium
Gama correction blocks are part of destination and layer
mixer blocks of MDP. Client of PP driver can program these
blocks and enable them. Change adds support to program and
enable the gamma correction blocks.

Change-Id: Ieba07290525c1ccf79e4abf3648baf3dfd02d266
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:35:44 -07:00
Ping Li
ea14d7ee88 msm: mdss: Add PA LUT support in DSPP for Thulium
MDP block supports picture adjustment LUTv in the DSPPs
(destination surface processing pipes) which can be enabled
or disabled by driver clients. This change adds the support
in post-processing driver to allows configuration on PA LUTv
in DSPPs.

Change-Id: I7a0d436e7fdd921c55d12fddef33f5ba6c14ba00
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:35:43 -07:00
Ping Li
2026a16aed msm: mdss: Add support for IGC in thulium
Inverse gamma correction(IGC) feature is exposed by the MDP
hardware block in source and destination pipes. Clients of
the post processing driver can program the IGC tables and
enable the feature. This change adds support for IGC post
processing feature.

Change-Id: I177fb06f5eec58fea0a54b537c0009d4c8e01bd7
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:35:42 -07:00
Dhaval Patel
947a5d6ac5 msm: mdss: add support CDM block in MDP driver
MDP has a new hardware block for converting mixer
output to yuv format before the data goes to the
interface block. This block will be used for enabling
yuv420 output on HDMI and writeback interfaces. In
case only one block is present, it needs to be
shared between HDMI and writeback.

Change-Id: I2688ca98c22d9f78e3c626ea8c1bf4c77713a3af
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Moved new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:35:41 -07:00
Benet Clark
72b4bbc9c9 msm: mdss: Add PCC support in DSPP for Thulium
MDP block supports PCC feature on the dspp(destination
side picture pipe) which can be enabled/disabled by driver
clients. Change adds the support in post processing driver
and allows clients of driver to configure the PCC block
in DSPP.

Change-Id: Ic9307e12d6204c9e6e780ef8f2266151cc8a7ddc
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:35:40 -07:00
Ping Li
4f33ae6301 msm: mdss: Modularize caching of pp params
When post processing(pp) blocks are udpated in mdp hardware
new functions should be added into pp driver for caching the
params required to program them. Cached params are committed
to hardware when next frame is being queued for rendering.
PP driver file is becoming huge due to addition of caching changes
for different revisions of MDP. This change moves the caching code
for upcoming mdp revisions into a separate file.

Change-Id: I14e34de23c607fd8acdb103767503cb2cce1a0f1
Signed-off-by: Ping Li <pingli@codeaurora.org>
[cip@codeaurora.org: Moved new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:35:39 -07:00
Ping li
0044c3f50f msm: mdss: Add support for gamut on dspp
MDP block supports GAMUT feature on the dspp(destination
side picture pipe) which can be enabled/disabled by driver
clients. Change adds the support in post processing driver
and allows clients of driver to configure the GAMUT block
in mdp.

Change-Id: I4024d54f14ebd41374c591a27b12dcda8695c80d
(cherry picked from commit a285051a127bcfa1da56d66fe7f96eeece88c2c8)
[veeras@codeaurora.org: Done as part of 3.18 upgrade
Resolve conflict by adding this commits version of
include/uapi/linux/msm_mdp.h]
Signed-off-by: Ping Li <pingli@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:35:38 -07:00
Dhaval Patel
8300f368b1 mdss: mdp: update writeback output vote to nrt axi port
With MDSS(v1.7), NRT VBIF handles rotator input,
rotator output and writeback output traffic. All other
input traffic is handled through RT VBIF. This change
updates the MDSS driver to update the WB input bandwidth
request to RT AXI ports and output to NRT AXI ports.

Change-Id: If22e6e7903ca2b246cdb89d23362e70f56f9e349
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:35:38 -07:00
Padmanabhan Komanduru
58cba6b3ca msm: mdss: update the DSI PHY regulator programming sequence
For 28nm DSI PHY, update the regulator programming sequence
as per the system team's recommended settings.

Change-Id: I0bb23e0ee1e25994c4b9dd4cedd6cb46ea8e282c
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:35:37 -07:00
Ujwal Patel
4202f1aeae msm: mdss: validate roi and pipe parameters during partial update
Partial update should not be used for a given frame if any of the
source pipe in that frame has scaling enabled and that pipe's
destination rectangle is intersecting with final roi. If this condition
is detected, skip partial update and perform a full update.

Change-Id: I2e9b330048680abcce227232f9e086070c3cbdf8
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:35:36 -07:00
Shivaraj Shetty
c1de9aefa2 msm: mdss: Add mdp clock optimization for mdp3 targets
For the panels of resolution less than qHD, ppp can work
in SVS when there is no scaling involved. Optimize the
clock rates based on this for 8909 target.

Change-Id: I0357edcb3f1bc9e4f821a897b6740ac60b4fd44a
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
2016-03-23 20:35:35 -07:00
Veera Sundaram Sankaran
0507b2f2e2 msm: mdss: added support to change panel resolution dynamically
Helpful in changing the panel resoultion on the fly with the help of
debugfs nodes and when used along with simulated panels, it allows to
test different panel configurations dynamically.

Change-Id: I9cdf82e4fffd3dd618ee97601f169d72ab76a473
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Moved mdss_panel.c file location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:35:34 -07:00
Jayant Shekhar
d7f8dde109 msm: mdss: Sanitize panel resolutions properly
Currently there is no sanity checks present for panel
resolutions in wb driver. Add proper sanity checks
before configuring with new set of panel resolutions.

Change-Id: Ibdada9e1711f59785d11cc4821105e2e1849b0f3
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:35:33 -07:00