On Wed, Dec 14, 2022 at 09:40:02AM -0700, Shuah Khan wrote:
On 12/14/22 06:03, Nícolas F. R. A. Prado wrote:
The default timeout for kselftests is 45 seconds, but that isn't enough time to run pcm-test when there are many PCMs on the device, nor for mixer-test when slower control buses and fancier CODECs are present.
As data points, running pcm-test on mt8192-asurada-spherion takes about 1m15s, and mixer-test on rk3399-gru-kevin takes about 2m.
Set the timeout to 4 minutes to allow both pcm-test and mixer-test to run to completion with some slack.
What I have in mind is that the default run can be limited scope. Run it on a few controllers and in the report mention that a full test can be run as needed.
There are a couple of examples of default vs. full test runs - cpu and memory hot-lug tests.
For pcm-test it's probably more sensible to refactor things to run multiple PCMs (or at least cards, though that's less relevant in an embedded context) in parallel rather than cut down the test coverage, it's already very limited coverage as things stand. There is some risk there could be false positives from cross talk between the PCMs but it's probably worth it.
With mixer-test if it's actually taking a long time to run generally this is just identifying that the driver could use some work, implementing runtime power management and a register cache will probably resolve most issues.