From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from lb2-smtp-cloud8.xs4all.net ([194.109.24.25]:54309 "EHLO lb2-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754331AbeEHH5d (ORCPT ); Tue, 8 May 2018 03:57:33 -0400 Subject: Re: [PATCH v5 0/8] Add support for multi-planar formats and 10 bit formats To: Hyun Kwon Cc: Satish Kumar Nagireddy , "linux-media@vger.kernel.org" , "laurent.pinchart@ideasonboard.com" , "michal.simek@xilinx.com" , Hyun Kwon References: <52e91f0d-e520-9de1-56f7-40cfb45dc7bc@xs4all.nl> <20180507174504.GA23132@smtp.xilinx.com> From: Hans Verkuil Message-ID: Date: Tue, 8 May 2018 09:57:25 +0200 MIME-Version: 1.0 In-Reply-To: <20180507174504.GA23132@smtp.xilinx.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: On 05/07/2018 07:45 PM, Hyun Kwon wrote: > Hi Hans, > > Thanks for the comment. > > On Mon, 2018-05-07 at 05:59:39 -0700, Hans Verkuil wrote: >> Hi Satish, >> >> On 03/05/18 04:42, Satish Kumar Nagireddy wrote: >>> The patches are for xilinx v4l. The patcheset enable support to handle multiplanar >>> formats and 10 bit formats. Single planar implementation is removed as mplane can >>> handle both. >> >> If I understand the format correctly, then the planes are contiguous in memory, >> i.e. it is a single buffer. >> >> You do not need to switch to the _MPLANE API for that: that API is meant for the >> case where the planes are not contiguous in memory but each plane has its own >> buffer. And yes, we should have called it the _MBUFFER API or something :-( >> >> https://hverkuil.home.xs4all.nl/spec/uapi/v4l/pixfmt-nv12.html >> >> Switching to the _MPLANE API will actually break userspace, so that's another >> reason why you shouldn't do this. But from what I can tell, it really isn't >> needed at all. >> > > Sharing some background to get your further input. :-) > > The Xilinx V4L driver is currently only for the soft IPs, which are > programmable on FPGA, and those IPs are constantly updated. Initially, IPs > didn't support _MPLANE formats, so it started with single buffer type format. > Now, the IPs support _MPLANE formats, even though those formats are not part of > this patch. Those formats are in downstream vendor tree and will be upstreamed > at some point[1]. While implementing the multi-buffer formats, we had similar > concern regarding UAPI and ended up having the module param[2]. It was there > for a couple of Xilinx release cycles to migrate internal applications to > _MPLANE formats and to get report if that breaks any external applications. Now > we thought it's good time to hard-switch the driver to _MPLANE completely > rather than keeping single buffer code, especially because it seems legal to > support single buffer formats with _MPLANE type. If this is not the case and > the applications with single buffer formats but without mplane formats should > be supported, we can revive the single buffer code in one way or another. In that case you need to split off the _MPLANE API change into a separate patch. Switching to the MPLANE API has nothing to do with supporting this format, it is done for a different reason (future support for real multiplane formats). Since this also breaks userspace applications you will need to clearly state in the commit log why this is a reasonable thing to do. Regards, Hans > > Thanks, > -hyun > > [1] https://github.com/Xilinx/linux-xlnx/blob/xilinx-v2018.1/drivers/media/platform/xilinx/xilinx-vip.c#L33 > [2] https://github.com/Xilinx/linux-xlnx/blob/xilinx-v2018.1/drivers/media/platform/xilinx/xilinx-vipp.c#L40 > >> Regards, >> >> Hans >> >>> >>> Patch-set has downstream changes and bug fixes. Added new media bus format >>> MEDIA_BUS_FMT_VYYUYY8_1X24, new pixel format V4L2_PIX_FMT_XV15 and rst >>> documentation. >>> >>> Jeffrey Mouroux (1): >>> uapi: media: New fourcc code and rst for 10 bit format >>> >>> Radhey Shyam Pandey (1): >>> v4l: xilinx: dma: Remove colorspace check in xvip_dma_verify_format >>> >>> Rohit Athavale (1): >>> xilinx: v4l: dma: Update driver to allow for probe defer >>> >>> Satish Kumar Nagireddy (4): >>> media-bus: uapi: Add YCrCb 420 media bus format and rst >>> v4l: xilinx: dma: Update video format descriptor >>> v4l: xilinx: dma: Add multi-planar support >>> v4l: xilinx: dma: Add support for 10 bit formats >>> >>> Vishal Sagar (1): >>> xilinx: v4l: dma: Terminate DMA when media pipeline fail to start >>> >>> Documentation/media/uapi/v4l/pixfmt-xv15.rst | 134 +++++++++++++++++++ >>> Documentation/media/uapi/v4l/subdev-formats.rst | 38 +++++- >>> Documentation/media/uapi/v4l/yuv-formats.rst | 1 + >>> drivers/media/platform/xilinx/xilinx-dma.c | 170 +++++++++++++++--------- >>> drivers/media/platform/xilinx/xilinx-dma.h | 4 +- >>> drivers/media/platform/xilinx/xilinx-vip.c | 37 ++++-- >>> drivers/media/platform/xilinx/xilinx-vip.h | 15 ++- >>> drivers/media/platform/xilinx/xilinx-vipp.c | 16 +-- >>> include/uapi/linux/media-bus-format.h | 3 +- >>> include/uapi/linux/videodev2.h | 1 + >>> 10 files changed, 333 insertions(+), 86 deletions(-) >>> create mode 100644 Documentation/media/uapi/v4l/pixfmt-xv15.rst >>> >>