| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The incorrect mutex for the BL file descriptor was being unlocked
in AD setup. Removed the incorrect unlock and replaced it with an
unlock on the correct mutex.
Change-Id: I276823c34d1183b69d7af06bae8b02cb7e1b56b1
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added six zone memory color adjustment for picture adjustment block
in post-processing. This includes the necessary structures, flags,
and register reads and writes in order to program the six zone LUT hardware
block in PA
Change-Id: Idb381077497e2b63399ebeb7051027a46b5dd6e1
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new version of PA in postproc has added functionality in DSPP and VIG.
This change adds functions for handling the reading and writing of these
new registers, as well as PA v2 setup in DSPP and VIG setups. This change
only adds functionality for global adjustment and memory color adjustment.
Change-Id: Iab1644714928055f15cf496185509b1712d0ceae
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
For some backlight controllers,its minumul Duty is
10% (brightness 30), so we need to adjust the
brightness to min_bl when brightness is less than it.
Change-Id: I543764449074fdc0974f312fdbc4043f4f24d5c0
Signed-off-by: Shuo Yan <shuoy@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the PMIC's interface to 5V enable GPIO which is used to
enable power for HDMI HPD (Hot Plug Detect). This PMIC GPIO will
be used as HDMI voltage regulator so that multiple clients can
make use of it.
Change-Id: Ifd50344ce19541a1c055b9123c55eddd08ccd05f
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change initializes ROI of the right mixer on dual DSI panels
to its complete resolution. This will ensure that the right mixer
composes to its full resolution when partial update feature is not
enabled / applicable.
CRs-Fixed: 556185
Change-Id: I3c2f2b9a220dc223ef66475d6f6cbfc18c4a67db
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Turn off the backlight while calling blank-unblank during continuous
splash as it could show white flicker depending on the panel.
CRs-Fixed: 532273
Change-Id: I99e9bff26b540f2e33bfeb13cbb29548feea599c
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
Support for MDP_BGRX_8888 is required, so we are adding it in.
Change-Id: I43e9b6ccc63f7fd7b83fa4b3b24828f58b56b1fc
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Invoke scm call to inform TZ core about the start of secure display.
This TZ call modifies the XPU settings to block the read/write access
for master(MDP) with non-secure VMID.
Change-Id: Ib8d1ec756883efaa7388d632e854c32e9f2885ba
Signed-off-by: Arun Kumar K.R <akumarkr@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In dual-DSI panel configuration it is possible that panels are physically
swapped on the device. In those situations mixer swap is done. There is
an old dead code in current implementation which leads to failures in
mixer swap use-case. Fix these failures by removing this dead code.
Change-Id: Ib0d7141e322f18bcf1060bc5ab2a404dc41a4cc2
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Display backlight is enabled after commit kickoff function
returns. However, the return of the function does not mean
the data has been sent to the panel yet. During suspend and
resume use case, it results a split of second of screen
corruption. This makes sure backlight is enabled only after
the first display update is complete.
Change-Id: Id5e6bada69c51180ebedfdb301d4d68fc12877b0
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Since mdss interrupts are generated in mdp core clock domain,
mdp clock need to be enabled along with edp clocks to have edp
interrupt be delivered to edp during edp probe.
Change-Id: Idad19dddfdc2aed9efda15b28b666ac0411dbbda
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mdp_scale_data is a data structure added to mdp_overlay structure
to receive scalar factors for the QSEED filter such as
initial phase, phase step and pixel extension from the userland.
This data is need to achieve image clarity when using the scalar.
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
Change-Id: I88e5e0cc9f4e604f38fa7c35a6a93378d3b55050
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add more reliable size check for gamut LUTs to prevent potential
security issues such as information leak.
Change-Id: I32be41a2612a100b9ba6167737c2f8778f720fa2
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not give universal access to CEC (Consumer Electronics Control)
sysfs nodes for logical and physical addresses to avoid unauthorized
access.
CRs-Fixed: 547968
Change-Id: I2ba57f050cc92a361586064dfd5e5659ab07c2f7
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mdp3_start_ppp is manipulating some of the parameters passed in.
Within a sw workaround to a hw issue, a blit request can be broken
down and create a need for multiple calls to mdp3_start_ppp. When
this happens, the parameters passed in will be modified and a
snowball effect takes place. To fix this issue we simply reset
parameters before next call to mdp3_start_ppp.
Change-Id: I29888b5f2f07391d3502ae1478068d7bf12805c3
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This change programs MDP only for the output resolution (ROI)
set by the client. All staged pipes are cropped to fetch data
only for the resolution programmed.
Change-Id: I1e113fd051a01d8fc1247a74d363a26cd9a0cd61
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
To allow for easier debug we added logs to output current
underrun count.
Change-Id: I61f3911b315193ae5550de0332c5abefe22c12ce
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Line count could be passed a null ctl structure,
which would cause a kernel panic. To prevent this,
line count will just return 0 if a null parameter
is passed.
Change-Id: I2b52533e6b67b842542de5b81be5b43fccc364dc
CRs-Fixed: 551701
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
If assertive display is disabled, backlight data structure is reset
to NULL, which in some conditons gets dereferenced or casuses
crash.
Change-Id: I535eac6d2f0aef222fc2846f80d72db1f3e3480d
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mdss_mdp_wb_mixer_destroy could theoretically be
called with null mixer or ctl, which would cause
a null pointer dereference. Adding a check to
prevent this from happening.
Change-Id: I376c449daf05c8ca4ebb789d402575598ee59d86
CRs-Fixed: 551787
Signed-off-by: Casey Piper <cpiper@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
At end of continuous splash operation, configure mixers with border fill
pipe to avoid unexpected side effects before transition into local home
screen.
Change-Id: Id2a7c1093035956774aef5518a449636ffd57c95
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Linux kernel framework of framebuffer APIs do not support LPAE systems.
These APIs are using "unsigned long" data type instead of "phys_addr_t"
for physical addresses which doesn't work with LPAE systems. Until
framebuffer APIs are fixed, allocate fb memory on MSM chip-sets using
dma_alloc_coherent and GFP_KERNEL to get the memory from below 4GB
physical address space.
Change-Id: Ieca41cae21c956a8b4cf1d5729d287bb0bb30f8d
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a possibility that a board has TE GPIO in dts file and we
request and use it in video mode also. Hence, request and enable the
TE GPIO only when panel is in command mode.
Change-Id: I89b9b89f569f341940d2b0471fc8bea0345dffb6
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support to send DCS commands to set the partial update region
of interest(ROI) size. These commands will set the column/row start and end
coordinates based on the ROI size.
Change-Id: I3418472d9d622150c3cd7571b0b1e7a3482f5597
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Checks the CEC (Consumer Electronics Control) line for availability
properly so that in case of line being busy it can send re-try
request.
CRs-Fixed: 552367
Change-Id: I75dae23738d791de9a75b78a14e62cd3c40fa2c4
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While parsing EDID (Extended display identification data) received
from TV for 3D data and other, proper buffer overflow check is done
to avoid data overflow or overwrite.
Also, replace snprintf with scnprintf for better memory copy results.
CRs-Fixed: 542823
Change-Id: I2603beea6eb88a92b013a1a45d960a4c3ba6c09b
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Checks for the proper HDMI feature before providing the
corresponding feature data to avoid invalid memory access.
CRs-Fixed: 542785
Change-Id: I943bee9e843e0504effdfddfaf2dea82c22388f6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some ctl functions need only protection for mixer programming changes,
since all of these calls are made within ov_lock there is no need for
additional protection. Specially since ctl->lock is still held when
mixer configuration is safe to be changed.
Change-Id: I4f39e28f40ef18789a653d02346358b7ca7590c6
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If an error occurs after setting acquire fds, the list of sync fences
will be put for cleanup. However if mdss_fb_wait_for_fence() is called
this will also wait and clear the list of fences, since we are relying
on local variable for cleanup, it may not reflect the state after the
function call. Fix this by maintaining the proper state of the list.
CRs-fixed: 548042
Change-Id: I4885eb393ac9bd2b4818292b9a60f53fb4baacc8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
At command mode, mdp underflow can not be recovered but cause
mdp to hang up. Add mdp underflow recovery mechanism when mdp
underflow detected.
Change-Id: I26fc64005ac247372257aa126f2c8c0076925bb9
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This fixes a power leakage due to gpio is not put into
the suspended mode at display off.
Change-Id: If37426b821cdf08e207888ac84a2afbcbc011451
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the error codes reported to user space may not be properly
handled or can be confused. Replacing the error codes returned with more
unique ones to correctly identify problem.
CRs-Fixed: 549702
Change-Id: I01ffff79e748fc852898dc7605fd15873dfb33f8
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Led backlight structure allows setting max backlight so that max
backlight is properly clamped by led driver.
Change-Id: Icbc87d9575679c1626c03b0fa5c359ebf4d7e43d
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Interlacing is handled in software by changing the original height to
half which would become the width after rotation. In cases of 90 degree
rotation the height becomes the displayed width so in that case the
source x offset needs to be updated to half of intended similar to
source width.
CRs-Fixed: 545926
Change-Id: I0de9adb243d6162f5387b1ebc2821141eea4b111
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Split display use-cases have two independent control paths. MDSS before
8084 requires both control paths to program their own flush registers
which can lead to race conditions. Starting 8084, MDSS HW can achieve
same flush but with only single register write and eliminating race
conditions.
Change-Id: I62e5d61decb6f20cbd9bec542e035471b84b2c0a
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous DSPP PP setup function included config functions for each
of the different PP blocks except for dither. Now there is a dither setup
function, as well as an opmode setup function in order to clean up what is
done inside DSPP PP setup.
Change-Id: Ia347c35bb675e20531272566647a364f6e68468c
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During suspend and resume, the first commit got called with
no overlay buffer. The backlight is turned on regardless
of successful commit or not. This then causes display
corruption.
Change-Id: I00fada5f6bedabf6ab0df97f6d429297d7fb601f
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the mdss_mdp_data_check call to image_setup instead
of src_addr_setup. Return a failure in image setup so
that the new parameters won't be programmed
Change-Id: Ib35b41eadf4cb50225866b7056670323cc8e8eac
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are cases where the last frame buffer reference is released from a
different pid than the one who originally allocated the resource.
In these cases we can still deallocate all resources currently allocated
as we know that all references on fb dev have been released.
Change-Id: Ice2ca8df765cb8c4537a89fec887cb125d820d7a
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure the 3D formats are only read from the proper
buffer region for vendor specific data block. This
prevents illegal data being read from the EDID data.
Change-Id: I36286db54241246aaa06c399e4b6e962d54d716d
CRs-Fixed: 522147
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure data is only read from allowed region for
IEEE reg ID field in the EDID data. This prevents
illegal data access beyond the limits of this buffer.
Change-Id: Iee6f1a54be6f1c833da37687c0c8063e3c27f122
CRs-Fixed: 522147
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure data is read from within limits of buffer
for data block collection/video data block in EDID.
This prevents EDID data from being read past the end
of data block collection offset.
Change-Id: I2ddb279d715c89a15ff4a4679480900b73b43da4
CRs-Fixed: 522147
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In apq8084 flush bits for newly added layer mixer 5 and DSPP 3 are not
symmetrically aligned with other layer mixers and DSPPs. Current post
processing code does not consider this and configures wrong flush bits.
Fix this by updating correct flush bits.
Change-Id: I150f58405f343239d167c4ad6feb991aa7cb61d2
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDP flush behavior on MSM8974 needs to have single flush in given vsync
cycle, more than one flushes in same vsync cycle can cause unexpected
behavior such as blank screens, incorrect frame updates on LCD or some
visual artifacts. Currently post processing and frame updates have
independent flush mechanisms which in certain cases can cause visual
artifacts or blank screen. So revert changes to independently flush MDP
registers so that post processing piggybacks on flushes for frame updates.
CRs-Fixed: 494856
Change-Id: Iaa0f6f123487f57abb1b56f7d0946fa3abfe3058
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For smart panels, we observe abnormal waveforms
and unexpected voltage spikes on DSI data lanes
when the cx power rail goes to minimum voltage.
Vote for the cx regulator in mdp driver and control
the voltage to avoid frame shifting.
Change-Id: I7ec9e29a4972373775406fa29a5037fd43fef315
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Correct the limit check for the buffer format and avoid the
possible buffer overflow.
CRs-Fixed: 542730
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
Change-Id: I78f86cf8e7dcd0b3f4e124fbbf70353796583a47
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Initialize the pipe pointer to NULL.
So that even if the selection of pipe from pipe-pool
fails, the function returns NULL instead of an
uninitialized value.
Change-Id: Ib04c0a983cba6ffe9532862bcaf516877e49746a
CRs-Fixed: 524466
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Initialize the variable holding the return code
to appropriate error value so that an incorrect
return code isn't sent to the caller.
Change-Id: I7654523c37ac9b7a60dda1fae77dfacc196df6fa
CRs-Fixed: 524484
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Split-display uses left and right mixers in a single control path. In
such scenarios, flush bits variable holding right mixer updates needs
to be reset in along with left mixer.
Change-Id: I66060b7be5a38e2c08e0f1d3d82a18062e2bd8c8
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|