summaryrefslogtreecommitdiff
path: root/drivers/media/video/tiler/Kconfig
blob: 00461eb5b5a2489f1ff72eb344d112bf04397dd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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.