1) Add DRMOps for destination scalar.
2) Pass destination scalar data to DRM driver.
3) Add Scalar LUTs to CRTC during Init()
4) Disable PU when DS is enabled.
Change-Id: I5450b02c16e6d162fb0069c924dc2c9877834093
Crs-fixed: 2063894
Add CRTC property to set idle timeout. Enhance DRM event
handler for idle fall back custom event registration and
event handling
CRs-Fixed: 2097588
Change-Id: I543286a59a4ae95bc32b25960d1fc43551391951
- Disable skip validate on Panel Dead event.
- Register to panel dead event only if supported.
CRs-Fixed: 2122298
Change-Id: I1380eaf6899f0733ed1ba8a69eb6ee797de24bd5
Change of display mode does not take effect as atomic request pointer
is being recreated on every validate/commit which resets crtc mode.
Set CRTC mode on every validate/commit to fix it.
Change-Id: Iab1fd6b12addf05116f68b54162cdb55e8197ef1
CRs-Fixed: 2105316
* Disable skip validation for solid fill during calibration.
* Require validation when the client changes the composition type
CRs-Fixed: 2122072
Change-Id: I9ded200e5c15701f653c73d67c18c41de8278d52
Validate values read from input parcel as part of handling of
few qclient methods
Change-Id: Icf928f409a5c2ac76a73e95de58cb0ebc59d24d5
CRs-Fixed: 2114346
1. Add functionality in qdutils to get the DP test config from the
sysfs node.
2. Add support to generate ColorRamp, ColorSquare and Black and White
vertical line test pattern for 18/24/30 bpp DP display
3. Create layer stack with test layer and ignore all layers from
the SF framework.
4. Generate the pattern with 18/24/30 bpp based on pattern type
and bpp read from sysfs node and send it to DP interface.
5. Add support to calculate CRC to validate the color
pattern.
CRs-Fixed: 1107663
Change-Id: I49469d94a96ada729d24d7cc03a7e79f2af6edc0
If Output buffer of Virtual Display is non-secure, set SKIP flag on the
secure layers because if SDE H/W access the non-secure WriteBack output
buffer from secure context, it will result in SMMU fault.
CRs-Fixed: 2115027
Change-Id: I9577f244b62a987cab99168b756ac6f6ff379ba6
The CSC matrix used in CDM block should be updated to
BT2020 format from default value during HDR playback.
CRs-Fixed: 2115066
Change-Id: I358608e68cdd2553a168e4bfc2bfdc968a0945ec
Reset HDR metadata to zero at the end of HDR playback.
This is needed as per the HDMI specification to allow the sink
to transition to traditional gamma from HDR mode.
Change-Id: I173e761b7f7a40be3bceb51a04618d3169fdb369
Fix a small gap in locking on event handling where validation
state was reset after lock scope was over. Also validation state
was being reset for all displays even if event was for primary.
This is incorrect since lock was only held for primary. Move
validation state reset to be per display
Change-Id: I24a8930d536a906d2b8adba35833774c03b59933
CRs-fixed: 1114808
1. Define gralloc1 function pointers needed to allocate buffer
2. Use the gralloc1 function pointers to allocate buffer instead of
perform function to avoid any synchronization issues.
3. Remove functionality to allocate buffer from perform function
Change-Id: If686181409a179d3d911dfbd0f0c0eab7a7ffa99
CRs-Fixed: 2115331
During buffer allocation, the aligned size of the buffer should
be updated in newly allocated native handle (private_handle_t)
before returning the native handle to the caller. Secure
playback has strict requirement like 1M aligned size, so
secure playback fails if the aligned size of buffer is not
updated in handle before returning to the caller.
Change-Id: I8d8da13048b8423c07ebb3a3923fb331e06e3db1
- Support handling secure display in HWC
- Issue NULL commit on primary display when secure display session
starts and ends.
Change-Id: I95a8caaf1366c1d9384843d382244e1555dd6ad2
Doze should have a synchronous commit. Doze suspend is missing a
CRTC activation and commit. Add support to retain previously staged
planes by client, since it may not be able to program again in some
situations like Doze and Doze-Suspend. Also retain planes on resume
since it can happen after Doze and Doze-Suspend that may have planes
staged.
Change-Id: Ibb65da16e893a9ae33fd30d19308779ee8687258
CRs-fixed: 2106183
Dpps should wait opening driver before composer comes up.
Add a wservice binder call to query composer init status.
Add util function to block dpps until composer is up.
Change-Id: I82c025011e23a0b159ef2449b00b868a365d681a
CRs-fixed: 2102579
Mode index validation required each time when we get
connecotor info as hotplug disconnect can clear the
modes listed on crtc.
Change-Id: Ibe3f64e8ceb5e3cb11c56f06256c7e71eb5ec220
CRs-fixed: 2110309
In case of flush no release fence is pushed to hwc_layer queue and
no error is returned to f/w, so it could end up requesting release
fences. In such a case the queue can be emptied and from the next
valid cycle we end up giving the same cycle's release fence back.
Push a dummy -1 fence to avoid this.
Change-Id: I1330d0b47a23df3203c06cc23aa4b6b4a6fe669e
CRs-fixed: 1114808
Driver uses same event to trigger idle fall back on video mode panels
and idle power collapse on command mode panels. Handle both with same
event at HAL event handler.
Skip validate should be reset during idle power collapse event.
CRs-Fixed: 2110497
Change-Id: Ie3a0195c4375aebd79e8c7daef7131579bceda9f
Driver events could happen between or during Validate/Present cycles
causing synchronization issues. Add sequence lock to driver event
handling to make sure they are serialized.
Change-Id: I98d6613012251e3de428e8d3ef8b89e7f5a7e40c
CRs-fixed: 1114808
DRM driver provides the total h_blanking for the display. So, on a
display with dual DSI panels, DRM driver has already accounted for
both panels, hence SDM should not account for h_blanking per panel.
CRs-Fixed: 2092799
Change-Id: I621cf6de225a3caeb5f5c93d1e7c6b47e86a2fa2
Revert "hwc2: Allow non-atomic execution of validate and present apis"
This reverts commit 6c26ba9560.
Add per display granular locking in HWC to align with the Validate,
Present call sequence from SF, that happens independently for each
display and possibly on different threads.
Change-Id: Ia092d7f6e6dc26ad22286a93de7b663e8bdf23d0
CRs-fixed: 2095334