Re: regulator: core: ramp_delay mandatory?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Wednesday 12 October 2016 06:09 PM, Keerthy wrote:


On Wednesday 12 October 2016 05:45 PM, Mark Brown wrote:
On Wed, Oct 12, 2016 at 05:24:34PM +0530, Keerthy wrote:

Mugunthan reported that there are non stop warnings:
"vdd_mpu: ramp_delay not set"

while testing am335x-boneblack on the latest mainline master with
multi_v7_defconfig.

...

Is this warning necessary or can we away with rdev_dbg instead if
rdev_warn?
If warning is necessary then does it mean that ramp_delay is mandatory?

If the driver is using the generic set_voltage_time_sel() but not
providing a ramp delay then the operation is simply not going to work -
in that sense it's always been mandatory.  Why are you using the op if
you haven't configured it to work?

The driver: drivers/regulator/tps65217-regulator.c

as such is NOT using set_voltage_time_sel()
it has only set_voltage_sel populated.

I was wondering too but seems like there is an alternate path which i
found with this dump:

[    3.784453] vdd_mpu: ramp_delay not set
[    3.881493] ------------[ cut here ]------------
[    3.886595] WARNING: CPU: 0 PID: 66 at drivers/regulator/core.c:2756
_regulator_set_voltage_time+0x40/0xac
[    3.897118] Modules linked in:
[    3.900514] CPU: 0 PID: 66 Comm: kworker/0:2 Tainted: G        W
 4.8.0-next-20161012-15370-g11127a2-dirty #2
[    3.911726] Hardware name: Generic AM33XX (Flattened Device Tree)
[    3.918348] Workqueue: events dbs_work_handler
[    3.923205] [<c0310610>] (unwind_backtrace) from [<c030bb80>]
(show_stack+0x10/0x14)
[    3.931615] [<c030bb80>] (show_stack) from [<c059e4d0>]
(dump_stack+0x88/0x9c)
[    3.939463] [<c059e4d0>] (dump_stack) from [<c0342ce4>]
(__warn+0xe8/0x100)
[    3.947031] [<c0342ce4>] (__warn) from [<c0342dac>]
(warn_slowpath_null+0x20/0x28)
[    3.955255] [<c0342dac>] (warn_slowpath_null) from [<c06e8028>]
(_regulator_set_voltage_time+0x40/0xac)
[    3.965452] [<c06e8028>] (_regulator_set_voltage_time) from
[<c06e8398>] (_regulator_do_set_voltage+0x304/0x368)
[    3.976494] [<c06e8398>] (_regulator_do_set_voltage) from
[<c06e84cc>] (regulator_set_voltage_unlocked+0xd0/0x23c)
[    3.987724] [<c06e84cc>] (regulator_set_voltage_unlocked) from
[<c06e8660>] (regulator_set_voltage+0x28/0x54)
[    3.998484] [<c06e8660>] (regulator_set_voltage) from [<c07f1084>]
(_set_opp_voltage+0x30/0x98)
[    4.007931] [<c07f1084>] (_set_opp_voltage) from [<c07f1724>]
(dev_pm_opp_set_rate+0xd8/0x274)
[    4.017282] [<c07f1724>] (dev_pm_opp_set_rate) from [<c0a26064>]
(__cpufreq_driver_target+0x220/0x520)
[    4.027386] [<c0a26064>] (__cpufreq_driver_target) from [<c0a297c8>]
(od_dbs_timer+0xe0/0x168)
[    4.036738] [<c0a297c8>] (od_dbs_timer) from [<c0a29d2c>]
(dbs_work_handler+0x2c/0x54)
[    4.045340] [<c0a29d2c>] (dbs_work_handler) from [<c0358f28>]
(process_one_work+0x134/0x40c)
[    4.054503] [<c0358f28>] (process_one_work) from [<c0359238>]
(worker_thread+0x38/0x590)
[    4.063287] [<c0359238>] (worker_thread) from [<c035e820>]
(kthread+0xdc/0xf4)
[    4.071134] [<c035e820>] (kthread) from [<c0307ef8>]
(ret_from_fork+0x14/0x3c)

Mark,

Correct me if i am wrong.

_regulator_do_set_voltage ends up checking for ops->set_voltage_time_sel
and if not populated it checks for ops->set_voltage_time and when even that is not populated then calls _regulator_set_voltage_time. This throws up warning.

- Keerthy



- Keerthy


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux