[PATCH 2/6] ASoC: SOF: Introduce descriptors for SOF client

gregkh at linuxfoundation.org gregkh at linuxfoundation.org
Mon Oct 5 13:27:11 CEST 2020


On Mon, Oct 05, 2020 at 02:35:09AM +0000, Sridharan, Ranjani wrote:
> On Sat, 2020-10-03 at 11:02 +0200, gregkh at linuxfoundation.org wrote:
> > On Fri, Oct 02, 2020 at 05:07:13PM +0000, Sridharan, Ranjani wrote:
> > > On Fri, 2020-10-02 at 06:53 +0200, gregkh at linuxfoundation.org
> > > wrote:
> > > > On Thu, Oct 01, 2020 at 10:16:00PM +0000, Sridharan, Ranjani
> > > > wrote:
> > > > > On Thu, 2020-10-01 at 15:02 +0200, Greg KH wrote:
> > > > > > On Wed, Sep 30, 2020 at 03:50:47PM -0700, Dave Ertman wrote:
> > > > > > > From: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
> > > > > > > 
> > > > > > > A client in the SOF (Sound Open Firmware) context is a
> > > > > > > device that needs to communicate with the DSP via IPC
> > > > > > > messages. The SOF core is responsible for serializing the
> > > > > > > IPC messages to the DSP from the different clients. One
> > > > > > > example of an SOF client would be an IPC test client that
> > > > > > > floods the DSP with test IPC messages to validate if the
> > > > > > > serialization works as expected. Multi-client support will
> > > > > > > also add the ability to split the existing audio cards
> > > > > > > into multiple ones, so as to e.g. to deal with HDMI with a
> > > > > > > dedicated client instead of adding HDMI to all cards.
> > > > > > > 
> > > > > > > This patch introduces descriptors for SOF client driver
> > > > > > > and SOF client device along with APIs for registering
> > > > > > > and unregistering a SOF client driver, sending IPCs from
> > > > > > > a client device and accessing the SOF core debugfs root
> > > > > > > entry.
> > > > > > > 
> > > > > > > Along with this, add a couple of new members to struct
> > > > > > > snd_sof_dev that will be used for maintaining the list of
> > > > > > > clients.
> > > > > > > 
> > > > > > > Reviewed-by: Pierre-Louis Bossart <
> > > > > > > pierre-louis.bossart at linux.intel.com>
> > > > > > > Signed-off-by: Ranjani Sridharan <
> > > > > > > ranjani.sridharan at linux.intel.com
> > > > > > > Co-developed-by: Fred Oh <fred.oh at linux.intel.com>
> > > > > > > Signed-off-by: Fred Oh <fred.oh at linux.intel.com>
> > > > > > > Signed-off-by: Dave Ertman <david.m.ertman at intel.com>
> > > > > > > ---
> > > > > > >  sound/soc/sof/Kconfig      |  19 ++++++
> > > > > > >  sound/soc/sof/Makefile     |   3 +
> > > > > > >  sound/soc/sof/core.c       |   2 +
> > > > > > >  sound/soc/sof/sof-client.c | 117
> > > > > > > +++++++++++++++++++++++++++++++++++++
> > > > > > >  sound/soc/sof/sof-client.h |  65 +++++++++++++++++++++
> > > > > > >  sound/soc/sof/sof-priv.h   |   6 ++
> > > > > > >  6 files changed, 212 insertions(+)
> > > > > > >  create mode 100644 sound/soc/sof/sof-client.c
> > > > > > >  create mode 100644 sound/soc/sof/sof-client.h
> > > > > > 
> > > > > > As you are creating new sysfs directories, you should have
> > > > > > some
> > > > > > documentation for them :(
> > > > > Hi Greg,
> > > > > 
> > > > > We are not adding any sysfs entries in this series. 
> > > > 
> > > > You added directories in sysfs, right?
> > > Hi Greg,
> > > 
> > > We are not adding any sysfs directories.
> > 
> > Really?  Then what does creating these new devices do in sysfs?  If
> > nothing, then why are they being used at all?  :)
> > 
> > > The only change in the /sys directory will be the new ancillary
> > > devices created in the /sys/bus/ancillary/devices directory ie
> > > snd_sof_client.ipc_test.0 and snd_sof_client.ipc_test.1.
> > 
> > That is what I was referring to.
> > 
> > > In the following patches, we're adding debugfs entries for the ipc
> > > test clients but no other sysfs changes.
> > > 
> > > Is it required to add documentation for these as well?
> > 
> > Why would you not document them?  If you don't do anything with these
> > devices, then why even use them?  debugfs does not require sysfs
> > entries, so I fail to see the need for using this api at all here...
> Hi Greg,
> 
> Pardon my ignorance here a bit. Typically, when registering platform
> devices, we've not added any documentation to highlight how they are
> used. Of course thats no excuse for not doing this right.
> 
> But just to clarify so that we can fix this properly in the next
> version, are we expected to add documentation for the directories added
> in the /sys/bus (ie /sys/bus/ancillary, /sys/bus/ancillary/devices,
> /sys/bus/ancillary/drivers etc) and also for the devices and drivers
> added by the SOF driver?

You are using a brand-new interface, which is designed to represent
things in the driver model and sysfs properly, and yet your usage
doesn't actually take advantage of the driver model or sysfs at all?

That implies to me that you are using this incorrectly.

greg k-h


More information about the Alsa-devel mailing list