On 27 November 2019 12:33, Mark Brown wrote:
On Wed, Nov 27, 2019 at 11:32:54AM +0000, Adam Thomson wrote:
As I said it's a small thing and requires a specific use-case to occur, but having the PLL configured twice for the very first stream in that scenario seems messy. Regarding the SYSCLK approach you mention, I'm not clear how
that
would work so I'm obviously missing something. If we had some init stage indication though that auto PLL was required then we're golden.
There's a bunch of other drivers using the SYSCLK thing, when you call set_sysclk() they provide a different SYSCLK number if they want to use manual mode. If there's a concern about drivers doing stuff on init you could always ask them to set the PLL during init, even if only briefly.
Yeah OK I see what you mean; using the sysclk id. Still doesn't feel like the nicest solution here though. I guess we're stuck with people having to manually configure the PLL for bypass when a non-generic machine driver inits, to avoid the initial double config, as I don't see other options unless you have something to specify at init that it's auto or manual, and this doesn't feel like a DT device specific property thing as it's more software than hardware. At least Sebastian's patch has a good comment block to highlight this.