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

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

Merge "media: mpq: sdmx: use 64 bits for physical address"

parents b7cd21dc 6d9ab2ca
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#include "mpq_dmx_plugin_common.h"
#include "mpq_sdmx.h"

#define SDMX_MAJOR_VERSION_MATCH	(7)
#define SDMX_MAJOR_VERSION_MATCH	(8)

/* Length of mandatory fields that must exist in header of video PES */
#define PES_MANDATORY_FIELDS_LEN			9
+12 −36
Original line number Diff line number Diff line
@@ -46,27 +46,11 @@ enum sdmx_cmd_id {

#pragma pack(push, sdmx, 1)

struct __sdmx_buff_descr {
	/* 32bit Physical address where buffer starts */
	u32 base_addr;

	/* Size of buffer */
	u32 size;
};

struct __sdmx_data_buff_descr {
	/* 32bit Physical chunks of the buffer */
	struct __sdmx_buff_descr buff_chunks[SDMX_MAX_PHYSICAL_CHUNKS];

	/* Length of buffer */
	u32 length;
};

struct sdmx_proc_req {
	enum sdmx_cmd_id cmd_id;
	u32 session_handle;
	u8 flags;
	struct __sdmx_buff_descr in_buf_descr;
	struct sdmx_buff_descr in_buf_descr;
	u32 inp_fill_cnt;
	u32 in_rd_offset;
	u32 num_filters;
@@ -129,12 +113,12 @@ struct sdmx_add_filt_req {
	u32 session_handle;
	u32 pid;
	enum sdmx_filter filter_type;
	struct __sdmx_buff_descr meta_data_buf;
	struct sdmx_buff_descr meta_data_buf;
	enum sdmx_buf_mode buffer_mode;
	enum sdmx_raw_out_format ts_out_format;
	u32 flags;
	u32 num_data_bufs;
	struct __sdmx_data_buff_descr data_bufs[];
	struct sdmx_data_buff_descr data_bufs[];
};

struct sdmx_add_filt_rsp {
@@ -517,7 +501,7 @@ int sdmx_add_filter(int session_handle,
	enum sdmx_raw_out_format ts_out_format,
	u32 flags)
{
	int res, cmd_len, rsp_len, i, j;
	int res, cmd_len, rsp_len;
	struct sdmx_add_filt_req *cmd;
	struct sdmx_add_filt_rsp *rsp;
	enum sdmx_status ret;
@@ -527,7 +511,7 @@ int sdmx_add_filter(int session_handle,
		return SDMX_STATUS_INVALID_INPUT_PARAMS;

	cmd_len = sizeof(struct sdmx_add_filt_req)
		+ num_data_bufs * sizeof(struct __sdmx_data_buff_descr);
		+ num_data_bufs * sizeof(struct sdmx_data_buff_descr);
	rsp_len = sizeof(struct sdmx_add_filt_rsp);

	/* Will be later overridden by SDMX response */
@@ -549,24 +533,16 @@ int sdmx_add_filter(int session_handle,
	cmd->filter_type = filterype;
	cmd->ts_out_format = ts_out_format;
	cmd->flags = flags;
	if (meta_data_buf != NULL) {
		cmd->meta_data_buf.base_addr = (u32)meta_data_buf->base_addr;
		cmd->meta_data_buf.size = meta_data_buf->size;
	} else {
	if (meta_data_buf != NULL)
		memcpy(&(cmd->meta_data_buf), meta_data_buf,
				sizeof(struct sdmx_buff_descr));
	else
		memset(&(cmd->meta_data_buf), 0, sizeof(cmd->meta_data_buf));
	}

	cmd->buffer_mode = d_buf_mode;
	cmd->num_data_bufs = num_data_bufs;
	for (i = 0; i < num_data_bufs; i++) {
		for (j = 0; j < SDMX_MAX_PHYSICAL_CHUNKS; j++) {
			cmd->data_bufs[i].buff_chunks[j].base_addr =
				(u32)data_bufs[i].buff_chunks[j].base_addr;
			cmd->data_bufs[i].buff_chunks[j].size =
				data_bufs[i].buff_chunks[j].size;
		}
		cmd->data_bufs[i].length = data_bufs[i].length;
	}
	memcpy(cmd->data_bufs, data_bufs,
			num_data_bufs * sizeof(struct sdmx_data_buff_descr));

	/* Issue QSEECom command */
	res = qseecom_send_command(sdmx_qseecom_handles[session_handle],
@@ -857,7 +833,7 @@ int sdmx_process(int session_handle, u8 flags,
	cmd->cmd_id = SDMX_PROCESS_CMD;
	cmd->session_handle = session_handle;
	cmd->flags = flags;
	cmd->in_buf_descr.base_addr = (u32)input_buf_desc->base_addr;
	cmd->in_buf_descr.base_addr = input_buf_desc->base_addr;
	cmd->in_buf_descr.size = input_buf_desc->size;
	cmd->inp_fill_cnt = *input_fill_count;
	cmd->in_rd_offset = *input_read_offset;