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

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

Merge "ASoC: Add support in voice driver to accommodate sid 33 bit in 32 bit mode"

parents b89384d0 8d0b5a2d
Loading
Loading
Loading
Loading
+43 −22
Original line number Diff line number Diff line
@@ -2637,8 +2637,10 @@ static int voice_send_cvs_register_cal_cmd(struct voice_data *v)

	cvs_reg_cal_cmd.cvs_cal_data.cal_mem_handle =
		cal_block->map_data.q6map_handle;
	cvs_reg_cal_cmd.cvs_cal_data.cal_mem_address =
		cal_block->cal_data.paddr;
	cvs_reg_cal_cmd.cvs_cal_data.cal_mem_address_lsw =
		lower_32_bits(cal_block->cal_data.paddr);
	cvs_reg_cal_cmd.cvs_cal_data.cal_mem_address_msw =
		populate_upper_32_bits(cal_block->cal_data.paddr);
	cvs_reg_cal_cmd.cvs_cal_data.cal_mem_size =
		cal_block->cal_data.size;

@@ -2887,8 +2889,10 @@ static int voice_send_cvp_register_dev_cfg_cmd(struct voice_data *v)

	cvp_reg_dev_cfg_cmd.cvp_dev_cfg_data.mem_handle =
		cal_block->map_data.q6map_handle;
	cvp_reg_dev_cfg_cmd.cvp_dev_cfg_data.mem_address =
		cal_block->cal_data.paddr;
	cvp_reg_dev_cfg_cmd.cvp_dev_cfg_data.mem_address_lsw =
		lower_32_bits(cal_block->cal_data.paddr);
	cvp_reg_dev_cfg_cmd.cvp_dev_cfg_data.mem_address_msw =
		populate_upper_32_bits(cal_block->cal_data.paddr);
	cvp_reg_dev_cfg_cmd.cvp_dev_cfg_data.mem_size =
		cal_block->cal_data.size;

@@ -3051,8 +3055,10 @@ static int voice_send_cvp_register_cal_cmd(struct voice_data *v)

	cvp_reg_cal_cmd.cvp_cal_data.cal_mem_handle =
		cal_block->map_data.q6map_handle;
	cvp_reg_cal_cmd.cvp_cal_data.cal_mem_address =
		cal_block->cal_data.paddr;
	cvp_reg_cal_cmd.cvp_cal_data.cal_mem_address_lsw =
		lower_32_bits(cal_block->cal_data.paddr);
	cvp_reg_cal_cmd.cvp_cal_data.cal_mem_address_msw =
		populate_upper_32_bits(cal_block->cal_data.paddr);
	cvp_reg_cal_cmd.cvp_cal_data.cal_mem_size =
		cal_block->cal_data.size;

@@ -3207,8 +3213,10 @@ static int voice_send_cvp_register_vol_cal_cmd(struct voice_data *v)

	cvp_reg_vol_cal_cmd.cvp_vol_cal_data.cal_mem_handle =
		cal_block->map_data.q6map_handle;
	cvp_reg_vol_cal_cmd.cvp_vol_cal_data.cal_mem_address =
		cal_block->cal_data.paddr;
	cvp_reg_vol_cal_cmd.cvp_vol_cal_data.cal_mem_address_lsw =
		lower_32_bits(cal_block->cal_data.paddr);
	cvp_reg_vol_cal_cmd.cvp_vol_cal_data.cal_mem_address_msw =
		populate_upper_32_bits(cal_block->cal_data.paddr);
	cvp_reg_vol_cal_cmd.cvp_vol_cal_data.cal_mem_size =
		cal_block->cal_data.size;

@@ -3368,7 +3376,10 @@ static int voice_map_memory_physical_cmd(struct voice_data *v,
	mvm_map_phys_cmd.hdr.token = token;
	mvm_map_phys_cmd.hdr.opcode = VSS_IMEMORY_CMD_MAP_PHYSICAL;

	mvm_map_phys_cmd.table_descriptor.mem_address = table_info->phys;
	mvm_map_phys_cmd.table_descriptor.mem_address_lsw =
			lower_32_bits(table_info->phys);
	mvm_map_phys_cmd.table_descriptor.mem_address_msw =
			populate_upper_32_bits(table_info->phys);
	mvm_map_phys_cmd.table_descriptor.mem_size =
			sizeof(struct vss_imemory_block_t) +
			sizeof(struct vss_imemory_table_descriptor_t);
@@ -4615,8 +4626,6 @@ static int voice_send_cvs_packet_exchange_config_cmd(struct voice_data *v)
	struct vss_istream_cmd_set_oob_packet_exchange_config_t
						 packet_exchange_config_pkt;
	int ret = 0;
	phys_addr_t dec_buf;
	phys_addr_t enc_buf;
	void *apr_cvs;
	u16 cvs_handle;

@@ -4624,8 +4633,6 @@ static int voice_send_cvs_packet_exchange_config_cmd(struct voice_data *v)
		pr_err("%s: v is NULL\n", __func__);
		return -EINVAL;
	}
	dec_buf = (phys_addr_t)v->shmem_info.sh_buf.buf[0].phys;
	enc_buf = (phys_addr_t)v->shmem_info.sh_buf.buf[1].phys;

	apr_cvs = common.apr_q6_cvs;

@@ -4649,16 +4656,26 @@ static int voice_send_cvs_packet_exchange_config_cmd(struct voice_data *v)
	packet_exchange_config_pkt.hdr.opcode =
			 VSS_ISTREAM_CMD_SET_OOB_PACKET_EXCHANGE_CONFIG;
	packet_exchange_config_pkt.mem_handle = v->shmem_info.mem_handle;
	packet_exchange_config_pkt.dec_buf_addr = (phys_addr_t)dec_buf;
	/* dec buffer address */
	packet_exchange_config_pkt.dec_buf_addr_lsw =
		lower_32_bits(v->shmem_info.sh_buf.buf[0].phys);
	packet_exchange_config_pkt.dec_buf_addr_msw =
		populate_upper_32_bits(v->shmem_info.sh_buf.buf[0].phys);
	packet_exchange_config_pkt.dec_buf_size = 4096;
	packet_exchange_config_pkt.enc_buf_addr = (phys_addr_t)enc_buf;
	/* enc buffer address */
	packet_exchange_config_pkt.enc_buf_addr_lsw =
		lower_32_bits(v->shmem_info.sh_buf.buf[1].phys);
	packet_exchange_config_pkt.enc_buf_addr_msw =
		populate_upper_32_bits(v->shmem_info.sh_buf.buf[1].phys);
	packet_exchange_config_pkt.enc_buf_size = 4096;

	pr_debug("%s: dec buf: add %pa, size %d, enc buf: add %pa, size %d\n",
	pr_debug("%s: dec buf add: lsw %0x msw %0x, size %d, enc buf add: lsw %0x msw %0x, size %d\n",
		__func__,
		&dec_buf,
		packet_exchange_config_pkt.dec_buf_addr_lsw,
		packet_exchange_config_pkt.dec_buf_addr_msw,
		packet_exchange_config_pkt.dec_buf_size,
		&enc_buf,
		packet_exchange_config_pkt.enc_buf_addr_lsw,
		packet_exchange_config_pkt.enc_buf_addr_msw,
		packet_exchange_config_pkt.enc_buf_size);

	v->cvs_state = CMD_STATUS_FAIL;
@@ -8246,14 +8263,18 @@ static int voice_send_get_source_tracking_cmd(struct voice_data *v,

	st_cmd.cvp_get_source_tracking_param.mem_handle	=
				 common.source_tracking_sh_mem.mem_handle;
	st_cmd.cvp_get_source_tracking_param.mem_address =
		(uint64_t)common.source_tracking_sh_mem.sh_mem_block.phys;
	st_cmd.cvp_get_source_tracking_param.mem_address_lsw =
		lower_32_bits(common.source_tracking_sh_mem.sh_mem_block.phys);
	st_cmd.cvp_get_source_tracking_param.mem_address_msw =
		populate_upper_32_bits(common.source_tracking_sh_mem.
					sh_mem_block.phys);
	st_cmd.cvp_get_source_tracking_param.mem_size =
		(uint32_t)common.source_tracking_sh_mem.sh_mem_block.size;
	pr_debug("%s: mem_handle=0x%x, mem_address=0x%llx, mem_size=%d\n",
	pr_debug("%s: mem_handle=0x%x, mem_address_lsw=0x%x, msw=0x%x, mem_size=%d\n",
		 __func__,
		 st_cmd.cvp_get_source_tracking_param.mem_handle,
		 (uint64_t)st_cmd.cvp_get_source_tracking_param.mem_address,
		 st_cmd.cvp_get_source_tracking_param.mem_address_lsw,
		 st_cmd.cvp_get_source_tracking_param.mem_address_msw,
		 (uint32_t)st_cmd.cvp_get_source_tracking_param.mem_size);

	v->cvp_state = CMD_STATUS_FAIL;
+16 −8
Original line number Diff line number Diff line
@@ -399,7 +399,8 @@ struct mvm_set_hd_enable_cmd {
} __packed;

struct vss_imemory_table_descriptor_t {
	uint64_t mem_address;
	uint32_t mem_address_lsw;
	uint32_t mem_address_msw;
	/*
	 * Base physical address of the table. The address must be aligned
	 * to LCM( cache_line_size, page_align, max_data_width ), where the
@@ -785,7 +786,8 @@ struct vss_istream_cmd_set_enc_dtx_mode_t {
struct vss_istream_cmd_register_calibration_data_v2_t {
	uint32_t cal_mem_handle;
	/* Handle to the shared memory that holds the calibration data. */
	uint64_t cal_mem_address;
	uint32_t cal_mem_address_lsw;
	uint32_t cal_mem_address_msw;
	/* Location of calibration data. */
	uint32_t cal_mem_size;
	/* Size of the calibration data in bytes. */
@@ -945,9 +947,11 @@ struct cvs_enc_buffer_consumed_cmd {
struct vss_istream_cmd_set_oob_packet_exchange_config_t {
	struct apr_hdr hdr;
	uint32_t mem_handle;
	uint64_t enc_buf_addr;
	uint32_t enc_buf_addr_lsw;
	uint32_t enc_buf_addr_msw;
	uint32_t enc_buf_size;
	uint64_t dec_buf_addr;
	uint32_t dec_buf_addr_lsw;
	uint32_t dec_buf_addr_msw;
	uint32_t dec_buf_size;
} __packed;

@@ -1180,7 +1184,8 @@ struct vss_ivocproc_cmd_register_device_config_t {
	 * Handle to the shared memory that holds the per-network calibration
	 * data.
	 */
	uint64_t mem_address;
	uint32_t mem_address_lsw;
	uint32_t mem_address_msw;
	/* Location of calibration data. */
	uint32_t mem_size;
	/* Size of the calibration data in bytes. */
@@ -1192,7 +1197,8 @@ struct vss_ivocproc_cmd_register_calibration_data_v2_t {
	 * Handle to the shared memory that holds the per-network calibration
	 * data.
	 */
	uint64_t cal_mem_address;
	uint32_t cal_mem_address_lsw;
	uint32_t cal_mem_address_msw;
	/* Location of calibration data. */
	uint32_t cal_mem_size;
	/* Size of the calibration data in bytes. */
@@ -1211,7 +1217,8 @@ struct vss_ivocproc_cmd_register_volume_cal_data_t {
	 * Handle to the shared memory that holds the volume calibration
	 * data.
	 */
	uint64_t cal_mem_address;
	uint32_t cal_mem_address_lsw;
	uint32_t cal_mem_address_msw;
	/* Location of volume calibration data. */
	uint32_t cal_mem_size;
	/* Size of the volume calibration data in bytes. */
@@ -1503,7 +1510,8 @@ struct cvp_set_sound_focus_param_cmd_t {
/* Payload structure for the VSS_ISOURCETRACK_CMD_GET_ACTIVITY command */
struct vss_isourcetrack_cmd_get_activity_t {
	uint32_t mem_handle;
	uint64_t mem_address;
	uint32_t mem_address_lsw;
	uint32_t mem_address_msw;
	uint32_t mem_size;
} __packed;