Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c7a48ce authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: qdsp6v2: Add support of ULL and LL"

parents 494cb56b 2a43f739
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,12 @@ Required properties:
      - qti,msm-pcm-low-latency : Flag indicating whether
        the device node is of type low latency.

      - qti,latency-level : Flag indicating whether the device node
                            is of type regular low latency or ultra
                            low latency.
                            regular : regular low latency stream
                            ultra : ultra low latency stream

* msm-pcm-routing

Required properties:
+4 −4
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ struct route_payload {
int srs_trumedia_open(int port_id, int srs_tech_id, void *srs_params);

int adm_open(int port, int path, int rate, int mode, int topology,
				bool perf_mode, uint16_t bits_per_sample);
				int perf_mode, uint16_t bits_per_sample);

int adm_get_params(int port_id, uint32_t module_id, uint32_t param_id,
			uint32_t params_length, char *params);
@@ -40,7 +40,7 @@ int adm_dolby_dap_send_params(int port_id, char *params,
				 uint32_t params_length);

int adm_multi_ch_copp_open(int port, int path, int rate, int mode,
			int topology, bool perf_mode, uint16_t bits_per_sample);
			int topology, int perf_mode, uint16_t bits_per_sample);

int adm_unmap_cal_blocks(void);

@@ -53,10 +53,10 @@ int adm_memory_map_regions(int port_id, uint32_t *buf_add, uint32_t mempool_id,

int adm_memory_unmap_regions(int port_id);

int adm_close(int port, bool perf_mode);
int adm_close(int port, int perf_mode);

int adm_matrix_map(int session_id, int path, int num_copps,
		unsigned int *port_id, int copp_id, bool perf_mode);
		unsigned int *port_id, int copp_id, int perf_mode);

int adm_connect_afe_port(int mode, int session_id, int port_id);

+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ struct audio_client {
	struct audio_port_data port[2];
	wait_queue_head_t      cmd_wait;
	wait_queue_head_t      time_wait;
	bool                   perf_mode;
	int                    perf_mode;
	int					   stream_id;
	/* audio cache operations fptr*/
	int (*fptr_cache_ops)(struct audio_buffer *abuff, int cache_op);
+7 −0
Original line number Diff line number Diff line
@@ -15,6 +15,13 @@

#include <mach/qdsp6v2/apr.h>

enum {
	LEGACY_PCM_MODE = 0,
	LOW_LATENCY_PCM_MODE,
	ULTRA_LOW_LATENCY_PCM_MODE,
};


int q6audio_get_port_index(u16 port_id);

int q6audio_convert_virtual_to_portid(u16 port_id);
+13 −3
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include <sound/pcm.h>
#include <sound/initval.h>
#include <sound/control.h>
#include <sound/q6audio-v2.h>
#include <asm/dma.h>
#include <linux/dma-mapping.h>
#include <linux/msm_audio_ion.h>
@@ -918,6 +919,7 @@ static int msm_pcm_probe(struct platform_device *pdev)
	int rc;
	int id;
	struct msm_plat_data *pdata;
	const char *latency_level;

	rc = of_property_read_u32(pdev->dev.of_node,
				"qti,msm-pcm-dsp-id", &id);
@@ -934,10 +936,18 @@ static int msm_pcm_probe(struct platform_device *pdev)
	}

	if (of_property_read_bool(pdev->dev.of_node,
				"qti,msm-pcm-low-latency"))
		pdata->perf_mode = 1;
				"qti,msm-pcm-low-latency")) {

		pdata->perf_mode = LOW_LATENCY_PCM_MODE;
		rc = of_property_read_string(pdev->dev.of_node,
			"qti,latency-level", &latency_level);
		if (!rc) {
			if (!strcmp(latency_level, "ultra"))
				pdata->perf_mode = ULTRA_LOW_LATENCY_PCM_MODE;
		}
	}
	else
		pdata->perf_mode = 0;
		pdata->perf_mode = LEGACY_PCM_MODE;

	dev_set_drvdata(&pdev->dev, pdata);

Loading