Skip to content

Commit fc99f14

Browse files
committed
FROMLIST: misc: fastrpc: Expand context ID mask for DSP polling mode support
Current FastRPC context uses a 12-bit mask: [ID(8 bits)][PD type(4 bits)] = GENMASK(11, 4) This works for normal calls but fails for DSP polling mode. Polling mode expects a 16-bit layout: [15:8] = context ID (8 bits) [7:5] = reserved [4] = async mode bit [3:0] = PD type (4 bits) If async bit (bit 4) is set, DSP disables polling. With current mask, odd IDs can set this bit, causing DSP to skip poll updates. Update FASTRPC_CTXID_MASK to GENMASK(15, 8) so IDs occupy upper byte and lower byte is left for DSP flags and PD type. Reserved bits remain unused. This change is compatible with polling mode and does not break non-polling behavior. Bit layout: [15:8] = CCCCCCCC (context ID) [7:5] = xxx (reserved) [4] = A (async mode) [3:0] = PPPP (PD type) Link: https://lore.kernel.org/all/20260215182136.3995111-4-ekansh.gupta@oss.qualcomm.com/ Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
1 parent 994a62b commit fc99f14

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/misc/fastrpc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
#define FASTRPC_CTX_MAX (256)
3838
#define FASTRPC_INIT_HANDLE 1
3939
#define FASTRPC_DSP_UTILITIES_HANDLE 2
40-
#define FASTRPC_CTXID_MASK GENMASK(11, 4)
40+
#define FASTRPC_CTXID_MASK GENMASK(15, 8)
4141
#define INIT_FILELEN_MAX (2 * 1024 * 1024)
4242
#define INIT_FILE_NAMELEN_MAX (128)
4343
#define FASTRPC_DEVICE_NAME "fastrpc"

0 commit comments

Comments
 (0)