Unverified Commit 7d8e9d79 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown
Browse files

ASoC: SOF: Drop support for mapped control data



Access through mmapped memory is not supported and it is explicitly
disabled with scontrol->readback_offset = 0; when a control is created.

Remove the dead code and the confusion around this feature.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@intel.com>
Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220330201926.1330402-6-ranjani.sridharan@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 78935913
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -823,7 +823,6 @@ int snd_sof_ipc_set_get_comp_data(struct snd_sof_control *scontrol, bool set)
	enum sof_ipc_ctrl_type ctrl_type;
	struct snd_sof_widget *swidget;
	bool widget_found = false;
	size_t send_bytes;
	u32 ipc_cmd;
	int err;

@@ -847,27 +846,6 @@ int snd_sof_ipc_set_get_comp_data(struct snd_sof_control *scontrol, bool set)
	if (!swidget->use_count)
		return 0;

	/* read or write firmware volume */
	if (scontrol->readback_offset != 0) {
		/* write/read value header via mmaped region */
		send_bytes = sizeof(struct sof_ipc_ctrl_value_chan) *
		cdata->num_elems;
		if (set)
			err = snd_sof_dsp_block_write(sdev, SOF_FW_BLK_TYPE_IRAM,
						      scontrol->readback_offset,
						      cdata->chanv, send_bytes);

		else
			err = snd_sof_dsp_block_read(sdev, SOF_FW_BLK_TYPE_IRAM,
						     scontrol->readback_offset,
						     cdata->chanv, send_bytes);

		if (err)
			dev_err_once(sdev->dev, "error: %s TYPE_IRAM failed\n",
				     set ? "write to" :  "read from");
		return err;
	}

	/*
	 * Select the IPC cmd and the ctrl_type based on the ctrl_cmd and the
	 * direction
+0 −3
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@ static int sof_kcontrol_setup(struct snd_sof_dev *sdev, struct snd_sof_control *
{
	int ret;

	/* reset readback offset for scontrol */
	scontrol->readback_offset = 0;

	ret = snd_sof_ipc_set_get_comp_data(scontrol, true);
	if (ret < 0)
		dev_err(sdev->dev, "error: failed kcontrol value set for widget: %d\n",
+0 −1
Original line number Diff line number Diff line
@@ -247,7 +247,6 @@ struct snd_sof_control {
	int max_volume_step; /* max volume step for volume_table */
	int num_channels;
	unsigned int access;
	u32 readback_offset; /* offset to mmapped data if used */
	int info_type;
	int index; /* pipeline ID */
	void *priv; /* private data copied from topology */