Patch Detail
Show a patch.
GET /api/patches/25507/?format=api
{ "id": 25507, "url": "https://patchwork.libcamera.org/api/patches/25507/?format=api", "web_url": "https://patchwork.libcamera.org/patch/25507/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20251211232246.31330-14-bryan.odonoghue@linaro.org>", "date": "2025-12-11T23:22:38", "name": "[v5,13/20] libcamera: software_isp: Make output DMA sync contingent", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "bbc24e3404e986b0c8daa2edfa4d9c57eda948ad", "submitter": { "id": 175, "url": "https://patchwork.libcamera.org/api/people/175/?format=api", "name": "Bryan O'Donoghue", "email": "bryan.odonoghue@linaro.org" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/25507/mbox/", "series": [ { "id": 5656, "url": "https://patchwork.libcamera.org/api/series/5656/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5656", "date": "2025-12-11T23:22:25", "name": "GPUISP precursor series", "version": 5, "mbox": "https://patchwork.libcamera.org/series/5656/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/25507/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/25507/checks/", "tags": {}, "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 6A3DDC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 11 Dec 2025 23:23:59 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1F6126167F;\n\tFri, 12 Dec 2025 00:23:59 +0100 (CET)", "from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com\n\t[IPv6:2607:f8b0:4864:20::42e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 947336161F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Dec 2025 00:23:57 +0100 (CET)", "by mail-pf1-x42e.google.com with SMTP id\n\td2e1a72fcca58-7b75e366866so307277b3a.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 11 Dec 2025 15:23:57 -0800 (PST)", "from inspiron14p-linux (M106185144161.v4.enabler.ne.jp.\n\t[106.185.144.161]) by smtp.gmail.com with ESMTPSA id\n\td2e1a72fcca58-7f4c4ab52aasm3399933b3a.38.2025.12.11.15.23.53\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 11 Dec 2025 15:23:55 -0800 (PST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"Kxj5/KAU\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1765495436; x=1766100236;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=Kob/ToaFoFnln8JxOvYeUhkJB1Nasllbl3ZD4CR3Ky8=;\n\tb=Kxj5/KAUauQQa79W8UDzHdA0G9tcvmBOM/2ZKp/L2+XEh1jEGQ1F+snbXyiB69glTY\n\twrIJygPGA2eJq2m3OI9GoFNPghlWAxdAvIr5owQvZGCILEMK3ZR7lNeZUHQmNFlH16Rh\n\tVsxrfdTDIMonJIMrPnKV9wqJcv2xGsf8EgJAqJTFWVenz9/e+qaJipYFS0NcDPDV32PM\n\tmA5FygV+nwF4GLviguEJylfIG87PpZqOYppHL1/67rRaK75841zxmNmxgH88maTM4+pg\n\tiE7FvGAAwfiLqQn0ANzqqGJ+I1yg8OYQTe5dF9377TQj6W/EacYpP1ocWxl9ljp9dot8\n\tZOvw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1765495436; x=1766100236;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=Kob/ToaFoFnln8JxOvYeUhkJB1Nasllbl3ZD4CR3Ky8=;\n\tb=S9df/NSldcfNEtCUiMONzL3T7RewM0VwBvseBcp49LxZeCVdDEvWuk0xeEOvmyP5YL\n\tml6JcEcbNfaHlUtKXVwlUnl/XjpogYMXL+kDMNnUwJEh0GbSjtg6oEUUuKgX/CWQqz+O\n\tks+3qwHR4V4ZMqRmg8sdC+6DvEJANurVW2TFfUGTXOtJ9dlTKXd4gnSEcH/1t5DS3nMi\n\tPe/3B51/k1oYI+9tNlow+UAF9YePcFkX9Apq8m5412jfjhbz0VZYE3GicEkzpM8ChjGR\n\tJlBPJzKZHYoE0WiRuqMUhlXCe/aH5+4kCyEx/pn09mog8oCfAGUpO5XcPiwyWRBrk0hX\n\toreQ==", "X-Gm-Message-State": "AOJu0YzoCX2aWMUI48s3FqFAiDV6NlQrFlZUgnelASIktWNgGFIQeCNW\n\tpnfqs/Ze3gtB0zy/ShXh7gZ8hB5vHtj+T2GdHU0fxyNfuusiC7HtpuckWuHWy2Kc9LSEeJ6pquK\n\tqQhGE", "X-Gm-Gg": "AY/fxX76zPcr5LWrdEeDz1GLofi9SB58EBs3qJYUavYzMqHMJLmf8FtO5lzU9x3Ig8F\n\trk3VeE+mS5BUnFkKCyOti3jEGeenI/VLRSNwzE1AxOWP9/9ERS/7fxB0IwtVSb+whAb+Qwm+04V\n\tNH6hX57HWi0ccuEYK1D2WiGtcMyq3h0C/AExmT1HykLFkT7JrgW+SuLdMm9KSdrd2Lv9hlYRA/J\n\t8r3dDmcqZwWXk3dVpoAGKt76Bl+OSH0WktI9ZFOubk7T/qftd4ASm52qcvumakjmsiVoW+WxoRb\n\t4md5pijIF8f7neNGGSVoY4CKZ7B1fCFCXUmDi9kKBwZf4qQt5Nk8x2DQWadLXljVTS8gk7x8nBW\n\tHr2uLBFDx0bD7A30RsDNTqJMWVJaxN8ejFmLI/WkRD1oYVC6OuE1vdJ4LCiWalJN1cl86Ipcwx4\n\tDq6tu9G/eopK5p1iqo+BEJ/gmkLrfiADpbP7/6xE89JspPc3ObsgXfQj/vHFk88g==", "X-Google-Smtp-Source": "AGHT+IHXz7vuiSrRIIvh5j+XYczkt99ttvYM0FytZpzHWXsuIKX/+6mUc14tZuoTOQFQxDbzH3LCww==", "X-Received": "by 2002:a05:6a00:299b:b0:7e8:43f5:bd47 with SMTP id\n\td2e1a72fcca58-7f669799514mr167517b3a.51.1765495435929; \n\tThu, 11 Dec 2025 15:23:55 -0800 (PST)", "From": "Bryan O'Donoghue <bryan.odonoghue@linaro.org>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "pavel@ucw.cz, Bryan O'Donoghue <bryan.odonoghue@linaro.org>,\n\tRobert Mader <robert.mader@collabora.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>,\n\tMilan Zamazal <mzamazal@redhat.com>", "Subject": "[PATCH v5 13/20] libcamera: software_isp: Make output DMA sync\n\tcontingent", "Date": "Thu, 11 Dec 2025 23:22:38 +0000", "Message-ID": "<20251211232246.31330-14-bryan.odonoghue@linaro.org>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20251211232246.31330-1-bryan.odonoghue@linaro.org>", "References": "<20251211232246.31330-1-bryan.odonoghue@linaro.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "The DMA sync output buffer from the GPU need only have its cache\ninvalidated if the CPU is going to modify the buffer. Right now this is\nnot required for gpuisp so only act on the output buffer if it is\nnon-null.\n\nSuggested-by: Robert Mader <robert.mader@collabora.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Milan Zamazal <mzamazal@redhat.com>\nSigned-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n---\n src/libcamera/software_isp/debayer.cpp | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)", "diff": "diff --git a/src/libcamera/software_isp/debayer.cpp b/src/libcamera/software_isp/debayer.cpp\nindex 544921656..158128f30 100644\n--- a/src/libcamera/software_isp/debayer.cpp\n+++ b/src/libcamera/software_isp/debayer.cpp\n@@ -373,8 +373,10 @@ void Debayer::dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *inpu\n \tfor (const FrameBuffer::Plane &plane : input->planes())\n \t\tdmaSyncers.emplace_back(plane.fd, DmaSyncer::SyncType::Read);\n \n-\tfor (const FrameBuffer::Plane &plane : output->planes())\n-\t\tdmaSyncers.emplace_back(plane.fd, DmaSyncer::SyncType::Write);\n+\tif (output) {\n+\t\tfor (const FrameBuffer::Plane &plane : output->planes())\n+\t\t\tdmaSyncers.emplace_back(plane.fd, DmaSyncer::SyncType::Write);\n+\t}\n }\n \n } /* namespace libcamera */\n", "prefixes": [ "v5", "13/20" ] }