Re: [PATCH 00/28] IPUv3 prep for video capture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux