1*95511698STamas Ban /* 2*95511698STamas Ban * Copyright (c) 2024, Arm Limited. All rights reserved. 3*95511698STamas Ban * 4*95511698STamas Ban * SPDX-License-Identifier: BSD-3-Clause 5*95511698STamas Ban * 6*95511698STamas Ban */ 7*95511698STamas Ban 8*95511698STamas Ban /* 9*95511698STamas Ban * Packing scheme of the control parameter 10*95511698STamas Ban * 11*95511698STamas Ban * 31 30-28 27 26-24 23-20 19 18-16 15-0 12*95511698STamas Ban * +------------+-----+------+-------+-----+-------+-------+------+ 13*95511698STamas Ban * | | | | invec | | | outvec| type | 14*95511698STamas Ban * | Res | Res | Res | number| Res | Res | number| | 15*95511698STamas Ban * +------------+-----+------+-------+-----+-------+-------+------+ 16*95511698STamas Ban * 17*95511698STamas Ban * Res: Reserved. 18*95511698STamas Ban */ 19*95511698STamas Ban 20*95511698STamas Ban #ifndef RSS_COMMS_PROTOCOL_COMMON 21*95511698STamas Ban #define RSS_COMMS_PROTOCOL_COMMON 22*95511698STamas Ban 23*95511698STamas Ban #define TYPE_OFFSET (0U) 24*95511698STamas Ban #define TYPE_MASK (0xFFFFUL << TYPE_OFFSET) 25*95511698STamas Ban #define IN_LEN_OFFSET (24U) 26*95511698STamas Ban #define IN_LEN_MASK (0x7UL << IN_LEN_OFFSET) 27*95511698STamas Ban #define OUT_LEN_OFFSET (16U) 28*95511698STamas Ban #define OUT_LEN_MASK (0x7UL << OUT_LEN_OFFSET) 29*95511698STamas Ban 30*95511698STamas Ban #define PARAM_PACK(type, in_len, out_len) \ 31*95511698STamas Ban (((((uint32_t)(type)) << TYPE_OFFSET) & TYPE_MASK) | \ 32*95511698STamas Ban ((((uint32_t)(in_len)) << IN_LEN_OFFSET) & IN_LEN_MASK) | \ 33*95511698STamas Ban ((((uint32_t)(out_len)) << OUT_LEN_OFFSET) & OUT_LEN_MASK)) 34*95511698STamas Ban 35*95511698STamas Ban #endif /* RSS_COMMS_PROTOCOL_COMMON */ 36