Commit graph

567403 commits

Author SHA1 Message Date
Dhaval Patel
dadb8126e9 mdss: mdp: do not report tile format when ubwc is supported
MDSS driver reports the tile format and ubwc format support
in capability node. It should not report both format
supports because framework may use tile format over ubwc
which is not intended. UBWC is common for venus, camera
and GPU.

Change-Id: If9230d4974ec150d879c77a6f1efba7f040ba2ed
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:43:50 -07:00
Vinu Deokaran
9355cfcaeb msm: mdss: add csc tables for mdp5 for various color spaces
Add csc tables for 601 full, 601 limited and 709 limited
to support different csc matrices.

HAL provides color space request to driver, consider it
to choose appropriate matrix for conversion.

This will help in solving artifacts during GPU/MDP switches
so that both GPU and MDP choose same matrix for conversion.

Change-Id: Idd73e0695ea64d0c0bd778dba07199e209ca6f3d
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:43:49 -07:00
Kuogee Hsieh
e4f8eae0df msm: mdss: add generating 128 bytes of DSC PPS
Add generating 128 bytes of DSC PPS (picture parameters
set) base on specified DSC picture width/height and slice
width/height. Send 128 bytes PPS stream to configure and
enable panel's DSC.

Change-Id: I3f2fcb7098023b7d27ef85392e4d5f36bf189d1b
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
2016-03-23 20:43:49 -07:00
Dhaval Patel
7fdfe0ad67 msm: mdss: add secure display support
Secure display architecture requires null commit
before and after secure display session. It
also adds requirement to make the SCM call before
and after secure display session. It supports secure
display with single-stage SMMU hypervisor controlled.

Change-Id: I3f41ed318c80d6e76328de114f7dee0c9891c2f0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:48 -07:00
Jeevan Shriram
7303f4b547 msm: mdss: restore ctl registers when idle power collapse is enabled
In the current implementation, control register are not being restored
for the compression modes. This causes display corruption on command
mode panels if idle power collapse is enabled. This change restores the
compression mode registers while coming out of idle power collapse.

CRs-Fixed: 859333
Change-Id: Id40270e78b798f3baf7a6c3ad2598f7f12bbf3fb
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:47 -07:00
Terence Hampson
d36adec65e mdss: mdp: extract if mdp has ubwc from hw rev
User space needs a way to identify if mdp has UBWC

Change-Id: I5fec34976473ea80c09684d51b14d5588fab09eb
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:46 -07:00
Padmanabhan Komanduru
1fa271e59c msm: mdss: use the correct variable for continuous splash status
The DSI driver checks if continuous splash screen is enabled
via mdss_panel_get_boot_cfg API to MDP driver. In the current code,
we use the wrong variable to check continuous splash screen status.
This might cause display crash during boot up when continuous splash
screen is disabled. Fix this issue by using the correct variable
to check the status.

Change-Id: Iaa752a5c764dbd3ca94a5e14514f9174dad21695
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
2016-03-23 20:43:45 -07:00
Dhaval Patel
c6e6724120 msm: mdss: reset the skip buffer flag to avoid memory leak
Pan display path can call buffer alloc and use one of the
buffer. It will enable the skip detach enabled for that
buffer. This buffer moves to free queue when atomic api
stage next set of layers. It can lead to memory leak when
atomic API path reuse the same buffer without resetting
the detach flag. Ideally, it should be reset for each
attach call.

Change-Id: I96e2c030669539d8e5dc7205abc233ecc7118bdb
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:44 -07:00
Aravind Venkateswaran
8b9bb877e8 msm: mdss: specify unique name for panel debugfs directory
For dual DSI board configurations with independent displays,
the debugfs directory needs to be created for both panels. Use
unique directory names for the debugfs node. After this change,
the debugfs directory will have the following structure:

For Split-DSI:
/sys/kernel/debug/mdss_panel_fb0/intf0 (assuming fb0 device node)
/sys/kernel/debug/mdss_panel_fb0/intf1 (assuming fb0 device node)

For Dual-DSI with independent displays:
/sys/kernel/debug/mdss_panel_fb0/intf0 (assuming fb0 device node)
/sys/kernel/debug/mdss_panel_fb1/intf0 (assuming fb1 device node)

For Single-DSI:
/sys/kernel/debug/mdss_panel_fb0/intf0 (assuming fb0 device node)

Change-Id: Ic98d0d662932223828c41511c51cb4a0dda42bb2
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:43:43 -07:00
Ingrid Gallardo
96007ec277 msm: mdss: add support to switchable qos during vblank
Starting with 8996 chipset, qos settings can be adjusted
to be different during vblank. This change adds support
for this feature.

Change-Id: Ifa25dd799a55396224f49c49a29fcc8f5a245bd0
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:43 -07:00
Casey Piper
bbdb824e97 msm: mdss: hdmi: add hardware ddc rxstatus support
Support reading rxstatus through hardware interrupts.
Reading rxstatus through hardware allows locality
deadlines to be enforced.

Change-Id: Ic56b3e5c27f2410c7b060a6d5c7c88e0770dc16b
Signed-off-by: Alhad Purnapatre <alhadp@codeaurora.org>
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
2016-03-23 20:43:42 -07:00
Dhaval Patel
00ebebb0e9 msm: mdss: remove unused register read request and invalid comment
Ctl rev in vfp update method is unused. Remove this nop
instruction. DSI timing mode configuration is not specific for
8916/8939 target but common for all targets. Remove such
invalid target specific comment.

Change-Id: Ie7c75203ca50e6bd2abf952f4d4362314c01987c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:41 -07:00
Tatenda Chipeperekwa
f6fb77ca7d msm: fb: add support to set the output format
Add support to set the output of the interface based on the
grayscale value. The grayscale value must be set to a format
specified according to the V4L2 FOURCC pixel format definitions.
We translate from the FOURCC pixel format to the corresponding
MDP format when setting the final output format. For example,
this is used to set the output format to YUV420 for HDMI TVs
that are HDMI 2.0 compliant.

Change-Id: Id5623f1211b743b54002c22b19d81dbd13e6564f
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 20:43:40 -07:00
Ingrid Gallardo
e593068d2e msm: mdss: fix typo in mdp bw calculations preventing to use comp ratio
Fix typo that prevents to use the compression ratio factor
to reduce the bw vote for ubwc formats.

Change-Id: Ic06129a1fa0c548bda9673037748b348b8af730a
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:39 -07:00
Krishna Chaitanya Devarakonda
4381407108 msm: mdss: add support for dynamic OT for mdss on 8952
As per QoS recommendation for mdss on 8952, Rotator/WB OT
should be configured for both read/write paths. Add
support for configuring dynamic OT in msm8952, for
Rotator and WB paths.

Change-Id: I543a99cb931f2a58f5f98937c32728f290614316
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:43:38 -07:00
Kalyan Thota
2430a9eb6c msm: mdss: initialize prefill lines for BW prefetch on 8952
initialize min prefill lines, cursor size and max z-order
for 8952.

Change-Id: If243c285590c45d681aa18a32d830c0c05075a6b
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:43:37 -07:00
Krishna Chaitanya Devarakonda
39b46f5d78 msm: mdss: calculate rotator bw based on source fps
If the source FPS for the rotator is set, store it and
use it for calculating BW required by rotator.

Change-Id: I35801528930897447a039c4a4c950048e99d16d9
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-03-23 20:43:36 -07:00
Jeevan Shriram
9ba615f517 msm: mdss: re-check dsi cmd transfer done interrupt
There is a possibility that irq trigger may get delayed in the
software for more than expected, in such cases the cmd done status
may have been updated in DSI isr status register. Add additional
check to see if the dma transfer is completed by reading this register
and checking the status.

Change-Id: Ia27ee162668949934c3e3cedc97e746832824f5c
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:36 -07:00
Jeevan Shriram
8dd6c66e6a msm: mdss: reduce log level when ping pong timeout happens
In the current implementation, driver has a recovery mechanism
from pingpong timeout on command mode interface. This change
replaces WARN macro with pr_warn to reduce the logging in dmesg
when the pingpong timeout happens only once.

CRs-Fixed: 856973
Change-Id: I7568466f4e909e4adafaabbcd5da22596750914b
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:35 -07:00
Mitchel Humpherys
c2d9466e08 arm64: dma-mapping: remove order parameter from arm_iommu_create_mapping()
arm32 recently removed the `order' parameter from
arm_iommu_create_mapping: (68efd7d2fb: arm: dma-mapping: remove order
parameter from arm_iommu_create_mapping()) in order to make the API
easier to understand.  The arm32 DMA IOMMU mapper has dynamic resizing
of the iova bitmap, so there was no reason to keep the `order' parameter
around (which was introduced to reduce the size of the bitmap).

Although we don't have dynamic iova bitmap reallocation on arm64, we'd
still like to get rid of the `order' parameter since it's confusing and
doesn't really help much (especially since all known clients on our
system are passing order=0).  Remove it.

Change-Id: I35e32fdfbe05ec434f64a3a316d13c8f43304bc6
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
[cip@codeaurora.org: Removed changes unrelated to display]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:43:34 -07:00
Terence Hampson
9ebcc0e450 msm: mdss: add ubwc address offset calculations
When adding x and y offsets to uwbc formats, the addresses need
to line up with the start of a tile.

Change-Id: I975dd07bba4bf6dde7ece7aa9b2bfb61d5315dde
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:33 -07:00
Lei Zhou
a0c6e7178d msm: mdss: ignore buffer mapping if it's solid fill layer
Ignore mdp_buffer mapping when MDP_SOLID_FILL_LAYER is detected.
The client marked this mdp_input_layer as SOLID_FILL layer
without input buffer associated with this layer. MDP hardware
SOLID_FILL feature will be utilized.

Change-Id: Ica48dc5b0be69ac42e2f442d6114781790a3c56a
Signed-off-by: Lei Zhou <leizhou@codeaurora.org>
2016-03-23 20:43:32 -07:00
Gopikrishnaiah Anandan
f29534f106 mdss: mdp: Set completion if backlight level is zero
During rapid suspend/resume usecases assertive display is being turned
on with backlight level zero. When on command is received with backlight
level zero driver bails out with out turning on AD and doesn't signal
the client that worker queue has stopped processing which results in a
timeout for on command. Change will ensure that client is signalled if
driver is skipping the processing of AD due to backlight being zero.

Change-Id: Iaa6229f10ce54f44ec64c175f67ef7584ad4c8b2
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:43:31 -07:00
Ingrid Gallardo
f6a76559a2 uapi: msm: mdss: expose compression ratio for rotator
For bandwidth calculations, rotator driver needs
to know the compression ratio factors which
depends on the pixel format. This change adds
support to share this information between
user-space and rotator driver.

Change-Id: I6163317514328610a836c34fd9ca75c3e753b50f
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:30 -07:00
Veera Sundaram Sankaran
3139253e9f msm: mdss: fix cursor pipe idle checking mechanism
The clk status register and vbif status based on xin-id
is used to check if pipes are idle. VBIF checks cannot be done
for cursor pipes as the same xin-id is shared between dsi, cursor0
and cursor1. Avoid vbif status check and fix clk status check for
cursor pipes.

Change-Id: I9e0a185beffd4e732c1b5dc61822cc94b3735a27
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:43:30 -07:00
Terence Hampson
28d54c74e9 mdss: rotator: add trace and debug logs
To assist with profiling and debugging, traces and additional
debugging logs have been added.

Change-Id: I39529dc52fe99de704268170a294bc4391ec2871
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:29 -07:00
Terence Hampson
c2bd48d7b8 mdss: rotator: fix memory scribble issue
Prior to this patch it was possible for rotator wq to write
to memory that had been freed in close session. Close
session now offloads the close work to wq if it still has not
completed the work.

Change-Id: I4b48071f930b912a098094d7de2b2081dac4c2e5
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:28 -07:00
Terence Hampson
ac1cdfd7a7 msm: mdss: provide buffer height when getting plane size
When calculating the plane sizes the buffer height is what should
be passed into mdss_mdp_get_plane_sizes.

Change-Id: I3e4bab0fbfed1e2f34dbe757768a72c9a7916919
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:27 -07:00
Veera Sundaram Sankaran
56f473ee35 msm: mdss: fix smmu buffer mapping in recovery mode
When booting up in recovery mode, mmap is called without iommu attach.
This would result in device panic as iommu fails when buffer mapping is
done without attaching the respective iommu domain. Fix the issue by
delaying the mapping to a later point, during the commit.

Change-Id: Idbe4f6ca5557774b5add56c064ea6b05a67d530f
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:43:26 -07:00
Ping Li
9040e63de8 msm: mdss: Correct the condition check for AD input ioctl
One of the condition checks in ad_input ioctl is to check the input
mode is not MDSS_AD_CALIB_MODE. The current code missed one pair
of brackets and made the check invalid. Correct the check to fix
the bug.

Change-Id: I82a083fe8a1bef6c57a01e20e02fdd14f8c09bde
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-03-23 20:43:25 -07:00
Jeevan Shriram
e95e4f1d5c msm: mdss: try recovering from pingpong timeout without panic
In the current implementation, as soon as the ping pong timeout
happens, driver dumps the relevant logs for debugging and panic.
It is possible to recover from this situation without panic by
performing MDSS control reset and panel write pointer reset. This
change tries to recover from pingpong timeout. If the recovery
is not successful for 10 consecutive frames, uevent is sent to
HAL layer for performing blank and unblank of display driver.

Change-Id: Iadc929a79a62bbf222b9022af5cf04f870079ded
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:24 -07:00
Aravind Venkateswaran
0fae3b24d9 msm: mdss: restore backlight level when recovering from ESD attack
When ESD related panel failures are detected, the recovery process
involves blanking and unblanking the panel. In such cases, it is
required to restore the backlight level as there may not be an explicit
call from the userspace to update the backlight.

Change-Id: Idd84a628cf2a1e37121b94d3c5cc11d45a78fdab
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-03-23 20:43:23 -07:00
Jeevan Shriram
a9416e66c1 msm: mdss: dsi: Add dsi event to reset panel write pointer
There are instances where the mdp wants to reset to full screen
especially during frame timeouts. Add event to s/w reset the dsi core
and reset the panel's ram write coordinates to full screen.

Change-Id: I43e5cb12126837330f3ed72386f87f5c7fabd2c0
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:23 -07:00
Jeevan Shriram
50b9827d5b msm: mdss: reset MDP ctl path for pingpong timeout recovery
When pingpong timeout is received, it could be due to some bad
configuration on MDP pipeline. In order to recover and have clean
HW for next frames, perform SW reset on the faulting ctl path. Also
make sure all the pipes in the bad configuration are halted
properly and does not have any residue transaction for the new
frames.

Conflicts:
	drivers/video/msm/mdss/mdss_mdp_pipe.c

Change-Id: I9a6c6cb6d004fd65c24a7fefe7457ee68af9273a
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:22 -07:00
Jeevan Shriram
8bd3e27fb6 msm: mdss: reset panel when wait4pingpong timeout is received
Due to various reasons wait4pingpong timeout can be observed and
this usually results in split screen behaviour for the end user.
Split screen is manifested because for a given frame only half of
the pixel data was sent and then some kind of hang was observed.
So unless the panel and display pipeline is restarted, next frames
will start from the location where it hanged. Improve user behavior
by resetting the display pipeline including panel by sending panel
dead event to user-space. Upon receiving this event user-space should
issue blank and un-blank which should recover the display pipeline.

Change-Id: Iec674a61229cbc037d24cf4f62ceb02a977b219c
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 20:43:21 -07:00
Dhaval Patel
d6bf565bed msm: mdss: remove process id based refcounting from fb
FrameBuffer driver is tracking each fb_open and fb_release
call with process id and file descriptor node. This is
duplicate logic to track single call. This change removes
process id based framebuffer driver call tracking to
reduce the complexity. File descriptor is different for
each call. That's the main reason for choosing it to
track the calls.

CRs-fixed: 716379
Change-Id: Ida1728d3878aeedf486bebef0f6f70c1e68d006e
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:20 -07:00
Tatenda Chipeperekwa
38be49e8b7 msm: mdss: hdmi: Remove redundant update of output format
Remove a redundant update of the output format when setting up
the AVI Infoframe content.

Change-Id: I065b310272c4b32dc9fafdd6e2d386cfa1952eac
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-03-23 20:43:19 -07:00
Dhaval Patel
bdcc37921b msm: mdss: add flush bit and nrt vbif in xlog
Add xlog for ctl flush bit configuration and
non realtime vbif debug node.

Change-Id: Ife7790286e16291067da3b295ecc1d035bf71fd6
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:18 -07:00
Krishna Chaitanya Parimi
7b34ad7222 msm: mdss: do not use mdp_lock for hist irq enable/disable
Calls to hist irq enable and disable are encompassed with a
spin_lock mdp_lock. This is not needed as all histogram irq
programming is independent of other MDP irq programming and
simultaneous access is restricted using hist intr lock. The
enable/disable irq calls made are further protected by one
mdss_lock spin_lock for preventing simultaneous access to
enable and disable of MDP irqs.

Change-Id: I2ec63e35fc3eca953e9ac21f7052c705656d899b
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:43:17 -07:00
Dhaval Patel
8244623d47 Revert "msm: mdss: handle mmagic mdss axi clock for msm8996 target"
This reverts commit 832b482b621b ("msm: mdss: handle mmagic mdss
axi clock for msm8996 target"). SMMU driver adds the vote for
mmagic mdss axi clock vote which will take care of MDP and
DSI use cases. No need to put vote from individual module.

Change-Id: I858f28eb88deb34a612050d913459e62cc0955a8
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Removed msm8996-mdss.dtsi changes]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:43:16 -07:00
Olav Haugan
06dfea5c32 msm: mdss: use delayed unmap for smmu mappings
Replace dma_map_sg/unmap_sg with msm_dma_map_sg_lazy
/msm_dma_unmpa_sg to avoid buffer unmapping till
the time it is free.

Change-Id: I0559238301882a89d25f3cf99a60140c9e9c1bdf
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:43:15 -07:00
Terence Hampson
f7de3df39b mdss: rotator: validate rotator work item against session
The rationale for open session is to accurately vote for bw and
clk rates based on configuration provided. Prior to this patch it
was possible to call open session with one configuration, but
provided an entirely different rotation configuration as work to
be completed.

Change-Id: I82c95c290cffa75ea7b09ea4a021e9e436782c06
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:15 -07:00
Terence Hampson
f8669530b3 msm: mdss: rotator: calculate the correct wb stride using img width
The width provided to mdss_mdp_get_plane_sizes, which is used for
calculate stride, was using destination region of interest
width instead of buffer image width.

Change-Id: Ib585999207860fc85adeb1a9b23a6ba31dc543e2
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
2016-03-23 20:43:14 -07:00
Ingrid Gallardo
e5fb82c808 msm: mdss: add support to set the minimum mdp transfer time
For command mode panels current code calculations adjust the mdp
clock rate based on the minimum dsi pixel clock rate. This is
wrong and can lead to power issues since this rate considers
the blanking times which are not required for the mdp clock
calculations.
This change optimize the calculations by only considering the worst
width that could be processed by the mdp without blanking periods
and consider the time expected for the transfer by adjusting
the mdp clock in order to meet the performance requested; this
time can be tuned through the panel configuration.

Change-Id: Ib25df0e8f749d3ffc1d9059d5d7eac27e0f0b81e
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:13 -07:00
Ajay Singh Parmar
00649dd712 msm: mdss: hdmi: add audio notification acknowledge feature
Add sysfs node to allow audio HAL to acknowledge every connect/disconnect
event. This makes audio HAL and HDMI driver to be in sync with respect to
notifications and avoid any fast plug-in/out notification issues.

Change-Id: I13634bb0efb8222cdbd86afa6723781f682632b3
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2016-03-23 20:43:12 -07:00
Ujwal Patel
db3c867d38 msm: mdss: fix dst_x adjustments when source split is disabled
In order to handle different use-cases, mixer ROIs and/or dst_x
of a pipe is modified and re-adjusted. In one of these use-cases, when
source split is disabled, re-adjustment was missing causing HW hangs or
unexpected layer positions. Fix these adjustments.

Change-Id: I7cda887874aad97bca16b63ca5a9eac303fa63a4
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:43:11 -07:00
Ingrid Gallardo
9fac1ce233 msm: mdss: fix wrong mdp ib vote calculation
Fix missing assignment for the mdp ib bandwidth vote
calculation that was causing to skip the ib factor
and resulted in the wrong ib vote calculation.

Change-Id: I0289dc94040416e42543c192ad88ef246483c0d4
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:10 -07:00
Ingrid Gallardo
9842d19071 msm: mdss: adjust mdp bw vote according to recommendation for 8996
Adjust mdp bandwidth vote to meet the recommended
system settings for 8996.

Change-Id: I0901dc211fe8dac366e3602a45656aacc48683d3
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Removed msm8996-mdss.dtsi file from change]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:43:09 -07:00
Ujwal Patel
a88c5d35b9 msm: mdss: add support to change border color through debugfs
During blending operation, bottom color is known as border color and it
is same size as mixer dimensions. Default color is black but it can be
configured to different color. This is very useful for debugging purpose.
Add support to program border-color through debugfs as per following
guidelines.

echo code > <debugfs>/mdp/bordercolor/colorN
where
    code: 12bit color value in decimal
    colorN: color0, color1, color2

Change-Id: Ia3e8791713f5aa309a95c867445995ced028dd8d
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:43:08 -07:00
Ujwal Patel
129d5ad772 msm: mdss: fix secondary ctl flush issue on command mode panels
Starting with patch 2551ce16a5d44a3b03d0885b499924f6d218c78e, msm: mdss:
add async support for hw cursor, flush logic was modifed. However it
introduced an issue where if mixer configuration is skipped then
secondary flush is skipped. This can cause issues. Fix the flush logic
by ensuring that secondary flush is not skipped.

Change-Id: Iee8b9ca80353b2fdb096e64b12c865cd10f0dd08
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:43:08 -07:00