From nobody Thu Apr 9 13:18:24 2026 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D68F03D6CC3 for ; Mon, 9 Mar 2026 15:02:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773068523; cv=none; b=CgHQDJ3XZ0T5RVahJtuf5Ia29nUiA/DnN3UwMSh1kBR9uizKwAnj0qxUC94nOunLb7rptKloOWeq7VvmE2RY/4w2kP0RBOdJR4/A0lCLyxzZAujQODZUTRuqC5ewbTBYyrV0yNYx6LatVi/PNJA4DDMhalXr5dG86UqQLkvz5o4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773068523; c=relaxed/simple; bh=CCo9MsLBz35ddFk/kftRSVSKC9JPYu1XSXPfUzfG2uU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qtVL8RBZI2KuJduU+s0inpEMKNEFzcMBB81bsEco0lRR8mMM4DqZzTYoMmCSzMLveLGZjibuGKg9S5CEwrM3jMk07bWOLtaIpklAP5QDAM69IAHF7tIUqMCv30FQhK9HgLPf3cuWnjn6Z8AZ3XiabGC9J2vV1EThWbKSHFEgZDY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=I6lw2OOm; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="I6lw2OOm" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-5a1443780c4so2012475e87.0 for ; Mon, 09 Mar 2026 08:02:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1773068520; x=1773673320; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=f6YS8feCy/AcjUOl+x13VpxVJ8Kgr7ClPZ1jb91K/I0=; b=I6lw2OOmWOLWIpm5yencf3ula5osWOB1yuNlNXKgtu2FJFE+y9+8UIstk/3h5b7LJv o7ob/WsLIWXPEColFZ1Z4YR7OkQn4I1X8VuRwv95Xnxml6jVzycCmYrS4vy7Y/E1qRF4 Rjct6k0/roCGnxoXOzddB0hQOyY85V/hbtmzc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773068520; x=1773673320; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=f6YS8feCy/AcjUOl+x13VpxVJ8Kgr7ClPZ1jb91K/I0=; b=qT4UJLt6iUNDuFaaonOrh8Kg8EJvoTqyRDO9mYUlFrPaMjKXkQJSwBKzeH3wOYwcc7 4w78pssemHI9cjfefymrGYu/Bql1+y6REzkupXfEy37ognyd3Um+xZXy6EQ/H0ta0vES VphLFbrmkW0RFFZKPuRgw+t4VfQGxFH+5DbeLAiShUchwGwtZogeb+Su3vB13rajxbnm nCgIaeEnjYUXGLVFPpnaiLzWMOg7LOi+N4OwArMtYY0aRHzpmDMXtyPJHP/yOw7AjAW2 cF7CJlqbvXvVwYLgvIw99g5XCQdUcPez/6q/etmQB5d7rWlixyw9BhZQicF2f4O4tgqv YpLA== X-Forwarded-Encrypted: i=1; AJvYcCUTvapU549nXr4PMWHsk6bLMnKUtCMBQwQ/prpImzI+6XVB6ynkJxiuN6sO6M2bNNucZpXYLdFv+gNjlzc=@vger.kernel.org X-Gm-Message-State: AOJu0YxK1WYgNmvaDPnnvwgOSu87wWVysdln0zjmKTLzsQEilqfMpTG+ mAyCfUwPUPYoBzIBGHddiDroRxnKJ4ALpq5+e+uQG52z1sLFcRgP8ugpKGroVV8fWg== X-Gm-Gg: ATEYQzyeVOJbXGKE51L8ZbkKLawI4D56oy/3Q5phVlVMgKxEk0SRqsq2/55A+s/djUN rjocP2KoR77A5VUFJSsX/GOPPUkyUz8aCHn0/JBALEr6f7YHP8hMWHI1q9Iivne7gY42CaR8DeJ 0kIYkuNep1IXazqBjQBmr/MDxyJvtgsgqo1eKBG9AEOozFRyAMzIsOyss3okvBXQZpc+HsoWoIa MoJJj3lRwxeFOMr/cFNqGz/MpCTZRBhS1yA5llLyz/TTGIIreCZeyTblmxs0tj1+5e2FULvJUVI Fg7myOCrxlZUWHjACl6lpPmG3yo5cydlz75gddOpIExz2BSpL0cCexMSNh1AtNbDe31hHxA6/zL lUZfgRKpbZDkr9HnPrtck5HIUaPpHSEsKdx7ZUIGjhwfJGQLU6VyqU6XgRdU4rAQFFpO6eISstz pYLMUGtB23/P6A0deIcVDW/8k00Gr9eU3/q0toQooUBtxkc4IJShym2KlA2AydCTamsuJBoEI38 Q== X-Received: by 2002:a05:6512:308b:b0:5a1:1941:18ad with SMTP id 2adb3069b0e04-5a131e381d3mr5383026e87.0.1773068519891; Mon, 09 Mar 2026 08:01:59 -0700 (PDT) Received: from ribalda.c.googlers.com (27.69.88.34.bc.googleusercontent.com. [34.88.69.27]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a13d08cc0dsm2138003e87.80.2026.03.09.08.01.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2026 08:01:58 -0700 (PDT) From: Ricardo Ribalda Date: Mon, 09 Mar 2026 15:01:54 +0000 Subject: [PATCH 1/3] media: uvcvideo: Enable VB2_DMABUF for metadata stream Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260309-uvc-metadata-dmabuf-v1-1-fc8b87bd29c5@chromium.org> References: <20260309-uvc-metadata-dmabuf-v1-0-fc8b87bd29c5@chromium.org> In-Reply-To: <20260309-uvc-metadata-dmabuf-v1-0-fc8b87bd29c5@chromium.org> To: Laurent Pinchart , Hans de Goede , Mauro Carvalho Chehab , Guennadi Liakhovetski Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Yunke Cao , Ricardo Ribalda , stable@vger.kernel.org X-Mailer: b4 0.14.3 The UVC driver has two video streams, one for the frames and another one for the metadata. Both streams share most of the codebase, but only the data stream declares support for DMABUF transfer mode. I have tried the DMABUF transfer mode with CONFIG_DMABUF_HEAPS_SYSTEM and the frames looked correct. This patch announces the support for DMABUF for the metadata stream. This is useful for apps/HALs that only want to support DMABUF. Cc: stable@vger.kernel.org Fixes: 088ead2552458 ("media: uvcvideo: Add a metadata device node") Signed-off-by: Ricardo Ribalda Reviewed-by: Hans de Goede Reviewed-by: Laurent Pinchart --- drivers/media/usb/uvc/uvc_queue.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_= queue.c index 8b8f44b4a045..0eddd4f872ca 100644 --- a/drivers/media/usb/uvc/uvc_queue.c +++ b/drivers/media/usb/uvc/uvc_queue.c @@ -243,7 +243,7 @@ int uvc_queue_init(struct uvc_video_queue *queue, enum = v4l2_buf_type type) int ret; =20 queue->queue.type =3D type; - queue->queue.io_modes =3D VB2_MMAP | VB2_USERPTR; + queue->queue.io_modes =3D VB2_MMAP | VB2_USERPTR | VB2_DMABUF; queue->queue.drv_priv =3D queue; queue->queue.buf_struct_size =3D sizeof(struct uvc_buffer); queue->queue.mem_ops =3D &vb2_vmalloc_memops; @@ -256,7 +256,6 @@ int uvc_queue_init(struct uvc_video_queue *queue, enum = v4l2_buf_type type) queue->queue.ops =3D &uvc_meta_queue_qops; break; default: - queue->queue.io_modes |=3D VB2_DMABUF; queue->queue.ops =3D &uvc_queue_qops; break; } --=20 2.53.0.473.g4a7958ca14-goog