Unverified Commit 7b6be935 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown
Browse files

ASoC: SDCA: Parse Function Reset max delay

parent 0a5e9769
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1323,6 +1323,8 @@ enum sdca_cluster_range {
 * @num_clusters: Number of Channel Clusters reported in this Function.
 * @busy_max_delay: Maximum Function busy delay in microseconds, before an
 * error should be reported.
 * @reset_max_delay: Maximum Function reset delay in microseconds, before an
 * error should be reported.
 */
struct sdca_function_data {
	struct sdca_function_desc *desc;
@@ -1335,6 +1337,7 @@ struct sdca_function_data {
	int num_clusters;

	unsigned int busy_max_delay;
	unsigned int reset_max_delay;
};

static inline u32 sdca_range(struct sdca_control_range *range,
+8 −2
Original line number Diff line number Diff line
@@ -2033,8 +2033,14 @@ int sdca_parse_function(struct device *dev, struct sdw_slave *sdw,
	if (!ret)
		function->busy_max_delay = tmp;

	dev_info(dev, "%pfwP: name %s delay %dus\n", function->desc->node,
		 function->desc->name, function->busy_max_delay);
	ret = fwnode_property_read_u32(function_desc->node,
				       "mipi-sdca-function-reset-max-delay", &tmp);
	if (!ret)
		function->reset_max_delay = tmp;

	dev_info(dev, "%pfwP: name %s busy delay %dus reset delay %dus\n",
		 function->desc->node, function->desc->name,
		 function->busy_max_delay, function->reset_max_delay);

	ret = find_sdca_init_table(dev, function_desc->node, function);
	if (ret)