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

Commit 8961f17e authored by Mohit Aggarwal's avatar Mohit Aggarwal
Browse files

diag: Add support for CDSP



Add support for diag communication between APPS and CDSP.

Change-Id: I43cffa370f1bee51fb252530c6ae9173bb21110a
Signed-off-by: default avatarSreelakshmi Gownipalli <sgownipa@codeaurora.org>
Signed-off-by: default avatarMohit Aggarwal <maggarwa@codeaurora.org>
parent 69352ff8
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -65,11 +65,13 @@
#define DIAG_CON_WCNSS		(0x0008)	/* Bit mask for WCNSS */
#define DIAG_CON_SENSORS	(0x0010)	/* Bit mask for Sensors */
#define DIAG_CON_WDSP (0x0020) /* Bit mask for WDSP */
#define DIAG_CON_CDSP (0x0040)

#define DIAG_CON_NONE		(0x0000)	/* Bit mask for No SS*/
#define DIAG_CON_ALL		(DIAG_CON_APSS | DIAG_CON_MPSS \
				| DIAG_CON_LPASS | DIAG_CON_WCNSS \
				| DIAG_CON_SENSORS | DIAG_CON_WDSP)
				| DIAG_CON_SENSORS | DIAG_CON_WDSP \
				| DIAG_CON_CDSP)

#define DIAG_STM_MODEM	0x01
#define DIAG_STM_LPASS	0x02
@@ -77,6 +79,7 @@
#define DIAG_STM_APPS	0x08
#define DIAG_STM_SENSORS 0x10
#define DIAG_STM_WDSP 0x20
#define DIAG_STM_CDSP 0x40

#define INVALID_PID		-1
#define DIAG_CMD_FOUND		1
@@ -202,7 +205,8 @@
#define PERIPHERAL_WCNSS	2
#define PERIPHERAL_SENSORS	3
#define PERIPHERAL_WDSP		4
#define NUM_PERIPHERALS		5
#define PERIPHERAL_CDSP		5
#define NUM_PERIPHERALS		6
#define APPS_DATA		(NUM_PERIPHERALS)

/* Number of sessions possible in Memory Device Mode. +1 for Apps data */
+4 −0
Original line number Diff line number Diff line
@@ -385,6 +385,8 @@ static uint32_t diag_translate_kernel_to_user_mask(uint32_t peripheral_mask)
		ret |= DIAG_CON_SENSORS;
	if (peripheral_mask & MD_PERIPHERAL_MASK(PERIPHERAL_WDSP))
		ret |= DIAG_CON_WDSP;
	if (peripheral_mask & MD_PERIPHERAL_MASK(PERIPHERAL_CDSP))
		ret |= DIAG_CON_CDSP;

	return ret;
}
@@ -1525,6 +1527,8 @@ static uint32_t diag_translate_mask(uint32_t peripheral_mask)
		ret |= (1 << PERIPHERAL_SENSORS);
	if (peripheral_mask & DIAG_CON_WDSP)
		ret |= (1 << PERIPHERAL_WDSP);
	if (peripheral_mask & DIAG_CON_CDSP)
		ret |= (1 << PERIPHERAL_CDSP);

	return ret;
}
+35 −0
Original line number Diff line number Diff line
@@ -64,6 +64,13 @@ struct diag_glink_info glink_data[NUM_PERIPHERALS] = {
		.edge = "wdsp",
		.name = "DIAG_DATA",
		.hdl = NULL
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_DATA,
		.edge = "cdsp",
		.name = "DIAG_DATA",
		.hdl = NULL
	}
};

@@ -102,6 +109,13 @@ struct diag_glink_info glink_cntl[NUM_PERIPHERALS] = {
		.edge = "wdsp",
		.name = "DIAG_CTRL",
		.hdl = NULL
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_CNTL,
		.edge = "cdsp",
		.name = "DIAG_CTRL",
		.hdl = NULL
	}
};

@@ -140,6 +154,13 @@ struct diag_glink_info glink_dci[NUM_PERIPHERALS] = {
		.edge = "wdsp",
		.name = "DIAG_DCI_DATA",
		.hdl = NULL
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_DCI,
		.edge = "cdsp",
		.name = "DIAG_DCI_DATA",
		.hdl = NULL
	}
};

@@ -178,6 +199,13 @@ struct diag_glink_info glink_cmd[NUM_PERIPHERALS] = {
		.edge = "wdsp",
		.name = "DIAG_CMD",
		.hdl = NULL
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_CMD,
		.edge = "cdsp",
		.name = "DIAG_CMD",
		.hdl = NULL
	}
};

@@ -216,6 +244,13 @@ struct diag_glink_info glink_dci_cmd[NUM_PERIPHERALS] = {
		.edge = "wdsp",
		.name = "DIAG_DCI_CMD",
		.hdl = NULL
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_DCI_CMD,
		.edge = "cdsp",
		.name = "DIAG_DCI_CMD",
		.hdl = NULL
	}
};

+4 −2
Original line number Diff line number Diff line
@@ -28,14 +28,16 @@
	((x == PERIPHERAL_LPASS) ? DIAG_CON_LPASS :		\
	((x == PERIPHERAL_WCNSS) ? DIAG_CON_WCNSS :		\
	((x == PERIPHERAL_SENSORS) ? DIAG_CON_SENSORS : \
	((x == PERIPHERAL_WDSP) ? DIAG_CON_WDSP : 0)))))	\
	((x == PERIPHERAL_WDSP) ? DIAG_CON_WDSP : \
	((x == PERIPHERAL_CDSP) ? DIAG_CON_CDSP : 0))))))	\

#define PERIPHERAL_STRING(x)					\
	((x == PERIPHERAL_MODEM) ? "MODEM" :			\
	((x == PERIPHERAL_LPASS) ? "LPASS" :			\
	((x == PERIPHERAL_WCNSS) ? "WCNSS" :			\
	((x == PERIPHERAL_SENSORS) ? "SENSORS" :		\
	((x == PERIPHERAL_WDSP) ? "WDSP" : "UNKNOWN")))))	\
	((x == PERIPHERAL_WDSP) ? "WDSP" :			\
	((x == PERIPHERAL_CDSP) ? "CDSP" : "UNKNOWN"))))))	\

struct diagfwd_buf_t {
	unsigned char *data;
+25 −0
Original line number Diff line number Diff line
@@ -54,6 +54,11 @@ struct diag_smd_info smd_data[NUM_PERIPHERALS] = {
		.peripheral = PERIPHERAL_WDSP,
		.type = TYPE_DATA,
		.name = "DIAG_DATA"
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_DATA,
		.name = "CDSP_DATA"
	}
};

@@ -82,6 +87,11 @@ struct diag_smd_info smd_cntl[NUM_PERIPHERALS] = {
		.peripheral = PERIPHERAL_WDSP,
		.type = TYPE_CNTL,
		.name = "DIAG_CTRL"
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_CNTL,
		.name = "CDSP_CNTL"
	}
};

@@ -110,6 +120,11 @@ struct diag_smd_info smd_dci[NUM_PERIPHERALS] = {
		.peripheral = PERIPHERAL_WDSP,
		.type = TYPE_DCI,
		.name = "DIAG_DCI_DATA"
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_DCI,
		.name = "CDSP_DCI"
	}
};

@@ -138,6 +153,11 @@ struct diag_smd_info smd_cmd[NUM_PERIPHERALS] = {
		.peripheral = PERIPHERAL_WDSP,
		.type = TYPE_CMD,
		.name = "DIAG_CMD"
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_CMD,
		.name = "CDSP_CMD"
	}
};

@@ -166,6 +186,11 @@ struct diag_smd_info smd_dci_cmd[NUM_PERIPHERALS] = {
		.peripheral = PERIPHERAL_WDSP,
		.type = TYPE_DCI_CMD,
		.name = "DIAG_DCI_CMD"
	},
	{
		.peripheral = PERIPHERAL_CDSP,
		.type = TYPE_DCI_CMD,
		.name = "CDSP_DCI_CMD"
	}
};

Loading