{"id":18267,"url":"https://patchwork.libcamera.org/api/1.1/covers/18267/?format=json","web_url":"https://patchwork.libcamera.org/cover/18267/","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":"<20230208095922.1471175-1-chenghaoyang@google.com>","date":"2023-02-08T09:59:19","name":"[libcamera-devel,v1,0/3] Add HeapAllocator","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/1.1/people/117/?format=json","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"mbox":"https://patchwork.libcamera.org/cover/18267/mbox/","series":[{"id":3744,"url":"https://patchwork.libcamera.org/api/1.1/series/3744/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3744","date":"2023-02-08T09:59:19","name":"Add HeapAllocator","version":1,"mbox":"https://patchwork.libcamera.org/series/3744/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/18267/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 6DA68BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  8 Feb 2023 09:59:33 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AC69E625E3;\n\tWed,  8 Feb 2023 10:59:32 +0100 (CET)","from mail-pl1-x632.google.com (mail-pl1-x632.google.com\n\t[IPv6:2607:f8b0:4864:20::632])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7103A625DD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  8 Feb 2023 10:59:30 +0100 (CET)","by mail-pl1-x632.google.com with SMTP id e19so10754878plc.9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 08 Feb 2023 01:59:30 -0800 (PST)","from chenghaoyang-low.c.googlers.com.com\n\t(46.165.189.35.bc.googleusercontent.com. [35.189.165.46])\n\tby smtp.gmail.com with ESMTPSA id\n\tm2-20020a17090a4d8200b00230b8402760sm1077773pjh.38.2023.02.08.01.59.27\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 08 Feb 2023 01:59:28 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1675850372;\n\tbh=+fQ0GfPJ0+8yoipL+rsZ51osdqVh8E2fj88mMnfAogk=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=Xqt2FNuvrOM1EPTJS9HIppBz55PhvKEdIqgjdc8ADZIRX9hHZzZgA/wWqUfJF2cM3\n\tguVTJAGd7b+P4xrQTgWQ5BLFUDc/CCVD2JHBvOIbFNRbHuMa1PPHVpU3GOHrihmTzH\n\tTNVK/ZKG5rOVlUU8PrIo3KBj/u278/g8g+3WqRhLwb5N4Hja2McrKW9gusGdcNwKCc\n\twJFOfwHjayTuJVjKFHNtiK9XX3+rmIyMtY4blgPDqRrcz3xauDW/ENnsrmzndZ0XvJ\n\tMRSeQi021F2UXMZ3yJuF51OfIP5Q9BC0+fRPulrRkd2+nHXd1HxtoObZMJQBtYRmsg\n\tK6ViV1VqLUEIQ==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=9tSJspk9PKE+Vq/At+DvIdGRnF5cyFlM2mPLZGkSu8o=;\n\tb=Ngp5LsBqV6kNtguAdpO83y7vCqROA15to9D15wIuTANwyAJ3pd8D5qezq4s0iIrm8F\n\tLriD4i4ge4qN+k2fBG3U3AA94HsuwwSUokH2rGhD7pyZVq0gmg/QDBp+S9SCk7NP6NSV\n\t7qA9IVHZnXijKxo/Ir50oBOgRCr+u/avviUjI="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=chromium.org\n\theader.i=@chromium.org header.b=\"Ngp5LsBq\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=9tSJspk9PKE+Vq/At+DvIdGRnF5cyFlM2mPLZGkSu8o=;\n\tb=zVZ3NUgeKryxApUrO9wkgFoa2NDyWWfk53Y85k8K+2yo6yv6H3bTwpPLLcaheZhBwS\n\tXcU60h6GhS1d/AUcv4Pz7zcWGigz6zzeWOwd/b9XU51DGZdUu8Z+g2bgEwHIH6hhGKWw\n\tc4cDNGZaV0ViyeJ3Py5GQ/vbqxrEqRTE3s4MdnrTm6X1SEYUmUI6jBXDpSDMGRPYHMO8\n\tICEgb5pLuymIaeUm62JrYZBep0TWoRLOb1cR7Xpdz1VLU+Ep154muAruHcG74BTgFyZT\n\tG+jmWMytYFbRnGZcHOF5YZoXh2bVNvpekCWlTAteenrX++OUMrb/z7F0yrYpTp3/G661\n\tY7yw==","X-Gm-Message-State":"AO0yUKWI2KzGoPaVKj+W4VoYxqP2YajbwEUGkLvZy0ZDukFZajq3LPDg\n\tEaeZ92WgKyOKkKBekfyXx/fBtjnn/w1C1kRu","X-Google-Smtp-Source":"AK7set9yCwwJXJZ7Z/zMWfqCPLKs7AGUpnxbUrBaZ9f8lvboPO658F4jFYZUTsEHjWmgk8PIH3Nrrg==","X-Received":"by 2002:a05:6a20:4421:b0:bf:58d1:ce83 with SMTP id\n\tce33-20020a056a20442100b000bf58d1ce83mr20806874pzb.2.1675850368416; \n\tWed, 08 Feb 2023 01:59:28 -0800 (PST)","X-Google-Original-From":"Harvey Yang <chenghaoyang@google.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed,  8 Feb 2023 09:59:19 +0000","Message-Id":"<20230208095922.1471175-1-chenghaoyang@google.com>","X-Mailer":"git-send-email 2.39.1.519.gcb327c4b5f-goog","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v1 0/3] Add HeapAllocator","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>","From":"Harvey Yang via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Harvey Yang <chenghaoyang@chromium.org>","Cc":"Harvey Yang <chenghaoyang@google.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi Kieran and all,\n\nThe series of patches added HeapAllocator, which uses DmaHeap (moved\nfrom Raspberry Pi pipeline handler) and UdmaHeap to allocate heap\nbuffers.\n\nI've only build-test it, and I'll need to test it on my virtual pipeline\nhandler patches, but please take a look and let me know if it makes\nsense. Thanks!\n\nBR,\nHarvey\n\nHarvey Yang (3):\n  libcamera: Move DmaHeap to HeapAllocator as a base class\n  libcamera: Add UdmaHeap if DmaHeap is not valid\n  libcamera: Add exportFrameBuffers in HeapAllocator\n\n include/libcamera/dma_heap.h                  |  20 +++\n include/libcamera/heap.h                      |  27 ++++\n include/libcamera/heap_allocator.h            |  40 ++++++\n include/libcamera/meson.build                 |   4 +\n include/libcamera/udma_heap.h                 |  20 +++\n .../dma_heaps.cpp => dma_heap.cpp}            |  54 +++++---\n src/libcamera/heap_allocator.cpp              |  90 ++++++++++++++\n src/libcamera/meson.build                     |   3 +\n .../pipeline/raspberrypi/dma_heaps.h          |  32 -----\n .../pipeline/raspberrypi/meson.build          |   1 -\n .../pipeline/raspberrypi/raspberrypi.cpp      |  10 +-\n src/libcamera/udma_heap.cpp                   | 117 ++++++++++++++++++\n 12 files changed, 360 insertions(+), 58 deletions(-)\n create mode 100644 include/libcamera/dma_heap.h\n create mode 100644 include/libcamera/heap.h\n create mode 100644 include/libcamera/heap_allocator.h\n create mode 100644 include/libcamera/udma_heap.h\n rename src/libcamera/{pipeline/raspberrypi/dma_heaps.cpp => dma_heap.cpp} (56%)\n create mode 100644 src/libcamera/heap_allocator.cpp\n delete mode 100644 src/libcamera/pipeline/raspberrypi/dma_heaps.h\n create mode 100644 src/libcamera/udma_heap.cpp"}