Lines Matching refs:vic

28 #include "vic.h"
32 struct vic base;
50 static int vic30_fill(struct vic *v, struct vic_image *output,
56 struct vic30 *vic = container_of(v, struct vic30, base);
60 err = drm_tegra_bo_map(vic->config.bo, (void **)&c);
97 drm_tegra_bo_unmap(vic->config.bo);
102 static int vic30_blit(struct vic *v, struct vic_image *output,
105 struct vic30 *vic = container_of(v, struct vic30, base);
115 err = drm_tegra_bo_map(vic->config.bo, (void **)&c);
205 drm_tegra_bo_unmap(vic->config.bo);
210 static int vic30_flip(struct vic *v, struct vic_image *output,
213 struct vic30 *vic = container_of(v, struct vic30, base);
223 err = drm_tegra_bo_map(vic->config.bo, (void **)&c);
314 drm_tegra_bo_unmap(vic->config.bo);
319 static int vic30_execute(struct vic *v, struct drm_tegra_pushbuf *pushbuf,
323 struct vic30 *vic = container_of(v, struct vic30, base);
331 VIC_PUSH_BUFFER(pushbuf, ptrp, NVA0B6_VIDEO_COMPOSITOR_SET_CONFIG_STRUCT_OFFSET, vic->config.map, 0, 0);
332 VIC_PUSH_BUFFER(pushbuf, ptrp, NVA0B6_VIDEO_COMPOSITOR_SET_HIST_OFFSET, vic->hist.map, 0, 0);
343 static void vic30_free(struct vic *v)
345 struct vic30 *vic = container_of(v, struct vic30, base);
347 drm_tegra_channel_unmap(vic->hist.map);
348 drm_tegra_bo_unref(vic->hist.bo);
350 drm_tegra_channel_unmap(vic->filter.map);
351 drm_tegra_bo_unref(vic->filter.bo);
353 drm_tegra_channel_unmap(vic->config.map);
354 drm_tegra_bo_unref(vic->config.bo);
358 free(vic);
370 struct vic **vicp)
372 struct vic30 *vic;
376 vic = calloc(1, sizeof(*vic));
377 if (!vic)
380 vic->base.drm = drm;
381 vic->base.channel = channel;
382 vic->base.ops = &vic30_ops;
383 vic->base.version = 0x40;
385 err = drm_tegra_syncpoint_new(drm, &vic->base.syncpt);
391 err = drm_tegra_bo_new(drm, 0, 16384, &vic->config.bo);
398 err = drm_tegra_channel_map(channel, vic->config.bo, DRM_TEGRA_CHANNEL_MAP_READ,
399 &vic->config.map);
406 err = drm_tegra_bo_new(drm, 0, 16384, &vic->filter.bo);
413 err = drm_tegra_bo_map(vic->filter.bo, &ptr);
420 drm_tegra_bo_unmap(vic->filter.bo);
422 err = drm_tegra_channel_map(channel, vic->filter.bo, DRM_TEGRA_CHANNEL_MAP_READ,
423 &vic->filter.map);
430 err = drm_tegra_bo_new(drm, 0, 4096, &vic->hist.bo);
437 err = drm_tegra_bo_map(vic->hist.bo, &ptr);
444 drm_tegra_bo_unmap(vic->hist.bo);
446 err = drm_tegra_channel_map(channel, vic->hist.bo, DRM_TEGRA_CHANNEL_MAP_READ_WRITE,
447 &vic->hist.map);
455 *vicp = &vic->base;