Commit graph

567240 commits

Author SHA1 Message Date
Ingrid Gallardo
a76691661c msm: mdss: fix to increase the retire count during create fence
Current code does not increase the retire count during the
create fence. This results in the vsync handler not getting
created to report the vsync during kickoff.

Change-Id: I81373487142a6f501a58027a26a49a9949c56ee0
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:42:56 -07:00
Benet Clark
b20fdef9ad msm: mdss: Add atomic commit compat support for PP
This change adds compat layer support to the atomic commit
ioctl for postprocessing.

Change-Id: I211f27d885aca0d8088c2baf14025ebf083fedfd
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:42:55 -07:00
Benet Clark
f423ac1538 msm: mdss: Add atomic commit PP support
This change adds support for SSPP postprocessing using the
atomic commit ioctl. The configuration given as part of the
ioctl will be cached in the same pipe res as before, and the
register programming sequence will be called from the pipe
setup as before.

Change-Id: Ida8209f80e55e9d5009b5df4e55f787b4a85ddc0
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:42:54 -07:00
Ujwal Patel
0732ef8123 msm: mdss: modify BW overhead and compression ratio related logic
As per the new qos strategy, overhead fudge factors are not needed and
thus remove related logic. Also as per the new qos implementation,
user-space program is responsible to passing on compression ratio when
they setup the pipeline. So cleanup current driver logic which makes
decision based on data path.

Change-Id: I3d4f7ab3749b5b8595ea322a0b5b25ba3187b660
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:42:53 -07:00
Ujwal Patel
d3203f5247 msm: mdss: fix compression ratio for logic for rotator and wfd
Currently rotator driver is using input compression ratio for output.
This is not correct because it is possible to have different input and
output formats which changes compression ratios. Similarly for WFD, use
output compression ratio passed by user-space.

Change-Id: I63650bcbf9f02ddf3310aacdc27f009381775481
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:42:52 -07:00
Ujwal Patel
3889592e19 msm: mdss: replace mdss_fudge_factor with mult_factor
Currently there are two different data structure representing
multiplication factors. Replace internal one, mdss_fudge_factor, and
with the one shared with user-space, mult_factor.

Change-Id: I9e0dcc092b4f9033cbfcd7e185e642c922e29a27
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:42:52 -07:00
Casey Piper
df4fbba733 msm: mdss: hdmi: remove check for hdcp ops when starting hdcp
Checking if HDCP is enabled will ensure that HDCP 2.2
is enabled, in which case hdcp ops will be available.
Removing redundant check for hdcp ops. This prevents an
error log when EINVAL is unnecessarily returned to
mdp_intf.

Change-Id: I3f63dbd70651b15b241df9f3ebd4c1aab231fced
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:42:51 -07:00
Clarence Ip
29ab5f439b mdss: rotator: fix pm_suspend to no longer release rot sessions
Rotator was releasing all open rotator sessions whenever
pm_suspend was called. This resulted in rotator trying to access
memory that was freed after resume was called. We are now only
cancel all rotator request (rotator work items) on pm_suspend.

Change-Id: Ib63e49213e6fbdec216888e4e7d3fb29defa3903
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:50 -07:00
Dhaval Patel
9d6a6f1951 msm: mdss: skip optional property logging in DSI driver
Move error messages to debug messages for optional
properties in DSI driver.

Change-Id: Ie5175cbe647351a6f35914262b1893ef162b7ed3
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:42:49 -07:00
Dhaval Patel
71ab9b2d78 msm: mdss: override DSI hw configuration
MSM8996/8994/8992 is configured for split display
configuration as default option. However, bootloader
can override this configuration to single dsi by
selecting a single dsi panel on one of controller
and set "none" to another controller. This requires
hardware override.

Change-Id: I3e585079548e92f6d576615059987321dfad132a
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:42:48 -07:00
Gopikrishnaiah Anandan
54a956d002 msm: mdss: Support split mode configuration
For destination split panels driver should allow the client to enable
the post processing features for entire screen or one of the slpit
sides. Change adds support in post processing driver to allow the
clients to configure feature in split mode panels.

Change-Id: I2c84aa488205aaa17b5abd3bc26b975361967bba
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:42:47 -07:00
Jeevan Shriram
eefb8d69cd msm: mdss: enable clamp control configuration during clock on/off
Enable MMSS clamp control configuration during clock on and off cases
on DSI v1.04. This clamp configuration helps in retaining PHY register
configuration when the MDSS gdsc is toggled.

Change-Id: I403417442aedd394d4e8d7c4d20c361c2130dbb1
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:42:46 -07:00
Jeevan Shriram
dce26f3485 clk: mdss: remove configuring phy registers during pll disable
DSI driver needs to disable pll and enable clamps before entering into
low power state. Since the PLL disable is configuring GLBL_TEST_CNTRL,
CLK_BUF PHY registers to 0, these registers are not restored after the
clamps are disabled.  This change avoids configuring these registers
during PLL disable and gets disabled during dsi off.

Change-Id: Ia577099679f23cb9d0d42417863b6b3ad3af635b
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:42:45 -07:00
Casey Piper
19ccabc6b7 clk: msm: mdss: increase VCO frequency to above 8.9Ghz
For some resolutions on MSM8996 V2, PLL can become
unlocked at high operating temperatures. To prevent
this, use a VCO frequency of at least 8.9Ghz for bit
clocks of at least 282Mhz.

Change-Id: I409f286d23a924eab8bcd204638602e530597d77
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:42:45 -07:00
Dhaval Patel
ed2f52f863 mdss: mdp: fix smmu power rail handoff configuration
mdss smmu driver turns on the power rail during probe
and leave it on for continuous splash screen scenario.
It avoids extra refcount during attach for this scenario
by relaying on MDP handoff status. However, MDP handoff
status is updated before context banks are attached for
video mode panel. This adds extra refcount to power rails
and leave them on always. This fix moves the power rail
handoff to smmu structure instead of relying on MDP
status.

Change-Id: Ifc98c0e3812c7b78224f0167886dcb49dba3b267
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:42:44 -07:00
Terence Hampson
41521b0bd6 mdss: rotator: fix rotator bus bw vote
Was using do_div improperly, this resulted in 0 bw vote from
rotator.

Change-Id: Iac1803631b674d6931b0dcbe45d65fd4740c36c9
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:42:43 -07:00
Benet Clark
cde1a1f673 msm: mdss: Copy only error code back to userspace after atomic commit
Previously, the atomic commit ioctl copies the entire kernel layer list
to the userspace layer list structure. The only parameter modified
during atomic commit should be the error code, and therefore, the
only value needed by userspace after the atomic commit ioctl returns.
Copying the kernel layer list structure causes the userspace to have
stale kernel pointer references to scale and PP info structures.

Change-Id: Ia8e96af21f7d9594a47d1503f3afef50a767971f
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:42:42 -07:00
Benet Clark
ecb794adf5 msm: mdss: Fix atomic commit compat layer copy
The compat layer for atomic commit is incorrectly using compat
pointers. This change adds correct support for copying all
nested compat pointers in the atomic commit structure. It also
returns the correct error value when copy_from_user fails.

Change-Id: If35a00583cfed105a16ffa547813c386314bff9b
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:42:41 -07:00
Benet Clark
8f2a3654ec msm: mdss: Clean up PP framework for unchanged PP features
When creating the framework for handling PP versioning, all PP features
were given interface update and space in the framework for handling
versioning. However, the CSC hardware will not change, and
therefore will not need any updates. This change removes the framework
update done for CSC.

Change-Id: Idc6c0b7ea62717ff1d1f2e4c827481e5db1976a8
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:42:40 -07:00
Benet Clark
717a16b47b msm: mdss: Return error when Gamut table size is invalid
Previously, the gamut caching code was not returning an error value when
an invalid table size was passed. This change will return error during
caching if the table size is invalid.

Change-Id: I212b345239543943670c2f03a0fc8376d31d1e86
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:42:39 -07:00
Sushil Chauhan
92049f8139 uapi: msm: mdp: Add color space in mdp_input_layer
MDP needs color space value to configure CSC matrix correctly. So
add color_space member in the mdp_input_layer structure.

Change-Id: I47ca556f8cfa8ef6c95fb0d77ef1510e3830a286
Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
2016-03-23 20:42:39 -07:00
Ingrid Gallardo
2707818973 msm: mdss: update panel timings in upstream driver during vblank
During the controller configuration, some of the panel
timings could have been updated by the driver.
This change updates the panel information shared with the
upstream driver to keep updated the panel settings
that have changed after the controller setup.

Change-Id: I4d050d74f1aec50dbc294357ba0dace7c0940a16
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:42:38 -07:00
Ingrid Gallardo
910aad149c msm: mdss: expose prefill factors to user space
Add factors for prefill calculations to the
capabilities exposed to the display driver
user space.

Change-Id: Ib479a5514978c8dec2376be4f2510bafb460af10
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:42:37 -07:00
Ingrid Gallardo
6a991a679e msm: mdss: add simplified prefill bw equation
Add support to calculate the mdp prefill bandwidth
with simplified equation.

Change-Id: Icb9fd738a7aced7d59b8d59a78691e7316ef31c1
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:42:36 -07:00
Veera Sundaram Sankaran
a60d7c6ad3 msm: mdss: fix req availability check in dsi command commit
NULL check for req in dsi cmd list commit is misplaced, causing
race condition due to skipping of dsi cmd mdp busy check. This would
eventually result in underflow due to possible contention of using dsi
link. Fix the NULL check to avoid misbehavior.

Change-Id: I5999646d4db67efd0854b3db07e1d987e66c9cb5
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:42:35 -07:00
Krishna Chaitanya Parimi
ec458f6feb msm: mdss: initialize AD calibration bl to current bl level
When AD calibration mode is turned ON, an ioctl is sent to
set the mode to calibration in driver. However this does not
set the calibration mode backlight. So the backlight value
would remain 0. If bl is not set during calibration then upon
suspend resume the bl will remain as 0 and nothing would
appear on display.

Now initializing the calibration mode bl level to the bl
level when calibration mode was turned on.

Change-Id: Iecee61dc69815b673deb8610a524b07c4f4b9261
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:42:34 -07:00
Krishna Chaitanya Parimi
f954efe130 msm: mdss: Fix AD calibration mode resume backlight issue
AD when set in calibration mode will block all backlight
updates from frameworks. Hence during suspend/blank the
backlight would not be 0 but will be set to the value
set in calibration mode.

Now this is changed as during suspend the backlight is
set to 0 within driver itself. This complicates things by
causing backlight to remain 0 post resume in calibration
mode. Now changing the behavior so that backlight is set
to 0 during suspend and set to the calibration set value
upon resume.

Change-Id: Id0b3919a7034875b3f3a606d00f462ceb21f40ee
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
2016-03-23 20:42:33 -07:00
Veera Sundaram Sankaran
8f293cab86 msm: mdss: cleanup obsolete ioctls from mdss
Remove few ioctls and changes related to it as they are obsolete now.

Change-Id: I26ad6609f8a1b3b2f8f549b82c330e5db7e5b44c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:42:33 -07:00
Anusha Koduru
0b9e9534fb mdss: dsi: fix DSI clk rate update during dynamic resolution switch
Current implementation updates the DSI link clock rate during UNBLANK.
By this time link rate is already set with a random value, which
might lead to unexpected behaviour. Update the clock during LINK READY
so that the new  values take effect.

Change-Id: Ib6d3f27b5607adb1d47ec5b8094af4f280424c2b
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
2016-03-23 20:42:32 -07:00
Veera Sundaram Sankaran
ec20c566ee msm: mdss: fix wait idle case for few ioctls
Ioctls which modifies the commit data structures needs to wait for
kickoff before it is handled. The cursor and set/get metadata ioctls
were made to wait on pan idle, which makes it impossible to get through
when there are lot of panel updates. Move these ioctls to wait for
kickoff as these not necessarily needs the panel to be idle.

Change-Id: I417a88b434fcc8abd43654f3856bc7ca3639a50c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:42:31 -07:00
Ingrid Gallardo
0fa00f3046 msm: mdss: remove deprecated compression ratio support
Starting with the change: "msm: mdss: use compression
ratio factors passed by user space"; compression ratio
factors are now assigned and passed by user space, so
kernel side does not need to assign the compression ratio
factors anymore. This change removes the deprecated
kernel code that was assigning the compression ratio.

Change-Id: I93e7afefa99198d947746df4a6962d0bb3508375
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:30 -07:00
Ingrid Gallardo
272da5e39e msm: mdss: use compression ratio factors passed by user space
Use the compression ratio factors shared by user space
to reduce the bandwidth calculations and vote for the
reduced throughput when compressed formats
are used.
Before this change kernel estimated the compression
ratio factors to reduce the bandwidth in the compressed
formats, after this change user space will set the
compression factors and kernel will use those for
bandwidth calculations.

Change-Id: I00fc0b9f526e7ff400740d48f42f6404737eae32
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:29 -07:00
Terence Hampson
f274a1ebec msm: mdss: compare destination roi to mixer height
Trying to compare layer height to mixer height if possible,
otherwise defaulting to fb var screen info.

Change-Id: Ic0471446e88a956c5120f6c30d00e3c6f391a3d4
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:28 -07:00
Veera Sundaram Sankaran
c040ba96c0 msm: mdss: add support for async position updates
Expose new ioctl for updating the layer position asynchronously.
Initially, pipes should be configured with async_update flag set
during the atomic commit, after which any number of position update
calls can be made. This would enable multiple position updates
within a single vsync. However, the screen update would happen
only after vsync, which would pick the latest update. Currently,
supported for video mode panels with single LM or dual LM with
src_split enabled. Only position updates are possible with no
scaling/cropping and each async layer should have unique z_order.

Change-Id: Ibb2804b59c6c980411396120e63167f18df5bc5b
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Resolved out-of-order merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:27 -07:00
Alhad Purnapatre
68f385d658 msm: mdss: hdmi: HDCP 2.2 changes to work with Trustzone driver
Make HDCP 2.2 work with Trustzone QSEECOM driver that handles interaction
with the HDCP secure app that actually runs HDCP authentication protocol.

The current HDCP 2.2 driver is designed to run with a Trustzone module in
userspace that uses sysfs nodes to communicate with this driver. With
Trustzone QSEECOM driver now available to communicate with HDCP secure app
in TZ, make use of its features to communicate with the secure app.

Change-Id: Ifd66785e40c28fd161b82477ebef2b5829005875
Signed-off-by: Alhad Purnapatre <alhadp@codeaurora.org>
2016-03-23 20:42:26 -07:00
Gopikrishnaiah Anandan
f08932c70f mdss: mdp: Update histogram start failure reporting
Userspace clients will enable the histogram and disable it as per the
algorithm requirements. If the process under which the client is
running crashes and restarts states of histogram between client and
driver is not in sync. In case the driver is not in sync with client it
should return EBUSY error to client. Client will stop and start the
histogram to maintain the sync.

Change-Id: I7b3c8d7890d8ca24ecf065e48a9ea5884cc886de
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:42:26 -07:00
Gopikrishnaiah Anandan
4d9b8c2d45 mdss: msm: Add support for gamut map enable
Non-uniform mapping mode is configurable parameter exposed by MDP.
Driver should provide the option to gamut clients to configure the
mapping. Change updates the interface to expose the parameter and
programs the gamut registers based on user setting.

Change-Id: I71e7e0f7443da7856b0d03e6b2799f9380274893
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:42:25 -07:00
Veera Sundaram Sankaran
5abc100e7a msm: mdss: fix SW TE for dynamic resolution change cases
The Tear check sync cfg height, in case of SW TE is calculated based
on panel's height and vertical porch values. Simulator panels has the
capability to change the panel resolution after bootup, which would
require recalculation of tear check height. Fix the sync cfg height to
be set right for all cases.

Change-Id: I5d27388a20d543b5655aa07ff6681001656a61c8
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:42:24 -07:00
Padmanabhan Komanduru
b9fc91fb69 msm: mdss: handle DSI PHY regulator control for dual DSI cases
The DSI PHY regulator for both DSI0 and DSI1 is shared. So,
the regulator can be disabled during suspend only if both DSI0
and DSI1 are turned off, but both the DSI devices can be turned
on/off independently in case of dual DSI cases. Add change for
proper synchronization of DSI PHY regulator enable/disable.

Change-Id: I39b277d43e8b3bd1e7c475584da506566092c869
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:42:23 -07:00
Kuogee Hsieh
1ca4a4b015 msm: mdss: dsi: add support for DSC command mode panel
Add required register programming in the DSI host driver to support
command mode panels that use Display Stream Compression (DSC) modes.

Change-Id: I316086e929f2424d56097e2f9d63a01de2d3fe8d
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:42:22 -07:00
Padmanabhan Komanduru
848551b362 msm: mdss: program PHY_GLBL_TEST_CTRL based on DSI configuration
DSIPHY_GLBL_TEST_CTRL register needs to be programmed based on the PLL
that will be driving the respective PHY which in turn depends on the
configuration of the two DSI devices. Add validity checks to program the
appropriate value to the register.

Change-Id: I294b2d0e95157b32e52e7fa9e1f3de77d9739e1c
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:42:21 -07:00
Aravind Venkateswaran
bd37954d5d msm: ndss: dsi: fix PLL source configuration for branch clocks
The PLL source for the DSI clocks can be specified using the
pll_src_config DTSI binding. However, this binding is optional and
whenever it is not specified, the default configuration should be
programmed based on the underlying hardware configuration. If the
hardware configuration is split-dsi, then both branches should source
from the same PLL, otherwise they should source from their corresponding
PLLs.

Change-Id: Idc1c003fede7440bad10311fe1f3bc44cc627053
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:42:20 -07:00
Aravind Venkateswaran
142b8c7784 msm: mdss: add support to configure DSI branch clock source
Based on the board configuration, the two DSI controllers can either
drive two independent panels or drive a single panel in split display
mode. DSI0 PLL can drive split display configuration ands it is not
supported by DSI1 PLL. DSI0 PLL can drive a single DSI panel on either
DSI0 or DSI1 controller whereas DSI1 PLL can drive a DSI panel only on
DSI1 controller. Based on this, it is necessary to configure the
source for the DSI link clocks dynamically. Implement this by adding
support for a new pll source configuration entry.

Change-Id: Ie57afbfe8cb14b80d0b52ed3825972ae34af27e2
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
[cip@codeaurora.org: Removed .dtsi file updates]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:19 -07:00
Aravind Venkateswaran
db5a26a52c clk: msm: mdss: Export DSI1 PLL clocks
Add support for all the clocks provided by the DSI1 PLL in preparation
for supporting two independent displays using the two DSI controllers.

Change-Id: I9c9e4cddd23be869d9f16a5c3e1351a88f88699f
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
[cip@codeaurora.org: Removed .dtsi file updates]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:19 -07:00
Aravind Venkateswaran
d455118544 clk: qcom: mdss: remove DSI1 PLL configuration from DSI0 PLL
In the current implementation, DSI0 PLL driver explicitly disables DSI1
PLL at numerous instances to work around a hardware issue that requires
explicitly powering down any unused PLLs whenever MDSS GDSC is toggled.
However, this is not needed anymore since each PLL can independently
power itself down as part of the GDSC notifier worker thread.

Change-Id: Ic56f0ce350dd9ad648f3b96baa753345a74897b0
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:42:18 -07:00
Casey Piper
b786024cd8 clk: msm: mdss: add HDMI PLL sequence for MSM8996v2
MSM8996v2 does not share the same HDMI PLL sequence
as MSM8996v1. Update the HDMI PLL driver for MSM8996
to support the differing sequences.

Change-Id: Ibfdac25383e6504c707f2abe95b9fa2732283acf
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:42:17 -07:00
Ujwal Patel
759e9a0fd6 uapi: msm: mdp: add comment on how to fill roi
Add a comment specifying guidelines for user on how to fill roi
information when calling commit IOCTL.

Change-Id: Iaab026131baccace1d4236777ff68d5953b5342b
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:42:16 -07:00
Dhaval Patel
e2c6f023dd msm: clk: mdss: fix vco clk get rate API for msm8996
Incorrect get rate for n1 divider and vco rate
leads to wrong calculation of byte clock and pixel clock
during handoff for continuous splash screen. Correct
n1 divider should be read from register instead of
software because software structures are not set during
handoff. Incorrect vco calculation also provides
invalid vco rate. This change fixes both APIs to provide
correct rate for byte and pixel clock rate calculation.

Change-Id: I2b42490a58061cee429aaa777a43eaf7c384b6d9
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:42:15 -07:00
Dhaval Patel
39206c4363 mdss: rotator: move buffer mapping in workqueue from caller context
Rotator driver maps the same buffer twice. First time in caller
context while second time in worker queue. Ideally, it should
map buffer single time in worker queue. Mapping it in caller
context during validation will block the client call and can
cause the delay. Moving it to worker thread fixes double
mapping issue for same buffer.

Change-Id: I17ebe188ace2e54714247fc87277f3da51a64d73
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:42:14 -07:00
Padmanabhan Komanduru
31f25a7aee msm: mdss: add support for DSI shared data in the master DSI node
Some of the properties of the individual DSI controller nodes are
common between them. Instead of having duplicate entries, they can
actually be shared via. a common data structure which can be part
of the root DSI node. Add changes in the MDSS dtsi file and the DSI
drivers to support this.

Change-Id: I22dbc1d81678fea191b3f58bd8dcc667fafdfe6a
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
[cip@codeaurora.org: Removed .dtsi file updates]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:42:14 -07:00