Commit Graph

305 Commits

Author SHA1 Message Date
Naseer Ahmed
5ef09d98d9 display: Makefile fixes
* Add dependencies in gpu tonemapper
* Fix compile for hwc1 and gralloc1

CRs-Fixed: 2027609
Change-Id: I0f4303d8ea85d93be753e0031bcc3447ba407824
2017-03-31 17:20:45 -04:00
Linux Build Service Account
ffb4b396ed Merge "sdm/gralloc: Use correct DRM format enums for RGB formats" 2017-03-30 15:26:06 -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
Rohit Kulkarni
7943ec969d display-hal: Add support for P010 ubwc format
This patch adds support for handling P010 ubwc format in display-hal
libs.

Change-Id: I1c7489be859a608566240c3b6722c84bb9a468ca
CRs-fixed: 2018756
2017-03-27 14:37:21 -07:00
Linux Build Service Account
ad1e7dd2ed Merge "sdm: Reset the H/W layers of display" 2017-03-19 03:35:59 -07:00
Linux Build Service Account
96da729233 Merge "sdm: Fix file path for input layer dump." 2017-03-15 03:53:19 -07:00
Sushil Chauhan
dce3654d91 sdm: Reset the H/W layers of display
SDM does not reset the H/W layers for the use case, when there are no
App layers present in the draw cycle. It leads to crash in SF dumpsys.
Hence, reset the H/W layers of display in all the use cases. Add SDM
error type which indicates the use case, when there are no App layers
in the draw cycle.

CRs-Fixed: 2008789
Change-Id: Ia0c0d237e6e4033993b8d2e46b6a792ff5f18340
2017-03-13 00:50:20 -07:00
Xu Yang
c31d7f8d94 sdm: add one action to set panel brightness and refresh screen
Add one action to set panel brightness and refresh screen. The
backlight level is cached and sent through display commit IOCTL
to driver, which would take effect along with display commit.

Change-Id: I87483e82b5c13ef25c1da956ac9403162afd031e
2017-03-09 19:18:08 +05:30
Pramodh Kumar Mukunda
2fdd16adee sdm: Fix file path for input layer dump.
Change-Id: If9f12377432310ad298db5cb80b5d49571bf85bb
CRs-Fixed: 2016599
2017-03-09 04:28:44 -08:00
Linux Build Service Account
b0a253bf3a Merge "sdm: Add support for rotator with DRM" 2017-03-03 18:53:05 -08:00
Ramkumar Radhakrishnan
9f163268a3 sdm: Create HWCUevent thread before creating display.
Enable hotplug for external display after creating HWCUevent thread
to avoid missing connect/disconnect events for external display.

Change-Id: I8f2ec72b772c96534236617d50b2e22c168a7477
CRs-Fixed: 2010385
2017-02-28 12:29:04 -08:00
Linux Build Service Account
b08b43ff0b Merge "sdm: Fix vector initialization" 2017-02-26 17:04:42 -08:00
Saurabh Shah
a228f120a5 sdm: Add support for rotator with DRM
Add support for using rotator with DRM driver

Change-Id: I7fda6cb5bda571c3cc80dcae53238800cc875c0b
CRs-fixed: 1114808
2017-02-24 09:25:37 -08:00
Linux Build Service Account
dd54f8443f Merge "sdm: Increase SurfaceFlinger fd limits" 2017-02-22 13:41:11 -08:00
Rajavenu Kyatham
1738441b4d sdm: Fix vector initialization
Change-Id: I0578aa5271eb1de79a4d7d2904f6c22cf26bd24c
CRs-Fixed: 2009284
2017-02-21 15:22:34 +05:30
Linux Build Service Account
5c050a8083 Merge "hwc: Set minfps during idlefallback" 2017-02-17 04:54:17 -08:00
Naseer Ahmed
4640591c73 sdm: Increase SurfaceFlinger fd limits
Since each gralloc buffer has 2 fds, the headroom with fds is
very small. Increase this limit to avoid running out of fds

CRs-Fixed: 1114287
Change-Id: Ifd11521fe648204d8ce153a8010ad0f73cbfb9e8
2017-02-15 17:56:16 -08:00
Linux Build Service Account
d0d29296ae Merge "sdm: Do not mark video layer with non-integral crop as skip" 2017-02-15 05:41:02 -08:00
Anjaneya Prasad Musunuri
ce82fd066d hwc: Set minfps during idlefallback
It is possible that mdss driver updates the refresh-rate back
to 60 during idletimeout when screen is touched, in anticipation
of updates. However, display-hal is agnostic of those updates.
It might be the case that touch sometimes may not result in any
legitimate updates to display. In such cases, mdss driver triggers
idle notify after certain timeout period. Reset the dyn-fps
back to min-fps supported by the panel as part of handling it.

Change-Id: I45b73e62cae2244b6de7a6e595d629b90927f8f9
2017-02-08 20:50:58 -08:00
Saurabh Shah
7d476edfb3 sdm: drm: Add support for default non-atomic mode
Add support for booting up with default non-atomic mode
Add libdrmutils that currently has:
DRMMaster:
    Creates a master DRM session
    Converts ION handles to DRM FB_ID
DRMResMgr:
    Enables a default display path by providing APIs for
    connector id, crtc id, mode etc

Change-Id: I1dc697d2cc5e3fa744c99e2c9ddd57bf06e78c4f
CRs-fixed: 1114808
2017-02-07 14:37:24 -08:00
Ramkumar Radhakrishnan
1f7aa5ccf4 sdm: Do not mark video layer with non-integral crop as skip
Change-Id: Ie7f5fe285b3e514b147a4f438ffa35c818bdc8ec
CRs-Fixed: 2000235
2017-02-06 13:53:20 -08:00
Linux Build Service Account
8ab97573ab Merge "display: Use ion cookie in GPU Tonemapper" 2017-02-05 18:41:26 -08:00
Linux Build Service Account
40d2710a22 Merge "sdm: Disable HDR handling for non-primary displays" 2017-02-05 18:41:25 -08:00
Linux Build Service Account
b89af0f155 Merge "sdm: Add support for new pixel formats in HAL" 2017-02-05 18:41:24 -08:00
Linux Build Service Account
d7cdb35b9b Merge "sdm: Add property to handle HDR" 2017-02-02 08:44:43 -08:00
Linux Build Service Account
18b7b2e90b Merge "sdm: Add SetColorTransform to HWC1.5" 2017-01-30 00:33:15 -08:00
Arun Kumar K.R
4a8b118e2b display: Use ion cookie in GPU Tonemapper
- The fd's used for book-keeping can change when the clients
  close and reopen sessions, hence they are not reliable and
  can lead to incorrect virtual address usage causing
  corruption or stale data.
- Hence use ion cookie for book-keeping which is unique for a
  given memory fd.
- Use LRU method free up/reuse on reaching max limit.
- Remove Tonemapper_destroy which is not needed anymore.

Change-Id: I5777649b34210977c18ce20c65e0aa2baa8e7d26
Crs-fixed: 1110175
2017-01-27 17:52:14 -08:00
Rahul Sharma
61173ea422 sdm: Add support for new pixel formats in HAL
Add support for BGR_888 and CBYCRY_422_I in display HAL. The
new formats will be used by QCarCam Application.

CRs-Fixed: 1116491
Change-Id: I5ccca57a3ca2d27c4e064b0c5abd68c77c7afadd
2017-01-27 09:00:06 -08:00
Arun Kumar K.R
808e82ee70 sdm: Fix handling disable lut generation
- When sdm.disable_hdr_lut_gen is set, color mode must not
  be set from HandleHDR but DPPS must be disabled.
- SetColorMode SDM Interface must be allowed to set the ColorMode
  when sdm.disable_hdr_lut_gen is set.
- In HWCTonemapper check if there is a FB session before using.

Change-Id: Id2e836bbe19b81244b0a9cc39e3d89e184c14c43
Crs-fixed: 1114947
2017-01-26 16:57:25 -08:00
Linux Build Service Account
46bd4133a9 Merge "sdm: Set layer frame rate if not specified." 2017-01-26 14:44:50 -08:00
Linux Build Service Account
73a9dce894 Merge "sdm: Support HDR Capabilites thru DisplayFixedConfig" 2017-01-26 14:44:49 -08:00
Linux Build Service Account
5769d4b6a2 Merge "sdm: Add support for compliance test mode for DP" 2017-01-26 10:14:42 -08:00
Arun Kumar K.R
2b1fea5a81 sdm: Add SetColorTransform to HWC1.5
In HWC1.5, Add SetColorTransform to HWCColorMode which
will be used to pass the color transform matrix.

Change-Id: I272a2b6f99bccd97a82d3c1fcc243101727a757a
Crs-fixed: 1104193
2017-01-23 15:44:26 -08:00
Arun Kumar K.R
03218a51bd sdm: Add property to handle HDR
- Set "sys.hwc_disable_hdr" to 1 to disable HDR handling
  in HAL.
- On setting that property, a HDR layer will be treated
  as a regular layer.

Change-Id: I3309c0ec29dc1b3c56294f1bf3e542977235c475
Crs-fixed: 1114932
2017-01-23 15:30:29 -08:00
Ramkumar Radhakrishnan
b3d15b61cd sdm: Add support for compliance test mode for DP
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.

Change-Id: I49469d94a96ada729d24d7cc03a7e79f2af6edc0
CRs-Fixed: 1107663
2017-01-23 11:33:43 -08:00
David Ng
6c44d14e18 Add explicit liblog dependency
Explicitly add liblog as dependency for modules that
use Android logging.  Also fix a const char*/char*
assignment.

CRs-Fixed: 1109248
Change-Id: I434179f04f4386e73e7e9ee79ab8cd283ebafc91
2017-01-23 14:12:24 -05:00
Arun Kumar K.R
f28957a114 sdm: Support HDR Capabilites thru DisplayFixedConfig
- Add HDR capabilities and panel brightness to the
  DisplayFixedConfig
- In HWC1.5, remove hardcodings for HDR capabilities
  instead query it from SDM and populate accordingly.
- In HWC2.0, support GetHDRCapabilities.

Change-Id: I6606d688708d894a6bd9bf6b13f262452bccc2b4
Crs-fixed: 1110355
2017-01-20 15:17:33 -08:00
Dileep Marchya
a93f8dd2d1 sdm: Set layer frame rate if not specified.
Set current refresh rate to external layers and
max refresh rate to virtual layers.

CRs-Fixed: 1098053, 1081429
Change-Id: Iae9e809d8d17c77d666a9e413a727c5f7f763170
2017-01-16 21:42:53 -08:00
Sushil Chauhan
40c8cf5854 sdm: Add support for multiple tone map sessions
Add support for multiple tone map sessions for HDR feature.

CRs-Fixed: 1104823
Change-Id: I6039cf4fac85195c75bcc8762bcbcd0ede8b196a
2017-01-12 09:59:43 -08:00
Arun Kumar K.R
e05cb6caab sdm: Use LayerRequests in Tonemapper.
- Make use of the LayerRequests set by SDM in HWC
  Tonemapper to configure the Layer Information.
- Helps in handling format change when tonemapping
  from YUV to RGB
- Includes some changes needed in buffer allocator
  and sync handler

Change-Id: I105116a7fe718e68329b17a209e37be399a6f8ca
Crs-fixed: 1106036
2017-01-12 09:55:56 -08:00
Arun Kumar K.R
622885460b sdm: Support ColorModes and HDR customizations
- Support ColorModes in HWC, which will enumerate the ColorModes
  and provide API to set ColorMode.
- When the property "sdm.disable_hdr_lut_gen" is set, do not set
  HDRMode in SDM, as it will be handled by HWC

Change-Id: Iebdf000c048ca4ab09ab3261e295c142988ea413
Crs-fixed: 1106019
2017-01-12 09:55:45 -08:00
Arun Kumar K.R
db087f65b8 sdm: Add GetBufferInfo Interface
- New interface helps in getting aligned w/h size in SDM.
- Implement the interface in HWC Buffer Allocator.
- Pass BufferAllocator Intf to CompMgr and Strategy

Change-Id: I1917143379aa2c706ea6babc0d7747d9cf0911bb
Crs-fixed: 1104632
2017-01-12 02:36:44 -08:00
Linux Build Service Account
e146c81a4d Merge "sdm: color-manager: Detail Enhancer Enhancements." 2017-01-10 18:10:05 -08:00
Linux Build Service Account
bd6db5f56b Merge "sdm: Fix conditional logging of error and warning logs" 2017-01-10 03:57:05 -08:00
Alan Kwong
d9ced38e61 sdm: color-manager: Detail Enhancer Enhancements.
Add Detail Enhancer configuration support in color-mode set
operation performed from the composer layer.

Change-Id: Ibaa20a168098088108e949e937d10529d42042e1
CRs-Fixed: 1075087
2017-01-05 11:12:24 -08:00
Linux Build Service Account
063f9b6fcf Merge "sdm: skip null commit on command mode panels" 2017-01-05 06:29:26 -08:00
Linux Build Service Account
938353c7e5 Merge "sdm: Define Socket Handler interface" 2017-01-04 19:08:13 -08:00
Ramkumar Radhakrishnan
7d63f82482 sdm: Fix conditional logging of error and warning logs
Enable error/warning conditional logs only if the corresponding debug
tags are set.

Change-Id: I762d586ed173fa5bd9ca32c797110eebcdd8b81e
CRs-Fixed: 1107539
2017-01-04 14:21:41 -08:00
Linux Build Service Account
afe7ecb2d5 Merge "sdm : Fix output buffer dimensions for concurrent wb" 2016-12-30 02:28:10 -08:00
Anjaneya Prasad Musunuri
a6e0f9f2d1 sdm: skip null commit on command mode panels
Command mode panels do not requre NULL commit to free
buffers. Skip null to resolve flickers seen during
no app layers present in draw cycle.

Change-Id: I2ed87da94db1ff3b21903f2a8c354c6cf521bf8e
CRs-fixed: 1103190
2016-12-20 18:51:41 +05:30