Merge "hh_rm_core: delay sending characters to RM"

This commit is contained in:
qctecmdr 2020-09-30 20:54:40 -07:00 committed by Gerrit - the friendly Code Review server
commit 198d27fafc
2 changed files with 9 additions and 1 deletions

View File

@ -85,7 +85,9 @@ static int hh_hvc_notify_console_chars(struct notifier_block *this,
pr_warn_ratelimited("dropped %d bytes from VM%d - full fifo\n",
msg->num_bytes - ret, vm_name);
hvc_kick();
if (hvc_poll(hh_hvc_data[vm_name].hvc))
hvc_kick();
return NOTIFY_OK;
}

View File

@ -13,6 +13,7 @@
#include <linux/notifier.h>
#include <linux/irqdomain.h>
#include <linux/workqueue.h>
#include <linux/delay.h>
#include <linux/completion.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
@ -539,6 +540,11 @@ static int hh_rm_send_request(u32 message_id,
*/
tx_flags = (i == num_fragments) ? HH_MSGQ_TX_PUSH : 0;
/* delay sending console characters to RM */
if (message_id == HH_RM_RPC_MSG_ID_CALL_VM_CONSOLE_WRITE ||
message_id == HH_RM_RPC_MSG_ID_CALL_VM_CONSOLE_FLUSH)
udelay(800);
ret = hh_msgq_send(hh_rm_msgq_desc, send_buff,
sizeof(*hdr) + payload_size, tx_flags);