diff options
author | qctecmdr <qctecmdr@localhost> | 2019-07-16 08:59:17 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-07-16 08:59:17 -0700 |
commit | 6b24176e4ebb5e8a5547728a5dbe90eaed779538 (patch) | |
tree | 19525044a0c4ca35739a3bc1966b77976ec3bab1 | |
parent | b2d3ce3b31cdf6090b88ed7623262af69379b893 (diff) | |
parent | cceeb64b2a207c69aaa27c95a495c316d5afc73d (diff) | |
download | android_vendor_qcom_opensource_interfaces-6b24176e4ebb5e8a5547728a5dbe90eaed779538.tar.gz android_vendor_qcom_opensource_interfaces-6b24176e4ebb5e8a5547728a5dbe90eaed779538.tar.bz2 android_vendor_qcom_opensource_interfaces-6b24176e4ebb5e8a5547728a5dbe90eaed779538.zip |
Merge "display: Add APIs to capture concurrent writeback output"
-rw-r--r-- | display/config/1.10/IDisplayCWBCallback.hal | 50 | ||||
-rw-r--r-- | display/config/1.10/IDisplayConfig.hal | 99 | ||||
-rw-r--r-- | display/current.txt | 2 |
3 files changed, 151 insertions, 0 deletions
diff --git a/display/config/1.10/IDisplayCWBCallback.hal b/display/config/1.10/IDisplayCWBCallback.hal new file mode 100644 index 0000000..c5f6916 --- /dev/null +++ b/display/config/1.10/IDisplayCWBCallback.hal @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2019 The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package vendor.display.config@1.10; + +interface IDisplayCWBCallback { + /* + * Notifies the client that display has filled concurrent writeback + * in the associated buffer successfully. + * + * @param buffer buffer where concurrent writeback output is written. + */ + @callflow(next="*") + oneway onBufferReady(handle buffer); + + /* + * Notifies the client that display could not process concurrent writeback + * in the associated buffer and buffer is returned without any change. + * + * @param buffer buffer where concurrent writeback output failed to write. + */ + @callflow(next="*") + oneway onBufferError(handle buffer); +}; diff --git a/display/config/1.10/IDisplayConfig.hal b/display/config/1.10/IDisplayConfig.hal new file mode 100644 index 0000000..bd9a5bb --- /dev/null +++ b/display/config/1.10/IDisplayConfig.hal @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2019 The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package vendor.display.config@1.10; + +import @1.9::IDisplayConfig; +import IDisplayCWBCallback; + +interface IDisplayConfig extends @1.9::IDisplayConfig { + struct Rect { + uint32_t left; + uint32_t top; + uint32_t right; + uint32_t bottom; + }; + + /* + * Sets the output buffer to be filled with the contents of the next + * composition performed for this display. Client can specify cropping + * rectangle for the partial concurrent writeback. + * Buffer must be ready for writeback before this API is called. + * If hardware protected content is displayed in next composition cycle, + * CWB output buffer will be returned as failure in callback and without + * any change in buffer. + * + * @param callback is the IDisplayCWBCallback object. + * @param disp_id display id where concurrent writeback shall be captured. + * @param post_processed whether to capture post processed or mixer output. + * @param rect cropping rectangle which shall be applied on blended output. + * @param buffer buffer where concurrent writeback output shall be written. + * + * @return error is NONE upon success. + */ + @callflow(next="*") + setCWBOutputBuffer(IDisplayCWBCallback callback, + uint32_t disp_id, + Rect rect, + bool post_processed, + handle buffer) + generates (int32_t error); + + /* + * Get supported bit clock values. + * + * @param disp_id display id. + * + * @return bit_clks vector of bit clock values. + */ + @callflow(next="*") + getSupportedDSIBitClks(uint32_t disp_id) + generates (vec<uint64_t> bit_clks); + + /* + * Retrieve current bit clock value. + * + * @param disp_id display id. + * + * @return current bit clock value. + */ + @callflow(next="*") + getDSIClk(uint32_t disp_id) generates (uint64_t bit_clk); + + /* + * Retrieve current bit clock value. + * + * @param disp_id display id. + * @param bit_clk desired bit clock value. + * + * @return error is NONE upon success. + */ + @callflow(next="*") + setDSIClk(uint32_t disp_id, uint64_t bit_clk) generates (int32_t error); +}; diff --git a/display/current.txt b/display/current.txt index 47dbc31..0d9e59b 100644 --- a/display/current.txt +++ b/display/current.txt @@ -45,3 +45,5 @@ bff30d77ca2327e719a4bd6938bad222c5f1a87f0517b8baf9ef5c3edd0bdc35 vendor.display. ccf20944596b1cd140769257bdb93d10244b256d47e296ec84d41ed1261c1089 vendor.display.config@1.7::IDisplayConfig a34b984a4eee8b76a123390002843f050288a92f0f0c6b8d576930f738858f4c vendor.display.config@1.8::IDisplayConfig fd36f8dbe80403d93f0e94651ae4efa1aa22053351e7783f5d99457cff9dbacc vendor.display.config@1.9::IDisplayConfig +f78bba2991501438ad9ca1a0812f6a2a3991cb178bec4c00bd8eec841777d8d9 vendor.display.config@1.10::IDisplayConfig +50369a070405a1f0cac44648f39ca32864c1339896d6eb16524b32fff9e95f03 vendor.display.config@1.10::IDisplayCWBCallback
\ No newline at end of file |