@@ -183,6 +183,28 @@ struct mctp_ctrl_resp_resolve_endpoint_id {
183
183
// ... uint8_t physical_address[N]
184
184
} __attribute__((__packed__ ));
185
185
186
+ typedef enum {
187
+ mctp_ctrl_cmd_allocate_eids_alloc_eids = 0 ,
188
+ mctp_ctrl_cmd_allocate_eids_force_alloc = 1 ,
189
+ mctp_ctrl_cmd_allocate_eids_get_alloc_info = 2 ,
190
+ mctp_ctrl_cmd_allocate_eids_reserved = 3
191
+ } mctp_ctrl_cmd_allocate_eids_op ;
192
+
193
+ struct mctp_ctrl_cmd_allocate_eids {
194
+ struct mctp_ctrl_msg_hdr ctrl_hdr ;
195
+ uint8_t alloc_eid_op ;
196
+ uint8_t pool_size ;
197
+ uint8_t start_eid ;
198
+ } __attribute__((__packed__ ));
199
+
200
+ struct mctp_ctrl_resp_allocate_eids {
201
+ struct mctp_ctrl_msg_hdr ctrl_hdr ;
202
+ uint8_t completion_code ;
203
+ uint8_t status ;
204
+ uint8_t eid_pool_size ;
205
+ uint8_t eid_set ;
206
+ } __attribute__((__packed__ ));
207
+
186
208
#define MCTP_CTRL_HDR_MSG_TYPE 0
187
209
#define MCTP_CTRL_HDR_FLAG_REQUEST (1 << 7)
188
210
#define MCTP_CTRL_HDR_FLAG_DGRAM (1 << 6)
@@ -257,6 +279,28 @@ struct mctp_ctrl_resp_resolve_endpoint_id {
257
279
#define MCTP_SET_EID_ACCEPTED 0x0
258
280
#define MCTP_SET_EID_REJECTED 0x1
259
281
282
+ /* MCTP Get Endpoint ID request and response fields
283
+ * See DSP0236 v1.3.0 Table 15.
284
+ */
285
+ #define MCTP_GET_EID_EP_TYPE_SHIFT 4
286
+ #define MCTP_GET_EID_EP_TYPE_MASK 0x03
287
+ #define GET_MCTP_GET_EID_EP_TYPE (field ) \
288
+ (((field) >> MCTP_GET_EID_EP_TYPE_SHIFT) & MCTP_GET_EID_EP_TYPE_MASK)
289
+ #define MCTP_GET_EID_EP_TYPE_EP 0
290
+ #define MCTP_GET_EID_EP_TYPE_BRIDGE 1
291
+
292
+ #define MCTP_GET_EID_EID_TYPE_SHIFT 0
293
+ #define MCTP_GET_EID_EID_TYPE_MASK 0x03
294
+ #define GET_MCTP_GET_EID_EID_TYPE (field ) \
295
+ (((field) >> MCTP_GET_EID_EID_TYPE_SHIFT) & MCTP_GET_EID_EID_TYPE_MASK)
296
+ #define MCTP_GET_EID_EID_TYPE_DYNAMIC 0
297
+ /* Static EID is supported, may or may not match current */
298
+ #define MCTP_GET_EID_EID_TYPE_STATIC 1
299
+ /* Current eid is the same as static */
300
+ #define MCTP_GET_EID_EID_TYPE_STATIC_SAME 2
301
+ /* Current eid is different from static */
302
+ #define MCTP_GET_EID_EID_TYPE_STATIC_DIFFERENT 3
303
+
260
304
#define MCTP_EID_ALLOCATION_STATUS_SHIFT 0x0
261
305
#define MCTP_EID_ALLOCATION_STATUS_MASK 0x3
262
306
#define SET_MCTP_EID_ALLOCATION_STATUS (status ) \
0 commit comments