Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1307884imm; Tue, 5 Jun 2018 12:21:38 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLSpGafbSlJtMXC0jFx3T/MjufhuvuaFpJEI/LdlvMxRSTZpePPBKxXDCa21+PKqr9zRTeh X-Received: by 2002:a17:902:8308:: with SMTP id bd8-v6mr11287699plb.329.1528226498494; Tue, 05 Jun 2018 12:21:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528226498; cv=none; d=google.com; s=arc-20160816; b=va71fWxuziSkk4LQMCLqchrTqMTO5Zt/h1G+wppP7StKm0DHhvbjGtVol62r1weMV/ /McyaqLSUMRtqUYXht8D8Yf06y8ziYfJFAbvzDCod9ns68Yo1j8bQr4wKH8SveVzEUFi mKbMnt10UVRAWovYnf3ehaGqqvmfWPKIw6iREQB9yRBI/dNg2YozPH8QvODCoo3xFF6S BiQOVirc+1smA1diBZWfcgcosT5vQvEGJNmqso+YLtFdOb0ieMRSqw+08pv8VXherXoH VadIu2Fhh+Rsx2Y3wNredlsOamB8ll5ibpmGIaogdr0GyfWFo3vcf2ZCe4PIIPjQTdLM Yzsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=8RgiFLYA3j7LI+7STlYag34La3myD+H7gdf932hfGGM=; b=DDKpTCr309y0NfC9XTKeEVGuo/JlG0ezg8usjPKduA4qDDlTFx5N48JtYuQrbZEc3/ rCzuRgWrMVtgnOPwoXf5oBuMvjF223QIhY5IYw3V9vL91UyUy3YenDoiMIDEniGqdvD1 JiR9YBs5ftaVpguzFBN9pcfjM/v1eJE7+OKBqiDvLMVm0Vbu+YynjmsbN1ZNWI0DAq1m fZMyvjWOeU6pn11tIF1gdYQaV5y4roIb98prwatfsRE8DN5QfJW1+sxU2YHLHsiOetMc YdHcmtEL59KKgzDKOEihJAMhwIVkEHTfBTpTk82tKstwUEQFLmpGoNadUH7EJnOpteWF 31Rw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@boundarydevices-com.20150623.gappssmtp.com header.s=20150623 header.b=IBeV9O0e; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e12-v6si4689681pgu.267.2018.06.05.12.21.23; Tue, 05 Jun 2018 12:21:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@boundarydevices-com.20150623.gappssmtp.com header.s=20150623 header.b=IBeV9O0e; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752435AbeFETSt (ORCPT + 99 others); Tue, 5 Jun 2018 15:18:49 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:44313 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751982AbeFETSs (ORCPT ); Tue, 5 Jun 2018 15:18:48 -0400 Received: by mail-oi0-f67.google.com with SMTP id c128-v6so3135092oig.11 for ; Tue, 05 Jun 2018 12:18:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=boundarydevices-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=8RgiFLYA3j7LI+7STlYag34La3myD+H7gdf932hfGGM=; b=IBeV9O0eUbNr1QbsLSQtHRewAqlnfnheglNJFNb5nHKLEZP5kyO7kxdEQW1GKbbz1n EguSl+/+/3UyncJ0XF2dKbn+occBlhZ+4HgJrLEm5DA4WmFTvVR+HWBIvRBNphsYLjMc yoRb6rMZS88L15XtQnqeTP7uNk9p0kqJsQ98FBAIpMi9hj25dPIhWdMHEqn52sFtJtJM T9TrVcIjEvT4fpiCj4Ql5p/iIQOTpMP4Oqodb+G0RoBqlETS7F46ZH92s9EgiBOL49/4 g2chRTt0Przn43wgKWF03CSH/QEvYT6VsCEuYw8D82xQnjVyb/btSMlrd4H0iC7Z1sAu wtBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=8RgiFLYA3j7LI+7STlYag34La3myD+H7gdf932hfGGM=; b=kAvwGetz7bNEarjJQ+/dBRdx2WFbycSsWnnp44q7RN6+PM1EMUyybljr75pYPHrfIk o1K7fL0/sexZzKoJGJ07Zc6oM1vZwSolMKAC6sGY4Zl4fD5XnZ7IPZ9Za5ReTdJdBUeJ cxcI+pzyV2jvIHrJ18nNcOjIEEvKn3pXKu2IC91naSeJ42H0Z0zpFKr9d7+qWmBftjQD 3bYgllkVTES6WtNDjYFGCAm9gIcNjXXKgTBzI036LfV9i29gBbhs1rS+r1NnplAlxivw o2iD9HDTSzRmlfFfESonCZ2MbTcD1R7g2X3DPTgu78Bjva/s9jUPZ+U5irbpZh5rW/RH +GDw== X-Gm-Message-State: APt69E2Mhw0u4E8J7EGAp2KSUW5Yyqk31AT0QSPQlm4wqLm5M5fxddOc 4Jzxuw4GUKUsL932XyMt/2dW5Q== X-Received: by 2002:aca:a646:: with SMTP id p67-v6mr11459097oie.149.1528226327246; Tue, 05 Jun 2018 12:18:47 -0700 (PDT) Received: from [192.168.0.19] (wsip-174-76-17-244.oc.oc.cox.net. [174.76.17.244]) by smtp.googlemail.com with ESMTPSA id q45-v6sm684548otg.56.2018.06.05.12.18.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Jun 2018 12:18:46 -0700 (PDT) Subject: Re: [RFC/RFT PATCH 0/6] Asynchronous UVC To: Kieran Bingham , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, laurent.pinchart@ideasonboard.com Cc: Olivier BRAUN , Guennadi Liakhovetski References: <239ae307-9c8d-ab95-34c0-3a179d2899bd@ideasonboard.com> From: Troy Kisky Message-ID: <283ce407-deff-de1d-e28f-4c0795c60885@boundarydevices.com> Date: Tue, 5 Jun 2018 12:18:45 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <239ae307-9c8d-ab95-34c0-3a179d2899bd@ideasonboard.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/5/2018 2:01 AM, Kieran Bingham wrote: > Hi Troy > > On 03/01/18 21:13, Troy Kisky wrote: >> On 1/3/2018 12:32 PM, Kieran Bingham wrote: >>> From: Kieran Bingham >>> >>> The Linux UVC driver has long provided adequate performance capabilities for >>> web-cams and low data rate video devices in Linux while resolutions were low. >>> >>> Modern USB cameras are now capable of high data rates thanks to USB3 with >>> 1080p, and even 4k capture resolutions supported. >>> >>> Cameras such as the Stereolabs ZED or the Logitech Brio can generate more data >>> than an embedded ARM core is able to process on a single core, resulting in >>> frame loss. >>> >>> A large part of this performance impact is from the requirement to >>> ‘memcpy’ frames out from URB packets to destination frames. This unfortunate >>> requirement is due to the UVC protocol allowing a variable length header, and >>> thus it is not possible to provide the target frame buffers directly. >> >> >> I have a rather large patch that does provide frame buffers directly for bulk >> cameras. It cannot be used with ISOC cameras. But it is currently for 4.1. >> I'll be porting it to 4.9 in a few days if you'd like to see it. > > > How did you get on with this porting activity? > > Is it possible to share any of this work with the mailing lists ? This is pretty ugly all squashed together but here is the 4.9 patch It does a bit more than 0 copy. I'll just post a link, because I doubt anyone else wants to look. https://github.com/boundarydevices/linux-imx6/commit/5cbb48a3332a6e8aad4a1359b1b5eb05eb0fff96 HTH Troy > > (If you have not ported to v4.9 - I think it would be useful even to post the > v4.1 patch and we can look at what's needed for getting it ported to mainline) > > -- > Regards > > Kieran > > >> >> BR >> Troy