Loading Documentation/devicetree/bindings/drm/msm/sde-dsi.txt +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ Optional properties: -- qcom,supply-max-voltage: maximum voltage level (uV) -- qcom,supply-enable-load: load drawn (uA) from enabled supply -- qcom,supply-disable-load: load drawn (uA) from disabled supply -- qcom,supply-off-min-voltage: minimum voltage level (uV) when turned off -- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on -- qcom,supply-post-on-sleep: time to sleep (ms) after turning on -- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off Loading drivers/gpu/drm/msm/dsi-staging/dsi_pwr.c +14 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -73,6 +73,14 @@ static int dsi_pwr_parse_supply_node(struct dsi_parser_utils *utils, regs->vregs[i].disable_load = tmp; /* Optional values */ rc = utils->read_u32(node, "qcom,supply-off-min-voltage", &tmp); if (rc) { pr_debug("off-min-voltage not specified\n"); rc = 0; } else { regs->vregs[i].off_min_voltage = tmp; } rc = utils->read_u32(node, "qcom,supply-pre-on-sleep", &tmp); if (rc) { pr_debug("pre-on-sleep not specified\n"); Loading Loading @@ -167,6 +175,11 @@ static int dsi_pwr_enable_vregs(struct dsi_regulator_info *regs, bool enable) if (regs->vregs[i].pre_off_sleep) msleep(regs->vregs[i].pre_off_sleep); if (regs->vregs[i].off_min_voltage) (void)regulator_set_voltage(regs->vregs[i].vreg, regs->vregs[i].off_min_voltage, regs->vregs[i].max_voltage); (void)regulator_set_load(regs->vregs[i].vreg, regs->vregs[i].disable_load); (void)regulator_disable(regs->vregs[i].vreg); Loading drivers/gpu/drm/msm/dsi-staging/dsi_pwr.h +3 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -30,6 +30,7 @@ struct dsi_parser_utils; * @max_voltage: Maximum voltage in uV. * @enable_load: Load, in uA, when enabled. * @disable_load: Load, in uA, when disabled. * @off_min_voltage: Minimum voltage in uV when regulator is disabled. * @pre_on_sleep: Sleep, in ms, before enabling the regulator. * @post_on_sleep: Sleep, in ms, after enabling the regulator. * @pre_off_sleep: Sleep, in ms, before disabling the regulator. Loading @@ -42,6 +43,7 @@ struct dsi_vreg { u32 max_voltage; u32 enable_load; u32 disable_load; u32 off_min_voltage; u32 pre_on_sleep; u32 post_on_sleep; u32 pre_off_sleep; Loading Loading
Documentation/devicetree/bindings/drm/msm/sde-dsi.txt +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ Optional properties: -- qcom,supply-max-voltage: maximum voltage level (uV) -- qcom,supply-enable-load: load drawn (uA) from enabled supply -- qcom,supply-disable-load: load drawn (uA) from disabled supply -- qcom,supply-off-min-voltage: minimum voltage level (uV) when turned off -- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on -- qcom,supply-post-on-sleep: time to sleep (ms) after turning on -- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off Loading
drivers/gpu/drm/msm/dsi-staging/dsi_pwr.c +14 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -73,6 +73,14 @@ static int dsi_pwr_parse_supply_node(struct dsi_parser_utils *utils, regs->vregs[i].disable_load = tmp; /* Optional values */ rc = utils->read_u32(node, "qcom,supply-off-min-voltage", &tmp); if (rc) { pr_debug("off-min-voltage not specified\n"); rc = 0; } else { regs->vregs[i].off_min_voltage = tmp; } rc = utils->read_u32(node, "qcom,supply-pre-on-sleep", &tmp); if (rc) { pr_debug("pre-on-sleep not specified\n"); Loading Loading @@ -167,6 +175,11 @@ static int dsi_pwr_enable_vregs(struct dsi_regulator_info *regs, bool enable) if (regs->vregs[i].pre_off_sleep) msleep(regs->vregs[i].pre_off_sleep); if (regs->vregs[i].off_min_voltage) (void)regulator_set_voltage(regs->vregs[i].vreg, regs->vregs[i].off_min_voltage, regs->vregs[i].max_voltage); (void)regulator_set_load(regs->vregs[i].vreg, regs->vregs[i].disable_load); (void)regulator_disable(regs->vregs[i].vreg); Loading
drivers/gpu/drm/msm/dsi-staging/dsi_pwr.h +3 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -30,6 +30,7 @@ struct dsi_parser_utils; * @max_voltage: Maximum voltage in uV. * @enable_load: Load, in uA, when enabled. * @disable_load: Load, in uA, when disabled. * @off_min_voltage: Minimum voltage in uV when regulator is disabled. * @pre_on_sleep: Sleep, in ms, before enabling the regulator. * @post_on_sleep: Sleep, in ms, after enabling the regulator. * @pre_off_sleep: Sleep, in ms, before disabling the regulator. Loading @@ -42,6 +43,7 @@ struct dsi_vreg { u32 max_voltage; u32 enable_load; u32 disable_load; u32 off_min_voltage; u32 pre_on_sleep; u32 post_on_sleep; u32 pre_off_sleep; Loading