Commit Graph

51 Commits

Author SHA1 Message Date
Linux Build Service Account
37cebc9ee1 Merge "sdm: drm: Add pa memcolor features support" 2017-10-17 19:10:19 -07:00
Namit Solanki
24921ab88a sdm: Add support for destination scalar in drm.
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
2017-10-09 03:11:45 -07:00
Anjaneya Prasad Musunuri
e8c67f226d sdm: Implement idle fallback support in DRM.
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
2017-10-09 13:52:27 +05:30
Rajesh Yadav
99535ac9e4 sdm: drm: Add pa memcolor features support
Add dspp pa memcolor features support to hw_color_mgr for drm.

Change-Id: I35cd71e43569c0c731774a88ae8a926be3473986
2017-10-05 12:42:26 +05:30
Rajesh Yadav
d30b0ccdd6 sdm: drm: Add pa hsic feature support
Add dspp pa hsic feature support to hw_color_mgr for drm.

Change-Id: I4525ddd80f82ee73bed57dac04cccd353281df46
2017-10-05 12:39:04 +05:30
Saurabh Shah
a917aa7d95 sdm: Fix Doze/Doze Suspend
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
2017-09-25 16:59:10 -07:00
Linux Build Service Account
8a6d29322f Merge "sdm: Update solid-fill to support 10-bit" 2017-09-12 18:26:53 -07:00
Linux Build Service Account
65f8131223 Merge "sdm: drm: Set FB secure mode for Writeback Connector" 2017-08-25 20:59:45 -07:00
Sushil Chauhan
e2f89c9fb3 sdm: drm: Set FB secure mode for Writeback Connector
Set FB Secure mode property for the Writeback Connector.

CRs-Fixed: 2098043
Change-Id: I8eb4f4f40541583107e0a8897a874ae7aeec4083
2017-08-23 11:32:25 -07:00
Ramkumar Radhakrishnan
b44863291e sdm: Populate minimum ib limit in kbps from crtc info
Populate minimum ib limit in kbps for MNOC, LLCC and DRAM bus from
CRTC info and store it in resource info.

Change-Id: Ia9348e60bf6baf0036a5e388cb332c161d969516
CRs-Fixed: 2097320
2017-08-22 14:42:49 -07:00
Ping Li
8d6dd629a8 sdm: drm: Add support to select CSC matrix type in DRM
Add support to select CSC matrix type based on color meta
data, and set CSC config.

CRs-Fixed: 2079944
Change-Id: I0b4cfc0c6a46c6a3997856d346f1c3efc1ac676c
2017-08-15 12:18:09 -07:00
Gopikrishnaiah Anandan
cc12306db9 sdm: Update solid-fill to support 10-bit
Currently the solid fill is hard-coded to 8 bit depth. SDM845 hardware
supports 10 bit solid fill. Change adds the support for various bit
depth's of solid fill color.

Change-Id: I3435cad5bb0b6f9097f22b39065944cb4f20d08c
2017-08-11 14:26:14 -07:00
Linux Build Service Account
8603d732c6 Merge "sdm: Fix memory leak in connector modes" 2017-08-04 17:37:32 -07:00
Linux Build Service Account
9fd12a4b3a Merge "sdm: Qseed3 scalar updates" 2017-08-02 17:39:53 -07:00
Ramkumar Radhakrishnan
5c94f05577 sdm: Populate/Compute transfer time to compute BW/Clock
Populate transfer time in micro seconds for command mode panel to
compute BW/Clock for current frame

Change-Id: Id79c470448edc9cb361f34e0c7366be1d31d5c67
CRs-Fixed: 2078600
2017-08-01 19:08:27 -07:00
Saurabh Shah
e618eb05d6 sdm: Fix memory leak in connector modes
HWDevice calls GetConnectorInfo twice without freeing the memory
allocated by libsdedrm in the first call. Move to using vectors.

Change-Id: Ie2e1372f441d21dfc397f0891fd59b007016fefe
CRs-fixed: 1114808
2017-07-31 11:27:10 -07:00
Rohit Kulkarni
bfa855c7b5 sdm: Qseed3 scalar updates
- New 2D alpha interpolation config mode for scalar.
- Recognize qseed3 versions.

Change-Id: I4fb93e2c5f6280a4ac2627d00d2d573af10e70fe
CRs-Fixed: 2069565
2017-07-24 12:01:20 -07:00
Prabhanjan Kandula
dbc8aed64d sdm: Add support for solid fill mixer stage
- Define drm interface for setting solid fill stage info on crtc.
- Define sdm private structure for solid fill layers in hw layer config.
- Add DAL translation of setting up solidfill stages for atomic commit.
- Multiply alpha component of color with plane alpha.

Change-Id: I60ac64beee31986f83fcfe025a7ece02aa0198b1
CRs-fixed: 2026472
2017-07-18 15:45:53 -07:00
Linux Build Service Account
8b76f57354 Merge "sdm: Avoid duplicate BW config on crtc" 2017-07-18 13:10:34 -07:00
Linux Build Service Account
4d73c014fe Merge "sdm: Configure RMFB delay based on whether it is refcounted" 2017-07-17 21:29:06 -07:00
Gopikrishnaiah Anandan
76815525eb sdm: drm: Add support for sde hardware revision caching
SDE hardware version should be cached by drm crtc which will be passed
onto the clients of colormanager. Based on the SDE hardware version
clients will know which feature set is supported. Change adds support to
cache sde version.

Change-Id: I09051bcdfc0f759297519c3abd46373944967ada
2017-07-17 10:52:36 -07:00
Linux Build Service Account
37bfa25dc4 Merge "sdm: drm: Read Panel HDR caps" 2017-07-14 03:57:08 -07:00
Sushil Chauhan
80e5843315 sdm: drm: Read Panel HDR caps
Read Panel HDR capabilities from DRMConnectorInfo.

CRs-Fixed: 2073357
Change-Id: I48346e116f147bc3c32967e68e7e4a9e514de2c6
2017-07-11 14:00:34 -07:00
Saurabh Shah
23cd08af20 sdm: Configure RMFB delay based on whether it is refcounted
Configure RMFB delay based on whether it is refcounted. If it is,
fb_id should be released immediately from userspace and driver will
free it when its usage is over. If not refcounted userspace needs
to defer freeing fb_id until a time where driver usage will be over.

Change-Id: I162723a5426c7e7c041d444ba50a73475858e96f
CRs-fixed: 1114808
2017-07-11 10:24:30 -07:00
Sushil Chauhan
1021cc0c0a sdm: drm: Add support for secure use cases
1. Set FB Secure translation mode for Plane.
2. Set Security level for CRTC.

CRs-Fixed: 2054074
Change-Id: I39610f2d9548641c724d1a7c16b23865c29323df
2017-07-06 14:21:44 -07:00
Ramkumar Radhakrishnan
3c4de11f27 sdm: Add support for split bandwidth voting
Define interface to enable split bandwidth voting for MNOC, LLCC and
DRAM buses separately.

Change-Id: If8da2cb41270adbe606a1b36d9884ea21c9efd7d
CRs-Fixed: 2063498
2017-06-20 01:13:01 -07:00
Linux Build Service Account
a70a27b4f2 Merge "sdm: drm: Expand drm topology enum for dsc" 2017-06-19 18:58:38 -07:00
Rohit Kulkarni
2faa91c313 sdm: drm: Expand drm topology enum for dsc
Add new topology modes for dsc and align to match with driver.

Change-Id: I202fbfa1240e5e677d832ca32c20ded989aa1ed8
CRs-Fixed: 2060682
2017-06-15 14:46:45 -07:00
Rohit Kulkarni
8622e36f16 sdm: Add support for inline rotator
Add support to populate inline rotator caps and setup inline
rotator configuration during atomic commit.

Change-Id: I6504db71689a865c6edb15e12ab44a6740255cb5
CRs-fixed: 2017744
2017-06-13 15:19:57 -07:00
Prabhanjan Kandula
5bc7f8b378 sdm: Add support for flip panel mount in drm DAL
- Define 180 rotation in drm interface
- Read panel rotation from connector info and
populate panel orientation for sdm

Change-Id: Iaf8417f4eb8d3b8dc6f95f783bcb447cad230c64
CRs-fixed: 2051379
2017-05-31 11:42:55 -07:00
Naseer Ahmed
725789e5e6 display: Use LOCAL_VENDOR_MODULE
Avoids hardcoding paths in vendor
Change-Id: I6411c27cebfd8bc1d65bc84942b4c2621f64e420
CRs-Fixed: 2048581
2017-05-29 11:13:02 -07:00
Ramkumar Radhakrishnan
9ed1fd8e79 sdm: Add interface for QOS calculation.
1. Populate properties for bandwidth/clock calculation and store it
   as a part of hw resource info.
2. Define interface to pass computed bandwidth/clock for each hardware
   interface separately.

Change-Id: I1bd03136e97f77f5fd3b26c7b8aa958238d007ab
CRs-Fixed: 2048927
2017-05-19 17:43:17 -07:00
Saurabh Shah
e9f55d7696 sdm: drm: Add support for partial update
Add support for partial update

Change-Id: I29b6c3cdb71e6a26ab21679494f04ced5052a1e3
CRs-fixed: 1114808
2017-05-19 17:08:48 -07:00
Sushil Chauhan
3396e20ce7 sdm: drm: Add support to set power mode
Add support to set various power modes like ON, OFF, Doze and Doze
Suspend on Connector.

CRs-Fixed: 2042514
Change-Id: I824fc26c8048c887f236182111462abcf17f62f7
2017-05-12 23:50:46 -07:00
Saurabh Shah
f9266ee0fa sdm: Do not use driver enums for flips
Driver enums for flips may be removed, use internal ones.

Change-Id: If8576ab3fc9a9f705480265b59ef3e05a1a51018
CRs-fixed: 1114808
2017-04-20 16:12:45 -07:00
Linux Build Service Account
91bba0ef56 Merge "sdm: Add virtual pipe listing support" 2017-04-18 00:18:19 -07:00
Saurabh Shah
f84c412a37 sdm/hwc/gralloc: Move fb_id lifecycle to DAL
--Move fb_id creation/deletion from gralloc to DAL and make it per
cycle
--Make Gralloc/HWC/SDM structures independent of libdrmutils
and fb_id / gemhandles
--Pass BufferAllocator pointer to Display* and HWDevice*
--Add new GetBufferLayout API to BufferAllocator that can be called
by DAL before creating fb_id

Change-Id: I102f432cccee912ad4bcce622764938fa3d36ed3
CRs-fixed: 1114808
2017-04-14 10:14:34 -07:00
Saurabh Shah
0ffee30df7 sdm: Add support for scaler
Add support for scaler v2 / qseed3

Change-Id: If3d48e6ac8e1cf25ac1b0af774dcc34226c0ed9b
CRs-fixed: 1114808
2017-04-10 10:54:03 -07:00
Prabhanjan Kandula
e6dfab972e sdm: Add virtual pipe listing support
-Populate virtual pipes listed by  drm display driver
in resource info as listed in the priority order.
-Remove obsolete RGB support.

Change-Id: I8222a9308d59af681c76008a010ffe086c6bed32
CRs-fixed: 2024306
2017-04-04 17:58:25 -07:00
Linux Build Service Account
e582034f52 Merge "sdm: drm: add interlaced content support" 2017-03-30 15:26:04 -07:00
Naseer Ahmed
9c7ab94ed1 display: Move all opensource modules to vendor partition
Change-Id: I050988d96eccc1c3217a8f2030b333cd8d04c4d4
CRs-Fixed: 2010492
2017-03-29 17:49:46 -07:00
Prabhanjan Kandula
585aa6593f sdm: drm: add interlaced content support
Add interlaced content support for drm

Change-Id: Iee47e866f1284d07649330d7d0c977ca8e4757d5
CRs-fixed: 2018756
2017-03-26 00:27:18 -07:00
Linux Build Service Account
319f1e808e Merge "sdm: drm: Add user space to DRM driver struct conversion for gamut" 2017-03-08 12:11:10 -08:00
Saurabh Shah
a57cf169f4 sdm: Destroy singleton DRMMaster instance
Destroy singleton DRMMaster instance on teardown, this is important
for back to back API test runs

Change-Id: I27e5d2adcc9d0805281dd0c858eaed5af745b269
CRs-fixed: 1114808
2017-03-01 11:20:04 -08:00
Ping Li
281f48de8a sdm: drm: Add post-processing support in SDM
SDM added support for the DRM driver recently. This change
adds the similar support in the SDM to enable/disable
post-processing features via DRM driver for QDCM.

CRs-Fixed: 2007376
Change-Id: I39d8d2c76a28aac0675c559dceb6dcf74eb170fb
2017-02-27 17:20:30 -08:00
Saurabh Shah
b1bdf6e2a8 libdrmutils: Remove dependency on drmModeAddFB3
drmModeAddFB3 is a custom API which may not be available.
This change removes dependency on drmModeAddFB3.

Change-Id: I05807ebde1b8251e326851d99a39df16d27fed33
2017-02-16 11:34:53 -08:00
Linux Build Service Account
96cffc4cef Merge "sdm: drm: Destroy DRMManager and resource info singletons" 2017-02-10 10:29:17 -08:00
Saurabh Shah
ab7807cd51 sdm: drm: Destroy DRMManager and resource info singletons
Destroy DRMManager and resource info singletons on tear down,
so that back to back tests can parse new resource info afresh.

Change-Id: Ib65f8fec73e7a70e5bf2f444958756d1e5ddc654
2017-02-08 16:52:26 -08:00
Saurabh Shah
fad1afd014 libdrmutils: Add support for RMFB2
Add support for RMFB2 if available. Original RMFB bypasses refcounting
in kernel and removes planes, crtcs etc associated with the FB Id.
RMFB2 has proper refcounting and allows buffer removal to be
independent of drawing thread in client

Change-Id: I4f2c9dc509844467f39be067697a46d1beeeaff7
CRs-fixed: 1114808
2017-02-08 10:59:31 -08:00
Saurabh Shah
66c941bd5d sdm: drm: Add Atomic commit support
Add support for atomic commit, MDP comp for the peripheral display.

Change-Id: I579d3379ba97cbc73485a4434bf29126226e2f85
CRs-fixed: 1114808
2017-02-07 14:37:54 -08:00