Commit graph

567579 commits

Author SHA1 Message Date
Benet Clark
c9eb1fe129 msm: mdss: Free allocated layer pp_info when scalar copy fails
During atomic commit ioctl, the pp_info and scale data structures
are deep-copied in to kernel structures. If the scale data is failing
to copy, the kernel pp_info structure needs to be freed before exiting
with error.

Change-Id: Ia51f27c288dd88bb36311eae073294208259b71f
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:46:23 -07:00
Benet Clark
e7bfd98d5e msm: mdss: Clear allocated atomic commit kernel memory during copy
Use kzalloc instead of kmalloc to avoid junk data in the allocated
memory for the layer list and scale data.

Change-Id: I4af206d9894027e940d85b733ce4107dd9c14008
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:46:22 -07:00
Aravind Venkateswaran
600868b0d9 msm: mdss: dsi: fix handling of ulps_suspend feature flag
In the current implementation, when ulps_suspend feature is enabled, it
results in ULPS mode being configured even when turning off clocks
during idle screen use cases. Fix this by correcting the conditional
logic when turning off the link clocks.

CRs-Fixed: 912434
Change-Id: I44e8556afcc5110afb9e2193e8558306847e90a0
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:46:21 -07:00
Ajay Singh Parmar
38fdd3f630 msm: mdss: hdmi: cleanup wakeup calls
Do not lock in wakeup functions as it may block current thread.
Wakeup can trigger a callback looking to acquire same lock.
Also rename the wakeup command names to properly identify client
and lib commands.

Change-Id: I28411714d2d7f0104364726fc5ce0593e5ccff91
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:46:20 -07:00
Ajay Singh Parmar
e8591b7730 msm: mdss: hdmi: create separate environments for hdcp lib and hdmi
Isolate the execution environments for HDMI HDCP2.2 driver and HDCP
library by creating separate threads and executing each work on
dedicated kworker. Do not call each other's functions directly.
Wakeup the other thread when needed and let the independent module
execute their corresponding work and acknowledge by waking up other
thread back.

Change-Id: I67bca61b92c831451ce3482a759a214b1e5d6578
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:46:20 -07:00
Dhaval Patel
14fb79b781 msm: mdss: add arb/xin client and test point info in vbif dbg log
Include arb/xin client information and test point
information in vbif debug bus log for easy parsing.

Change-Id: I366819e98ec9b9815d5cc88587c914bdebf7b4f4
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:46:19 -07:00
Padmanabhan Komanduru
b58ac1481a msm: mdss: handle continuous splash screen for dual DSI cases
In the current implementation, the continuous splash screen flag
is set based on whether there is handoff pending in MDP or not.
With the dual DSI use-case now in place, there is possibility that
the primary panel has continuous splash enabled whereas the other
panel doesn't have the feature enabled. Add change to take care of
this by checking if a particular interface is enabled in MDP_INTF_SEL
register to set the cont. splash screen flag. Remove the DT entries
for continuous splash screen since it is no longer needed after this
change.

Change-Id: I4d617386c8f5d166de76b79a10680d024320a889
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
[cip@codeaurora.org: Removed .dtsi changes]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:46:18 -07:00
Ingrid Gallardo
6ffee7b10f msm: mdss: debug: reduce xlog entries
Reduce xlog entries to prevent the messages
to flood the ramdump kernel log.

Change-Id: I72d9ac60df97f3f1ad4494c7a85e28d4b51c1779
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:46:17 -07:00
Veera Sundaram Sankaran
628abdbe09 msm: mdss: clear irq if RD_PTR intr is detected before clk disable
Before disabling the RD_PTR ISR and turning off the clks, there is a
possibility that some other CPU might have received a READ_PTR ISR few
microseconds before and started to process it. By the time, the ISR
reaches the register read instructions, the clks might be disabled.
To avoid such cases, check for the intr status after disabling the ISR
and clear the irq before disabling the clks.

Change-Id: If9f0e2df22ec7ea26d62b08c9364c2047dda8c51
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:46:16 -07:00
Padmanabhan Komanduru
1a66eac51e msm: mdss: handle ESD status for split DSI panels with broadcast mode
For split DSI panels when broadcast mode is enabled, the ESD status
check command needs to be sent to both the controllers at the same
time. Also, the status needs to be checked from the buffer of the
trigger controller. Add change to take care of this.

Change-Id: I47c8cacd657a4528d1859a34ba1d588a54357bb9
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:46:15 -07:00
Dhaval Patel
81f33f9772 msm: mdss: reset cdm pointer when ctl is destroyed
Control structure is reused between interface and
rotator. It may possible that rotator will reuse the
control data structure previously used by writeback
interface which has cdm block allocated. It is safe
to reset the cdm pointer during control free to
avoid cdm setup during writeback format setup in
rotator scenario.

Change-Id: I7bef9893d6034ac3985c8808a1defeb15f0cf3fd
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:46:14 -07:00
Dhaval Patel
4341a02ccc msm: mdss: fix cdm init error check in interface API
CDM block allocation failure returns error pointer.
Invalid check allows interface API to setup the block
and invalid memory access. This change fixes the check
for HDMI and WB interface.

Change-Id: Ib18b3db81fb5154bc1d19c11fc372da8babd4121
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:46:14 -07:00
Veera Sundaram Sankaran
ac512d61b7 msm: mdss: fix clk_init and panel_cfg sequence in ctrl_probe
Currently, there is a circular dependency between clk init and
panel_cfg. This is due to the shadow_clk init in clk_init which
depends on dyn_fps, a panel specific parameter and refresh_clk
in panel_cfg which tries to refresh the clks before the clks are
initialized. Decouple the dependencies and fix the sequence to
avoid unnecessary error logs.

Change-Id: Icbcd1030b7f72e5e551be864b667e97c938500d0
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:46:13 -07:00
Ingrid Gallardo
65015f871e msm: mdss: debug: add more debug bus test points
Add extra test point for the mdp debug bus.

Change-Id: Iaa91dbb2403e256c9cf5b995f44946b5e96a0789
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:46:12 -07:00
Benet Clark
a8d2bc0179 msm: mdss: Clear PP software state when fb device is released
The postprocessing software state retaining which features are enabled
needs to be cleared when an fb device is released. Otherwise, the PP
features will be reenabled the next time a fb device is opened, writing
stale configurations to the hardware which are no longer valid.

Change-Id: Ie02670b731a8a89fb578c16d545af5daa46f8c2e
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:46:11 -07:00
Benet Clark
5b73c7a4aa msm: mdss: Clean up histogram software state when FB device is released
When framebuffer device is released, the software state for the histograms
attached to that FB remains unchanged. During the release of FB resources,
the histogram state should be reset back to idle. This change adds that
support.

Change-Id: I0e9adcb5b98b8ea219c0bd5b0afa791f5820dc95
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:46:10 -07:00
Gopikrishnaiah Anandan
75d690232b msm: mdss: Change histogram states atomically
For dual DSI usecases histogram has to be collected from two dspp's
for a single frame. Once driver receives the histogram done interrupt
from all the dspp's attached to logical display it will notify the
driver clients. Driver client reads the histogram and then updates the
states of histogram to signal the driver to notify next interrupt.
State tranistions of histogram should be done atomically for logical
display to ensure that data is collected from the same frame

Change-Id: Iecdb3ca4bf7be406a37d0f7b8fe61feca7b973ef
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:46:09 -07:00
Dhaval Patel
a886940242 msm: mdss: dsi: track dsi errors to generate the panic
Generate panic if dsi controller receives configured
number of errors during specific time delta.

Change-Id: I590cf47931494c9e5dc6449bbb7e148624f89807
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:46:08 -07:00
Tatenda Chipeperekwa
c76b5e3acf msm: mdss: hdmi: check if hdcp2p2 app is present during hpd
Check if the hdcp2p2 app is present every time the hdmi cable
is connected. If the app is not present, then we consider
hdcp-2.2 as not supported on the target. This scenario occurs
on devices that are not hdcp-2.2 provisioned, and with this
change hdmi core continues in non-encrypted mode.

Change-Id: I72ebcc1e6844f46dbbc974efb6ba926948e1bbde
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 20:46:07 -07:00
Naveen Ramaraj
cc97a775f4 msm: mdss: Use clock safe wrapper for reading DSI hw version
Attempting to read without proper clock votes will result
in a unclocked access leading to a watchdog. Enable only
the DSI BUS clocks instead of all the DSI clocks while
reading the DSI revision register.

Change-Id: Ia83fda764d145e96d2df813379c57cf6529b1c0c
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2016-03-23 20:46:07 -07:00
Terence Hampson
bc9915b818 msm: mdss: validate buffer size is enough for intended use
Make sure buffer size is enough for intended use, as soon as we
acquire buffer handle. Prior to this change validation was done
when mapping the buffer. Failing the validation at this later
point was resulting in a layer update drop, with no clean
way to handle the validation. By validating earlier, request
to commit the frame can fail and client can determine fall back
behaviour.

Change-Id: Ie14317c5d5125d6bd23fedfdbbaa877897f8786b
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:46:06 -07:00
Ajay Singh Parmar
0a6a08aeac msm: mdss: hdmi: separate out hdcp library from hdmi
Define APIs to start or stop authentication from client.
Handle internal states within HDCP library and do not
call HDCP library internal functions directly from client.
Remove unnecessary threads and locks and execute on same
thread as standard requires this to be processed sequentially.

Change-Id: I4cd924fb836e0e01ff1d6eba58d817fe0ca383e1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
[cip@codeaurora.org: Snapshot hdcp.c/hdcp_qseecom.h,
add hdcp Kconfig/Makefile changes]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:46:05 -07:00
Veera Sundaram Sankaran
ca7626f43c msm: mdss: clear fbmem_buf on ion_free
Even after ion_free, fbmem_buf is not cleared and contains
some random address. fbmem_buf is assumed to be mapped, when it
is not NULL, which leads to issues. Assign NULL to fbmem_buf, as soon
as ion_free is done.

Change-Id: I712f64a31c8a555f793ff2dd5fc1dea4771c8d0e
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:46:04 -07:00
Ingrid Gallardo
ecdf76d648 msm: mdss: debug: fix xlog crash during dump
Fix to initialize the nodes added by the panel
data dump to the xlog linked list.
This resolves a crash when runtime dumping
the registers through xlog with the dump
debugfs node:
echo 1 > /d/mdp/xlog/dump

Change-Id: I2a7222bd10e5d5a53b20472fbfbc3db818897515
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:46:03 -07:00
Dhaval Patel
be40fe4f65 msm: mdss: add nrt vbif register dump in xlog output
Add nrt vbif register dump in xlog output along with
realtime vbif.

Change-Id: I4b8b8f31be740dbe4ea0040104e1bdf43ed60eec
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:46:02 -07:00
Terence Hampson
44d7ea6ecc msm: mdss: rotator: validate degree of rotation
Validate the rotation degree in the request matches what has been
configured in the session.

Change-Id: I80080a4ad6417c374f9a0176f06a845aa96a24a4
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:46:01 -07:00
Benet Clark
0067dcdcd2 msm: mdss: Move PP reg bus vote to reg bus voting framework
There is a new framework for MDSS voting on the reg bus. However,
the postprocessing client was never registered, and therefore making
bus requests without the framework. This change moves the PP reg bus
voting to be a part of the MDSS bus voting framework.

Change-Id: I054b102baec0ccae56e7b9faafa8feadf3fc8d7a
Signed-off-by: Benet Clark <benetc@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:46:01 -07:00
Terence Hampson
61a87e1821 msm: mdss: Add client name to register bus client handle
Add debug name to register bus client. This will help debug
issues that involved register bus client.

Change-Id: Ied505e5af9e09ba183c25340e6051214a93bc3d2
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:46:00 -07:00
Vineet Bajaj
d2736ae8fa msm: mdss: unregister wled in case of probe failure
If the DSI probe fails and wled has been registered, then
when the next time probe comes there are failures seen.
Fix this by unregistering the wled in case of DSI probe
failures.

Conflicts:
	drivers/video/msm/mdss/mdss_dsi.h
	drivers/video/msm/mdss/mdss_dsi_panel.c

Change-Id: Ia3fd2fa2b5f5bd446c15bc4c28602846f8540a68
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
2016-03-23 20:45:59 -07:00
Terence Hampson
26ef443158 msm: mdss: rotator: deinterlace layer prior to rotation
Make use of the MDP_ROTATION_DEINTERLACE flag. By using the deinterlaced
flag we are able to properly read in the source layer for rotation.

Change-Id: Ia4198f228188975cfc6b57acecedb153c7234aa4
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:45:58 -07:00
Terence Hampson
cc7c1fe8ec uapi: msm: mdss: add flag to indicate if content is interlaced
When rotation session involves an interlaced layer that is intended to be
deinterlaced by MDP, client is expected to pass in flag indicating rotator
needs to deinterlace content.

Change-Id: I27c009e32cd82e00713c20b3accb2efbe5587344
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:45:57 -07:00
Veera Sundaram Sankaran
483e0f3297 msm: mdss: add xlog to async position update ioctl
Add xlog to log the pipe ndx and layer count during
the async position update ioctl call.

Change-Id: Ic1d381e76d4894550a37210bbc4344dd614ac5fb
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:56 -07:00
Veera Sundaram Sankaran
e7969f16a0 msm: mdss: add additional ubwc data checks
In the current scenario, when the sizes of data plane 0 and
the plane 0 matches, the data plane configuration is skipped
to avoid configuring it all the time. Add additional checks
when we skip the configuration to make sure all the data
planes are configured correctly.

Change-Id: Ife7def6d97933732469c14f053b81da9d7661731
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:55 -07:00
Chintan Pandya
93a0f575cb iommu: Use proper bus for domain allocation in client drivers
When there are multiple IOMMU drivers in the system,
each one will be sitting on different busses. This
way, clients should be choosing the right bus to
declare their domain on. Once and for all, update
all the clients code to use proper bus abstraction
API msm_iommu_get_bus() to get right bus.

Change-Id: I5edf7037e7b1e4af6a559b6aeaa0b6de0976bf35
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
[cip@codeaurora.org: Removed changes to
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c,
drivers/media/platform/msm/camera_v2/common/cam_smmu_api.c,
drivers/media/platform/msm/vidc/venus_boot.c,
drivers/platform/msm/ipa/ipa_v2/ipa.c,
drivers/platform/msm/ipa/ipa_v3/ipa.c,
drivers/platform/msm/msm_11ad/msm_11ad.c]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:45:54 -07:00
Veera Sundaram Sankaran
605d27a6a2 msm: mdss: fix pipe_in_use to check layer extn registers
Previously, only the base mixercfg was used to determine if the pipe
is in use. The extn registers were not checked, resulting in faulty
checks for cursor and any pipe staged in stage6. Fix validation to
include checks for extn registers. And refactor, to get the mixer mask
from utility functions.

Change-Id: Id356fa3255d796abdc596cbfbae6604aa7cf57f0
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:54 -07:00
Veera Sundaram Sankaran
2fba6da0d5 msm: mdss: remove obsolete hw revision checks
Remove all hw revision checks related to REV_200 from
mdp driver.

Change-Id: I31c18b9c91eb93946f777a4b276aec6c999dd337
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:53 -07:00
Ajay Singh Parmar
3a62a31d44 msm: mdss: cdm: check for pixel drop need
Set pixel drop CDM down sampling for the resolutions which
do not support average filtering.

Change-Id: Iee767c95cc584ea5ea039993d284400c7bacfbcb
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:45:52 -07:00
Veera Sundaram Sankaran
ebfddf9b2a msm: mdss: fix dsi hw config string parsing
The dsi hw config is parsed from the string passed from bootloader.
It is parsed based on the delimiter ':', but when a panel is booted
in simulator mode, an additional override parameter prefixed with '#'
is passed from bootloader. Fix the parsing to account for the override
parameter when simulator panels are used.

Change-Id: Id9d7419179048d8b564efbbb8ea238d987d6a83c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:51 -07:00
Terence Hampson
306dcde24e msm: mdss: Mode switch panel clk ctrl uses dsi clk handle
As of commit be2f6d25bb77 ("msm: mdss: dsi: create dsi clock manager")
dsi clock management was split into two clients: mdp and dsi. Cmd mode
interface uses the mdp client handle and everything else using dsi
client handle. When transitioning from one dsi mode to another, clocks
need to be rebalanced. In order to rebalance properly, mode switch is
required to vote using the dsi client handle. Modified input argument to
MDSS_EVENT_PANEL_CLK_CTRL to allow for client handle selection.

Change-Id: Id54d72de603e2115451a49fed961d01f4440c517
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:45:50 -07:00
Dhaval Patel
ea17353082 msm: mdss: skip software underrun recovery for split display
Commit cb78c355b9225b815302c721b8f410168cba4a84 ("msm:
mdss: Issue ctl sw reset when underrun happens") enables the
software underrun recovery for split display cases due to
hardware limitation. This limitation is not applicable to
8994, 8996 and all upcoming targets. This change skips the
recovery path when hardware supports it.

Change-Id: I09e17bb50749ea5a0ec32ed604adab7126434e59
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:45:49 -07:00
Ajay Singh Parmar
da53655c17 msm: mdss: hdmi: remove phy programming from tx driver
PHY/PLL programming are handled by PHY/PLL driver. Remove any
programming done for PHY/PLL in HDMI Tx core driver.

Change-Id: I2d3a9311d7dc011b292a9fdfcb1424dbb435aedc
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:45:48 -07:00
Ping Li
2653ab2cb0 msm: mdss: Correct AD state in driver
There is one recent change in MDP driver that removes the vsync handler
when device goes to suspend, and this change puts AD into an incorrect
state after suspend/resume. This change modify the AD implementation
to coordinate the MDP driver change mentioned above by adding the AD
vsync back during resume. This change also fix the state resetting
during AD off case.

Change-Id: Ic31a791fa6f8fe5ba731837f8d9808d20e2d31e6
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:45:48 -07:00
Terence Hampson
c0ae920e8b msm: mdss: fix flicker during DSI mode switch
Resolve regression change I65ca10c2adad21637f8414784986aa15026fd774.
DSI mode switch should not be calling mdss_dsi_ctrl_setup prior to
issuing panel switch commands.

Change-Id: I95eb9768d8bf64251466baaa371d6c12bb699410
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:45:47 -07:00
Terence Hampson
dacb6ec79e msm: mdss: DSI mode switch send dcs cmd with CMD_REQ
Regression in change I532587eaa763499c9d51909937339093cd74a8cf.
During DSI mode change we need to send dsc command with
CMD_REQ_COMMIT flag.

Change-Id: Ibc970c70c974cb020c05780f45341a9a99eb6e30
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:45:46 -07:00
Ajay Singh Parmar
d69648f044 msm: mdss: hdmi: keep a default resolution for edid parser
Reset supported HDMI resolutions list to contain at least
a default resolution on EDID parser initialization and on
each parser call. In corner cases of EDID read or parser
failures, driver should expose a default resolution to
other modules to continue with the HDMI initialization.

Change-Id: I75cb78577d327c0f042238e10379585111d8fd70
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:45:45 -07:00
Ajay Singh Parmar
0b6af59659 msm: mdss: hdmi: reset phy on panel power on
HDMI Tx core can be configured with multiple resolutions with
different pixel clocks. This needs PHY/PLL to be configured
with different settings. Reset PHY/PLL on every power on before
configuring new PHY settings to avoid any PLL lock issues.

Change-Id: I564305730105f3e54fbb504c20cce5b2eb9039b1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:45:44 -07:00
Veera Sundaram Sankaran
85aacadad8 msm: mdss: fix mixer_type assignment in writeback start
Assign and use the correct mixer_type in writeback start.

Change-Id: Iacb0424b1518eec7077d2c053222358cf6a38abb
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:45:43 -07:00
Chandan Uddaraju
835fff3cfa msm: mdss: dsi: config max_pkt_size only when needed
Currently, we configure max_pkt_size for every DCS read
command. Avoid sending max_pkt_size DCS command for every
DCS read by adding conditional check for the configured
max_pkt_size value for every DCS read.

Change-Id: If2c38794b0383a429f1b2b8f5fa48881bfaed0e4
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2016-03-23 20:45:42 -07:00
Benet Clark
0fd5ebd158 msm: mdss: Sum split-display histograms into left histogram data
For every histogram collect in a split display configuration, a
concatenation scratch array was alloced in order to sum the histograms
of the multiple DSPPs. This change improves performance by removing the
allocation and summing the histograms into the histogram array of the
first DSPP in the split display.

Change-Id: Id07cdfc2175bdce0f3b662daa70a014986f73eb4
Signed-off-by: Benet Clark <benetc@codeaurora.org>
2016-03-23 20:45:41 -07:00
Benet Clark
d4b6398600 msm: mdss: Remove 1:1 mixer to DSPP assumption in pp mixer setup
Previously, the PP driver assumed that there would be a DSPP for every
INTF mixer. However, this assumption does not hold true for all targets.
This change fixes the errors caused by assuming the 1:1 ratio and allows
all layer mixers to be programmed based on CTL configuration.

Change-Id: I15d03921c9b91212717417296e3a157e97b5113a
Signed-off-by: Benet Clark <benetc@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:45:41 -07:00