| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of directly queueing the data to pipe, store buffer contents in
in pipe structure during pan display. This will result in the contents
to be updated once kickoff is called, which is the expected behavior.
Change-Id: Ic6167317f32220497ca05447c896b44c33b1ee1f
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Smp's reserved for writeback interface can be released safely
as long as the pipeline is idle. This allows pipe reprogramming
during concurrent line and block mode operations.
Change-Id: Ib0fdf4d45412daa4478ac0fb7aff2e3564b2a584
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Concurrent rotation and WFD usecases need to be supported
using a single writeback hw module for low end targets.
To enable this feature, mixer, ctl and DMA pipe needs to be
shared between block and line mode operations and hardware
programing is synchronized with a shared mutex.
Change-Id: I0fe909dd07006282239c65d5fe92d270069a3920
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The presence of a dedicated wfd writeback block needs to be
retrieved from device tree, which can be used to determine
if WFD and rotator sessions need to be multiplexed.
Change-Id: I150b17d0ebb045aecc9c6e694632e5f89007c957
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
APQ8084 MDSS has 2 extra pipes compare to MDSS of msm8974. This change
adds support for programming these new pipes and corresponding mixer and
control pipeline changes.
Change-Id: I1406263de703719661789d2f8c6f7c06fc810919
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This change fixes a case where the length of 3d data is not
properly used which could have resulted in wrong 3d data parsing.
CRs-Fixed: 445505
Change-Id: Icfd25861a620265c1de1bcd08c1c3a56cf6553df
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When mirroring is ongoing, if suspend or user specified hpd off is
processed then current implementation turns off hpd first and then cec.
When hpd is turned off, clocks and regulators to HDMI core are disabled.
So any access to HDMI register space leads to crash. Fix this by ensuring
CEC is disabled before HDMI core is powered off.
Change-Id: I171ca71aed27ce6721678920da0e89399201d76d
CRs-Fixed: 502121
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
DSI command mode needs TE singal to keep tearing check work.
Change-Id: Ib29ebab3df12671211a0e0ae1b52ea390a17e117
Signed-off-by: Ray Zhang <rayzhang@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDP clocks are not balanced for command mode panels with continuous
splash screen turned on. Need to turn both mdp and dsi clk off when
splash screen is done.
CRs-fixed: 486155
Change-Id: I95d2efbc6c5d9a7b074f7e6c0abf66d062a090de
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This change allows to read/write MDP ctl registers and flush
registers through ioctl. Changes are required to support
calibration tool.
Change-Id: Iabe6ae8d5214accf0dd61ff56b91270df4570af4
Signed-off-by: Arpita Banerjee <cabane@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently MDSS driver use private iommu page fault handler,
which is very primitive in terms of providing details about
the page fault. So instead of using private page fault handler,
switch back to default handler which provides plenty of debug details.
Change-Id: I8ab77f558ba3bee561391b608ec3e6091367ff6e
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the bus clock Enable/Disable calls to be part
of the clock control logic so that they can be disabled
when they are not used.
Change-Id: I1a498db5ff132108134d356239fdc03721cac67b
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for additonal vreg fields like
sleeps for before and after vreg enable/disable.
These changes are to support updated dtsi
with these additional fields.
Change-Id: Ib8cd9d870965ba1d20406d694e2c6ca6810b38d3
Signed-off-by: Arpita Banerjee <cabane@codeaurora.org>
[cip@codeaurora.org: Replace regulator_set_optimum_mode
with regulator_set_load]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove unused or unnecessary variables and make sure each variable
that tracks rdptr, mdp_clk, pingpong or vsync status has a single
purpose. Slow fps, suspend/resume failure, unbalanced clk cnt and no
vsync event issues get fixed, and fps deviation is improved.
CRs-fixed: 486116
Change-Id: Id33945c0ce6cde368bd58df7e8755d7e9ff6add7
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Waking up cpu before vsync time can reduce isr latency to avoid frame
drops due to power collapse. This change adds the feature to command
interface based on the same feature that was already implemented in
video interface.
CRs-fixed: 486116
Change-Id: Ia29df017a5d28f580f22c9a8fd62e22bcd78fa52
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change logic to free buffer for previous rotation call. This will make
sure to keep a ref count on the buffer secure lock before it's picked up
by MDP for displaying to panel. It will also allow for asynchronous calls
to rotator to be supported by not freeing the source and destination
buffers within same call.
Change-Id: I389d6a4523bdc79a5dfe76e3603e43325d63b82c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move calculation of phase step to overlay parameters setup. This is done
to detect early whether the calculation may lead to potential overflow
in phase step. This can lead to interrupts not getting triggered for
ping pong. By detecting early and failing parameters user app can use
fallback solution.
CRs-Fixed: 486751
Change-Id: Iae402d8e97a9ef1d882ffb3e7fee92982f8b65f6
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Change pr_debug messages to pr_err for dsi error checks.
Change-Id: Iccb2faaa4ec65132b4ffc68a6598dad3ae9ee6bf
CRs-fixed: 498973
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Hardware doesn't support BWC decompression and decimation on the
same pipe.
Change-Id: Ie1aa60b104fdab0151def9c0dcd185f7cae7f29a
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The memory flag is not initialized properly during ION map.
Also, the memory is not free due to the incorrect validation
at free time.
Change-Id: I172cb0f68f4cdc131b70478e6c0123136075326d
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
During display suspend, the ION memory got free before MDP
DMA stop. Make sure MDP DMA shut down properly and free
the ION MMU after that.
Change-Id: Iac39a1dc5a9e63328283f0821b93ad3a214b3f6d
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
When going to suspend, need to clear the frame buffer pipes allocated
since these were allocated by driver. These will get reallocated
automatically on resume.
Change-Id: I3c5697277edfc8f976a0720f5f94f10314f5ebe6
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Default priority for writeback is set to lowest, which can lead to other
clients' requests to come before MDP writeback. Change the priority to
P1 to match the rotator fetch QoS settings.
Change-Id: Ia703d1688581a0811502ce00863d1c973d53e749
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Histogram control and collection, and look up table
is used by content adaptive backlight algorithm (CABL).
Display driver provides control API for CABL to
start/stop histogram collection. It also provides
the data API for CABL to collect histogram to analyze
the display content. After analyzing the histogram,
CABL updates the look up table.
Change-Id: If4777e80d2b58ec0e3c55ee1ec748e281472f503
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Null check on mfd param in overlay api needs to be performed
to avoid kernel panic.
CRs-fixed: 498973
Change-Id: If37284ab83bc678714fd8eed20f6adcb689846fa
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
When there is a failure in parsing a ppp blit request, ppp is
now properly handling the error.
Change-Id: Ib0c4bb2843eb2433579fc48d1d5fe7cbecabe1c5
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
MDP3 supports both DSI video interface and DSI command interface.
This is to support DSI command mode interface.
Change-Id: If9cc403051f9b12769078db2f7a002192808f197
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
copy from user failures in pipe setup should be handled gracefully
before returning, mainly freeing resources allocated to the pipe.
Change-Id: I53b9e72eb1a8139991fdef659e41937c9ec7a147
CRs-fixed: 492206
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement timeout on writeback kickoff for cases where interrupt is not
received and avoid possible MDP hang. For such cases, even though
they're not expected, ignore the error and continue in order to recover.
Change-Id: I3d1b2443e3dbd7b6f7f93fe8026f8d22053414fa
CRs-fixed: 495554
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
The layer mixer offset within ctl needs to map to the mixer allocated.
Change-Id: I6caa9d2423f4bfd326ebb4ce1080444fcc40c384
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Notify the userspace when to read vsync instead of userspace
blocking on the vsync show event. Use a work queue to call
sysfs_notify to accomplish this.
Change-Id: I2d6ea6a6c4683cbd4c3ed9ca355546282e375194
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
If iommu map fails, the buffer should be unsecured before freeing it.
Change-Id: I372b0ad43d4938b79016b4e13a5aaad496ab55bf
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
User space is allocating its own ION memory for composition
buffer, which makes the FB memory allocation in the driver
redundant.
Change-Id: I79d655bf0dac02fd2c6b9a40dfcc3cc5c6a4343a
Signed-off-by: Radhika Ranjan Soni <rrsoni@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add the support to parse the device tree properites for DSI command
mode panels.
Change-Id: I313296531acba23de5fa0d13fa74c5f615ecbdb3
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
DSI PHY includes 3 macros: PHY, PLL and DCDC regulator.
Make sure DCDC regulator is turned off to avoid current
leakage.
Change-Id: I544f4537b42254a941adc3b76c02489f6d2751e6
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Change the array index of hist_concat to j to get the histogram
updates for split-display.
Change-Id: Ia5bef96bdd523aed7296017e88561f66e349acbb
Signed-off-by: Mukesh Jha <cmjha@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Return more specific error conditions to userspace for better
error handling.
Change-Id: Icdd34c6bea48f384eef56f4b9aa93482b2679c56
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When DSI broadcast mode is enabled, DSI PHY need to be
disabled only after all the DSI clocks are turned Off.
This change fixes this race condition and avoids clock
warnings during suspend for split display panels.
Change-Id: I805b8b8a82b7c704cca5bf2c5ebf77cc7e2304ce
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Force the backlight to zero before entering powerdown state to prevent
backlight from staying on during blank/suspend.
Change-Id: I2a078833c414d6b51d4e6eb64fd37b616164948a
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
When client is turning off the vsync event notification,
use complete instead of complete_all, which will cause
unwanted user thread wake-up.
Change-Id: I70f7c6b877cb0df7ccd980437c7d12a6148bbe77
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update performance calculations to account for vertical decimation and
tune this parameter during pipe setup when we find that current
configuration won't lead to MDP underflow. If tuning cannot be done to
avoid underflow then fail the use case in overlay set to allow use case
to use a fallback solution.
CRs-Fixed: 490341
Change-Id: I97fc300048be1df869681474a6e0ac53c32f67d2
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Replace hard coded panel frame rate with proper calculations based on
panel size and clock rate.
Change-Id: I78ff239b989df15ef9b0559e02873292d7b2c3bb
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BWC stride should account for both chroma components for RAU size and
subsequently the stride for the compressed stream. At the same time
since the luma and chroma pixels are stored in same plane, update
calculations to properly get plane size.
CRs-Fixed: 493063
Change-Id: Ied618e9b4c1d82868a018531c8b2e3d4ea1df16d
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use uncached allocation for DSI buffers to avoid
cache inconsistency issues introduced with SLUB
DEBUG option enabled. With SLUB_DEBUG, the entries
in cache are somehow polluted which results in incorrect
dsi command values sent to the panel. This change avoids
cached allocation by using dma allocation instead.
Change-Id: Ib769e91d411bf856e7d2e860cff7c1188ff0236e
CRs-Fixed: 488236
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Same intf_num is needed to register and un-register call back
function. Make sure same intf_num is used at both register callback
at cmd_start() and un-register at cmd_stop().
Change-Id: Id6de434d04a94b2467047962d04ca69e60477dc2
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
For video mode panel, DSI_INTR_VIDEO_DONE irq only enabled when
there is dcs command ready to be sent and disabled after dcs
command had been sent.
Change-Id: I76cf33ad16cf300df2b8ff29874f471d601cb95d
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Packing consecutive dcs commands into one single buffer if their
dcs header's "last" flag byte is not set. The packing process will
stop after packing first dcs command with "last" flag byte set.
Therefore multiple dcs commands can be send to panel with one
transmission.
CRs-Fixed: 486748
Change-Id: I76d2a043788638579a62a7f949309f049fc999d7
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Writeback terminate can be called without the allocation of ctl
especially when a file descriptor needs to be closed for ioctl
failures.
CRs-fixed: 489296
Change-Id: I907d3f9ba1825829b3198f66c918071e59d37968
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Return 0 at wait4comp to indicate there is no timeout happen.
Otherwise return non 0 to indicate error.
Change-Id: Id801dc49df530830ab691e6b1746741236760d10
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Bandwidth requests to the bus need to be cleared when clock
is turned off for command panel to save power.
Change-Id: Id952bf191100ec817c7201e8948ce1eefd6cdc8d
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|