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
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html