rpmsg: glink_cma: Add msg type to reclaim inbuf

There are cases where the device receives an inbuf msg type related to
an ack and hold on to the buffer without it being reclaimed by the
driver. Add a new msg type, MSG_INBUF_RECLAIM, so the driver can reclaim
inbuf that the device no longer needs.

Change-Id: Id92371f06134569031ee3ea4454104f83f790561
Signed-off-by: Tony Truong <quic_truong@quicinc.com>
This commit is contained in:
Tony Truong 2024-08-08 16:24:32 -07:00
parent f2ee42036a
commit f49cd77f73

View File

@ -51,6 +51,7 @@ enum {
MSG_SSR_AFTER_POWERUP, /* outbound */
MSG_SSR_SETUP, /* inbound */
MSG_SSR_SETUP_ACK, /* outbound */
MSG_INBUF_RECLAIM, /* inbound */
MSG_MAX,
MSG_ERR = 0xff,
};
@ -121,6 +122,7 @@ static int virtio_glink_bridge_msg_type_supported(u32 msg_type)
switch (msg_type) {
case MSG_SETUP:
case MSG_SSR_SETUP:
case MSG_INBUF_RECLAIM:
return true;
default:
return false;
@ -264,6 +266,9 @@ static void virtio_glink_bridge_rx_work(struct work_struct *work)
goto out;
}
if (msg_type == MSG_INBUF_RECLAIM)
return;
msg_ack_type = virtio_glink_bridge_to_msg_ack_type(msg_type);
dsp_info = virtio_glink_bridge_get_dsp_info(vgbridge, label);