{"id":12025,"url":"https://patchwork.libcamera.org/api/1.1/covers/12025/?format=json","web_url":"https://patchwork.libcamera.org/cover/12025/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20210421064847.324118-1-hiroh@chromium.org>","date":"2021-04-21T06:48:45","name":"[libcamera-devel,v4,0/2] ipu3: Enable to handle a number of concurrent requests","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/1.1/people/63/?format=json","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"mbox":"https://patchwork.libcamera.org/cover/12025/mbox/","series":[{"id":1954,"url":"https://patchwork.libcamera.org/api/1.1/series/1954/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1954","date":"2021-04-21T06:48:45","name":"ipu3: Enable to handle a number of concurrent requests","version":4,"mbox":"https://patchwork.libcamera.org/series/1954/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/12025/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 756B2BDB16\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Apr 2021 06:48:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DF7DA68840;\n\tWed, 21 Apr 2021 08:48:55 +0200 (CEST)","from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com\n\t[IPv6:2607:f8b0:4864:20::42d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4EA34602C3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Apr 2021 08:48:54 +0200 (CEST)","by mail-pf1-x42d.google.com with SMTP id y62so3964373pfg.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 20 Apr 2021 23:48:54 -0700 (PDT)","from hiroh2.tok.corp.google.com\n\t([2401:fa00:8f:2:7aaa:cbeb:5d87:4ab6])\n\tby smtp.gmail.com with ESMTPSA id\n\tng6sm1021458pjb.14.2021.04.20.23.48.51\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 20 Apr 2021 23:48:52 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"VZZKVjPe\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; h=from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=qnFrKzVf9bqhZ/QU7Z7GNHJ/p7PfSgEDoBkt5y8Tur0=;\n\tb=VZZKVjPekXgkNG9HPV/LNtt/C4GbL0z5fYtyzQVCh6KEbbjE80nJ/6oDM34/wfFtUp\n\tf1Jce2kM8KeueD0lzDSjzMflBoVB4Pw8tK6GBxRgBetfD5DJqbeFpDcYK1dmOPXpFE7J\n\tQC6EDRWCF0VI+89bu6MSBacU/JgClbVdd3CD8=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=qnFrKzVf9bqhZ/QU7Z7GNHJ/p7PfSgEDoBkt5y8Tur0=;\n\tb=K5gdt8YajODNiPXgDZndTFkyXSIv3ORVMYckXtKzlYzGhs4ioO/UX5TlwvMwWPZshk\n\tlODtpG4Rx7NtJtIENlr42eJkt/724i5rxUH9F1QImqmYx0pI/0bCPA1m8Hi4RiAznfni\n\twFv/y+KCX4j7XpoTj+wHnFrwvK1Ma7WvW6dkx2bTLJDhdfcGlemY2TeygPpajqtAQMcZ\n\tb1G1DMao8jm9t/58d2df9kYJmfwLvl1p55QM5MgXXBJt8gAYabHIIUxEKrwavxcYmiKp\n\tBosx6coCi/3xWCzuuzg7JoQhJ1p61cOW0A0u91YI2RoXaarKVAVKTqxFGLBnqGMQ20EX\n\tUwKA==","X-Gm-Message-State":"AOAM531v8xRhWtlfqE+lsjuisJ8f/jiSBOdQOxKslR09gMXOCM5T7cwy\n\tP/b3198gJLq4+wGTKQfZ4ZMZ51ZReAId2w==","X-Google-Smtp-Source":"ABdhPJx62p6Hy2MbaG7s2mEL5eXnlHlEJ4ru2TmaMSpWn7wGODrXV4KE9cXwn66XoX+reZYUVtOEog==","X-Received":"by 2002:a65:62c5:: with SMTP id\n\tm5mr10068955pgv.319.1618987732669; \n\tTue, 20 Apr 2021 23:48:52 -0700 (PDT)","From":"Hirokazu Honda <hiroh@chromium.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 21 Apr 2021 15:48:45 +0900","Message-Id":"<20210421064847.324118-1-hiroh@chromium.org>","X-Mailer":"git-send-email 2.31.1.368.gbe11c130af-goog","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v4 0/2] ipu3: Enable to handle a number of\n\tconcurrent requests","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"PipelineHandler originally discards a request with ENOBUFS or\nENOMEM when a buffer is not available. The request will be\nsuccessful if enough buffers are available. This patch series\nenables to process requests even if no buffer is available then\nby storing the requests and retry queuing later.\n\nChange in v4:\n- Squash 1/3 and 3/3\n- Use FrameBuffer::cancel() introduced by Kieran's patch series\n- Address comments by Laurent\n\nChange in v3:\n- Cancel pending buffers correctly upon PipelineHandlerIPU3::stop()\n\nChange in v2:\n- Move a queue of pending requests to IPU3CameraData\n- Pass queuePendingRequests() as signal to CIO2Device and\n  IPU3Frame and invoke it from them.\n\nHirokazu Honda (2):\n  pipeline: ipu3: Store requests in the case a buffer shortage\n  libcamera: ipu3: Try queuing pending requests if a buffer is available\n\n src/libcamera/pipeline/ipu3/cio2.cpp   |  4 +-\n src/libcamera/pipeline/ipu3/cio2.h     |  2 +\n src/libcamera/pipeline/ipu3/frames.cpp |  6 +-\n src/libcamera/pipeline/ipu3/frames.h   |  4 ++\n src/libcamera/pipeline/ipu3/ipu3.cpp   | 77 +++++++++++++++++++-------\n 5 files changed, 70 insertions(+), 23 deletions(-)\n\n--\n2.31.1.368.gbe11c130af-goog"}