virtio-kbd: increased virtio keyboard queue
authorsungmin ha <sungmin82.ha@samsung.com>
Sat, 6 Apr 2013 09:08:16 +0000 (18:08 +0900)
committersungmin ha <sungmin82.ha@samsung.com>
Sat, 6 Apr 2013 09:08:16 +0000 (18:08 +0900)
Signed-off-by: SungMin Ha <sungmin82.ha@samsung.com>
drivers/maru/maru_virtio_keyboard.c
package/changelog
package/pkginfo.manifest

index be2f68d925ff5075e47f8ec215d560ddaf3efbb0..a8e4fbf746ba576aab6741cf6d28f4cc2e4ab0ed 100644 (file)
@@ -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);
index b2273cf2574c906859fbe6af482b8a88cbcfb700..f7a38146ac201db6c49a1b18d35ca59b4ae7ee27 100644 (file)
@@ -1,3 +1,6 @@
+* 1.4.18
+- increased virtio keyboard queue
+== Sungmin Ha <sungmin82.ha@samsung.com> 2013-04-06
 * 1.4.17
 - added virtio hwkey driver and improved hwkey mapping
 == Sungmin Ha <sungmin82.ha@samsung.com> 2013-03-20
index d1653981bd18a867cf382b3147bc85cd023b3e8c..57e388f17dafb11c7f7a546fd8de5dddc990a9eb 100644 (file)
@@ -1,4 +1,4 @@
-Version: 1.4.17
+Version: 1.4.18
 Maintainer: Yeong-Kyoon, Lee <yeongkyoon.lee@samsung.com>
 Source: emulator-kernel