/openbmc/u-boot/arch/arm/mach-tegra/ |
H A D | ivc.c | 163 if (ivc->r_pos == ivc->nframes - 1) in tegra_ivc_advance_rx() 174 if (ivc->w_pos == ivc->nframes - 1) in tegra_ivc_advance_tx() 248 tegra_ivc_invalidate_frame(ivc, ivc->rx_channel, ivc->r_pos); in tegra_ivc_read_get_next_frame() 249 *frame = tegra_ivc_frame_pointer(ivc, ivc->rx_channel, ivc->r_pos); in tegra_ivc_read_get_next_frame() 282 ivc->notify(ivc); in tegra_ivc_read_advance() 307 tegra_ivc_flush_frame(ivc, ivc->tx_channel, ivc->w_pos); in tegra_ivc_write_advance() 327 ivc->notify(ivc); in tegra_ivc_write_advance() 396 ivc->notify(ivc); in tegra_ivc_channel_notified() 434 ivc->notify(ivc); in tegra_ivc_channel_notified() 456 ivc->notify(ivc); in tegra_ivc_channel_notified() [all …]
|
H A D | Makefile | 29 obj-$(CONFIG_TEGRA_IVC) += ivc.o
|
/openbmc/linux/drivers/firmware/tegra/ |
H A D | ivc.c | 296 tegra_ivc_invalidate_frame(ivc, ivc->rx.phys, ivc->rx.position, 0, in tegra_ivc_read_get_next_frame() 299 return tegra_ivc_frame_virt(ivc, &ivc->rx.map, ivc->rx.position, map); in tegra_ivc_read_get_next_frame() 335 if (tegra_ivc_available(ivc, &ivc->rx.map) == ivc->num_frames - 1) in tegra_ivc_read_advance() 336 ivc->notify(ivc, ivc->notify_data); in tegra_ivc_read_advance() 351 return tegra_ivc_frame_virt(ivc, &ivc->tx.map, ivc->tx.position, map); in tegra_ivc_write_get_next_frame() 366 tegra_ivc_flush_frame(ivc, ivc->tx.phys, ivc->tx.position, 0, in tegra_ivc_write_advance() 392 ivc->notify(ivc, ivc->notify_data); in tegra_ivc_write_advance() 404 ivc->notify(ivc, ivc->notify_data); in tegra_ivc_reset() 474 ivc->notify(ivc, ivc->notify_data); in tegra_ivc_notified() 514 ivc->notify(ivc, ivc->notify_data); in tegra_ivc_notified() [all …]
|
H A D | bpmp-tegra186.c | 50 err = tegra_ivc_read_get_next_frame(channel->ivc, &channel->ib); in tegra186_bpmp_is_message_ready() 63 err = tegra_ivc_write_get_next_frame(channel->ivc, &channel->ob); in tegra186_bpmp_is_channel_free() 74 return tegra_ivc_read_advance(channel->ivc); in tegra186_bpmp_ack_message() 79 return tegra_ivc_write_advance(channel->ivc); in tegra186_bpmp_post_message() 96 static void tegra186_bpmp_ivc_notify(struct tegra_ivc *ivc, void *data) in tegra186_bpmp_ivc_notify() argument 117 channel->ivc = devm_kzalloc(bpmp->dev, sizeof(*channel->ivc), in tegra186_bpmp_channel_init() 119 if (!channel->ivc) in tegra186_bpmp_channel_init() 134 err = tegra_ivc_init(channel->ivc, NULL, &rx, priv->rx.phys + offset, &tx, in tegra186_bpmp_channel_init() 152 tegra_ivc_reset(channel->ivc); in tegra186_bpmp_channel_reset() 155 while (tegra_ivc_notified(channel->ivc)) in tegra186_bpmp_channel_reset() [all …]
|
H A D | Makefile | 9 obj-$(CONFIG_TEGRA_IVC) += ivc.o
|
/openbmc/linux/include/soc/tegra/ |
H A D | ivc.h | 25 void (*notify)(struct tegra_ivc *ivc, void *data); 41 int tegra_ivc_read_get_next_frame(struct tegra_ivc *ivc, struct iosys_map *map); 51 int tegra_ivc_read_advance(struct tegra_ivc *ivc); 61 int tegra_ivc_write_get_next_frame(struct tegra_ivc *ivc, struct iosys_map *map); 71 int tegra_ivc_write_advance(struct tegra_ivc *ivc); 82 int tegra_ivc_notified(struct tegra_ivc *ivc); 92 void tegra_ivc_reset(struct tegra_ivc *ivc); 96 int tegra_ivc_init(struct tegra_ivc *ivc, struct device *peer, const struct iosys_map *rx, 99 void (*notify)(struct tegra_ivc *ivc, void *data), 101 void tegra_ivc_cleanup(struct tegra_ivc *ivc);
|
H A D | bpmp.h | 57 struct tegra_ivc *ivc; member
|
/openbmc/u-boot/arch/arm/include/asm/arch-tegra/ |
H A D | ivc.h | 95 int tegra_ivc_read_get_next_frame(struct tegra_ivc *ivc, void **frame); 109 int tegra_ivc_read_advance(struct tegra_ivc *ivc); 123 int tegra_ivc_write_get_next_frame(struct tegra_ivc *ivc, void **frame); 137 int tegra_ivc_write_advance(struct tegra_ivc *ivc); 149 int tegra_ivc_channel_notified(struct tegra_ivc *ivc); 161 void tegra_ivc_channel_reset(struct tegra_ivc *ivc); 174 int tegra_ivc_init(struct tegra_ivc *ivc, ulong rx_base, ulong tx_base,
|
/openbmc/u-boot/drivers/misc/ |
H A D | tegra186_bpmp.c | 25 struct tegra_ivc ivc; member 44 ret = tegra_ivc_write_get_next_frame(&priv->ivc, &ivc_frame); in tegra186_bpmp_call() 55 ret = tegra_ivc_write_advance(&priv->ivc); in tegra186_bpmp_call() 63 ret = tegra_ivc_channel_notified(&priv->ivc); in tegra186_bpmp_call() 69 ret = tegra_ivc_read_get_next_frame(&priv->ivc, &ivc_frame); in tegra186_bpmp_call() 86 ret = tegra_ivc_read_advance(&priv->ivc); in tegra186_bpmp_call() 160 static void tegra186_bpmp_ivc_notify(struct tegra_ivc *ivc) in tegra186_bpmp_ivc_notify() argument 163 container_of(ivc, struct tegra186_bpmp, ivc); in tegra186_bpmp_ivc_notify() 197 ret = tegra_ivc_init(&priv->ivc, rx_base, tx_base, BPMP_IVC_FRAME_COUNT, in tegra186_bpmp_probe() 204 tegra_ivc_channel_reset(&priv->ivc); in tegra186_bpmp_probe() [all …]
|
/openbmc/linux/drivers/media/platform/samsung/exynos4-is/ |
H A D | fimc-isp-video.c | 305 struct fimc_is_video *ivc = &isp->video_capture; in isp_video_release() local 306 struct media_entity *entity = &ivc->ve.vdev.entity; in isp_video_release() 314 if (is_singular_file && ivc->streaming) { in isp_video_release() 315 video_device_pipeline_stop(&ivc->ve.vdev); in isp_video_release() 316 ivc->streaming = 0; in isp_video_release() 322 fimc_pipeline_call(&ivc->ve, close); in isp_video_release()
|