replace common qcom sources with samsung ones

This commit is contained in:
SaschaNes
2025-08-12 22:13:00 +02:00
parent ba24dcded9
commit 6f7753de11
5682 changed files with 2450203 additions and 103634 deletions

View File

@@ -0,0 +1,14 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.0",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,275 @@
/*
* Copyright (c) 2017 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.0;
interface IDisplayConfig {
enum DisplayType : int32_t {
INVALID = -1,
DISPLAY_PRIMARY = 0,
DISPLAY_EXTERNAL = 1,
DISPLAY_VIRTUAL = 2,
};
enum DisplayExternalStatus : int32_t {
INVALID = -1,
EXTERNAL_OFFLINE = 0,
EXTERNAL_ONLINE = 1,
EXTERNAL_PAUSE = 2,
EXTERNAL_RESUME = 3,
};
enum DisplayDynRefreshRateOp : int32_t {
INVALID = -1,
DISABLE_METADATA_DYN_REFRESH_RATE = 0,
ENABLE_METADATA_DYN_REFRESH_RATE = 1,
SET_BINDER_DYN_REFRESH_RATE = 2,
};
enum DisplayPortType : int32_t {
INVALID = -1,
DISPLAY_PORT_DEFAULT = 0,
DISPLAY_PORT_DSI = 1,
DISPLAY_PORT_DTV = 2,
DISPLAY_PORT_WRITEBACK = 3,
DISPLAY_PORT_LVDS = 4,
DISPLAY_PORT_EDP = 5,
DISPLAY_PORT_DP = 6,
};
struct DisplayAttributes {
uint32_t vsyncPeriod;
uint32_t xRes;
uint32_t yRes;
float xDpi;
float yDpi;
DisplayPortType panelType;
bool isYuv;
};
struct DisplayHDRCapabilities {
vec<int32_t> supportedHdrTypes;
float maxLuminance;
float maxAvgLuminance;
float minLuminance;
};
/*
* Returns connection status of an external display.
*
* @return true when connected, false when disconnected.
*/
@callflow(next="*")
isDisplayConnected(DisplayType dpy) generates (int32_t error, bool status);
/*
* Sets the secondary display status (pause/resume/offline) etc.
*
* @param dpy display type.
* @param status next status to be set.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setSecondayDisplayStatus(DisplayType dpy,
DisplayExternalStatus status)
generates (int32_t error);
/*
* Enable/Disable/Set refresh rate dynamically
*
* @param op operation code defined in DisplayDynRefreshRateOp.
* @param refreshRate refresh rate value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
configureDynRefeshRate(DisplayDynRefreshRateOp op,
uint32_t refreshRate)
generates (int32_t error);
/*
* Returns the number of configuration given display can support.
*
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param count number of configurations.
*/
@callflow(next="*")
getConfigCount(DisplayType dpy) generates (int32_t error, uint32_t count);
/*
* Returns the index of config that is current set for the display.
*
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param config config index.
*/
@callflow(next="*")
getActiveConfig(DisplayType dpy) generates (int32_t error, uint32_t config);
/*
* Set a new display configuration pointed by the index.
*
* @param dpy display type.
* @param config config index.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setActiveConfig(DisplayType dpy, uint32_t config) generates (int32_t error);
/*
* Returns the attributes for the specified config for the display.
*
* @param configIndex config index.
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param attributes display attributes.
*/
@callflow(next="*")
getDisplayAttributes(uint32_t configIndex,
DisplayType dpy)
generates (int32_t error,
DisplayAttributes attributes);
/*
* Sets the panel brightness of the primary display.
*
* @param level brightness level.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setPanelBrightness(uint32_t level) generates (int32_t error);
/*
* Sets the panel brightness of the primary display.
*
* @return level brightness level.
*/
@callflow(next="*")
getPanelBrightness() generates (int32_t error, uint32_t level);
/*
* Indicates display about a change in minimum encryption level.
*
* @param dpy display type.
* @param min_enc_level encryption level.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
minHdcpEncryptionLevelChanged(DisplayType dpy,
uint32_t min_enc_level)
generates (int32_t error);
/*
* Requests display to recompose and invalidate the display pipeline.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
refreshScreen() generates (int32_t error);
/*
* Enable/Disable partial update.
*
* @param dpy display type.
* @param enable enable/disable.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
controlPartialUpdate(DisplayType dpy,
bool enable)
generates (int32_t error);
/*
* Toggle screen update.
*
* @param on Pause display and drop incoming draw cycles if true.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
toggleScreenUpdate(bool on) generates (int32_t error);
/*
* Set idle timeout value for video mode panels.
*
* @param value Idle timeout value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setIdleTimeout(uint32_t value) generates (int32_t error);
/*
* Returns HDR capabilities for the specified display.
*
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param caps HDR capabilities.
*/
@callflow(next="*")
getHDRCapabilities(DisplayType dpy)
generates (int32_t error,
DisplayHDRCapabilities caps);
/*
* Sets camera application start/stop status.
*
* @param on Camera is started if true.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setCameraLaunchStatus(uint32_t on) generates (int32_t error);
/*
* Check bandwidth transaction status.
*
* @return status true if transaction is still pending.
*/
@callflow(next="*")
displayBWTransactionPending() generates (int32_t error, bool status);
};

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.1",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2017 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.1;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.0::IDisplayConfig {
/*
* Set display animating property.
*
* @return one of the hwc2 errors
*/
@callflow(next="*")
setDisplayAnimating(uint64_t displayId, bool animating) generates (int32_t error);
};

View File

@@ -0,0 +1,25 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.10",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayCWBCallback.hal",
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -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);
};

View File

@@ -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);
};

View File

@@ -0,0 +1,25 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.11",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,77 @@
/*
* 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.11;
import @1.10::IDisplayConfig;
interface IDisplayConfig extends @1.10::IDisplayConfig {
enum QsyncMode : int32_t {
/* Clear previous qsync mode if any */
NONE,
/*
* Enable qsync only for the next frame. Qsync mode will be
* automatically cleared after next frame has been composed.
* Subsequent frames will not be affected.
*/
WAIT_FOR_FENCES_ONE_FRAME,
/*
* Enable qsync for every frame from next cycle onwards. Vsync timelines
* will be extended only if a frame has been committed to HWC i.e. if
* HWC does not receive frames from client, vsync will be triggered at
* normal intervals. This is similar to setting qsync mode as
* WAIT_FOR_FENCES_ONE_FRAME with every commit.
*/
WAIT_FOR_FENCES_EACH_FRAME,
/*
* Enable qsync for every vsync interrupt from next cycle onwards.
* Vsync timelines will be extended to maximum stretch possible in an
* anticipation that a frame will be commited shortly. If frames are
* not commited, final frame rate will eventually drop to lowest
* possible frame rate.
*/
WAIT_FOR_COMMIT_EACH_FRAME,
};
/*
* Set the desired qsync mode which will ideally take effect from next
* composition cycle. Mode change may take longer than one cycle if there
* is a conflict with current operation mode.
*
* @param disp_id display id.
* @param mode desired qsync mode.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setQsyncMode(uint32_t disp_id, QsyncMode mode) generates (int32_t error);
};

View File

@@ -0,0 +1,26 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.12",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* 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.12;
import @1.11::IDisplayConfig;
interface IDisplayConfig extends @1.11::IDisplayConfig {
/*
* Query if the specified DisplayConfig has Smart Panel.
*
* @param disp_id Display Id.
*
* @param config_id DisplayConfig Id.
*
* @return is_smart True if the DisplayConfig has Smart Panel.
*/
@callflow(next="*")
isSmartPanelConfig(uint32_t disp_id, uint32_t config_id) generates (bool is_smart);
};

View File

@@ -0,0 +1,27 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.13",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,52 @@
/*
* 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.13;
import @1.12::IDisplayConfig;
interface IDisplayConfig extends @1.12::IDisplayConfig {
/*
* Query if asynchronous Virtual Display Creation is supported
* @return is_supported true if async Virtual display creation is supported
*/
@callflow(next="*")
isAsyncVDSCreationSupported() generates (bool is_supported);
/*
* Creates Virtual Display based on width, height, format parameters.
*
* @param width Width of the virtual display.
* @param height Height of the virtual display.
* @param format Pixel format of the virtual display.
* @return error is NONE on successful creation of display
*/
@callflow(next="*")
createVirtualDisplay(uint32_t width, uint32_t height, int32_t format) generates (int32_t error);
};

View File

@@ -0,0 +1,28 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.14",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.13",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,45 @@
/*
* 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.14;
import @1.13::IDisplayConfig;
interface IDisplayConfig extends @1.13::IDisplayConfig {
/*
* Returns true if the given format is supported by rotator otherwise false
*
* @param format Pass HAL_PIXEL_FORMAT for the validation
* @param ubwc true if the given format is ubwc format otherwise false
*
* @return supported true if supported or false.
*/
@callflow(next="*")
isRotatorSupportedFormat(int32_t format, bool ubwc) generates (bool supported);
};

View File

@@ -0,0 +1,30 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.15",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
"IDisplayQsyncCallback.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.13",
"vendor.display.config@1.14",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* 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.15;
import @1.14::IDisplayConfig;
import IDisplayQsyncCallback;
interface IDisplayConfig extends @1.14::IDisplayConfig {
/*
* Register a callback which will be invoked when there is a change
* in the Qsync configuration.
*
* @param callback is the IDisplayQsyncCallback object.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
registerQsyncCallback(IDisplayQsyncCallback callback) generates (int32_t error);
};

View File

@@ -0,0 +1,42 @@
/*
* 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.15;
interface IDisplayQsyncCallback {
/*
* Notifies the client that Qsync has been re-configured.
*
* @param enabled specifies if qsync is enabled/disabled.
* @param fps specifies the current fps of the display.
* @param qsync_fps specifies the minimum qsync fps.
*/
@callflow(next="*")
oneway onQsyncReconfigured(bool enabled, int32_t fps, int32_t qsync_fps);
};

View File

@@ -0,0 +1,30 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.16",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.13",
"vendor.display.config@1.14",
"vendor.display.config@1.15",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,42 @@
/*
* Copyright (c) 2020 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.16;
import @1.15::IDisplayConfig;
interface IDisplayConfig extends @1.15::IDisplayConfig {
/*
* allowIdleFallback on client(as of now SurfaceFlinger) start
*
* @return error is NONE upon success.
*/
@callflow(next="*")
allowIdleFallback() generates (int32_t error);
};

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2021 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.17;
import @1.16::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.16::IDisplayConfig {
enum RGBOrder : int32_t {
FSC_UNKNOWN = 0,
FSC_RGB = 1,
FSC_RBG = 2,
FSC_BGR = 3,
FSC_BRG = 4,
FSC_GBR = 5,
FSC_GRB = 6,
};
/*
* getFSCRGBOrder on client start
*
* @return error is NONE upon success.
*/
@callflow(next="*")
getFSCRGBOrder(DisplayType dpy) generates (int32_t error,
RGBOrder fsc_rgb_color_order);
};

View File

@@ -0,0 +1,50 @@
/*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
* disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.18;
import @1.17::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.17::IDisplayConfig {
/*
* enableCAC on client start
*
* @return error is NONE upon success.
*/
@callflow(next="*")
enableCAC(uint32_t disp_id, bool enable, float red, float green, float blue)
generates (int32_t error);
};

View File

@@ -0,0 +1,70 @@
/*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
* disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.19;
import @1.18::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.18::IDisplayConfig {
struct CacChannelRect {
float left;
float top;
float right;
float bottom;
};
struct CacEyeConfig {
CacChannelRect red_channel_src;
CacChannelRect red_channel_dst;
CacChannelRect green_channel_src;
CacChannelRect green_channel_dst;
CacChannelRect blue_channel_src;
CacChannelRect blue_channel_dst;
};
/*
* Sets the src and dst rect parameters of red, green and blue channels of CAC for both left
* and right eye.
*
* @param disp_id display id.
* @param left specifies the src and dst rect for each channel of CAC for left eye.
* @param right specifies the src and dst rect for each channel of CAC for right eye.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setCacEyeConfig(uint32_t disp_id, CacEyeConfig left, CacEyeConfig right)
generates (int32_t error);
};

View File

@@ -0,0 +1,16 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.2",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
],
gen_java: true,
}

View File

@@ -0,0 +1,55 @@
/*
* Copyright (c) 2018 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.2;
import @1.1::IDisplayConfig;
interface IDisplayConfig extends @1.1::IDisplayConfig {
enum DisplayTypeExt : int32_t {
// primary display is just one, can be either builtin or pluggable.
DISPLAY_PRIMARY = 0,
DISPLAY_BUILTIN = 1,
DISPLAY_PLUGGABLE = 2,
DISPLAY_VIRTUAL = 3,
};
/*
* Sets display index range that caller defined for a given display type.
*
* @param disp_type display type.
* @param base start value in the range.
* @param count maximum number of supported display of this type.
*
* @return one of the hwc2 errors
*/
@callflow(next="*")
setDisplayIndex(DisplayTypeExt disp_type, uint32_t base, uint32_t count)
generates (int32_t error);
};

View File

@@ -0,0 +1,51 @@
/*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
* disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.20;
import @1.19::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.19::IDisplayConfig {
/*
* setSkewVsync on client start
*
* @param disp_id display id.
* @param skew_vsync_val skew-vsync value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setSkewVsync(uint32_t disp_id, uint32_t skew_vsync_val) generates (int32_t error);
};

View File

@@ -0,0 +1,17 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.3",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2018 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.3;
import @1.2::IDisplayConfig;
interface IDisplayConfig extends @1.2::IDisplayConfig {
/*
* Enable/disable Idle power collapse
*
* @param enable enable/disable
* @param synchronous commit
*
* @return error is NONE upon success
*/
@callflow(next="*")
controlIdlePowerCollapse(bool enable, bool synchronous)
generates (int32_t error);
};

View File

@@ -0,0 +1,18 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.4",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
],
gen_java: true,
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 2018 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.4;
import @1.3::IDisplayConfig;
interface IDisplayConfig extends @1.3::IDisplayConfig {
struct WriteBackCapabilities {
bool isWbUbwcSupported;
};
/*
* get display wb capabilities
*
* @return display WB capabilities
* @return error is NONE upon success
*/
@callflow(next="*")
getWriteBackCapabilities() generates (int32_t error, WriteBackCapabilities caps);
};

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.5",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
],
gen_java: true,
}

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2018 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.5;
import @1.4::IDisplayConfig;
interface IDisplayConfig extends @1.4::IDisplayConfig {
/*
* Sets the region of interest of display dpps ad4
*
* @param display_id ID of this display
* @param h_start start in hotizontal direction
* @param h_end end in hotizontal direction
* @param v_start start in vertical direction
* @param v_end end in vertical direction
* @param factor_in the strength factor of inside ROI region
* @param factor_out the strength factor of outside ROI region
*
* @return error is NONE upon success
*/
@callflow(next="*")
SetDisplayDppsAdROI(uint32_t display_id, uint32_t h_start, uint32_t h_end,
uint32_t v_start, uint32_t v_end, uint32_t factor_in,
uint32_t factor_out)
generates (int32_t error);
};

View File

@@ -0,0 +1,20 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.6",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
],
gen_java: true,
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright (c) 2018 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.6;
import @1.5::IDisplayConfig;
interface IDisplayConfig extends @1.5::IDisplayConfig {
/*
* Update vsync source to next active display upon the power state
* change to off.
*
* @return error is NONE upon success
*/
@callflow(next="*")
updateVSyncSourceOnPowerModeOff() generates (int32_t error);
/*
* Update vsync source to next active display upon the power state
* change to doze.
*
* @return error is NONE upon success
*/
@callflow(next="*")
updateVSyncSourceOnPowerModeDoze() generates (int32_t error);
};

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.7",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
],
gen_java: true,
}

View File

@@ -0,0 +1,100 @@
/*
* Copyright (c) 2018 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.7;
import @1.6::IDisplayConfig;
interface IDisplayConfig extends @1.6::IDisplayConfig {
enum PowerMode : int32_t {
Off = 0,
Doze = 1,
On = 2,
DozeSuspend = 3,
};
/*
* Sets new power mode on the specificied display.
*
* @param disp_id display identifier used between client & service
* @param power_mode new power mode
* @return error is NONE upon success
*/
@callflow(next="*")
setPowerMode(uint32_t disp_id, PowerMode power_mode) generates (int32_t error);
/*
* Query if power mode override is supported by underlying implementation
* for the specified display.
*
* @param disp_id display identifier used between client & service
* @return supported true if supported
*/
@callflow(next="*")
isPowerModeOverrideSupported(uint32_t disp_id) generates (bool supported);
/*
* Query if hdr is supported by the underlying implementation for the specified display.
*
* @param disp_id display identifier used between client & service
* @return supported true if supported
*/
@callflow(next="*")
isHDRSupported(uint32_t disp_id) generates (bool supported);
/*
* Query if wide color gamut is supported by the underlying implementation
* for the specified display.
*
* @param disp_id display identifier used between client & service
* @return supported true if supported
*/
@callflow(next="*")
isWCGSupported(uint32_t disp_id) generates (bool supported);
/*
* Sets layer as a mask type (e.g. round corner) identified by the layer id.
*
* @param disp_id display identifier used between client & service
* @param layer_id layer id used for communication with hwc
* @return error is NONE upon success
*/
@callflow(next="*")
setLayerAsMask(uint32_t disp_id, uint64_t layer_id) generates (int32_t error);
/*
* Gets value corresponding to the specified property string from hwc.
*
* @param prop_name name of the property
* @param value value corresponding to the property
* @return error is NONE upon success
*/
@callflow(next="*")
getDebugProperty(string prop_name) generates (string value, int32_t error);
};

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.8",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* 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.8;
import @1.7::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.7::IDisplayConfig {
/*
* Returns the attributes for the active builtin display, if all
* builtin displays are active it returns primary display attributes
*
* @return error is NONE upon success.
*
* @param attributes active display attributes.
*/
@callflow(next="*")
getActiveBuiltinDisplayAttributes() generates (int32_t error, DisplayAttributes attr);
};

View File

@@ -0,0 +1,23 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.9",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
],
gen_java: true,
}

View File

@@ -0,0 +1,57 @@
/*
* 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.9;
import @1.8::IDisplayConfig;
interface IDisplayConfig extends @1.8::IDisplayConfig {
/*
* Sets the min and max luminance attributes required for dynamic
* tonemapping of external device.
*
* @param disp_id display identifier used between client & service
* @param min_lum min luminance supported by external device
* @param max_lum max luminance supported by external device
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setPanelLuminanceAttributes(uint32_t disp_id, float min_lum, float max_lum)
generates (int32_t error);
/*
* Query if the underlying display is of Built-In Type.
*
* @param disp_id display identifier used between client & service
* @return is_builtin true if display is of Built-In type
*/
@callflow(next="*")
isBuiltInDisplay(uint32_t disp_id) generates (bool is_builtin);
};

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@2.0",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
"IDisplayConfigCallback.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,65 @@
/*
* Copyright (c) 2020 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@2.0;
import IDisplayConfigCallback;
interface IDisplayConfig {
/*
* Registers a client with the IDisplayConfig service. The client name will be a combination
* of the original name of the client and possibly the client's PID. This is needed to ensure
* unique identification of the client by the service. This can happen in cases where the
* client restarts and re-registers which causes multiple registration with the service.
*
* @param clientName String representing the unique name of the client.
* @param callback is the HIDL callback if any, for the callback operations to the client.
* @return error is the error code of the RegisterClient call to the service.
* @return clientHandle is a unique unsigned integer assigned to the client by service.
*/
@callflow(next="*")
registerClient(string clientName, IDisplayConfigCallback callback)
generates (int32_t error, uint64_t clientHandle);
/*
* Perform API for the client to handle multiple requests by the IDisplayConfig service.
*
* @param clientHandle the unique unsigned integer assigned to client by service.
* @param opCode is the identifier for the operation requested by client.
* @param inputParams vector of input data structures.
* @param inputHandles vector of input buffer handles, if any.
* @return error is the error code of the requested operation.
* @return outputParams is vector of output data as part of sync API execution, if any.
* @return outputHandles is vector of output buffer handles, if any.
*/
@callflow(next="*")
perform(uint64_t clientHandle, uint32_t opCode, vec<uint8_t> inputParams,
vec<handle> inputHandles) generates (int32_t error, vec<uint8_t> outputParams,
vec<handle> outputHandles);
};

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2020 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@2.0;
interface IDisplayConfigCallback {
/*
* Notifies the client with the output data and handles as part of async API execution.
* This callback is registered with the service as part of the registerClient API.
*
* @param opCode is the identifier of the Perform request for which the callback is performed.
* @param callbackParams is the vector of data passed to the client, if any.
* @param callbackHandles is the vector of buffer handles passed to the client, if any.
*/
@callflow(next="*")
oneway perform(uint32_t opCode, vec<uint8_t> callbackParams, vec<handle> callbackHandles);
};