[PATCH 3/6] ASoC: SOF: Create client driver for IPC test

Sridharan, Ranjani ranjani.sridharan at intel.com
Thu Oct 1 18:46:53 CEST 2020


On Thu, 2020-10-01 at 15:04 +0200, Greg KH wrote:
> On Wed, Sep 30, 2020 at 03:50:48PM -0700, Dave Ertman wrote:
> > +/*
> > + * The IPC test client creates a couple of debugfs entries that
> > will be used
> > + * flood tests. Users can write to these entries to execute the
> > IPC flood test
> > + * by specifying either the number of IPCs to flood the DSP with
> > or the duration
> > + * (in ms) for which the DSP should be flooded with test IPCs. At
> > the
> > + * end of each test, the average, min and max response times are
> > reported back.
> > + * The results of the last flood test can be accessed by reading
> > the debugfs
> > + * entries.
> > + */
> > +static int sof_ipc_test_probe(struct ancillary_device *ancildev,
> > +			      const struct ancillary_device_id *id)
> > +{
> > +	struct sof_client_dev *cdev =
> > ancillary_dev_to_sof_client_dev(ancildev);
> > +	struct sof_ipc_client_data *ipc_client_data;
> > +
> > +	/*
> > +	 * The ancillary device has a usage count of 0 even before
> > runtime PM
> > +	 * is enabled. So, increment the usage count to let the device
> > +	 * suspend after probe is complete.
> > +	 */
> > +	pm_runtime_get_noresume(&ancildev->dev);
> > +
> > +	/* allocate memory for client data */
> > +	ipc_client_data = devm_kzalloc(&ancildev->dev,
> > sizeof(*ipc_client_data), GFP_KERNEL);
> > +	if (!ipc_client_data)
> > +		return -ENOMEM;
> > +
> > +	ipc_client_data->buf = devm_kzalloc(&ancildev->dev,
> > IPC_FLOOD_TEST_RESULT_LEN, GFP_KERNEL);
> > +	if (!ipc_client_data->buf)
> > +		return -ENOMEM;
> > +
> > +	cdev->data = ipc_client_data;
> > +
> > +	/* create debugfs root folder with device name under parent SOF
> > dir */
> > +	ipc_client_data->dfs_root =
> > debugfs_create_dir(dev_name(&ancildev->dev),
> > +						       sof_client_get_d
> > ebugfs_root(cdev));
> > +
> > +	/* create read-write ipc_flood_count debugfs entry */
> > +	debugfs_create_file("ipc_flood_count", 0644, ipc_client_data-
> > >dfs_root,
> > +			    cdev, &sof_ipc_dfs_fops);
> > +
> > +	/* create read-write ipc_flood_duration_ms debugfs entry */
> > +	debugfs_create_file("ipc_flood_duration_ms", 0644,
> > ipc_client_data->dfs_root,
> > +			    cdev, &sof_ipc_dfs_fops);
> 
> These debugfs files are never removed, why not?
Looks like a miss. Will fix.

Thanks,
Ranjani


More information about the Alsa-devel mailing list