1f9cb74fdSHoria Geantă /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ 2f9cb74fdSHoria Geantă /* 3f9cb74fdSHoria Geantă * Copyright 2013-2016 Freescale Semiconductor Inc. 4f9cb74fdSHoria Geantă * Copyright 2017-2018 NXP 5f9cb74fdSHoria Geantă */ 6f9cb74fdSHoria Geantă #ifndef _DPSECI_H_ 7f9cb74fdSHoria Geantă #define _DPSECI_H_ 8f9cb74fdSHoria Geantă 9f9cb74fdSHoria Geantă /* 10f9cb74fdSHoria Geantă * Data Path SEC Interface API 11f9cb74fdSHoria Geantă * Contains initialization APIs and runtime control APIs for DPSECI 12f9cb74fdSHoria Geantă */ 13f9cb74fdSHoria Geantă 14f9cb74fdSHoria Geantă struct fsl_mc_io; 15f9cb74fdSHoria Geantă 16f9cb74fdSHoria Geantă /** 17f9cb74fdSHoria Geantă * General DPSECI macros 18f9cb74fdSHoria Geantă */ 19f9cb74fdSHoria Geantă 20f9cb74fdSHoria Geantă /** 21f9cb74fdSHoria Geantă * Maximum number of Tx/Rx queues per DPSECI object 22f9cb74fdSHoria Geantă */ 23f9cb74fdSHoria Geantă #define DPSECI_MAX_QUEUE_NUM 16 24f9cb74fdSHoria Geantă 25f9cb74fdSHoria Geantă /** 26f9cb74fdSHoria Geantă * All queues considered; see dpseci_set_rx_queue() 27f9cb74fdSHoria Geantă */ 28f9cb74fdSHoria Geantă #define DPSECI_ALL_QUEUES (u8)(-1) 29f9cb74fdSHoria Geantă 30f9cb74fdSHoria Geantă int dpseci_open(struct fsl_mc_io *mc_io, u32 cmd_flags, int dpseci_id, 31f9cb74fdSHoria Geantă u16 *token); 32f9cb74fdSHoria Geantă 33f9cb74fdSHoria Geantă int dpseci_close(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); 34f9cb74fdSHoria Geantă 35f9cb74fdSHoria Geantă /** 36f9cb74fdSHoria Geantă * Enable the Congestion Group support 37f9cb74fdSHoria Geantă */ 38f9cb74fdSHoria Geantă #define DPSECI_OPT_HAS_CG 0x000020 39f9cb74fdSHoria Geantă 40f9cb74fdSHoria Geantă /** 41f9cb74fdSHoria Geantă * struct dpseci_cfg - Structure representing DPSECI configuration 42f9cb74fdSHoria Geantă * @options: Any combination of the following flags: 43f9cb74fdSHoria Geantă * DPSECI_OPT_HAS_CG 44f9cb74fdSHoria Geantă * @num_tx_queues: num of queues towards the SEC 45f9cb74fdSHoria Geantă * @num_rx_queues: num of queues back from the SEC 46f9cb74fdSHoria Geantă * @priorities: Priorities for the SEC hardware processing; 47f9cb74fdSHoria Geantă * each place in the array is the priority of the tx queue 48f9cb74fdSHoria Geantă * towards the SEC; 49f9cb74fdSHoria Geantă * valid priorities are configured with values 1-8; 50f9cb74fdSHoria Geantă */ 51f9cb74fdSHoria Geantă struct dpseci_cfg { 52f9cb74fdSHoria Geantă u32 options; 53f9cb74fdSHoria Geantă u8 num_tx_queues; 54f9cb74fdSHoria Geantă u8 num_rx_queues; 55f9cb74fdSHoria Geantă u8 priorities[DPSECI_MAX_QUEUE_NUM]; 56f9cb74fdSHoria Geantă }; 57f9cb74fdSHoria Geantă 58f9cb74fdSHoria Geantă int dpseci_enable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); 59f9cb74fdSHoria Geantă 60f9cb74fdSHoria Geantă int dpseci_disable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); 61f9cb74fdSHoria Geantă 62*060ce503SAndrei Botila int dpseci_reset(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); 63*060ce503SAndrei Botila 64f9cb74fdSHoria Geantă int dpseci_is_enabled(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, 65f9cb74fdSHoria Geantă int *en); 66f9cb74fdSHoria Geantă 67f9cb74fdSHoria Geantă /** 68f9cb74fdSHoria Geantă * struct dpseci_attr - Structure representing DPSECI attributes 69f9cb74fdSHoria Geantă * @id: DPSECI object ID 70f9cb74fdSHoria Geantă * @num_tx_queues: number of queues towards the SEC 71f9cb74fdSHoria Geantă * @num_rx_queues: number of queues back from the SEC 72f9cb74fdSHoria Geantă * @options: any combination of the following flags: 73f9cb74fdSHoria Geantă * DPSECI_OPT_HAS_CG 74f9cb74fdSHoria Geantă */ 75f9cb74fdSHoria Geantă struct dpseci_attr { 76f9cb74fdSHoria Geantă int id; 77f9cb74fdSHoria Geantă u8 num_tx_queues; 78f9cb74fdSHoria Geantă u8 num_rx_queues; 79f9cb74fdSHoria Geantă u32 options; 80f9cb74fdSHoria Geantă }; 81f9cb74fdSHoria Geantă 82f9cb74fdSHoria Geantă int dpseci_get_attributes(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, 83f9cb74fdSHoria Geantă struct dpseci_attr *attr); 84f9cb74fdSHoria Geantă 85f9cb74fdSHoria Geantă /** 86f9cb74fdSHoria Geantă * enum dpseci_dest - DPSECI destination types 87f9cb74fdSHoria Geantă * @DPSECI_DEST_NONE: Unassigned destination; The queue is set in parked mode 88f9cb74fdSHoria Geantă * and does not generate FQDAN notifications; user is expected to dequeue 89f9cb74fdSHoria Geantă * from the queue based on polling or other user-defined method 90f9cb74fdSHoria Geantă * @DPSECI_DEST_DPIO: The queue is set in schedule mode and generates FQDAN 91f9cb74fdSHoria Geantă * notifications to the specified DPIO; user is expected to dequeue from 92f9cb74fdSHoria Geantă * the queue only after notification is received 93f9cb74fdSHoria Geantă * @DPSECI_DEST_DPCON: The queue is set in schedule mode and does not generate 94f9cb74fdSHoria Geantă * FQDAN notifications, but is connected to the specified DPCON object; 95f9cb74fdSHoria Geantă * user is expected to dequeue from the DPCON channel 96f9cb74fdSHoria Geantă */ 97f9cb74fdSHoria Geantă enum dpseci_dest { 98f9cb74fdSHoria Geantă DPSECI_DEST_NONE = 0, 99f9cb74fdSHoria Geantă DPSECI_DEST_DPIO, 100f9cb74fdSHoria Geantă DPSECI_DEST_DPCON 101f9cb74fdSHoria Geantă }; 102f9cb74fdSHoria Geantă 103f9cb74fdSHoria Geantă /** 104f9cb74fdSHoria Geantă * struct dpseci_dest_cfg - Structure representing DPSECI destination parameters 105f9cb74fdSHoria Geantă * @dest_type: Destination type 106f9cb74fdSHoria Geantă * @dest_id: Either DPIO ID or DPCON ID, depending on the destination type 107f9cb74fdSHoria Geantă * @priority: Priority selection within the DPIO or DPCON channel; valid values 108f9cb74fdSHoria Geantă * are 0-1 or 0-7, depending on the number of priorities in that channel; 109f9cb74fdSHoria Geantă * not relevant for 'DPSECI_DEST_NONE' option 110f9cb74fdSHoria Geantă */ 111f9cb74fdSHoria Geantă struct dpseci_dest_cfg { 112f9cb74fdSHoria Geantă enum dpseci_dest dest_type; 113f9cb74fdSHoria Geantă int dest_id; 114f9cb74fdSHoria Geantă u8 priority; 115f9cb74fdSHoria Geantă }; 116f9cb74fdSHoria Geantă 117f9cb74fdSHoria Geantă /** 118f9cb74fdSHoria Geantă * DPSECI queue modification options 119f9cb74fdSHoria Geantă */ 120f9cb74fdSHoria Geantă 121f9cb74fdSHoria Geantă /** 122f9cb74fdSHoria Geantă * Select to modify the user's context associated with the queue 123f9cb74fdSHoria Geantă */ 124f9cb74fdSHoria Geantă #define DPSECI_QUEUE_OPT_USER_CTX 0x00000001 125f9cb74fdSHoria Geantă 126f9cb74fdSHoria Geantă /** 127f9cb74fdSHoria Geantă * Select to modify the queue's destination 128f9cb74fdSHoria Geantă */ 129f9cb74fdSHoria Geantă #define DPSECI_QUEUE_OPT_DEST 0x00000002 130f9cb74fdSHoria Geantă 131f9cb74fdSHoria Geantă /** 132f9cb74fdSHoria Geantă * Select to modify the queue's order preservation 133f9cb74fdSHoria Geantă */ 134f9cb74fdSHoria Geantă #define DPSECI_QUEUE_OPT_ORDER_PRESERVATION 0x00000004 135f9cb74fdSHoria Geantă 136f9cb74fdSHoria Geantă /** 137f9cb74fdSHoria Geantă * struct dpseci_rx_queue_cfg - DPSECI RX queue configuration 138f9cb74fdSHoria Geantă * @options: Flags representing the suggested modifications to the queue; 139f9cb74fdSHoria Geantă * Use any combination of 'DPSECI_QUEUE_OPT_<X>' flags 140f9cb74fdSHoria Geantă * @order_preservation_en: order preservation configuration for the rx queue 141f9cb74fdSHoria Geantă * valid only if 'DPSECI_QUEUE_OPT_ORDER_PRESERVATION' is contained in 'options' 142f9cb74fdSHoria Geantă * @user_ctx: User context value provided in the frame descriptor of each 143f9cb74fdSHoria Geantă * dequeued frame; valid only if 'DPSECI_QUEUE_OPT_USER_CTX' is contained 144f9cb74fdSHoria Geantă * in 'options' 145f9cb74fdSHoria Geantă * @dest_cfg: Queue destination parameters; valid only if 146f9cb74fdSHoria Geantă * 'DPSECI_QUEUE_OPT_DEST' is contained in 'options' 147f9cb74fdSHoria Geantă */ 148f9cb74fdSHoria Geantă struct dpseci_rx_queue_cfg { 149f9cb74fdSHoria Geantă u32 options; 150f9cb74fdSHoria Geantă int order_preservation_en; 151f9cb74fdSHoria Geantă u64 user_ctx; 152f9cb74fdSHoria Geantă struct dpseci_dest_cfg dest_cfg; 153f9cb74fdSHoria Geantă }; 154f9cb74fdSHoria Geantă 155f9cb74fdSHoria Geantă int dpseci_set_rx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, 156f9cb74fdSHoria Geantă u8 queue, const struct dpseci_rx_queue_cfg *cfg); 157f9cb74fdSHoria Geantă 158f9cb74fdSHoria Geantă /** 159f9cb74fdSHoria Geantă * struct dpseci_rx_queue_attr - Structure representing attributes of Rx queues 160f9cb74fdSHoria Geantă * @user_ctx: User context value provided in the frame descriptor of each 161f9cb74fdSHoria Geantă * dequeued frame 162f9cb74fdSHoria Geantă * @order_preservation_en: Status of the order preservation configuration on the 163f9cb74fdSHoria Geantă * queue 164f9cb74fdSHoria Geantă * @dest_cfg: Queue destination configuration 165f9cb74fdSHoria Geantă * @fqid: Virtual FQID value to be used for dequeue operations 166f9cb74fdSHoria Geantă */ 167f9cb74fdSHoria Geantă struct dpseci_rx_queue_attr { 168f9cb74fdSHoria Geantă u64 user_ctx; 169f9cb74fdSHoria Geantă int order_preservation_en; 170f9cb74fdSHoria Geantă struct dpseci_dest_cfg dest_cfg; 171f9cb74fdSHoria Geantă u32 fqid; 172f9cb74fdSHoria Geantă }; 173f9cb74fdSHoria Geantă 174f9cb74fdSHoria Geantă int dpseci_get_rx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, 175f9cb74fdSHoria Geantă u8 queue, struct dpseci_rx_queue_attr *attr); 176f9cb74fdSHoria Geantă 177f9cb74fdSHoria Geantă /** 178f9cb74fdSHoria Geantă * struct dpseci_tx_queue_attr - Structure representing attributes of Tx queues 179f9cb74fdSHoria Geantă * @fqid: Virtual FQID to be used for sending frames to SEC hardware 180f9cb74fdSHoria Geantă * @priority: SEC hardware processing priority for the queue 181f9cb74fdSHoria Geantă */ 182f9cb74fdSHoria Geantă struct dpseci_tx_queue_attr { 183f9cb74fdSHoria Geantă u32 fqid; 184f9cb74fdSHoria Geantă u8 priority; 185f9cb74fdSHoria Geantă }; 186f9cb74fdSHoria Geantă 187f9cb74fdSHoria Geantă int dpseci_get_tx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, 188f9cb74fdSHoria Geantă u8 queue, struct dpseci_tx_queue_attr *attr); 189f9cb74fdSHoria Geantă 190f9cb74fdSHoria Geantă /** 191f9cb74fdSHoria Geantă * struct dpseci_sec_attr - Structure representing attributes of the SEC 192f9cb74fdSHoria Geantă * hardware accelerator 193f9cb74fdSHoria Geantă * @ip_id: ID for SEC 194f9cb74fdSHoria Geantă * @major_rev: Major revision number for SEC 195f9cb74fdSHoria Geantă * @minor_rev: Minor revision number for SEC 196f9cb74fdSHoria Geantă * @era: SEC Era 197f9cb74fdSHoria Geantă * @deco_num: The number of copies of the DECO that are implemented in this 198f9cb74fdSHoria Geantă * version of SEC 199f9cb74fdSHoria Geantă * @zuc_auth_acc_num: The number of copies of ZUCA that are implemented in this 200f9cb74fdSHoria Geantă * version of SEC 201f9cb74fdSHoria Geantă * @zuc_enc_acc_num: The number of copies of ZUCE that are implemented in this 202f9cb74fdSHoria Geantă * version of SEC 203f9cb74fdSHoria Geantă * @snow_f8_acc_num: The number of copies of the SNOW-f8 module that are 204f9cb74fdSHoria Geantă * implemented in this version of SEC 205f9cb74fdSHoria Geantă * @snow_f9_acc_num: The number of copies of the SNOW-f9 module that are 206f9cb74fdSHoria Geantă * implemented in this version of SEC 207f9cb74fdSHoria Geantă * @crc_acc_num: The number of copies of the CRC module that are implemented in 208f9cb74fdSHoria Geantă * this version of SEC 209f9cb74fdSHoria Geantă * @pk_acc_num: The number of copies of the Public Key module that are 210f9cb74fdSHoria Geantă * implemented in this version of SEC 211f9cb74fdSHoria Geantă * @kasumi_acc_num: The number of copies of the Kasumi module that are 212f9cb74fdSHoria Geantă * implemented in this version of SEC 213f9cb74fdSHoria Geantă * @rng_acc_num: The number of copies of the Random Number Generator that are 214f9cb74fdSHoria Geantă * implemented in this version of SEC 215f9cb74fdSHoria Geantă * @md_acc_num: The number of copies of the MDHA (Hashing module) that are 216f9cb74fdSHoria Geantă * implemented in this version of SEC 217f9cb74fdSHoria Geantă * @arc4_acc_num: The number of copies of the ARC4 module that are implemented 218f9cb74fdSHoria Geantă * in this version of SEC 219f9cb74fdSHoria Geantă * @des_acc_num: The number of copies of the DES module that are implemented in 220f9cb74fdSHoria Geantă * this version of SEC 221f9cb74fdSHoria Geantă * @aes_acc_num: The number of copies of the AES module that are implemented in 222f9cb74fdSHoria Geantă * this version of SEC 223f9cb74fdSHoria Geantă * @ccha_acc_num: The number of copies of the ChaCha20 module that are 224f9cb74fdSHoria Geantă * implemented in this version of SEC. 225f9cb74fdSHoria Geantă * @ptha_acc_num: The number of copies of the Poly1305 module that are 226f9cb74fdSHoria Geantă * implemented in this version of SEC. 227f9cb74fdSHoria Geantă **/ 228f9cb74fdSHoria Geantă struct dpseci_sec_attr { 229f9cb74fdSHoria Geantă u16 ip_id; 230f9cb74fdSHoria Geantă u8 major_rev; 231f9cb74fdSHoria Geantă u8 minor_rev; 232f9cb74fdSHoria Geantă u8 era; 233f9cb74fdSHoria Geantă u8 deco_num; 234f9cb74fdSHoria Geantă u8 zuc_auth_acc_num; 235f9cb74fdSHoria Geantă u8 zuc_enc_acc_num; 236f9cb74fdSHoria Geantă u8 snow_f8_acc_num; 237f9cb74fdSHoria Geantă u8 snow_f9_acc_num; 238f9cb74fdSHoria Geantă u8 crc_acc_num; 239f9cb74fdSHoria Geantă u8 pk_acc_num; 240f9cb74fdSHoria Geantă u8 kasumi_acc_num; 241f9cb74fdSHoria Geantă u8 rng_acc_num; 242f9cb74fdSHoria Geantă u8 md_acc_num; 243f9cb74fdSHoria Geantă u8 arc4_acc_num; 244f9cb74fdSHoria Geantă u8 des_acc_num; 245f9cb74fdSHoria Geantă u8 aes_acc_num; 246f9cb74fdSHoria Geantă u8 ccha_acc_num; 247f9cb74fdSHoria Geantă u8 ptha_acc_num; 248f9cb74fdSHoria Geantă }; 249f9cb74fdSHoria Geantă 250f9cb74fdSHoria Geantă int dpseci_get_sec_attr(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, 251f9cb74fdSHoria Geantă struct dpseci_sec_attr *attr); 252f9cb74fdSHoria Geantă 253f9cb74fdSHoria Geantă int dpseci_get_api_version(struct fsl_mc_io *mc_io, u32 cmd_flags, 254f9cb74fdSHoria Geantă u16 *major_ver, u16 *minor_ver); 255f9cb74fdSHoria Geantă 256f9cb74fdSHoria Geantă /** 257f9cb74fdSHoria Geantă * enum dpseci_congestion_unit - DPSECI congestion units 258f9cb74fdSHoria Geantă * @DPSECI_CONGESTION_UNIT_BYTES: bytes units 259f9cb74fdSHoria Geantă * @DPSECI_CONGESTION_UNIT_FRAMES: frames units 260f9cb74fdSHoria Geantă */ 261f9cb74fdSHoria Geantă enum dpseci_congestion_unit { 262f9cb74fdSHoria Geantă DPSECI_CONGESTION_UNIT_BYTES = 0, 263f9cb74fdSHoria Geantă DPSECI_CONGESTION_UNIT_FRAMES 264f9cb74fdSHoria Geantă }; 265f9cb74fdSHoria Geantă 266f9cb74fdSHoria Geantă /** 267f9cb74fdSHoria Geantă * CSCN message is written to message_iova once entering a 268f9cb74fdSHoria Geantă * congestion state (see 'threshold_entry') 269f9cb74fdSHoria Geantă */ 270f9cb74fdSHoria Geantă #define DPSECI_CGN_MODE_WRITE_MEM_ON_ENTER 0x00000001 271f9cb74fdSHoria Geantă 272f9cb74fdSHoria Geantă /** 273f9cb74fdSHoria Geantă * CSCN message is written to message_iova once exiting a 274f9cb74fdSHoria Geantă * congestion state (see 'threshold_exit') 275f9cb74fdSHoria Geantă */ 276f9cb74fdSHoria Geantă #define DPSECI_CGN_MODE_WRITE_MEM_ON_EXIT 0x00000002 277f9cb74fdSHoria Geantă 278f9cb74fdSHoria Geantă /** 279f9cb74fdSHoria Geantă * CSCN write will attempt to allocate into a cache (coherent write); 280f9cb74fdSHoria Geantă * valid only if 'DPSECI_CGN_MODE_WRITE_MEM_<X>' is selected 281f9cb74fdSHoria Geantă */ 282f9cb74fdSHoria Geantă #define DPSECI_CGN_MODE_COHERENT_WRITE 0x00000004 283f9cb74fdSHoria Geantă 284f9cb74fdSHoria Geantă /** 285f9cb74fdSHoria Geantă * if 'dpseci_dest_cfg.dest_type != DPSECI_DEST_NONE' CSCN message is sent to 286f9cb74fdSHoria Geantă * DPIO/DPCON's WQ channel once entering a congestion state 287f9cb74fdSHoria Geantă * (see 'threshold_entry') 288f9cb74fdSHoria Geantă */ 289f9cb74fdSHoria Geantă #define DPSECI_CGN_MODE_NOTIFY_DEST_ON_ENTER 0x00000008 290f9cb74fdSHoria Geantă 291f9cb74fdSHoria Geantă /** 292f9cb74fdSHoria Geantă * if 'dpseci_dest_cfg.dest_type != DPSECI_DEST_NONE' CSCN message is sent to 293f9cb74fdSHoria Geantă * DPIO/DPCON's WQ channel once exiting a congestion state 294f9cb74fdSHoria Geantă * (see 'threshold_exit') 295f9cb74fdSHoria Geantă */ 296f9cb74fdSHoria Geantă #define DPSECI_CGN_MODE_NOTIFY_DEST_ON_EXIT 0x00000010 297f9cb74fdSHoria Geantă 298f9cb74fdSHoria Geantă /** 299f9cb74fdSHoria Geantă * if 'dpseci_dest_cfg.dest_type != DPSECI_DEST_NONE' when the CSCN is written 300f9cb74fdSHoria Geantă * to the sw-portal's DQRR, the DQRI interrupt is asserted immediately 301f9cb74fdSHoria Geantă * (if enabled) 302f9cb74fdSHoria Geantă */ 303f9cb74fdSHoria Geantă #define DPSECI_CGN_MODE_INTR_COALESCING_DISABLED 0x00000020 304f9cb74fdSHoria Geantă 305f9cb74fdSHoria Geantă /** 306f9cb74fdSHoria Geantă * struct dpseci_congestion_notification_cfg - congestion notification 307f9cb74fdSHoria Geantă * configuration 308f9cb74fdSHoria Geantă * @units: units type 309f9cb74fdSHoria Geantă * @threshold_entry: above this threshold we enter a congestion state. 310f9cb74fdSHoria Geantă * set it to '0' to disable it 311f9cb74fdSHoria Geantă * @threshold_exit: below this threshold we exit the congestion state. 312f9cb74fdSHoria Geantă * @message_ctx: The context that will be part of the CSCN message 313f9cb74fdSHoria Geantă * @message_iova: I/O virtual address (must be in DMA-able memory), 314f9cb74fdSHoria Geantă * must be 16B aligned; 315f9cb74fdSHoria Geantă * @dest_cfg: CSCN can be send to either DPIO or DPCON WQ channel 316f9cb74fdSHoria Geantă * @notification_mode: Mask of available options; use 'DPSECI_CGN_MODE_<X>' 317f9cb74fdSHoria Geantă * values 318f9cb74fdSHoria Geantă */ 319f9cb74fdSHoria Geantă struct dpseci_congestion_notification_cfg { 320f9cb74fdSHoria Geantă enum dpseci_congestion_unit units; 321f9cb74fdSHoria Geantă u32 threshold_entry; 322f9cb74fdSHoria Geantă u32 threshold_exit; 323f9cb74fdSHoria Geantă u64 message_ctx; 324f9cb74fdSHoria Geantă u64 message_iova; 325f9cb74fdSHoria Geantă struct dpseci_dest_cfg dest_cfg; 326f9cb74fdSHoria Geantă u16 notification_mode; 327f9cb74fdSHoria Geantă }; 328f9cb74fdSHoria Geantă 329f9cb74fdSHoria Geantă int dpseci_set_congestion_notification(struct fsl_mc_io *mc_io, u32 cmd_flags, 330f9cb74fdSHoria Geantă u16 token, const struct dpseci_congestion_notification_cfg *cfg); 331f9cb74fdSHoria Geantă 332f9cb74fdSHoria Geantă int dpseci_get_congestion_notification(struct fsl_mc_io *mc_io, u32 cmd_flags, 333f9cb74fdSHoria Geantă u16 token, struct dpseci_congestion_notification_cfg *cfg); 334f9cb74fdSHoria Geantă 335f9cb74fdSHoria Geantă #endif /* _DPSECI_H_ */ 336