summaryrefslogtreecommitdiffstats
path: root/sdm/libs/core/display_hdmi.h
Commit message (Collapse)AuthorAgeFilesLines
* hwc2: Teardown CWB in Create Virtual DisplayGurpreet Singh Dhami2019-04-081-0/+1
| | | | | | | | | | Teardown CWB in Create Virtual Display. This is required to free up WB resources if they are already reserved by readback api calls. Change-Id: Icbfedc22c67357688daef1ba559e386c3a3add70 Bug: 118337749 Test: VtsHalGraphicsComposerV2_2TargetTest
* sdm: Fix SDM Dump() design and synchronization issuesSaurabh Shah2017-11-151-1/+0
| | | | | | | | | | | SDM Dump() follows a DumpImpl based design that prevent it from being called via a lock held from HWC. This leads to synchronization issues since SDM's Dump() method accesses original layer stack members. This change removes the unnecessary DumpImpl based design and routes the flow to SDM's Dump() method with HWC's Dump() method. Change-Id: I9f255c061a2509a4e9d8c6bd446389df3e8f6549 CRs-fixed: 2139697
* sdm: Implement ESD recovery support in DRMAnjaneya Prasad Musunuri2017-10-091-0/+1
| | | | | | | | | | Enhance DRM event handler for ESD recovery custom event registration and event handling. Implement panel reset sequence for recovery during ESD event. CRs-Fixed: 2121052 Change-Id: I688393065c1084f74417ba913b8d431ce7749fb5
* sdm: Provide best mode support for hdmi drm devicesrikanth rajagopalan2017-07-181-0/+1
| | | | | | | | | | | DRM userconfig should be in w:h:fps:format. FB userconfig should be vic mode. 1. Fix existing bugs in loop traversing to iterate through the mode list. 2. Fix best mode selection logic of preferring width over height. CRs-Fixed: 2078126 Change-Id: Ia4d1621d11f5fcf17b33cfede56222e30bfd7032
* sdm: Save debug logs on pingpong timeoutNaseer Ahmed2017-06-291-0/+1
| | | | | | | Save xlogs in /data/vendor/display on pingpong timeout for userdebug/eng builds Change-Id: I8a60452af44797c8a425e84706375d3209612692
* sdm: Decouple refresh and idle fall back handlingAnjaneya Prasad Musunuri2017-05-251-1/+2
| | | | | | | | | Refresh can be called from SDM for multiple events. Refresh should not be coupled with idle fall back. CRs-Fixed: 2050936 Change-Id: I1d88f93ce81ef190dce396819896a249e5bad847
* sdm/hwc/gralloc: Move fb_id lifecycle to DALSaurabh Shah2017-04-141-1/+2
| | | | | | | | | | | | | --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
* sdm: Add support to handle idle power collapse eventRamkumar Radhakrishnan2017-02-281-0/+1
| | | | | | | | Reset cached LUT information for all pipes on idle power collapse event for command mode panel Change-Id: Iadd042fc016ac4df174caea08d7404e840e39c35 CRs-Fixed: 1115657
* sdm: drm: Add support for default non-atomic modeSaurabh Shah2017-02-071-4/+4
| | | | | | | | | | | | | | 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
* sdm: Remove rotator interface.Dileep Marchya2016-10-281-2/+1
| | | | | | | | | - Add commit in resource interface. - Remove rotator interface and replace display-rotator interaction with resource-rotator. Change-Id: I1f483df9ec2e022e94f3a25edd2b318b5037bac7 CRs-Fixed: 1073570
* sdm: Add factory methods for HWInterface object creationSaurabh Shah2016-07-291-1/+0
| | | | | | | | | Add factory methods for creating HWInterface objects to allow for switching to a different display driver. Each HW wrapper implementation is expected to implement the factory methods. Change-Id: I0c7b1e1536cda404b71644093aafe1a0ddc830e7 CRs-fixed: 1037967
* sdm: Refactor locking in Display* classesSaurabh Shah2016-06-291-19/+6
| | | | | | | | Use recursive locks for calls from derived to base class. Override a method only if required. Change-Id: If11384440b6c801a0d7cd3516f1126c6b5cbb287 CRs-Fixed: 1031948
* sdm: Add support for dynamic layer mixer resolution change.Ramkumar Radhakrishnan2016-06-031-1/+0
| | | | | | | | | | | | 1. Define binder API to change layer mixer resolution. 2. Honor layer mixer resolution change request only if the hardware supports destination scaler. 3. Give preference to panel scaling over destination scaling, as panel scaling requires less bandwidth. 4. Disable partial update for a frame on mixer resolution change. CRs-Fixed: 1005180 Change-Id: I3d4e48c8853a941f12703915b33c3a0a4df09af2
* sdm: Move display state and input validation in appropriate placeRamkumar Radhakrishnan2016-06-031-1/+0
| | | | | | | | | 1. Perform display specific settings only if the display state and input parameters are valid. 2. Set and reset pending_commit on prepare and commit respectively. Change-Id: I1f2093f6a24e7ee115dd01da6796f78af618bc02 CRs-Fixed: 1005180
* sdm: Add interface to disable PU for one frameSaurabh Shah2016-05-171-4/+1
| | | | | | | | | | | | | | | There are too many clients that need to disable PU for one frame, CWB, Resolution switch, Dest scaling, Color Manager, but for lack of an explicit API, they all relied on the existing master control API for PU that should be used only by DPPS and Panel mode switch. This change adds a new API. Any PU toggling for composition strictly happens on the draw thread, disable before prepare, enable after commit. Master PU control can only be toggled by DPPS and panel mode switch. CRs-Fixed: 1005180 Change-Id: I5e62a44513036fbc8e296a9f60eb2d85726b3970
* sdm: HDMI as primary and headless display supportTatenda Chipeperekwa2016-04-201-2/+3
| | | | | | | | | | | Add support for a NULL display that closes all fences and allows SurfaceFlinger to work without a display connected. Also add support for ability to connect/disconnect and suspend/resume HDMI primary display by using NULL display. CRs-Fixed: 814136 Change-Id: I6ec1149de2a6e5e34aeae0a10e9bc226edd4aa04
* sdm: Add independent hardware event thread for display eventsTatenda Chipeperekwa2016-04-201-1/+10
| | | | | | | | | | | - Add independent hardware event thread and interface to allow individual displays to register for events such as vsync or CEC messages - Add support for polling, reading and sending CEC messages to the CEC HAL layer CRs-Fixed: 814136 Change-Id: Ia2e59c7541b1448b1772e5bfa13e28533ec1ea30
* sdm: Fix Wconversion errorsNaseer Ahmed2016-03-081-2/+2
| | | | | Change-Id: Ica8ecd83e44126d7ef5d8595dcaf52f88aea6e70 CRs-fixed: 974030
* sdm: Add support for S3D videoYang Xu2016-01-221-1/+5
| | | | | | | | | | | | | 1. Add property "sdm.hdmi.s3d_enable" to enable S3D mode. If property is enabled, get best S3D supported configuration from HDMI EDID info. 2. Detect S3D flag from layer's metadata and set to layer stack. 3. Set S3D mode for HDMI according to layer's S3D format. 4. Only S3D mode Left-Right of Side-by-Side is supported. Change-Id: I63c6a71c6712b55fcb89dc953b29f83f41f8461b
* sdm: Add support for minimum encryption level settings for HDCP.Dileep Marchya2015-10-161-1/+1
| | | | | | - Add min_enc_level parameter in minHdcpEncryptionLevelChanged API. Change-Id: I4c6ddfb7c0178ce547ce7aa357f86f0320d35208
* sdm: Enhance dynamic refresh rateArun Kumar K.R2015-08-271-0/+1
| | | | | | | | | | | | - Apply metadata refresh rate when a layer requests and only that layer is updating - Reset to default fps when the layers goes away - Prioritize binder request over metadata requests - Set min refresh rate on IdleTimeOut Change-Id: Icd4de0788a4fe7babc400b06a324db1a5f5710a9 CRs-fixed: 873987 CRs-fixed: 819144
* sdm: Add support for panel resolution switchSaurabh Shah2015-08-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Add support for panel resolution switch. This feature makes use of the Linux modedb feature that lists available modes in /sys/class/graphics/fb0/modes and accepts a mode change when written to /sys/class/graphics/fb0/mode Clients can link to APIs exposed in display_config.h, these internally resolve to binder calls into HWC. For debugging, mode changes can be made over binder using shell commands. adb shell service call display.qservice CODE ARGS ARGS can include config index and display (only primary supported) setActiveConfig(): adb shell service call display.qservice 25 i32 INDEX i32 0 getActiveConfig(): adb shell service call display.qservice 26 i32 0 getConfigCount(): adb shell service call display.qservice 27 i32 0 getDisplayAttributes(): adb shell service call display.qservice 28 i32 INDEX i32 0 CRs-fixed: 873962 Change-Id: I32b6e2906174a50d655bb50081b6c0d8e2b273cb
* sdm: hw: Redesign the hw interface and implementationSaurabh Shah2015-07-141-1/+0
| | | | | | | | | | The new structure eliminates the unnecessary multiple inheritance and a lot of code bloat. The structure now is: HWInterface <>--- HWDevice <>--- HW{Primary, HDMI, Virtual} Change-Id: Ieb4c97da039640f4499c788b69d5bda3c6146abe
* sdm: Add support for HDMI minimum HDCP encryption level change.Dileep Marchya2015-07-121-0/+1
| | | | | | | | - Enable HDCP libraries to communicate with SDM via a qdutils API to indicate change in encryption level. - Write this change on HDMI file node to trigger driver. Change-Id: I226d4e986081b97243c80ea30c16b05ea34499c4
* sdm: Add support for HWCursorArun Kumar K.R2015-07-101-0/+1
| | | | | | | | | - Read Cursor info from the Hardware device - Configure layer marked as cursor to use hw cursor, if the hw limitations are met - Support setCursorPosition async as per HWC 1.4 Change-Id: I47a1a36b63e40debe505b38e8b6d90748f3410bb
* sdm: Add set panel brightness to be used by color managerTerence Hampson2015-06-261-0/+1
| | | | | | | QDCM color manager needs some way to set panel brightness. This change exposes set panel brightness api. Change-Id: I8a13cd0b0d1a915b06b0dedad2041a8eec7806ed
* sdm: Report mixer configuration in dumpsysTatenda Chipeperekwa2015-05-271-2/+0
| | | | | | Report the maximum mixer stages for each display. Change-Id: Ibdf1863b0ff6782860117e2467ea637c8b419d9b
* sdm: Align to new SDM design.Dileep Marchya2015-05-211-0/+77
- Align code base to new SDM design. Change-Id: I38d7d138ae704cf036e2b96c16453aea63bc333f