From 1c49ed93f79a8e531c50af36b714cab9d0f822e5 Mon Sep 17 00:00:00 2001 From: sungmin ha Date: Sat, 6 Apr 2013 18:08:16 +0900 Subject: [PATCH] virtio-kbd: increased virtio keyboard queue Signed-off-by: SungMin Ha --- drivers/maru/maru_virtio_keyboard.c | 11 ++++++----- package/changelog | 3 +++ package/pkginfo.manifest | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/maru/maru_virtio_keyboard.c b/drivers/maru/maru_virtio_keyboard.c index be2f68d925ff..a8e4fbf746ba 100644 --- a/drivers/maru/maru_virtio_keyboard.c +++ b/drivers/maru/maru_virtio_keyboard.c @@ -47,7 +47,7 @@ MODULE_DESCRIPTION("Emulator Virtio Keyboard Driver"); #define VKBD_LOG(log_level, fmt, ...) \ printk(log_level "%s: " fmt, DRIVER_NAME, ##__VA_ARGS__) -#define KBD_BUF_SIZE 10 +#define KBD_BUF_SIZE 100 struct EmulKbdEvent { @@ -90,22 +90,23 @@ static void vq_keyboard_handle(struct virtqueue *vq) while (index < KBD_BUF_SIZE) { memcpy(&kbdevent, &vkbd->kbdevt[index], sizeof(kbdevent)); + printk(KERN_ERR "from qemu code = %d, value = %d\n", kbdevent.code, kbdevent.value); #if 1 if (kbdevent.code == 0) { index++; - continue; + break; } #endif /* how to get keycode and value. */ input_event(vkbd->idev, EV_KEY, kbdevent.code, kbdevent.value); input_sync(vkbd->idev); - + printk(KERN_ERR "input_event code = %d, value = %d\n", kbdevent.code, kbdevent.value); memset(&vkbd->kbdevt[index], 0x00, sizeof(kbdevent)); index++; } - err = virtqueue_add_buf (vq, vkbd->sg, 0, 10, (void *)10, GFP_ATOMIC); + err = virtqueue_add_buf (vq, vkbd->sg, 0, KBD_BUF_SIZE, (void *)KBD_BUF_SIZE, GFP_ATOMIC); if (err < 0) { VKBD_LOG(KERN_ERR, "failed to add buffer to virtqueue.\n"); return; @@ -175,7 +176,7 @@ static int virtio_keyboard_probe(struct virtio_device *vdev) sizeof(struct EmulKbdEvent)); } - ret = virtqueue_add_buf(vkbd->vq, vkbd->sg, 0, 10, (void *)(10), GFP_ATOMIC); + ret = virtqueue_add_buf(vkbd->vq, vkbd->sg, 0, KBD_BUF_SIZE, (void *)KBD_BUF_SIZE, GFP_ATOMIC); if (ret < 0) { VKBD_LOG(KERN_ERR, "failed to add buffer to virtqueue.\n"); kfree(vkbd); diff --git a/package/changelog b/package/changelog index b2273cf2574c..f7a38146ac20 100644 --- a/package/changelog +++ b/package/changelog @@ -1,3 +1,6 @@ +* 1.4.18 +- increased virtio keyboard queue +== Sungmin Ha 2013-04-06 * 1.4.17 - added virtio hwkey driver and improved hwkey mapping == Sungmin Ha 2013-03-20 diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest index d1653981bd18..57e388f17daf 100644 --- a/package/pkginfo.manifest +++ b/package/pkginfo.manifest @@ -1,4 +1,4 @@ -Version: 1.4.17 +Version: 1.4.18 Maintainer: Yeong-Kyoon, Lee Source: emulator-kernel -- 2.34.1