Commit 0d17e0c9 authored by Mark A. Greer's avatar Mark A. Greer Committed by Greg Kroah-Hartman
Browse files

greybus: gb-audio: Set samples per message during init



A recent commit moved the I2S samples per message operation
to the PCM's 'hw_params' callback.  However, the 'hw_params'
callback is called numerous times while the samples per
message need only be done once (or seldom).  Eliminate the
unnecessary samples per message operations by doing it only
once at Greybus protocol init time.

Signed-off-by: default avatarMark A. Greer <mgreer@animalcreek.com>
Acked-by: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 6b34099e
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -177,15 +177,8 @@ int gb_i2s_mgmt_set_cfg(struct gb_snd *snd_dev, int rate, int chans,
	set_cfg.config.ll_wclk_rx_edge = GB_I2S_MGMT_EDGE_FALLING;

	ret = gb_i2s_mgmt_set_configuration(snd_dev->mgmt_connection, &set_cfg);
	if (ret) {
		pr_err("set_configuration failed: %d\n", ret);
		return ret;
	}

	ret = gb_i2s_mgmt_set_samples_per_message(snd_dev->mgmt_connection,
						  CONFIG_SAMPLES_PER_MSG);
	if (ret)
		pr_err("set_samples_per_msg failed: %d\n", ret);
		pr_err("set_configuration failed: %d\n", ret);

	return ret;
}
+7 −0
Original line number Diff line number Diff line
@@ -292,6 +292,13 @@ static int gb_i2s_mgmt_connection_init(struct gb_connection *connection)
		goto err_free_snd_dev;
	}

	ret = gb_i2s_mgmt_set_samples_per_message(snd_dev->mgmt_connection,
						  CONFIG_SAMPLES_PER_MSG);
	if (ret) {
		pr_err("set_samples_per_msg failed: %d\n", ret);
		goto err_free_i2s_configs;
	}

	snd_dev->send_data_req_buf = kzalloc(SEND_DATA_BUF_LEN, GFP_KERNEL);

	if (!snd_dev->send_data_req_buf) {