diff options
author | Suman Anna <s-anna@ti.com> | 2011-04-25 13:41:57 -0500 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2011-06-14 09:05:22 -0700 |
commit | 2b94df0645fc93bf061999b02b6931236ceffe78 (patch) | |
tree | cd21b7674d7c537c8b6ee67a07f8bd1abdcb8d02 /drivers/media/video/tiler/Kconfig | |
parent | f775333297bf13cd5525d9cccfd3f7f1f4475298 (diff) | |
download | kernel_samsung_tuna-2b94df0645fc93bf061999b02b6931236ceffe78.zip kernel_samsung_tuna-2b94df0645fc93bf061999b02b6931236ceffe78.tar.gz kernel_samsung_tuna-2b94df0645fc93bf061999b02b6931236ceffe78.tar.bz2 |
TILER-DMM: Main TILER driver implementation
This patch contains the TILER driver and implementation of the TILER
block manipulation and mapping functions including information on TILER
geometry, as well as tiler_view_t object manipulation functions.
It also contains the makefile and config file for the TILER driver.
Signed-off-by: Lajos Molnar <molnar@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Diffstat (limited to 'drivers/media/video/tiler/Kconfig')
-rw-r--r-- | drivers/media/video/tiler/Kconfig | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/drivers/media/video/tiler/Kconfig b/drivers/media/video/tiler/Kconfig new file mode 100644 index 0000000..00461eb --- /dev/null +++ b/drivers/media/video/tiler/Kconfig @@ -0,0 +1,126 @@ +config HAVE_TI_TILER + bool + default y + depends on ARCH_OMAP4 + +menuconfig TI_TILER + tristate "TI TILER support" + default y + depends on HAVE_TI_TILER + help + TILER and TILER-DMM driver for TI chips. The TI TILER device + enables video rotation on certain TI chips such as OMAP4 or + Netra. Video rotation will be limited without TILER support. + +config TILER_GRANULARITY + int "Allocation granularity (2^n)" + range 1 4096 + default 128 + depends on TI_TILER + help + This option sets the default TILER allocation granularity. It can + be overriden by the tiler.grain boot argument. + + The allocation granularity is the smallest TILER block size (in + bytes) managed distinctly by the TILER driver. TILER blocks of any + size are managed in chunks of at least this size. + + Must be a 2^n in the range of 1 to 4096; however, the TILER driver + may use a larger supported granularity. + + Supported values are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, + 2048, 4096. + +config TILER_ALIGNMENT + int "Allocation alignment (2^n)" + range 1 4096 + default 4096 + depends on TI_TILER + help + This option sets the default TILER allocation alignment. It can + be overriden by the tiler.align boot argument. + + Must be a 2^n in the range of 1 to 4096; however, it is naturally + aligned to the TILER granularity. + + Supported values are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, + 2048, 4096. + +config TILER_CACHE_LIMIT + int "Memory limit to cache free pages in MBytes" + range 0 128 + default 40 + depends on TI_TILER + help + This option sets the minimum memory that TILER retains even if + there is less TILER allocated memory is use. The unused memory is + instead stored in a cache to speed up allocation and freeing of + physical pages. + + This option can be overriden by the tiler.cache boot argument. + + While initially TILER will use less memory than this limit (0), it + will not release any memory used until it reaches this limit. + Thereafter, TILER will release any unused memory immediately as + long as there it is above this threshold. + +config TILER_SECURITY + int "Process security" + range 0 1 + default 1 + depends on TI_TILER + help + This option sets the default TILER process security. It can be + overriden by the tiler.secure boot argument. + + If process security is enabled (1), the TILER driver uses a separate + TILER buffer address spaces (for mmap purposes) for each process. + This means that one process cannot simply map another process's + TILER buffer into its memory, even for sharing. However, it can + recreate the buffer by knowing the id-s and secret keys for the + TILER blocks involved. This is the preferred configuration. + + Disabling security (0) allows sharing buffers simply by sharing the + mmap offset and size. However, because buffers can potentially be + shared between processes, it delays resource cleanup while any + process has an open TILER device. + +config TILER_SSPTR_ID + int "Use SSPtr for id" + range 0 1 + default 1 + depends on TI_TILER + help + This option sets the default behavior for TILER block ids. It can + be overriden by the tiler.ssptr_id boot argument. + + If true, TILER driver uses the system-space (physical) address + (SSPtr) of a TILER block as its unique id. This may help sharing + TILER blocks between co-processors if using a constant key for each + block. + + Note that the SSPtr is unique for each TILER block. + +config TILER_SECURE + bool "Secure TILER build" + default n + depends on TI_TILER + help + This option forces TILER security features that bypasses module + parameters. + + If set, process security will be hardwired and ssptr and offset + lookup APIs are removed. + +config TILER_EXPOSE_SSPTR + bool "Expose SSPtr to userspace" + default y + depends on TI_TILER + help + This option sets whether SSPtr-s for blocks are exposed + during TILIOC_GBLK ioctls (MemMgr_Alloc APIs). In a secure + TILER build, this may be the only way for the userspace code + to learn the system-space addresses of TILER blocks. + + You can use this flag to see if the userspace is relying on + having access to the SSPtr. |