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

Commit 51449c1f authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "diag: Add support for CDSP" into msm-4.8

parents a1706c31 588a31d1
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -64,11 +64,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
@@ -76,6 +78,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
@@ -201,7 +204,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
@@ -383,6 +383,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;
}
@@ -1520,6 +1522,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;
}
+10 −0
Original line number Diff line number Diff line
@@ -566,6 +566,10 @@ int diag_process_stm_cmd(unsigned char *buf, unsigned char *dest_buf)
			diag_process_stm_mask(cmd, DIAG_STM_WDSP,
						PERIPHERAL_WDSP);

		if (mask & DIAG_STM_CDSP)
			diag_process_stm_mask(cmd, DIAG_STM_CDSP,
						PERIPHERAL_CDSP);

		if (mask & DIAG_STM_APPS)
			diag_process_stm_mask(cmd, DIAG_STM_APPS, APPS_DATA);
	}
@@ -589,6 +593,9 @@ int diag_process_stm_cmd(unsigned char *buf, unsigned char *dest_buf)
	if (driver->feature[PERIPHERAL_WDSP].stm_support)
		rsp_supported |= DIAG_STM_WDSP;

	if (driver->feature[PERIPHERAL_CDSP].stm_support)
		rsp_supported |= DIAG_STM_CDSP;

	rsp_supported |= DIAG_STM_APPS;

	/* Set mask denoting STM state/status for each peripheral/APSS */
@@ -607,6 +614,9 @@ int diag_process_stm_cmd(unsigned char *buf, unsigned char *dest_buf)
	if (driver->stm_state[PERIPHERAL_WDSP])
		rsp_status |= DIAG_STM_WDSP;

	if (driver->stm_state[PERIPHERAL_CDSP])
		rsp_status |= DIAG_STM_CDSP;

	if (driver->stm_state[APPS_DATA])
		rsp_status |= DIAG_STM_APPS;

+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
@@ -27,14 +27,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;
Loading