[RFC 0/8] TI TILER-DMM driver
Sin, David
davidsin at ti.com
Wed Jul 28 11:23:06 EDT 2010
> -----Original Message-----
> From: Hans Verkuil [mailto:hverkuil at xs4all.nl]
> Sent: Saturday, July 24, 2010 6:13 AM
> To: Sin, David
> Cc: linux-arm-kernel at lists.arm.linux.org.uk;
> linux-omap at vger.kernel.org; Tony Lindgren; Russell King;
> Kanigeri, Hari; Ohad Ben-Cohen; Hiremath, Vaibhav; Shilimkar, Santosh
> Subject: Re: [RFC 0/8] TI TILER-DMM driver
>
> Hi David,
>
> On Saturday 24 July 2010 01:22:20 David Sin wrote:
> > TILER is a hardware block made by Texas Instruments. Its
> purpose is to
> > organize video/image memory in a 2-dimensional fashion to
> limit memory
> > bandwidth and facilitate 0 effort rotation and mirroring.
> The TILER
> > driver facilitates allocating, freeing, as well as mapping
> 2D blocks (areas)
> > in the TILER container(s). It also facilitates rotating
> and mirroring
> > the allocated blocks or its rectangular subsections.
>
> Since this driver is part of the media/video subsystem you
> should cross-post
> it to the linux-media mailinglist as well.
>
> The main question that I have is how this driver is to be
> used in practice.
> How does it fit into the bigger video4linux picture? Is this
> something that
> is mainly used from other v4l or fb drivers? Or is it
> controlled by userspace?
[dhs] I missed this one -- my apologies. As I stated to Vaibhav, any device can use TILER memory, but there is a big advantage, performance-wise, for 2-Dimensional macro block based buffers. This HW is intended for image/video hardware accelerators (e.g. OMAP4 IVA-HD). Plus there's the added advantage of doing zero-copy flips and rotations for the OMAP display and image sub-systems.
In this RFC, there are only kernel APIs to allocate TILER memory. Eventually, we would like to provide a way to obtain TILER memory to the user space.
>
> Regards,
>
> Hans
>
> >
> > List of pending items in proposed order:
> >
> > * Add area packing support (multiple blocks can reside in
> the same band/area)
> > to optimize area use
> > * Add group-ID support (to specify which blocks can reside
> together in the
> > same area)
> > * Add multiple search directions to TCM-SiTA
> > * Add 1D block support (including adding 1D search algo to TCM-SiTA)
> > * Optimize mutex handling (don.t hold mutex during memory
> > allocation/mapping/cache flushing)
> > * Add block reference counting, support for sharing blocks
> > * Move all kernel-API-s to tiler-iface.c
> > * Support orphaned block support (in preparation for
> process cleanup support)
> > * Change block identification from physical address to key-ID pair
> > (in preparation for user space support, and process security)
> > * Add support for process security (blocks from separate
> processes never
> > reside in the same band)
> > * Support file interface (ioctl and mmap)
> > * Support for buffers (ordered list of blocks that are
> mapped to userspace
> > together, such as YUV420sp)
> > * Support 1D user buffer mapping into TILER container
> > * Support for block pre-reservation (to further optimize area use)
> >
> > David Sin (1):
> > TILER-DMM: DMM-PAT driver for TI TILER
> >
> > Lajos Molnar (6):
> > TILER-DMM: Container manager interface and utility definitons
> > TILER-DMM: TILER Memory Manager interface and implementation
> > TILER-DMM: TILER interface file and documentation
> > TILER-DMM: Geometry and view manipulation functions.
> > TILER-DMM: Main TILER driver implementation.
> > TILER-DMM: Linking TILER driver into the Linux kernel build
> >
> > Ravi Ramachandra (1):
> > TILER-DMM: Sample TCM implementation: Simple TILER Allocator
> >
> > Documentation/arm/TILER | 144 +++++++++
> > arch/arm/mach-omap2/include/mach/dmm.h | 128 ++++++++
> > arch/arm/mach-omap2/include/mach/tiler.h | 201 +++++++++++++
> > drivers/media/Kconfig | 6 +
> > drivers/media/Makefile | 2 +
> > drivers/media/video/tiler/Kconfig | 65 ++++
> > drivers/media/video/tiler/Makefile | 7 +
> > drivers/media/video/tiler/_tiler.h | 51 ++++
> > drivers/media/video/tiler/dmm.c | 200 +++++++++++++
> > drivers/media/video/tiler/tcm.h | 209 +++++++++++++
> > drivers/media/video/tiler/tcm/Makefile | 1 +
> > drivers/media/video/tiler/tcm/_tcm-sita.h | 64 ++++
> > drivers/media/video/tiler/tcm/tcm-sita.c | 459
> +++++++++++++++++++++++++++++
> > drivers/media/video/tiler/tcm/tcm-sita.h | 37 +++
> > drivers/media/video/tiler/tcm/tcm-utils.h | 54 ++++
> > drivers/media/video/tiler/tiler-geom.c | 360
> ++++++++++++++++++++++
> > drivers/media/video/tiler/tiler-iface.c | 106 +++++++
> > drivers/media/video/tiler/tiler-main.c | 426
> ++++++++++++++++++++++++++
> > drivers/media/video/tiler/tmm-pat.c | 274 +++++++++++++++++
> > drivers/media/video/tiler/tmm.h | 109 +++++++
> > 20 files changed, 2903 insertions(+), 0 deletions(-)
> > create mode 100644 Documentation/arm/TILER
> > create mode 100644 arch/arm/mach-omap2/include/mach/dmm.h
> > create mode 100644 arch/arm/mach-omap2/include/mach/tiler.h
> > create mode 100644 drivers/media/video/tiler/Kconfig
> > create mode 100644 drivers/media/video/tiler/Makefile
> > create mode 100644 drivers/media/video/tiler/_tiler.h
> > create mode 100644 drivers/media/video/tiler/dmm.c
> > create mode 100644 drivers/media/video/tiler/tcm.h
> > create mode 100644 drivers/media/video/tiler/tcm/Makefile
> > create mode 100644 drivers/media/video/tiler/tcm/_tcm-sita.h
> > create mode 100644 drivers/media/video/tiler/tcm/tcm-sita.c
> > create mode 100644 drivers/media/video/tiler/tcm/tcm-sita.h
> > create mode 100644 drivers/media/video/tiler/tcm/tcm-utils.h
> > create mode 100644 drivers/media/video/tiler/tiler-geom.c
> > create mode 100644 drivers/media/video/tiler/tiler-iface.c
> > create mode 100644 drivers/media/video/tiler/tiler-main.c
> > create mode 100644 drivers/media/video/tiler/tmm-pat.c
> > create mode 100644 drivers/media/video/tiler/tmm.h
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> linux-omap" in
> > the body of a message to majordomo at vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> >
>
> --
> Hans Verkuil - video4linux developer - sponsored by TANDBERG,
> part of Cisco
>
More information about the linux-arm-kernel
mailing list