Mark
On 6/10/20 5:29 AM, Mark Brown wrote:
On Tue, Jun 09, 2020 at 02:20:29PM -0500, Dan Murphy wrote:
On 6/9/20 1:47 PM, Mark Brown wrote:
That's really not very idiomatic for how Linux does stuff and seems to
pretty much guarantee issues with hotplugging controls and ordering -
you'd need special userspace to start up even if it was just a really
simple DSP config doing only speaker correction or something. I'm not
sure what the advantage would be - what problem is this solving over
static names?
IMO having a static name is the problem. It is an inflexible design.
Besides the firmware-name property seems to be used in other drivers to
declare firmwares for the boards.
But if no one is complaining or submitting patches within the codecs to be
more flexible with firmware then I can just hard code the name like other
drivers do.
I'm not *completely* opposed to having the ability to suggest a name in
firmware, the big problem is making use of the DSP completely dependent
on having a DT property or doing some non-standard dance in userspace.
Well from what I see we have 4 options.
1. We can have a DT node like RFC'd (Need Rob's comments here)
2. We can have a defconfig flag that hard codes the name (This will
probably be met with some resistance if not some really bad reactions
and I don't prefer to do it this way)
3. We can hard code the name of the firmware in the c file.
4. Dynamically derive a file name based on the I2C bus-address-device
so it would be expected to be "2_4c_tas2563.bin". Just need to figure
out how to get the bus number.
I don't see the user space as a viable option because the codec will
have to load and then the user space would have to request to load the
firmware and then more mixer controls will appear.
Again only option 1 allows us to have different firmware binaries per IC
instance and also denotes the use of the DSP. The DSP is not programmed
until the user space selects the program or configuration from the
binary. So special audio handling is very explicit in the user space.
More then likely most standard distributions will not even use the DSP
for this device it is more of a specialized use case for each product.