display: Add IDisplayConfig Stable AIDL implementation
This change adds the IDisplayConfig HAL implementation using AIDL interfaces. Change-Id: I5244d4d7764fd5128a2cb1021b73364d0179cece CRs-Fixed: 2871306
This commit is contained in:
20
aidl/config/Android.bp
Normal file
20
aidl/config/Android.bp
Normal file
@@ -0,0 +1,20 @@
|
||||
aidl_interface {
|
||||
name: "vendor.qti.hardware.display.config",
|
||||
vendor_available: true,
|
||||
srcs: [
|
||||
"vendor/qti/hardware/display/config/*.aidl",
|
||||
],
|
||||
stability: "vintf",
|
||||
imports: [
|
||||
"android.hardware.common",
|
||||
],
|
||||
backend: {
|
||||
java: {
|
||||
enabled: false,
|
||||
},
|
||||
cpp: {
|
||||
enabled: false,
|
||||
},
|
||||
},
|
||||
versions: ["1"],
|
||||
}
|
||||
26
aidl/config/NOTICE
Normal file
26
aidl/config/NOTICE
Normal file
@@ -0,0 +1,26 @@
|
||||
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.
|
||||
@@ -0,0 +1 @@
|
||||
85e19ab4932644825750604ee629a47aec7589fd
|
||||
@@ -0,0 +1,28 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
parcelable Attributes {
|
||||
int vsyncPeriod;
|
||||
int xRes;
|
||||
int yRes;
|
||||
float xDpi;
|
||||
float yDpi;
|
||||
vendor.qti.hardware.display.config.DisplayPortType panelType;
|
||||
boolean isYuv;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum DisplayPortType {
|
||||
INVALID = 0,
|
||||
DEFAULT = 1,
|
||||
DSI = 2,
|
||||
DTV = 3,
|
||||
WRITEBACK = 4,
|
||||
LVDS = 5,
|
||||
EDP = 6,
|
||||
DP = 7,
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum DisplayType {
|
||||
INVALID = 0,
|
||||
PRIMARY = 1,
|
||||
EXTERNAL = 2,
|
||||
VIRTUAL = 3,
|
||||
BUILTIN2 = 4,
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum DynRefreshRateOp {
|
||||
INVALID = 0,
|
||||
DISABLE_METADATA = 1,
|
||||
ENABLE_METADATA = 2,
|
||||
SET_BINDER = 3,
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum ExternalStatus {
|
||||
INVALID = 0,
|
||||
OFFLINE = 1,
|
||||
ONLINE = 2,
|
||||
PAUSE = 3,
|
||||
RESUME = 4,
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
parcelable HDRCapsParams {
|
||||
int[] supportedHdrTypes;
|
||||
float maxAvgLuminance;
|
||||
float minLuminance;
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
interface IDisplayConfig {
|
||||
boolean isDisplayConnected(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setDisplayStatus(in vendor.qti.hardware.display.config.DisplayType dpy, in vendor.qti.hardware.display.config.ExternalStatus status);
|
||||
void configureDynRefreshRate(in vendor.qti.hardware.display.config.DynRefreshRateOp op, in int refrestRate);
|
||||
int getConfigCount(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
int getActiveConfig(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setActiveConfig(in vendor.qti.hardware.display.config.DisplayType dpy, in int config);
|
||||
vendor.qti.hardware.display.config.Attributes getDisplayAttributes(in int configIndex, in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setPanelBrightness(in int level);
|
||||
int getPanelBrightness();
|
||||
void minHdcpEncryptionLevelChanged(in vendor.qti.hardware.display.config.DisplayType dpy, in int minEncLevel);
|
||||
void refreshScreen();
|
||||
void controlPartialUpdate(in vendor.qti.hardware.display.config.DisplayType dpy, in boolean enable);
|
||||
void toggleScreenUpdate(in boolean on);
|
||||
void setIdleTimeout(in int value);
|
||||
vendor.qti.hardware.display.config.HDRCapsParams getHDRCapabilities(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setCameraLaunchStatus(in int on);
|
||||
boolean displayBWTransactionPending();
|
||||
void setDisplayAnimating(in long displayId, in boolean animating);
|
||||
void controlIdlePowerCollapse(in boolean enable, in boolean synchronous);
|
||||
boolean getWriteBackCapabilities();
|
||||
void setDisplayDppsAdROI(in int displayId, in int hStart, in int hEnd, in int vStart, in int vEnd, in int factorIn, in int factorOut);
|
||||
void updateVSyncSourceOnPowerModeOff();
|
||||
void updateVSyncSourceOnPowerModeDoze();
|
||||
void setPowerMode(in int dispId, in vendor.qti.hardware.display.config.PowerMode powerMode);
|
||||
boolean isPowerModeOverrideSupported(in int dispId);
|
||||
boolean isHDRSupported(in int dispId);
|
||||
boolean isWCGSupported(in int dispId);
|
||||
void setLayerAsMask(in int dispId, in long layerId);
|
||||
String getDebugProperty(in String propName);
|
||||
vendor.qti.hardware.display.config.Attributes getActiveBuiltinDisplayAttributes();
|
||||
void setPanelLuminanceAttributes(in int dispId, in float minLum, in float maxLum);
|
||||
boolean isBuiltInDisplay(in int dispId);
|
||||
boolean isAsyncVDSCreationSupported();
|
||||
void createVirtualDisplay(in int width, in int height, in int format);
|
||||
long[] getSupportedDSIBitClks(in int dispId);
|
||||
long getDSIClk(in int dispId);
|
||||
void setDSIClk(in int dispId, in long bitClk);
|
||||
void setCWBOutputBuffer(in vendor.qti.hardware.display.config.IDisplayConfigCallback callback, in int dispId, in vendor.qti.hardware.display.config.Rect rect, in boolean postProcessed, in android.hardware.common.NativeHandle buffer);
|
||||
void setQsyncMode(in int dispId, in vendor.qti.hardware.display.config.QsyncMode mode);
|
||||
boolean isSmartPanelConfig(in int dispId, in int configId);
|
||||
boolean isRotatorSupportedFormat(in int halFormat, in boolean ubwc);
|
||||
void controlQsyncCallback(in boolean enable);
|
||||
void sendTUIEvent(in vendor.qti.hardware.display.config.DisplayType dpy, in vendor.qti.hardware.display.config.TUIEventType eventType);
|
||||
int getDisplayHwId(in int dispId);
|
||||
int[] getSupportedDisplayRefreshRates(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
boolean isRCSupported(in int dispId);
|
||||
void controlIdleStatusCallback(in boolean enable);
|
||||
boolean isSupportedConfigSwitch(in int dispId, in int config);
|
||||
vendor.qti.hardware.display.config.DisplayType getDisplayType(in long physicalDispId);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
interface IDisplayConfigCallback {
|
||||
oneway void notifyCWBBufferDone(in int error, in android.hardware.common.NativeHandle buffer);
|
||||
oneway void notifyQsyncChange(in boolean qsyncEnabled, in int refreshRate, in int qsyncRefreshRate);
|
||||
oneway void notifyIdleStatus(in boolean isIdle);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum PowerMode {
|
||||
OFF = 0,
|
||||
DOZE = 1,
|
||||
ON = 2,
|
||||
DOZE_SUSPEND = 3,
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum QsyncMode {
|
||||
NONE = 0,
|
||||
WAIT_FOR_FENCES_ONE_FRAME = 1,
|
||||
WAIT_FOR_FENCES_EACH_FRAME = 2,
|
||||
WAIT_FOR_COMMIT_EACH_FRAME = 3,
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
parcelable Rect {
|
||||
int left;
|
||||
int top;
|
||||
int right;
|
||||
int bottom;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum TUIEventType {
|
||||
NONE = 0,
|
||||
PREPARE_TUI_TRANSITION = 1,
|
||||
START_TUI_TRANSITION = 2,
|
||||
END_TUI_TRANSITION = 3,
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
parcelable Attributes {
|
||||
int vsyncPeriod;
|
||||
int xRes;
|
||||
int yRes;
|
||||
float xDpi;
|
||||
float yDpi;
|
||||
vendor.qti.hardware.display.config.DisplayPortType panelType;
|
||||
boolean isYuv;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum DisplayPortType {
|
||||
INVALID = 0,
|
||||
DEFAULT = 1,
|
||||
DSI = 2,
|
||||
DTV = 3,
|
||||
WRITEBACK = 4,
|
||||
LVDS = 5,
|
||||
EDP = 6,
|
||||
DP = 7,
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum DisplayType {
|
||||
INVALID = 0,
|
||||
PRIMARY = 1,
|
||||
EXTERNAL = 2,
|
||||
VIRTUAL = 3,
|
||||
BUILTIN2 = 4,
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum DynRefreshRateOp {
|
||||
INVALID = 0,
|
||||
DISABLE_METADATA = 1,
|
||||
ENABLE_METADATA = 2,
|
||||
SET_BINDER = 3,
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum ExternalStatus {
|
||||
INVALID = 0,
|
||||
OFFLINE = 1,
|
||||
ONLINE = 2,
|
||||
PAUSE = 3,
|
||||
RESUME = 4,
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
parcelable HDRCapsParams {
|
||||
int[] supportedHdrTypes;
|
||||
float maxAvgLuminance;
|
||||
float minLuminance;
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
interface IDisplayConfig {
|
||||
boolean isDisplayConnected(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setDisplayStatus(in vendor.qti.hardware.display.config.DisplayType dpy, in vendor.qti.hardware.display.config.ExternalStatus status);
|
||||
void configureDynRefreshRate(in vendor.qti.hardware.display.config.DynRefreshRateOp op, in int refrestRate);
|
||||
int getConfigCount(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
int getActiveConfig(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setActiveConfig(in vendor.qti.hardware.display.config.DisplayType dpy, in int config);
|
||||
vendor.qti.hardware.display.config.Attributes getDisplayAttributes(in int configIndex, in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setPanelBrightness(in int level);
|
||||
int getPanelBrightness();
|
||||
void minHdcpEncryptionLevelChanged(in vendor.qti.hardware.display.config.DisplayType dpy, in int minEncLevel);
|
||||
void refreshScreen();
|
||||
void controlPartialUpdate(in vendor.qti.hardware.display.config.DisplayType dpy, in boolean enable);
|
||||
void toggleScreenUpdate(in boolean on);
|
||||
void setIdleTimeout(in int value);
|
||||
vendor.qti.hardware.display.config.HDRCapsParams getHDRCapabilities(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
void setCameraLaunchStatus(in int on);
|
||||
boolean displayBWTransactionPending();
|
||||
void setDisplayAnimating(in long displayId, in boolean animating);
|
||||
void controlIdlePowerCollapse(in boolean enable, in boolean synchronous);
|
||||
boolean getWriteBackCapabilities();
|
||||
void setDisplayDppsAdROI(in int displayId, in int hStart, in int hEnd, in int vStart, in int vEnd, in int factorIn, in int factorOut);
|
||||
void updateVSyncSourceOnPowerModeOff();
|
||||
void updateVSyncSourceOnPowerModeDoze();
|
||||
void setPowerMode(in int dispId, in vendor.qti.hardware.display.config.PowerMode powerMode);
|
||||
boolean isPowerModeOverrideSupported(in int dispId);
|
||||
boolean isHDRSupported(in int dispId);
|
||||
boolean isWCGSupported(in int dispId);
|
||||
void setLayerAsMask(in int dispId, in long layerId);
|
||||
String getDebugProperty(in String propName);
|
||||
vendor.qti.hardware.display.config.Attributes getActiveBuiltinDisplayAttributes();
|
||||
void setPanelLuminanceAttributes(in int dispId, in float minLum, in float maxLum);
|
||||
boolean isBuiltInDisplay(in int dispId);
|
||||
boolean isAsyncVDSCreationSupported();
|
||||
void createVirtualDisplay(in int width, in int height, in int format);
|
||||
long[] getSupportedDSIBitClks(in int dispId);
|
||||
long getDSIClk(in int dispId);
|
||||
void setDSIClk(in int dispId, in long bitClk);
|
||||
void setCWBOutputBuffer(in vendor.qti.hardware.display.config.IDisplayConfigCallback callback, in int dispId, in vendor.qti.hardware.display.config.Rect rect, in boolean postProcessed, in android.hardware.common.NativeHandle buffer);
|
||||
void setQsyncMode(in int dispId, in vendor.qti.hardware.display.config.QsyncMode mode);
|
||||
boolean isSmartPanelConfig(in int dispId, in int configId);
|
||||
boolean isRotatorSupportedFormat(in int halFormat, in boolean ubwc);
|
||||
void controlQsyncCallback(in boolean enable);
|
||||
void sendTUIEvent(in vendor.qti.hardware.display.config.DisplayType dpy, in vendor.qti.hardware.display.config.TUIEventType eventType);
|
||||
int getDisplayHwId(in int dispId);
|
||||
int[] getSupportedDisplayRefreshRates(in vendor.qti.hardware.display.config.DisplayType dpy);
|
||||
boolean isRCSupported(in int dispId);
|
||||
void controlIdleStatusCallback(in boolean enable);
|
||||
boolean isSupportedConfigSwitch(in int dispId, in int config);
|
||||
vendor.qti.hardware.display.config.DisplayType getDisplayType(in long physicalDispId);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
interface IDisplayConfigCallback {
|
||||
oneway void notifyCWBBufferDone(in int error, in android.hardware.common.NativeHandle buffer);
|
||||
oneway void notifyQsyncChange(in boolean qsyncEnabled, in int refreshRate, in int qsyncRefreshRate);
|
||||
oneway void notifyIdleStatus(in boolean isIdle);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum PowerMode {
|
||||
OFF = 0,
|
||||
DOZE = 1,
|
||||
ON = 2,
|
||||
DOZE_SUSPEND = 3,
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum QsyncMode {
|
||||
NONE = 0,
|
||||
WAIT_FOR_FENCES_ONE_FRAME = 1,
|
||||
WAIT_FOR_FENCES_EACH_FRAME = 2,
|
||||
WAIT_FOR_COMMIT_EACH_FRAME = 3,
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@VintfStability
|
||||
parcelable Rect {
|
||||
int left;
|
||||
int top;
|
||||
int right;
|
||||
int bottom;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
|
||||
// edit this file. It looks like you are doing that because you have modified
|
||||
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
|
||||
// from an interface or a field from a parcelable and it broke the build. That
|
||||
// breakage is intended.
|
||||
//
|
||||
// You must not make a backward incompatible changes to the AIDL files built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package vendor.qti.hardware.display.config;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum TUIEventType {
|
||||
NONE = 0,
|
||||
PREPARE_TUI_TRANSITION = 1,
|
||||
START_TUI_TRANSITION = 2,
|
||||
END_TUI_TRANSITION = 3,
|
||||
}
|
||||
43
aidl/config/vendor/qti/hardware/display/config/Attributes.aidl
vendored
Normal file
43
aidl/config/vendor/qti/hardware/display/config/Attributes.aidl
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
import vendor.qti.hardware.display.config.DisplayPortType;
|
||||
|
||||
@VintfStability
|
||||
parcelable Attributes {
|
||||
int vsyncPeriod;
|
||||
int xRes;
|
||||
int yRes;
|
||||
float xDpi;
|
||||
float yDpi;
|
||||
DisplayPortType panelType;
|
||||
boolean isYuv;
|
||||
}
|
||||
43
aidl/config/vendor/qti/hardware/display/config/DisplayPortType.aidl
vendored
Normal file
43
aidl/config/vendor/qti/hardware/display/config/DisplayPortType.aidl
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum DisplayPortType {
|
||||
INVALID = 0,
|
||||
DEFAULT = 1,
|
||||
DSI = 2,
|
||||
DTV = 3,
|
||||
WRITEBACK = 4,
|
||||
LVDS = 5,
|
||||
EDP = 6,
|
||||
DP = 7
|
||||
}
|
||||
40
aidl/config/vendor/qti/hardware/display/config/DisplayType.aidl
vendored
Normal file
40
aidl/config/vendor/qti/hardware/display/config/DisplayType.aidl
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum DisplayType {
|
||||
INVALID = 0,
|
||||
PRIMARY = 1,
|
||||
EXTERNAL = 2,
|
||||
VIRTUAL = 3,
|
||||
BUILTIN2 = 4,
|
||||
}
|
||||
38
aidl/config/vendor/qti/hardware/display/config/DynRefreshRateOp.aidl
vendored
Normal file
38
aidl/config/vendor/qti/hardware/display/config/DynRefreshRateOp.aidl
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum DynRefreshRateOp {
|
||||
INVALID = 0,
|
||||
DISABLE_METADATA = 1,
|
||||
ENABLE_METADATA = 2,
|
||||
SET_BINDER = 3,
|
||||
}
|
||||
40
aidl/config/vendor/qti/hardware/display/config/ExternalStatus.aidl
vendored
Normal file
40
aidl/config/vendor/qti/hardware/display/config/ExternalStatus.aidl
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum ExternalStatus {
|
||||
INVALID = 0,
|
||||
OFFLINE = 1,
|
||||
ONLINE = 2,
|
||||
PAUSE = 3,
|
||||
RESUME = 4,
|
||||
}
|
||||
37
aidl/config/vendor/qti/hardware/display/config/HDRCapsParams.aidl
vendored
Normal file
37
aidl/config/vendor/qti/hardware/display/config/HDRCapsParams.aidl
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
parcelable HDRCapsParams {
|
||||
int[] supportedHdrTypes;
|
||||
float maxAvgLuminance;
|
||||
float minLuminance;
|
||||
}
|
||||
517
aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl
vendored
Normal file
517
aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl
vendored
Normal file
@@ -0,0 +1,517 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
import android.hardware.common.NativeHandle;
|
||||
|
||||
import vendor.qti.hardware.display.config.Attributes;
|
||||
import vendor.qti.hardware.display.config.DisplayType;
|
||||
import vendor.qti.hardware.display.config.DynRefreshRateOp;
|
||||
import vendor.qti.hardware.display.config.ExternalStatus;
|
||||
import vendor.qti.hardware.display.config.HDRCapsParams;
|
||||
import vendor.qti.hardware.display.config.IDisplayConfigCallback;
|
||||
import vendor.qti.hardware.display.config.PowerMode;
|
||||
import vendor.qti.hardware.display.config.QsyncMode;
|
||||
import vendor.qti.hardware.display.config.Rect;
|
||||
import vendor.qti.hardware.display.config.TUIEventType;
|
||||
|
||||
@VintfStability
|
||||
interface IDisplayConfig {
|
||||
/*
|
||||
* Query whether a given display type is connected.
|
||||
*
|
||||
* @param dpy display type
|
||||
*
|
||||
* @return true when connected, false when disconnected
|
||||
*/
|
||||
boolean isDisplayConnected(in DisplayType dpy);
|
||||
|
||||
/*
|
||||
* Set 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
|
||||
*/
|
||||
void setDisplayStatus(in DisplayType dpy, in ExternalStatus status);
|
||||
|
||||
/*
|
||||
* Enable/Disable/Set refresh rate dynamically.
|
||||
*
|
||||
* @param op operation code defined in DisplayDynRefreshRateOp
|
||||
* @param refreshRate refresh rate value
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void configureDynRefreshRate(in DynRefreshRateOp op, in int refrestRate);
|
||||
|
||||
/*
|
||||
* Query the number of configurations a given display can support.
|
||||
*
|
||||
* @param dpy display type
|
||||
*
|
||||
* @return number of configurations
|
||||
*/
|
||||
int getConfigCount(in DisplayType dpy);
|
||||
|
||||
/*
|
||||
* Query the config index of a given display type.
|
||||
*
|
||||
* @param[in] dpy display type
|
||||
*
|
||||
* @return config index of the display type
|
||||
*/
|
||||
int getActiveConfig(in DisplayType dpy);
|
||||
|
||||
/*
|
||||
* Set a new display configuration pointed by the index.
|
||||
*
|
||||
* @param dpy display type
|
||||
* @param config config index
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setActiveConfig(in DisplayType dpy, in int config);
|
||||
|
||||
/*
|
||||
* Query the display attributes of the specified config index.
|
||||
*
|
||||
* @param configIndex config index
|
||||
* @param dpy display type
|
||||
*
|
||||
* @return attributes display attributes
|
||||
*/
|
||||
Attributes getDisplayAttributes(in int configIndex, in DisplayType dpy);
|
||||
|
||||
/*
|
||||
* Set the panel brightness of the primary display.
|
||||
*
|
||||
* @param level brightness level
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setPanelBrightness(in int level);
|
||||
|
||||
/*
|
||||
* Query the panel brightness of the primary display.
|
||||
*
|
||||
* @return level brightness level
|
||||
*/
|
||||
int getPanelBrightness();
|
||||
|
||||
/*
|
||||
* Indicates display about a change in minimum encryption level.
|
||||
*
|
||||
* @param dpy display type
|
||||
* @param minEncLevel encryption level
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void minHdcpEncryptionLevelChanged (in DisplayType dpy, in int minEncLevel);
|
||||
|
||||
/*
|
||||
* Requests display to recompose and invalidate the display pipeline.
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void refreshScreen();
|
||||
|
||||
/*
|
||||
* Enable/Disable partial update.
|
||||
*
|
||||
* @param dpy display type
|
||||
* @param enable enable/disable
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void controlPartialUpdate(in DisplayType dpy, in boolean enable);
|
||||
|
||||
/*
|
||||
* Toggle screen update.
|
||||
*
|
||||
* @param on if true, pause display and drop incoming draw cycles
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void toggleScreenUpdate(in boolean on);
|
||||
|
||||
/*
|
||||
* Set idle timeout value for video mode panels.
|
||||
*
|
||||
* @param value idle timeout value
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setIdleTimeout(in int value);
|
||||
|
||||
/*
|
||||
* Query the HDR capabilities of a given display type.
|
||||
*
|
||||
* @param dpy display type.
|
||||
*
|
||||
* @return HDR capabilities
|
||||
*/
|
||||
HDRCapsParams getHDRCapabilities(in DisplayType dpy);
|
||||
|
||||
/*
|
||||
* Set the camera application's status (start/stop).
|
||||
*
|
||||
* @param on if true, camera is started
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setCameraLaunchStatus(in int on);
|
||||
|
||||
/*
|
||||
* Query the bandwidth transaction status.
|
||||
*
|
||||
* @return true if transaction is still pending
|
||||
*/
|
||||
boolean displayBWTransactionPending();
|
||||
|
||||
/*
|
||||
* Set display animating property.
|
||||
*
|
||||
* @param displayId display Id
|
||||
* @param animating if true, the display is animating
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setDisplayAnimating(in long displayId, in boolean animating);
|
||||
|
||||
/*
|
||||
* Enable/disable idle power collapse.
|
||||
*
|
||||
* @param enable enable/disable
|
||||
* @param synchronous commit
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void controlIdlePowerCollapse(in boolean enable, in boolean synchronous);
|
||||
|
||||
/*
|
||||
* Query whether UBWC writeback is supported.
|
||||
*
|
||||
* @return true if supported, false if not supported
|
||||
*/
|
||||
boolean getWriteBackCapabilities();
|
||||
|
||||
/*
|
||||
* Set the region of interest of display dpps ad4
|
||||
*
|
||||
* @param display_id ID of this display
|
||||
* @param hStart start in hotizontal direction
|
||||
* @param hEnd end in hotizontal direction
|
||||
* @param vStart start in vertical direction
|
||||
* @param vEnd end in vertical direction
|
||||
* @param factorIn the strength factor of inside ROI region
|
||||
* @param factorOut the strength factor of outside ROI region
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setDisplayDppsAdROI(in int displayId, in int hStart, in int hEnd, in int vStart,
|
||||
in int vEnd, in int factorIn, in int factorOut);
|
||||
|
||||
/*
|
||||
* Update vsync source to next active display upon the power state
|
||||
* change to off.
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void updateVSyncSourceOnPowerModeOff();
|
||||
|
||||
/*
|
||||
* Update vsync source to next active display upon the power state
|
||||
* change to doze.
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void updateVSyncSourceOnPowerModeDoze();
|
||||
|
||||
/*
|
||||
* Sets new power mode on the specificied display.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
* @param powerMode new power mode
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setPowerMode(in int dispId, in PowerMode powerMode);
|
||||
|
||||
/*
|
||||
* Query if power mode override is supported by underlying implementation
|
||||
* for the specified display.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
*
|
||||
* @return true if supported, false if not supported
|
||||
*/
|
||||
boolean isPowerModeOverrideSupported(in int dispId);
|
||||
|
||||
/*
|
||||
* Query if hdr is supported by the underlying implementation for the specified display.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
*
|
||||
* @return true if supported, false if not supported
|
||||
*/
|
||||
boolean isHDRSupported(in int dispId);
|
||||
|
||||
/*
|
||||
* Query if wide color gamut is supported by the underlying implementation
|
||||
* for the specified display.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
*
|
||||
* @return true if supported, false if not supported
|
||||
*/
|
||||
boolean isWCGSupported(in int dispId);
|
||||
|
||||
/*
|
||||
* Set layer as a mask type (e.g. round corner) identified by the layer id.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
* @param layerId layer id used for communication with hwc
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setLayerAsMask(in int dispId, in long layerId);
|
||||
|
||||
/*
|
||||
* Query the value corresponding to the specified property string from hwc.
|
||||
*
|
||||
* @param propName name of the property
|
||||
*
|
||||
* @return value corresponding to the property
|
||||
*/
|
||||
String getDebugProperty(in String propName);
|
||||
|
||||
/*
|
||||
* Query the attributes for the active builtin display. If all
|
||||
* builtin displays are active, it returns primary display attributes.
|
||||
*
|
||||
* @return active display attributes
|
||||
*/
|
||||
Attributes getActiveBuiltinDisplayAttributes();
|
||||
|
||||
/*
|
||||
* Set the min and max luminance attributes required for dynamic
|
||||
* tonemapping of external device.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
* @param minLum min luminance supported by external device
|
||||
* @param maxLum max luminance supported by external device
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setPanelLuminanceAttributes(in int dispId, in float minLum, in float maxLum);
|
||||
|
||||
/*
|
||||
* Query if the underlying display is of Built-In Type.
|
||||
*
|
||||
* @param dispId display identifier used between client & service
|
||||
*
|
||||
* @return true if display is of Built-In type
|
||||
*/
|
||||
boolean isBuiltInDisplay(in int dispId);
|
||||
|
||||
/*
|
||||
* Query if asynchronous Virtual Display Creation is supported
|
||||
*
|
||||
* @return true if async Virtual display creation is supported
|
||||
*/
|
||||
boolean isAsyncVDSCreationSupported();
|
||||
|
||||
/*
|
||||
* 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 upon success
|
||||
*/
|
||||
void createVirtualDisplay(in int width, in int height, in int format);
|
||||
|
||||
/*
|
||||
* Query the supported bit clock values of a given display ID.
|
||||
*
|
||||
* @param dispId display id
|
||||
*
|
||||
* @return vector of bit clock values
|
||||
*/
|
||||
long[] getSupportedDSIBitClks(in int dispId);
|
||||
|
||||
/*
|
||||
* Query the current bit clock value of a given display ID.
|
||||
*
|
||||
* @param dispId display id.
|
||||
*
|
||||
* @return bit clock value
|
||||
*/
|
||||
long getDSIClk(in int dispId);
|
||||
|
||||
/*
|
||||
* Set the bit clock value of a given display ID.
|
||||
*
|
||||
* @param dispId display id
|
||||
* @param bitClk desired bit clock value
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setDSIClk(in int dispId, in long bitClk);
|
||||
|
||||
/*
|
||||
* Set 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 dispId display id where concurrent writeback shall be captured
|
||||
* @param rect cropping rectangle which shall be applied on blended output
|
||||
* @param postProcessed whether to capture post processed or mixer output
|
||||
* @param buffer buffer where concurrent writeback output shall be written
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setCWBOutputBuffer(in IDisplayConfigCallback callback, in int dispId, in Rect rect,
|
||||
in boolean postProcessed, in NativeHandle buffer);
|
||||
|
||||
/*
|
||||
* 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 dispId display id
|
||||
* @param mode desired qsync mode
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void setQsyncMode(in int dispId, in QsyncMode mode);
|
||||
|
||||
/*
|
||||
* Query if the specified display config has smart panel.
|
||||
*
|
||||
* @param dispId display Id
|
||||
* @param configId display config index
|
||||
*
|
||||
* @return true if the DisplayConfig has Smart Panel
|
||||
*/
|
||||
boolean isSmartPanelConfig(in int dispId, in int configId);
|
||||
|
||||
/*
|
||||
* Query if the given format is supported by rotator.
|
||||
*
|
||||
* @param format pass HAL_PIXEL_FORMAT for the validation
|
||||
* @param ubwc true if the given format is ubwc format otherwise false
|
||||
*
|
||||
* @return true if supported or false
|
||||
*/
|
||||
boolean isRotatorSupportedFormat(in int halFormat, in boolean ubwc);
|
||||
|
||||
/*
|
||||
* Enable/Display qsync callback.
|
||||
*
|
||||
* @param enable true if enabling qsync callback
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void controlQsyncCallback(in boolean enable);
|
||||
|
||||
/*
|
||||
* Notify TUI transition events to HW Composer.
|
||||
*
|
||||
* @param dpy display type
|
||||
* @param eventType TUI Event Type
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void sendTUIEvent(in DisplayType dpy, in TUIEventType eventType);
|
||||
|
||||
/*
|
||||
* Query the display HW Id of a given display from HWC HAL
|
||||
*
|
||||
* @param dispId display Id
|
||||
*
|
||||
* @return display HW ID
|
||||
*/
|
||||
int getDisplayHwId(in int dispId);
|
||||
|
||||
/*
|
||||
* Query the supported refresh rates from Display HAL. The API would return a vector of
|
||||
* supported fps in the current config group.
|
||||
*
|
||||
* @param dpy display type
|
||||
*
|
||||
* @return supported refresh rates
|
||||
*/
|
||||
int[] getSupportedDisplayRefreshRates(in DisplayType dpy);
|
||||
|
||||
/*
|
||||
* Query if the rounded corner feature is supported.
|
||||
*
|
||||
* @param dispId display Id
|
||||
*
|
||||
* @return true if supported, false otherwise
|
||||
*/
|
||||
boolean isRCSupported(in int dispId);
|
||||
|
||||
/*
|
||||
* Control the idle status callback.
|
||||
*
|
||||
* @param enable true if idle callback is enabled
|
||||
*
|
||||
* @return error is NONE upon success
|
||||
*/
|
||||
void controlIdleStatusCallback(in boolean enable);
|
||||
|
||||
/*
|
||||
* Query if the config switch is supported on the display.
|
||||
*
|
||||
* @param dispId display ID
|
||||
* @param config config bit mask
|
||||
*
|
||||
* @return true if supported, false otherwise
|
||||
*/
|
||||
boolean isSupportedConfigSwitch(in int dispId, in int config);
|
||||
|
||||
/*
|
||||
* Query the display type information for a given physical display id.
|
||||
*
|
||||
* @param physicalDispId physical display ID
|
||||
*
|
||||
* @return display type
|
||||
*/
|
||||
DisplayType getDisplayType(in long physicalDispId);
|
||||
}
|
||||
60
aidl/config/vendor/qti/hardware/display/config/IDisplayConfigCallback.aidl
vendored
Normal file
60
aidl/config/vendor/qti/hardware/display/config/IDisplayConfigCallback.aidl
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
import android.hardware.common.NativeHandle;
|
||||
|
||||
@VintfStability
|
||||
interface IDisplayConfigCallback {
|
||||
/*
|
||||
* Send notification when concurrent writeback process completes.
|
||||
*
|
||||
* @param error result of the CWB process
|
||||
* @param buffer buffer for concurrent writeback
|
||||
*/
|
||||
oneway void notifyCWBBufferDone(in int error, in NativeHandle buffer);
|
||||
|
||||
/*
|
||||
* Send notification when there are changes on the Qsync.
|
||||
*
|
||||
* @param qsyncEnabled Qsync status
|
||||
* @param refreshRate refresh rate
|
||||
* @param qsyncRefreshRate Qsync refresh rate
|
||||
*/
|
||||
oneway void notifyQsyncChange(in boolean qsyncEnabled, in int refreshRate,
|
||||
in int qsyncRefreshRate);
|
||||
|
||||
/*
|
||||
* Send notification whether the device is in idle state.
|
||||
*
|
||||
* @param isIdle idle status
|
||||
*/
|
||||
oneway void notifyIdleStatus(in boolean isIdle);
|
||||
}
|
||||
39
aidl/config/vendor/qti/hardware/display/config/PowerMode.aidl
vendored
Normal file
39
aidl/config/vendor/qti/hardware/display/config/PowerMode.aidl
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum PowerMode {
|
||||
OFF = 0,
|
||||
DOZE = 1,
|
||||
ON = 2,
|
||||
DOZE_SUSPEND = 3,
|
||||
}
|
||||
39
aidl/config/vendor/qti/hardware/display/config/QsyncMode.aidl
vendored
Normal file
39
aidl/config/vendor/qti/hardware/display/config/QsyncMode.aidl
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum QsyncMode {
|
||||
NONE = 0,
|
||||
WAIT_FOR_FENCES_ONE_FRAME = 1,
|
||||
WAIT_FOR_FENCES_EACH_FRAME = 2,
|
||||
WAIT_FOR_COMMIT_EACH_FRAME = 3,
|
||||
}
|
||||
38
aidl/config/vendor/qti/hardware/display/config/Rect.aidl
vendored
Normal file
38
aidl/config/vendor/qti/hardware/display/config/Rect.aidl
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
parcelable Rect {
|
||||
int left;
|
||||
int top;
|
||||
int right;
|
||||
int bottom;
|
||||
}
|
||||
39
aidl/config/vendor/qti/hardware/display/config/TUIEventType.aidl
vendored
Normal file
39
aidl/config/vendor/qti/hardware/display/config/TUIEventType.aidl
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 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.qti.hardware.display.config;
|
||||
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum TUIEventType {
|
||||
NONE = 0,
|
||||
PREPARE_TUI_TRANSITION = 1,
|
||||
START_TUI_TRANSITION = 2,
|
||||
END_TUI_TRANSITION = 3,
|
||||
}
|
||||
Reference in New Issue
Block a user