From: Pierre-Hugues Husson <phhusson@xxxxxxxxxx> 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 <phhusson@xxxxxxxxxx> Signed-off-by: Marc Gonzalez <mgonzalez@xxxxxxxxxx> --- 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 - clocks diff --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