{"id":25114,"url":"https://patchwork.libcamera.org/api/patches/25114/?format=json","web_url":"https://patchwork.libcamera.org/patch/25114/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20251120232019.3590-14-bryan.odonoghue@linaro.org>","date":"2025-11-20T23:20:10","name":"[13/22] libcamera: software_isp: Make output DMA sync contingent","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"bbc24e3404e986b0c8daa2edfa4d9c57eda948ad","submitter":{"id":175,"url":"https://patchwork.libcamera.org/api/people/175/?format=json","name":"Bryan O'Donoghue","email":"bryan.odonoghue@linaro.org"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/25114/mbox/","series":[{"id":5599,"url":"https://patchwork.libcamera.org/api/series/5599/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5599","date":"2025-11-20T23:19:57","name":"GPUISP precursor series","version":1,"mbox":"https://patchwork.libcamera.org/series/5599/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/25114/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/25114/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 99FEEC3330\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 20 Nov 2025 23:20:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 51DF460ABD;\n\tFri, 21 Nov 2025 00:20:50 +0100 (CET)","from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com\n\t[IPv6:2a00:1450:4864:20::32f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1D03460A80\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 21 Nov 2025 00:20:48 +0100 (CET)","by mail-wm1-x32f.google.com with SMTP id\n\t5b1f17b1804b1-477632d9326so9117605e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 20 Nov 2025 15:20:48 -0800 (PST)","from inspiron14p-linux.ht.home (188-141-3-146.dynamic.upc.ie.\n\t[188.141.3.146]) by smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-477bf3af0ecsm11618415e9.9.2025.11.20.15.20.46\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 20 Nov 2025 15:20:46 -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=\"J+Yxa4+g\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1763680847; x=1764285647;\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=fuB5nZvmUnr2qr/n7eHSpAHaAkGWzDTTnkqO1/Mr7cs=;\n\tb=J+Yxa4+g/P0sE9xYQdFtY7TwVc8EFImoR1V/PMP3DupeleV0Ugutz6BKSlbwFVAewV\n\tZF9b97UGWYsKYCrkihlvWFI0gdI1fV3CuKeHTVasg+dFnAooBgWIgzShS9b9Adw7ZsNL\n\tLppA+38wufzKt9jRkewIM/S79t+ENFP6JHASqNTrLq5NyKSlBnSrU1fFgEPoINNmI3uL\n\t1NsItLn+pwVQhoTwY0d0TAkDIKUCHZ9SSCty5ZrpCowX9L7jzSktEgUyJUin/HjQ4emS\n\t9nUgHtCxadUoC06Cz2a76s6OsQuOi/LdacDF4GeENHVq5P7vWmMpJLN3VLXLBXUzbesM\n\tJR8A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1763680847; x=1764285647;\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=fuB5nZvmUnr2qr/n7eHSpAHaAkGWzDTTnkqO1/Mr7cs=;\n\tb=CRKyQWS9sIZaLuCWq10hxofbpsL2scIllPY7sMTcsOatXwSdOQbT21hyTvS4QxmfQd\n\tnTenqR7RY9MxdtjZZQDtWMQrphKHK6cIYGsOpDcx6UHjy5YoU0HEnFsvwmb/VnGlreGi\n\twIXytWs9SLFg/xb07Lx2xsCBoUBOCb9IGHdpMPAYbXCAU9jZAfRuepTH3znXWUQU7InP\n\tEG7eXOhT3J/l8tMkUsUWj4vEFl6M7vtFCajXtYTo6BAWrHkY+gDiJMRhX8ESroJDZJFz\n\tfbY2BHHHmGcPRmbRUVcou46FMVlNV9jUh3IstbpuUFaPx+5RgD7v1TH0m0dFFVHcbje1\n\tpzVQ==","X-Gm-Message-State":"AOJu0YyzvwBpWVpPKuQI6X82FWlKdbZidA2FKVGRyPHtX3u7srR9DyVg\n\thCFX5Hj9XPVlR6zDlUDWr2XwQRP4L9+9JC7DJBECXtc8PopBGy+hsRQrgIeWG+jBsUpDKD2b8yK\n\tT93wNc5s=","X-Gm-Gg":"ASbGncvSWmEUALS2Vuq9th/Xg1jd4Jctz3aVEyCnXLM4Y1dt7U9069uPp09mIyzDYit\n\tMI82PxMetLBSlSeBNDVdLZSRyuWoE7fBw3gzu6Y9fmPm2ahqLH//Vi0EA/5mwmXDfXIAUoAVbTd\n\tMMNUIUdtKu9SLostghLOg7/fiholzBzQtqYhjdoapKc9D9DwCZz/VV8fISkGX+yi7uAG6GYtNYX\n\t4dz/8MGOsLf83DO61yl4MGn4A3niA5Gu9g29dLfp5gbI0RUyiUp+HFLYtdgiQs08msa9tHcDqQr\n\ts4KhkIna6XBbhriMoYw05EX2sOuTcqvQVnQIiiXiDFa4JJPiy0MO6IdxDdWSAlxAqTOJoSkttzt\n\tNywMbkT8azkw3sPZt9Qd/LlBXL8rL3Qi4FeUzdtPFX16U+T0bW8uYzYT71BsTasr0szYLmGfApx\n\tJxtYUZjp1Ovxi813vVcq1jCHwnfYEpt/ATkJLn9ksFSvMM8f2zHzgLCAC4NAzm3vhh9W8YAb2Sk\n\tiPtyA==","X-Google-Smtp-Source":"AGHT+IEhYt6l8Tv6P+rAi+PuUj4PoDBlOvFNfnReXaRXKr9d4cV7VsQVbWOWrIK5BppbaZfw1ON6ZQ==","X-Received":"by 2002:a05:600c:4506:b0:477:7bca:8b2b with SMTP id\n\t5b1f17b1804b1-477c0190e57mr3754645e9.15.1763680847459; \n\tThu, 20 Nov 2025 15:20:47 -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 13/22] libcamera: software_isp: Make output DMA sync\n\tcontingent","Date":"Thu, 20 Nov 2025 23:20:10 +0000","Message-ID":"<20251120232019.3590-14-bryan.odonoghue@linaro.org>","X-Mailer":"git-send-email 2.51.2","In-Reply-To":"<20251120232019.3590-1-bryan.odonoghue@linaro.org>","References":"<20251120232019.3590-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 795c68af7..8a53437e9 100644\n--- a/src/libcamera/software_isp/debayer.cpp\n+++ b/src/libcamera/software_isp/debayer.cpp\n@@ -230,8 +230,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":["13/22"]}