Changeset ff16da5f in mainline for uspace/lib/drv/generic/remote_usbdiag.c
- Timestamp:
- 2017-12-21T14:37:30Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 119a794
- Parents:
- 74c0de0
- git-author:
- Petr Mánek <petr.manek@…> (2017-12-21 14:37:23)
- git-committer:
- Petr Mánek <petr.manek@…> (2017-12-21 14:37:30)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/generic/remote_usbdiag.c
r74c0de0 rff16da5f 46 46 IPC_M_USBDIAG_STRESS_INTR_OUT, 47 47 IPC_M_USBDIAG_STRESS_BULK_IN, 48 IPC_M_USBDIAG_STRESS_BULK_OUT 48 IPC_M_USBDIAG_STRESS_BULK_OUT, 49 IPC_M_USBDIAG_STRESS_ISOCH_IN, 50 IPC_M_USBDIAG_STRESS_ISOCH_OUT 49 51 } usb_iface_funcs_t; 50 52 … … 90 92 91 93 return async_req_3_0(exch, DEV_IFACE_ID(USBDIAG_DEV_IFACE), IPC_M_USBDIAG_STRESS_BULK_OUT, cycles, size); 94 } 95 96 int usbdiag_stress_isoch_in(async_exch_t *exch, int cycles, size_t size) 97 { 98 if (!exch) 99 return EBADMEM; 100 101 return async_req_3_0(exch, DEV_IFACE_ID(USBDIAG_DEV_IFACE), IPC_M_USBDIAG_STRESS_ISOCH_IN, cycles, size); 102 } 103 104 int usbdiag_stress_isoch_out(async_exch_t *exch, int cycles, size_t size) 105 { 106 if (!exch) 107 return EBADMEM; 108 109 return async_req_3_0(exch, DEV_IFACE_ID(USBDIAG_DEV_IFACE), IPC_M_USBDIAG_STRESS_ISOCH_OUT, cycles, size); 92 110 } 93 111 … … 96 114 static void remote_usbdiag_stress_bulk_in(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 97 115 static void remote_usbdiag_stress_bulk_out(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 116 static void remote_usbdiag_stress_isoch_in(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 117 static void remote_usbdiag_stress_isoch_out(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 98 118 99 119 /** Remote USB diagnostic interface operations. */ 100 120 static const remote_iface_func_ptr_t remote_usbdiag_iface_ops [] = { 101 [IPC_M_USBDIAG_STRESS_INTR_IN] = remote_usbdiag_stress_intr_in,121 [IPC_M_USBDIAG_STRESS_INTR_IN] = remote_usbdiag_stress_intr_in, 102 122 [IPC_M_USBDIAG_STRESS_INTR_OUT] = remote_usbdiag_stress_intr_out, 103 [ IPC_M_USBDIAG_STRESS_BULK_IN] = remote_usbdiag_stress_bulk_in, 104 [IPC_M_USBDIAG_STRESS_BULK_OUT] = remote_usbdiag_stress_bulk_out 123 [IPC_M_USBDIAG_STRESS_BULK_IN] = remote_usbdiag_stress_bulk_in, 124 [IPC_M_USBDIAG_STRESS_BULK_OUT] = remote_usbdiag_stress_bulk_out, 125 [IPC_M_USBDIAG_STRESS_ISOCH_IN] = remote_usbdiag_stress_isoch_in, 126 [IPC_M_USBDIAG_STRESS_ISOCH_OUT] = remote_usbdiag_stress_isoch_out 105 127 }; 106 128 … … 171 193 } 172 194 195 void remote_usbdiag_stress_isoch_in(ddf_fun_t *fun, void *iface, ipc_callid_t callid, ipc_call_t *call) 196 { 197 const usbdiag_iface_t *diag_iface = (usbdiag_iface_t *) iface; 198 199 if (diag_iface->stress_isoch_in == NULL) { 200 async_answer_0(callid, ENOTSUP); 201 return; 202 } 203 204 int cycles = DEV_IPC_GET_ARG1(*call); 205 size_t size = DEV_IPC_GET_ARG2(*call); 206 const int ret = diag_iface->stress_isoch_in(fun, cycles, size); 207 async_answer_0(callid, ret); 208 } 209 210 void remote_usbdiag_stress_isoch_out(ddf_fun_t *fun, void *iface, ipc_callid_t callid, ipc_call_t *call) 211 { 212 const usbdiag_iface_t *diag_iface = (usbdiag_iface_t *) iface; 213 214 if (diag_iface->stress_isoch_out == NULL) { 215 async_answer_0(callid, ENOTSUP); 216 return; 217 } 218 219 int cycles = DEV_IPC_GET_ARG1(*call); 220 size_t size = DEV_IPC_GET_ARG2(*call); 221 const int ret = diag_iface->stress_isoch_out(fun, cycles, size); 222 async_answer_0(callid, ret); 223 } 224 173 225 /** 174 226 * @}
Note:
See TracChangeset
for help on using the changeset viewer.