From: Pierre-Hugues Husson <redacted>
On our msm8998-based device, calling venus_sys_set_power_control()
breaks playback. Since the vendor kernel never calls it, we assume
it should not be called for this device/FW combo.
Signed-off-by: Pierre-Hugues Husson <redacted>
Signed-off-by: Marc Gonzalez <redacted>
---
TODO in v2: split the patch in 2
Is "qcom,no-low-power" a proper name for the property?
Is a boolean property the right approach?
---
.../devicetree/bindings/media/qcom,venus-common.yaml | 3 +++
drivers/media/platform/qcom/venus/hfi_venus.c | 9 +++++----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,venus-common.yaml b/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
index 3153d91f9d18a..69cb16dc4852c 100644
--- a/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
+++ b/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
@@ -62,6 +62,9 @@ properties:
required:
- iommus
+ qcom,no-low-power:
+ type: boolean
+
required:
- reg
- clocksdiff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
index f9437b6412b91..2cd85a8cd837e 100644
--- a/drivers/media/platform/qcom/venus/hfi_venus.c
+++ b/drivers/media/platform/qcom/venus/hfi_venus.c
@@ -945,10 +945,11 @@ static int venus_sys_set_default_properties(struct venus_hfi_device *hdev)
dev_warn(dev, "setting idle response ON failed (%d)\n", ret);
}
- ret = venus_sys_set_power_control(hdev, venus_fw_low_power_mode);
- if (ret)
- dev_warn(dev, "setting hw power collapse ON failed (%d)\n",
- ret);
+ if (!of_property_read_bool(dev->of_node, "qcom,no-low-power")) {
+ ret = venus_sys_set_power_control(hdev, venus_fw_low_power_mode);
+ if (ret)
+ dev_warn(dev, "setting hw power collapse ON failed (%d)\n", ret);
+ }
/* For specific venus core, it is mandatory to set the UBWC configuration */
if (res->ubwc_conf) {--
2.34.1