From: Steve Longerbeam <steve_longerbeam@mentor.com>
To: Hans Verkuil <hverkuil@xs4all.nl>,
Steve Longerbeam <slongerbeam@gmail.com>,
<linux-media@vger.kernel.org>
Subject: Re: [PATCH 00/28] IPUv3 prep for video capture
Date: Thu, 17 Jul 2014 13:44:12 -0700 [thread overview]
Message-ID: <53C8359C.1030005@mentor.com> (raw)
In-Reply-To: <53C7AF39.20608@xs4all.nl>
On 07/17/2014 04:10 AM, Hans Verkuil wrote:
> Hi Steve,
>
> I don't know what your plan is, but when you want to mainline this it is
> the gpu subsystem that needs to review it. I noticed it wasn't cross-posted
> to the dri-devel mailinglist.
Hi Hans,
I'm reworking these patches, I've merged in some of the changes
posted by Philip Zabel ("[RFC PATCH 00/26] i.MX5/6 IPUv3 CSI/IC"),
specifically I've decided to use their version of ipu-ic.c, and
also brought in their video-mux subdev driver. So I'm fine with
cancelling this patch set.
When/if I post the reworked v4l2 drivers that implement the media
entity/device framework I will post the ipu-v3 specific changes
to dri-devel as well.
The reason I like Philip's version of ipu-ic is that it implements
tiling to allow resizing output frames larger than 1024x1024. We
(Mentor Graphics) did the same IC tiling, but it was done inside
a separate mem2mem driver. By moving the tiling into ipu-ic, it
allows >1024x1024 resizing to be part of an imx-ipuv3-ic media
entity, and this entity can be part of multiple video pipelines
(capture, video output, mem2mem).
>
> I am a bit worried about the amount of v4l2-specific stuff that is going
> into drivers/gpu/ipu-v3. Do things like csc and csi really belong there
> instead of under drivers/media?
The current philosophy of the ipu-v3 driver seems to be that it is a
library of IPU register-level primitives, so ipu-csi and ipu-ic follow
that model. There will be nothing v4l2-specific in ipu-csi and ipu-ic,
although the v4l2 subdev's will be the only clients of ipu-csi and
ipu-ic.
>
> Let me know if this was just preliminary code, or if this was intended to
> be the final code. I suspect the former.
This is all been reworked so go ahead and cancel it.
Thanks,
Steve
>
>
>
> On 06/26/2014 03:05 AM, Steve Longerbeam wrote:
>> Hi Philip, Sascha,
>>
>> Here is a rebased set of IPU patches that prepares for video capture
>> support. Video capture is not included in this set. I've addressed
>> all your IPU-specific concerns from the previous patch set, the
>> major ones being:
>>
>> - the IOMUXC control for CSI input selection has been removed. This
>> should be part of a future CSI media entity driver.
>>
>> - the ipu-irt unit has been removed. Enabling the IRT module is
>> folded into ipu-ic unit. The ipu-ic unit is also cleaned up a bit.
>>
>> - the ipu-csi APIs are consolidated/simplified.
>>
>> - added CSI and IC base offsets for i.MX51/i.MX53.
>>
>>
>> Steve Longerbeam (28):
>> ARM: dts: imx6qdl: Add ipu aliases
>> gpu: ipu-v3: Add ipu_get_num()
>> gpu: ipu-v3: Add functions to set CSI/IC source muxes
>> gpu: ipu-v3: Rename and add IDMAC channels
>> gpu: ipu-v3: Add units required for video capture
>> gpu: ipu-v3: smfc: Move enable/disable to ipu-smfc.c
>> gpu: ipu-v3: smfc: Convert to per-channel
>> gpu: ipu-v3: smfc: Add ipu_smfc_set_watermark()
>> gpu: ipu-v3: Add ipu_mbus_code_to_colorspace()
>> gpu: ipu-v3: Add rotation mode conversion utilities
>> gpu: ipu-v3: Add helper function checking if pixfmt is planar
>> gpu: ipu-v3: Move IDMAC channel names to imx-ipu-v3.h
>> gpu: ipu-v3: Add ipu_idmac_buffer_is_ready()
>> gpu: ipu-v3: Add ipu_idmac_clear_buffer()
>> gpu: ipu-v3: Add __ipu_idmac_reset_current_buffer()
>> gpu: ipu-v3: Add ipu_stride_to_bytes()
>> gpu: ipu-v3: Add ipu_idmac_enable_watermark()
>> gpu: ipu-v3: Add ipu_idmac_lock_enable()
>> gpu: ipu-v3: Add idmac channel linking support
>> gpu: ipu-v3: Add ipu-cpmem unit
>> staging: imx-drm: Convert to new ipu_cpmem API
>> gpu: ipu-cpmem: Add ipu_cpmem_set_block_mode()
>> gpu: ipu-cpmem: Add ipu_cpmem_set_axi_id()
>> gpu: ipu-cpmem: Add ipu_cpmem_set_rotation()
>> gpu: ipu-cpmem: Add second buffer support to ipu_cpmem_set_image()
>> gpu: ipu-v3: Add more planar formats support
>> gpu: ipu-cpmem: Add ipu_cpmem_dump()
>> gpu: ipu-v3: Add ipu_dump()
>>
>> arch/arm/boot/dts/imx6q.dtsi | 1 +
>> arch/arm/boot/dts/imx6qdl.dtsi | 1 +
>> drivers/gpu/ipu-v3/Makefile | 3 +-
>> drivers/gpu/ipu-v3/ipu-common.c | 1077 +++++++++++++++++++--------------
>> drivers/gpu/ipu-v3/ipu-cpmem.c | 817 +++++++++++++++++++++++++
>> drivers/gpu/ipu-v3/ipu-csi.c | 701 +++++++++++++++++++++
>> drivers/gpu/ipu-v3/ipu-ic.c | 812 +++++++++++++++++++++++++
>> drivers/gpu/ipu-v3/ipu-prv.h | 103 +++-
>> drivers/gpu/ipu-v3/ipu-smfc.c | 156 ++++-
>> drivers/staging/imx-drm/ipuv3-plane.c | 16 +-
>> include/video/imx-ipu-v3.h | 371 +++++++-----
>> 11 files changed, 3389 insertions(+), 669 deletions(-)
>> create mode 100644 drivers/gpu/ipu-v3/ipu-cpmem.c
>> create mode 100644 drivers/gpu/ipu-v3/ipu-csi.c
>> create mode 100644 drivers/gpu/ipu-v3/ipu-ic.c
>>
>
--
Steve Longerbeam | Senior Embedded Engineer, ESD Services
Mentor Embedded(tm) | 46871 Bayside Parkway, Fremont, CA 94538
P 510.354.5838 | M 408.410.2735
Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS
next prev parent reply other threads:[~2014-07-17 20:44 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-26 1:05 [PATCH 00/28] IPUv3 prep for video capture Steve Longerbeam
2014-06-26 1:05 ` [PATCH 01/28] ARM: dts: imx6qdl: Add ipu aliases Steve Longerbeam
2014-07-31 15:28 ` Philipp Zabel
2014-08-01 14:04 ` Shawn Guo
2014-06-26 1:05 ` [PATCH 02/28] gpu: ipu-v3: Add ipu_get_num() Steve Longerbeam
2014-07-31 15:28 ` Philipp Zabel
2014-06-26 1:05 ` [PATCH 03/28] gpu: ipu-v3: Add functions to set CSI/IC source muxes Steve Longerbeam
2014-06-26 1:05 ` [PATCH 04/28] gpu: ipu-v3: Rename and add IDMAC channels Steve Longerbeam
2014-06-26 1:05 ` [PATCH 05/28] gpu: ipu-v3: Add units required for video capture Steve Longerbeam
2014-07-31 15:27 ` Philipp Zabel
2014-07-31 15:31 ` Philipp Zabel
2014-07-31 17:41 ` Philipp Zabel
2014-06-26 1:05 ` [PATCH 06/28] gpu: ipu-v3: smfc: Move enable/disable to ipu-smfc.c Steve Longerbeam
2014-06-26 1:05 ` [PATCH 07/28] gpu: ipu-v3: smfc: Convert to per-channel Steve Longerbeam
2014-06-26 1:05 ` [PATCH 08/28] gpu: ipu-v3: smfc: Add ipu_smfc_set_watermark() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 09/28] gpu: ipu-v3: Add ipu_mbus_code_to_colorspace() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 10/28] gpu: ipu-v3: Add rotation mode conversion utilities Steve Longerbeam
2014-06-26 1:05 ` [PATCH 11/28] gpu: ipu-v3: Add helper function checking if pixfmt is planar Steve Longerbeam
2014-06-26 1:05 ` [PATCH 12/28] gpu: ipu-v3: Move IDMAC channel names to imx-ipu-v3.h Steve Longerbeam
2014-06-26 1:05 ` [PATCH 13/28] gpu: ipu-v3: Add ipu_idmac_buffer_is_ready() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 14/28] gpu: ipu-v3: Add ipu_idmac_clear_buffer() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 15/28] gpu: ipu-v3: Add __ipu_idmac_reset_current_buffer() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 16/28] gpu: ipu-v3: Add ipu_stride_to_bytes() Steve Longerbeam
2014-07-31 18:02 ` Philipp Zabel
2014-06-26 1:05 ` [PATCH 17/28] gpu: ipu-v3: Add ipu_idmac_enable_watermark() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 18/28] gpu: ipu-v3: Add ipu_idmac_lock_enable() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 19/28] gpu: ipu-v3: Add idmac channel linking support Steve Longerbeam
2014-06-26 1:05 ` [PATCH 20/28] gpu: ipu-v3: Add ipu-cpmem unit Steve Longerbeam
2014-06-26 1:05 ` [PATCH 21/28] staging: imx-drm: Convert to new ipu_cpmem API Steve Longerbeam
2014-06-26 1:05 ` [PATCH 22/28] gpu: ipu-cpmem: Add ipu_cpmem_set_block_mode() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 23/28] gpu: ipu-cpmem: Add ipu_cpmem_set_axi_id() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 24/28] gpu: ipu-cpmem: Add ipu_cpmem_set_rotation() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 25/28] gpu: ipu-cpmem: Add second buffer support to ipu_cpmem_set_image() Steve Longerbeam
2014-06-26 1:05 ` [PATCH 26/28] gpu: ipu-v3: Add more planar formats support Steve Longerbeam
2014-06-26 1:05 ` [PATCH 27/28] gpu: ipu-cpmem: Add ipu_cpmem_dump() Steve Longerbeam
2014-07-31 18:06 ` Philipp Zabel
2014-06-26 1:05 ` [PATCH 28/28] gpu: ipu-v3: Add ipu_dump() Steve Longerbeam
2014-07-17 11:10 ` [PATCH 00/28] IPUv3 prep for video capture Hans Verkuil
2014-07-17 20:44 ` Steve Longerbeam [this message]
2014-07-23 13:17 ` Laurent Pinchart
2014-07-25 21:21 ` Steve Longerbeam
2014-07-31 15:28 ` Philipp Zabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53C8359C.1030005@mentor.com \
--to=steve_longerbeam@mentor.com \
--cc=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=slongerbeam@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).