Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

gpu: host1x: Complete stream ID entry tables

These tables contain fixed values to program the host1x hardware
with, so fill in the missing entries.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240425050238.2943404-3-cyndis@kapsi.fi

authored by

Mikko Perttunen and committed by
Thierry Reding
4e90b03a e436a408

+72 -78
+72 -78
drivers/gpu/host1x/dev.c
··· 142 142 }; 143 143 144 144 static const struct host1x_sid_entry tegra186_sid_table[] = { 145 - { 146 - /* VIC */ 147 - .base = 0x1af0, 148 - .offset = 0x30, 149 - .limit = 0x34 150 - }, 151 - { 152 - /* NVDEC */ 153 - .base = 0x1b00, 154 - .offset = 0x30, 155 - .limit = 0x34 156 - }, 145 + { /* SE1 */ .base = 0x1ac8, .offset = 0x90, .limit = 0x90 }, 146 + { /* SE2 */ .base = 0x1ad0, .offset = 0x90, .limit = 0x90 }, 147 + { /* SE3 */ .base = 0x1ad8, .offset = 0x90, .limit = 0x90 }, 148 + { /* SE4 */ .base = 0x1ae0, .offset = 0x90, .limit = 0x90 }, 149 + { /* ISP */ .base = 0x1ae8, .offset = 0x50, .limit = 0x50 }, 150 + { /* VIC */ .base = 0x1af0, .offset = 0x30, .limit = 0x34 }, 151 + { /* NVENC */ .base = 0x1af8, .offset = 0x30, .limit = 0x34 }, 152 + { /* NVDEC */ .base = 0x1b00, .offset = 0x30, .limit = 0x34 }, 153 + { /* NVJPG */ .base = 0x1b08, .offset = 0x30, .limit = 0x34 }, 154 + { /* TSEC */ .base = 0x1b10, .offset = 0x30, .limit = 0x34 }, 155 + { /* TSECB */ .base = 0x1b18, .offset = 0x30, .limit = 0x34 }, 156 + { /* VI 0 */ .base = 0x1b80, .offset = 0x10000, .limit = 0x10000 }, 157 + { /* VI 1 */ .base = 0x1b88, .offset = 0x20000, .limit = 0x20000 }, 158 + { /* VI 2 */ .base = 0x1b90, .offset = 0x30000, .limit = 0x30000 }, 159 + { /* VI 3 */ .base = 0x1b98, .offset = 0x40000, .limit = 0x40000 }, 160 + { /* VI 4 */ .base = 0x1ba0, .offset = 0x50000, .limit = 0x50000 }, 161 + { /* VI 5 */ .base = 0x1ba8, .offset = 0x60000, .limit = 0x60000 }, 162 + { /* VI 6 */ .base = 0x1bb0, .offset = 0x70000, .limit = 0x70000 }, 163 + { /* VI 7 */ .base = 0x1bb8, .offset = 0x80000, .limit = 0x80000 }, 164 + { /* VI 8 */ .base = 0x1bc0, .offset = 0x90000, .limit = 0x90000 }, 165 + { /* VI 9 */ .base = 0x1bc8, .offset = 0xa0000, .limit = 0xa0000 }, 166 + { /* VI 10 */ .base = 0x1bd0, .offset = 0xb0000, .limit = 0xb0000 }, 167 + { /* VI 11 */ .base = 0x1bd8, .offset = 0xc0000, .limit = 0xc0000 }, 157 168 }; 158 169 159 170 static const struct host1x_info host1x06_info = { ··· 184 173 }; 185 174 186 175 static const struct host1x_sid_entry tegra194_sid_table[] = { 187 - { 188 - /* VIC */ 189 - .base = 0x1af0, 190 - .offset = 0x30, 191 - .limit = 0x34 192 - }, 193 - { 194 - /* NVDEC */ 195 - .base = 0x1b00, 196 - .offset = 0x30, 197 - .limit = 0x34 198 - }, 199 - { 200 - /* NVDEC1 */ 201 - .base = 0x1bc0, 202 - .offset = 0x30, 203 - .limit = 0x34 204 - }, 176 + { /* SE1 */ .base = 0x1ac8, .offset = 0x90, .limit = 0x90 }, 177 + { /* SE2 */ .base = 0x1ad0, .offset = 0x90, .limit = 0x90 }, 178 + { /* SE3 */ .base = 0x1ad8, .offset = 0x90, .limit = 0x90 }, 179 + { /* SE4 */ .base = 0x1ae0, .offset = 0x90, .limit = 0x90 }, 180 + { /* ISP */ .base = 0x1ae8, .offset = 0x800, .limit = 0x800 }, 181 + { /* VIC */ .base = 0x1af0, .offset = 0x30, .limit = 0x34 }, 182 + { /* NVENC */ .base = 0x1af8, .offset = 0x30, .limit = 0x34 }, 183 + { /* NVDEC */ .base = 0x1b00, .offset = 0x30, .limit = 0x34 }, 184 + { /* NVJPG */ .base = 0x1b08, .offset = 0x30, .limit = 0x34 }, 185 + { /* TSEC */ .base = 0x1b10, .offset = 0x30, .limit = 0x34 }, 186 + { /* TSECB */ .base = 0x1b18, .offset = 0x30, .limit = 0x34 }, 187 + { /* VI */ .base = 0x1b80, .offset = 0x800, .limit = 0x800 }, 188 + { /* VI_THI */ .base = 0x1b88, .offset = 0x30, .limit = 0x34 }, 189 + { /* ISP_THI */ .base = 0x1b90, .offset = 0x30, .limit = 0x34 }, 190 + { /* PVA0_CLUSTER */ .base = 0x1b98, .offset = 0x0, .limit = 0x0 }, 191 + { /* PVA0_CLUSTER */ .base = 0x1ba0, .offset = 0x0, .limit = 0x0 }, 192 + { /* NVDLA0 */ .base = 0x1ba8, .offset = 0x30, .limit = 0x34 }, 193 + { /* NVDLA1 */ .base = 0x1bb0, .offset = 0x30, .limit = 0x34 }, 194 + { /* NVENC1 */ .base = 0x1bb8, .offset = 0x30, .limit = 0x34 }, 195 + { /* NVDEC1 */ .base = 0x1bc0, .offset = 0x30, .limit = 0x34 }, 205 196 }; 206 197 207 198 static const struct host1x_info host1x07_info = { ··· 228 215 * and firmware stream ID in the MMIO path table. 229 216 */ 230 217 static const struct host1x_sid_entry tegra234_sid_table[] = { 231 - { 232 - /* SE2 MMIO */ 233 - .base = 0x1658, 234 - .offset = 0x90, 235 - .limit = 0x90 236 - }, 237 - { 238 - /* SE4 MMIO */ 239 - .base = 0x1660, 240 - .offset = 0x90, 241 - .limit = 0x90 242 - }, 243 - { 244 - /* SE2 channel */ 245 - .base = 0x1738, 246 - .offset = 0x90, 247 - .limit = 0x90 248 - }, 249 - { 250 - /* SE4 channel */ 251 - .base = 0x1740, 252 - .offset = 0x90, 253 - .limit = 0x90 254 - }, 255 - { 256 - /* VIC channel */ 257 - .base = 0x17b8, 258 - .offset = 0x30, 259 - .limit = 0x30 260 - }, 261 - { 262 - /* VIC MMIO */ 263 - .base = 0x1688, 264 - .offset = 0x34, 265 - .limit = 0x34 266 - }, 267 - { 268 - /* NVDEC channel */ 269 - .base = 0x17c8, 270 - .offset = 0x30, 271 - .limit = 0x30, 272 - }, 273 - { 274 - /* NVDEC MMIO */ 275 - .base = 0x1698, 276 - .offset = 0x34, 277 - .limit = 0x34, 278 - }, 218 + { /* SE1 MMIO */ .base = 0x1650, .offset = 0x90, .limit = 0x90 }, 219 + { /* SE1 ch */ .base = 0x1730, .offset = 0x90, .limit = 0x90 }, 220 + { /* SE2 MMIO */ .base = 0x1658, .offset = 0x90, .limit = 0x90 }, 221 + { /* SE2 ch */ .base = 0x1738, .offset = 0x90, .limit = 0x90 }, 222 + { /* SE4 MMIO */ .base = 0x1660, .offset = 0x90, .limit = 0x90 }, 223 + { /* SE4 ch */ .base = 0x1740, .offset = 0x90, .limit = 0x90 }, 224 + { /* ISP MMIO */ .base = 0x1680, .offset = 0x800, .limit = 0x800 }, 225 + { /* VIC MMIO */ .base = 0x1688, .offset = 0x34, .limit = 0x34 }, 226 + { /* VIC ch */ .base = 0x17b8, .offset = 0x30, .limit = 0x30 }, 227 + { /* NVENC MMIO */ .base = 0x1690, .offset = 0x34, .limit = 0x34 }, 228 + { /* NVENC ch */ .base = 0x17c0, .offset = 0x30, .limit = 0x30 }, 229 + { /* NVDEC MMIO */ .base = 0x1698, .offset = 0x34, .limit = 0x34 }, 230 + { /* NVDEC ch */ .base = 0x17c8, .offset = 0x30, .limit = 0x30 }, 231 + { /* NVJPG MMIO */ .base = 0x16a0, .offset = 0x34, .limit = 0x34 }, 232 + { /* NVJPG ch */ .base = 0x17d0, .offset = 0x30, .limit = 0x30 }, 233 + { /* TSEC MMIO */ .base = 0x16a8, .offset = 0x30, .limit = 0x34 }, 234 + { /* NVJPG1 MMIO */ .base = 0x16b0, .offset = 0x34, .limit = 0x34 }, 235 + { /* NVJPG1 ch */ .base = 0x17a8, .offset = 0x30, .limit = 0x30 }, 236 + { /* VI MMIO */ .base = 0x16b8, .offset = 0x800, .limit = 0x800 }, 237 + { /* VI_THI MMIO */ .base = 0x16c0, .offset = 0x30, .limit = 0x34 }, 238 + { /* ISP_THI MMIO */ .base = 0x16c8, .offset = 0x30, .limit = 0x34 }, 239 + { /* NVDLA MMIO */ .base = 0x16d8, .offset = 0x30, .limit = 0x34 }, 240 + { /* NVDLA ch */ .base = 0x17e0, .offset = 0x30, .limit = 0x34 }, 241 + { /* NVDLA1 MMIO */ .base = 0x16e0, .offset = 0x30, .limit = 0x34 }, 242 + { /* NVDLA1 ch */ .base = 0x17e8, .offset = 0x30, .limit = 0x34 }, 243 + { /* OFA MMIO */ .base = 0x16e8, .offset = 0x34, .limit = 0x34 }, 244 + { /* OFA ch */ .base = 0x1768, .offset = 0x30, .limit = 0x30 }, 245 + { /* VI2 MMIO */ .base = 0x16f0, .offset = 0x800, .limit = 0x800 }, 246 + { /* VI2_THI MMIO */ .base = 0x16f8, .offset = 0x30, .limit = 0x34 }, 279 247 }; 280 248 281 249 static const struct host1x_info host1x08_info = {