On 23/04/2018 17:44, Mark Brown wrote:
On Fri, Apr 20, 2018 at 12:04:42PM +0200, Jean-Jacques Hiblot wrote:
The TAS6424 incorporates both DC-load and AC-load diagnostics which are used to determine the status of the load. The DC diagnostics runs when any channel is directed to leave the Hi-Z state and enter the MUTE or PLAY state. The DC diagnostics are turned on by default but if a fast startup without diagnostics is required the DC diagnostics can be bypassed by adding the property "disable-auto-diagnostics".
This is making me think we should be smarter here and either only run the diagnostics once during boot or provide a user control for the diagnostics. It seems like something that is more of a runtime software decision than something that's fixed in hardware design, is there anything about the hardware design that'd make it impossible to run diagnostics?
I can't think of anything that would make it unusable. This auto diagnostic is really useful in cars where wires can get disconnected or shorted to ground. In quieter environment it may not be as useful, and a test at startup may be sufficient. Diagnostics can also be triggered at will. Do you think a sysfs interface would be better suited to disable the autodiag ?
Thanks for your comment on the series.
JJ
- if (tas6424->no_auto_diags) {
/*
* Disable DC auto-diagnostics to save time when channel leave
* Hi-Z state
*/
ret = regmap_update_bits(tas6424->regmap,
TAS6424_DC_DIAG_CTRL1,
0xff, TAS6424_LDGBYPASS);
This could just be exposed to userspace as a simple switch control couldn't it? I do note that it masks more bits than it sets though...