From patchwork Mon Sep 24 13:26:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sylwester Nawrocki/Kernel \\(PLT\\) /SRPOL/Staff Engineer/Samsung Electronics" X-Patchwork-Id: 1497601 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 53C9A3FE80 for ; Mon, 24 Sep 2012 13:27:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754236Ab2IXN1J (ORCPT ); Mon, 24 Sep 2012 09:27:09 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:21456 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753909Ab2IXN1I (ORCPT ); Mon, 24 Sep 2012 09:27:08 -0400 Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MAU00A1TW10TH31@mailout4.samsung.com> for linux-media@vger.kernel.org; Mon, 24 Sep 2012 22:27:06 +0900 (KST) X-AuditID: cbfee61a-b7f726d000000ec7-0b-50605faac551 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 30.4E.03783.AAF50605; Mon, 24 Sep 2012 22:27:06 +0900 (KST) Received: from amdc248.digital.local ([106.116.147.32]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MAU0004CW0WP230@mmp1.samsung.com> for linux-media@vger.kernel.org; Mon, 24 Sep 2012 22:27:06 +0900 (KST) From: Sylwester Nawrocki To: linux-media@vger.kernel.org Cc: a.hajda@samsung.com, sakari.ailus@iki.fi, laurent.pinchart@ideasonboard.com, hverkuil@xs4all.nl, kyungmin.park@samsung.com, sw0312.kim@samsung.com, Sylwester Nawrocki Subject: [PATCH RFC] V4L: Add s_rx_buffer subdev video operation Date: Mon, 24 Sep 2012 15:26:53 +0200 Message-id: <1348493213-32278-1-git-send-email-s.nawrocki@samsung.com> X-Mailer: git-send-email 1.7.11.3 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFJMWRmVeSWpSXmKPExsVy+t9jAd1V8QkBBl+2qVv0bNjK6sDo8XmT XABjFJdNSmpOZllqkb5dAlfG3GefmAtOcFcc+GLTwLiNs4uRk0NCwETi5sEFzBC2mMSFe+vZ uhi5OIQEFjFKXN05kx3CWc4kcevvBCaQKjYBQ4neo32MILaIgLzEk94bYB3MAicZJRrW/QQb JSzgILHi/ixWEJtFQFXiQ/N5sAZeATeJNTPmM0GsU5T48X0N8wRG7gWMDKsYRVMLkguKk9Jz DfWKE3OLS/PS9ZLzczcxgn34TGoH48oGi0OMAhyMSjy8nOfjA4RYE8uKK3MPMUpwMCuJ8E40 TAgQ4k1JrKxKLcqPLyrNSS0+xCjNwaIkziv8KTBASCA9sSQ1OzW1ILUIJsvEwSnVwBiToL+/ 0XVhQbTHpOTbdn3cv/dpxigcP+y8/dCudoWMC6cndstPC9vXFvTCXJbrgDvbjIMz30w46BEQ eLZdaV31FAblgtAn2hsLtaZNtTBPd/8y7xDDqRctDZfY1O42PJux66TTkVyTGBePrIg9Re+Y r4k3e2TX6G+QUHz/f9W2Xotmft4PqUosxRmJhlrMRcWJACtP9XDdAQAA Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org The s_rx_buffer callback allows the host to set buffer for non-image (meta) data at a subdev. This callback can be implemented by an image sensor or a MIPI-CSI receiver, allowing the host to retrieve the frame embedded data from a subdev. Signed-off-by: Sylwester Nawrocki Signed-off-by: Kyungmin Park --- include/media/v4l2-subdev.h | 6 ++++++ 1 file changed, 6 insertions(+) -- 1.7.11.3 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index 22ab09e..28067ed 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h @@ -274,6 +274,10 @@ struct v4l2_subdev_audio_ops { s_mbus_config: set a certain mediabus configuration. This operation is added for compatibility with soc-camera drivers and should not be used by new software. + + s_rx_buffer: set a host allocated memory buffer for the subdev. The subdev + can adjust @size to a lower value and must not write more data to the + buffer starting at @data than the original value of @size. */ struct v4l2_subdev_video_ops { int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); @@ -327,6 +331,8 @@ struct v4l2_subdev_video_ops { struct v4l2_mbus_config *cfg); int (*s_mbus_config)(struct v4l2_subdev *sd, const struct v4l2_mbus_config *cfg); + int (*s_rx_buffer)(struct v4l2_subdev *sd, void *buf, + unsigned int *size); }; /*