diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-12-20 23:44:44 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-12-20 23:44:43 -0800 |
| commit | f21063458aef9717ef2e6cf130104f9c0eec1f71 (patch) | |
| tree | 7dbbc5004f8928cc2de381896f07aa17737d48e2 /drivers/char | |
| parent | 9660a520b9edd6d142e40e3b266f0ef8ff7b20a0 (diff) | |
| parent | 8961f17e6b7f77238443d3cbe581960d59718fb4 (diff) | |
Merge "diag: Add support for CDSP"
Diffstat (limited to 'drivers/char')
| -rw-r--r-- | drivers/char/diag/diagchar.h | 8 | ||||
| -rw-r--r-- | drivers/char/diag/diagchar_core.c | 4 | ||||
| -rw-r--r-- | drivers/char/diag/diagfwd_glink.c | 35 | ||||
| -rw-r--r-- | drivers/char/diag/diagfwd_peripheral.h | 6 | ||||
| -rw-r--r-- | drivers/char/diag/diagfwd_smd.c | 25 | ||||
| -rw-r--r-- | drivers/char/diag/diagfwd_socket.c | 31 |
6 files changed, 104 insertions, 5 deletions
diff --git a/drivers/char/diag/diagchar.h b/drivers/char/diag/diagchar.h index 35cbe3b6b596..67db49badf21 100644 --- a/drivers/char/diag/diagchar.h +++ b/drivers/char/diag/diagchar.h @@ -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 */ diff --git a/drivers/char/diag/diagchar_core.c b/drivers/char/diag/diagchar_core.c index 9d0955289796..85be81e88696 100644 --- a/drivers/char/diag/diagchar_core.c +++ b/drivers/char/diag/diagchar_core.c @@ -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; } diff --git a/drivers/char/diag/diagfwd_glink.c b/drivers/char/diag/diagfwd_glink.c index ce523ac35a51..e761e6ec4e39 100644 --- a/drivers/char/diag/diagfwd_glink.c +++ b/drivers/char/diag/diagfwd_glink.c @@ -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 } }; diff --git a/drivers/char/diag/diagfwd_peripheral.h b/drivers/char/diag/diagfwd_peripheral.h index cbbab86a9425..b5f360ac5158 100644 --- a/drivers/char/diag/diagfwd_peripheral.h +++ b/drivers/char/diag/diagfwd_peripheral.h @@ -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; diff --git a/drivers/char/diag/diagfwd_smd.c b/drivers/char/diag/diagfwd_smd.c index f0698f0814d6..51ab58b99fdd 100644 --- a/drivers/char/diag/diagfwd_smd.c +++ b/drivers/char/diag/diagfwd_smd.c @@ -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" } }; diff --git a/drivers/char/diag/diagfwd_socket.c b/drivers/char/diag/diagfwd_socket.c index 2f9ec51a17ba..bedb56e745dc 100644 --- a/drivers/char/diag/diagfwd_socket.c +++ b/drivers/char/diag/diagfwd_socket.c @@ -41,6 +41,7 @@ #define WCNSS_INST_BASE 128 #define SENSORS_INST_BASE 192 #define WDSP_INST_BASE 256 +#define CDSP_INST_BASE 320 #define INST_ID_CNTL 0 #define INST_ID_CMD 1 @@ -75,6 +76,11 @@ struct diag_socket_info socket_data[NUM_PERIPHERALS] = { .peripheral = PERIPHERAL_WDSP, .type = TYPE_DATA, .name = "DIAG_DATA" + }, + { + .peripheral = PERIPHERAL_CDSP, + .type = TYPE_DATA, + .name = "CDSP_DATA" } }; @@ -103,6 +109,11 @@ struct diag_socket_info socket_cntl[NUM_PERIPHERALS] = { .peripheral = PERIPHERAL_WDSP, .type = TYPE_CNTL, .name = "DIAG_CTRL" + }, + { + .peripheral = PERIPHERAL_CDSP, + .type = TYPE_CNTL, + .name = "CDSP_CNTL" } }; @@ -131,6 +142,11 @@ struct diag_socket_info socket_dci[NUM_PERIPHERALS] = { .peripheral = PERIPHERAL_WDSP, .type = TYPE_DCI, .name = "DIAG_DCI_DATA" + }, + { + .peripheral = PERIPHERAL_CDSP, + .type = TYPE_DCI, + .name = "CDSP_DCI" } }; @@ -159,6 +175,11 @@ struct diag_socket_info socket_cmd[NUM_PERIPHERALS] = { .peripheral = PERIPHERAL_WDSP, .type = TYPE_CMD, .name = "DIAG_CMD" + }, + { + .peripheral = PERIPHERAL_CDSP, + .type = TYPE_CMD, + .name = "CDSP_CMD" } }; @@ -188,7 +209,12 @@ struct diag_socket_info socket_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" + }, }; static void diag_state_open_socket(void *ctxt); @@ -741,6 +767,9 @@ static void __diag_socket_init(struct diag_socket_info *info) case PERIPHERAL_WDSP: ins_base = WDSP_INST_BASE; break; + case PERIPHERAL_CDSP: + ins_base = CDSP_INST_BASE; + break; } switch (info->type) { |
