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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.