Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3510008pxu; Tue, 8 Dec 2020 14:08:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJxcYCyQsluZLpfY9YvNvN3ul5ORWH3pWDG8mdszU9LM8vD6s/C0ujvzSJiZwhG2xzbhLzTy X-Received: by 2002:a17:907:3e17:: with SMTP id hp23mr24670237ejc.545.1607465303679; Tue, 08 Dec 2020 14:08:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607465303; cv=none; d=google.com; s=arc-20160816; b=PAhjFfsZB3dhUOw3v16chHJyhnDEyunz2lnL70ZRo+AQfS9dt9k/bKPViEK5MpNKH6 qdc1BpwtqiEDsRDjrsNVlJ+2VkM46S6RwRDjHPuh3WLA4Qqu+22d205Dh/+shr52Nib5 FGl+3iI7kVEXaXKCesnmjgRNljZCwT8/nTmj7p7tLVm8ae/0Y3cmxtlpuB7UY5LiO8B0 Vj2gV/6kgIt406UdNjT2VbxDaSg1pm0gYFxl5uj9bUDKUaAIt/7nwsjoeCfQy4qnWWiE H3hEXKryaoL1EpFC7q6owSu57yT5s9yOoU1gnK8RUd22QrljSBKNrm9y2pMC8OkLh55G xD3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=Tra63uwIyLsJwtX1u3hXTd1bJBVBw8bWS7b/2nj8Uis=; b=eMh5G75GyW1Appk5I8puYOLVGvR958+zoXcot3fQR++D/Cm73XsJwE4cUbW6ABqbIs 9qWGgeb5hREgyPg1mtOfG6IuCEDoPTug/xoCcTFITQnwVan81Ywy0eOJZXVwwpOSkiy/ OiUS/TDtscMzHF5+Vs+coR/L9TBUP7Uu89imSZ7P5Qa9Wu1rtTsr7hXbZrVGfFUWL5ni if8BwlBXN9U0CRp3Ir15cR8JEMnOZeWVqRFV8Qvnj0a0ho2IXvdRAUuyUkmBL7BP4i5K Gkc7UM6QFLqE4DE1RjvypnkOpb0iUOZwxSe0R90t2KGGQfqOm0UMg+VdgNqzKfPv70kL TODw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JQ92XDEm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cz27si4699088edb.371.2020.12.08.14.08.00; Tue, 08 Dec 2020 14:08:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JQ92XDEm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730854AbgLHWF3 (ORCPT + 99 others); Tue, 8 Dec 2020 17:05:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54162 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730829AbgLHWFX (ORCPT ); Tue, 8 Dec 2020 17:05:23 -0500 Received: from mail-pl1-x644.google.com (mail-pl1-x644.google.com [IPv6:2607:f8b0:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6619FC0613CF; Tue, 8 Dec 2020 14:05:08 -0800 (PST) Received: by mail-pl1-x644.google.com with SMTP id p6so44212plo.6; Tue, 08 Dec 2020 14:05:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=Tra63uwIyLsJwtX1u3hXTd1bJBVBw8bWS7b/2nj8Uis=; b=JQ92XDEmcQAJr26Axzo9FOro8etm0r+pxfkQFvW2d2TVOvXVe7cjUkmuKi7xE1r07v rd+wsEyp/7AlRoQnZTiDCzKMcNXU8z37fTGL3mgL93Na73gkHOs+gsGi77Bm4A2457QX nfOEfFp2QW2Qn+CcPFflymw7ePdFAc69xMav7GChPdgCy9tsEYs+EmilJNy5hMQT+5ai p4SQNkbR3N5FoKWEXhjtElZcOcE6OhlT1aDred22JDI8XMQoMUN0Lmuv462LgUkjSvRE LGAlrN+HvXvd2fqryslEhGO9Rzr+LHotuvUs8nj5/+tI3NwW/wb8pxc9o3HG/l62N0mC ps+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Tra63uwIyLsJwtX1u3hXTd1bJBVBw8bWS7b/2nj8Uis=; b=idJufnBqgJ8hfScEBFq38Y9aC5YtzAaWCwtbfpWuNbeqcM+CLRFe9moDlJ5VLMxsMl gpzb18IrpQ+Hk2q+DKmgsMEgQLyVgpiZpijqMblypZX17VPmJpfaeoOj5PW+S63nwfQd YxQhuudRFkE17Ug30Z3HLzngTGF0dy9zyDQc5U5icBStesZaAaQe67hzXjY2jV8lWAA9 8EKHCTtNL7GwK+ugpW6/3mM8sriJ3lHMfGwUPdCI3N4BqUqBaRObZTUkHmmMQfnDy2RZ VonhSGD7nPDDQ8Al/CJohnhL6z80r9f4gskHJzd6K3pbPngYPtAtBValbjR2oCh2p165 wbsg== X-Gm-Message-State: AOAM533+KvyTUe5V9UNBJbpeIn4EIdcRq21+0OpoK9gZQi/d3wx/tho1 z1u3EQ/aDcBtMLggn8iuPORiYX6fTTE= X-Received: by 2002:a17:902:8f98:b029:da:fcfd:6e54 with SMTP id z24-20020a1709028f98b02900dafcfd6e54mr9740052plo.13.1607465107819; Tue, 08 Dec 2020 14:05:07 -0800 (PST) Received: from google.com ([2620:15c:202:201:a6ae:11ff:fe11:fcc3]) by smtp.gmail.com with ESMTPSA id w73sm131105pfd.203.2020.12.08.14.05.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 14:05:07 -0800 (PST) Date: Tue, 8 Dec 2020 14:05:05 -0800 From: Dmitry Torokhov To: Vasyl Vavrychuk Cc: virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, stable@vger.kernel.org, "Michael S. Tsirkin" , Jason Wang , Gerd Hoffmann , Henrik Rydberg , Mathias Crombez Subject: Re: [PATCH RESEND v2] virtio-input: add multi-touch support Message-ID: References: <20201208210150.20001-1-vasyl.vavrychuk@opensynergy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201208210150.20001-1-vasyl.vavrychuk@opensynergy.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Vasyl, On Tue, Dec 08, 2020 at 11:01:50PM +0200, Vasyl Vavrychuk wrote: > From: Mathias Crombez > > Without multi-touch slots allocated, ABS_MT_SLOT events will be lost by > input_handle_abs_event. > > Signed-off-by: Mathias Crombez > Signed-off-by: Vasyl Vavrychuk > Tested-by: Vasyl Vavrychuk > --- > v2: fix patch corrupted by corporate email server > > drivers/virtio/Kconfig | 11 +++++++++++ > drivers/virtio/virtio_input.c | 8 ++++++++ > 2 files changed, 19 insertions(+) > > diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig > index 7b41130d3f35..2cfd5b01d96d 100644 > --- a/drivers/virtio/Kconfig > +++ b/drivers/virtio/Kconfig > @@ -111,6 +111,17 @@ config VIRTIO_INPUT > > If unsure, say M. > > +config VIRTIO_INPUT_MULTITOUCH_SLOTS > + depends on VIRTIO_INPUT > + int "Number of multitouch slots" > + range 0 64 > + default 10 > + help > + Define the number of multitouch slots used. Default to 10. > + This parameter is unused if there is no multitouch capability. I believe the number of slots should be communicated to the guest by the host, similarly to how the rest of input device capabilities is transferred, instead of having static compile-time option. > + > + 0 will disable the feature. > + > config VIRTIO_MMIO > tristate "Platform bus driver for memory mapped virtio devices" > depends on HAS_IOMEM && HAS_DMA > diff --git a/drivers/virtio/virtio_input.c b/drivers/virtio/virtio_input.c > index f1f6208edcf5..13f3d90e6c30 100644 > --- a/drivers/virtio/virtio_input.c > +++ b/drivers/virtio/virtio_input.c > @@ -7,6 +7,7 @@ > > #include > #include > +#include > > struct virtio_input { > struct virtio_device *vdev; > @@ -205,6 +206,7 @@ static int virtinput_probe(struct virtio_device *vdev) > unsigned long flags; > size_t size; > int abs, err; > + bool is_mt = false; > > if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) > return -ENODEV; > @@ -287,9 +289,15 @@ static int virtinput_probe(struct virtio_device *vdev) > for (abs = 0; abs < ABS_CNT; abs++) { > if (!test_bit(abs, vi->idev->absbit)) > continue; > + if (input_is_mt_value(abs)) > + is_mt = true; > virtinput_cfg_abs(vi, abs); > } > } > + if (is_mt) > + input_mt_init_slots(vi->idev, > + CONFIG_VIRTIO_INPUT_MULTITOUCH_SLOTS, > + INPUT_MT_DIRECT); Here errors need to be handled. > > virtio_device_ready(vdev); > vi->ready = true; > -- > 2.23.0 > Thanks. -- Dmitry