Home
last modified time | relevance | path

Searched refs:ivc (Results 1 – 10 of 10) sorted by relevance

/OK3568_Linux_fs/u-boot/arch/arm/mach-tegra/
H A Divc.c72 static inline void tegra_ivc_invalidate_counter(struct tegra_ivc *ivc, in tegra_ivc_invalidate_counter() argument
80 static inline void tegra_ivc_flush_counter(struct tegra_ivc *ivc, in tegra_ivc_flush_counter() argument
88 static inline ulong tegra_ivc_frame_addr(struct tegra_ivc *ivc, in tegra_ivc_frame_addr() argument
92 BUG_ON(frame >= ivc->nframes); in tegra_ivc_frame_addr()
95 (ivc->frame_size * frame); in tegra_ivc_frame_addr()
98 static inline void *tegra_ivc_frame_pointer(struct tegra_ivc *ivc, in tegra_ivc_frame_pointer() argument
102 return (void *)tegra_ivc_frame_addr(ivc, ch, frame); in tegra_ivc_frame_pointer()
105 static inline void tegra_ivc_invalidate_frame(struct tegra_ivc *ivc, in tegra_ivc_invalidate_frame() argument
109 ulong base = tegra_ivc_frame_addr(ivc, h, frame); in tegra_ivc_invalidate_frame()
110 invalidate_dcache_range(base, base + ivc->frame_size); in tegra_ivc_invalidate_frame()
[all …]
H A DMakefile31 obj-$(CONFIG_TEGRA_IVC) += ivc.o
/OK3568_Linux_fs/kernel/drivers/firmware/tegra/
H A Divc.c71 static inline void tegra_ivc_invalidate(struct tegra_ivc *ivc, dma_addr_t phys) in tegra_ivc_invalidate() argument
73 if (!ivc->peer) in tegra_ivc_invalidate()
76 dma_sync_single_for_cpu(ivc->peer, phys, TEGRA_IVC_ALIGN, in tegra_ivc_invalidate()
80 static inline void tegra_ivc_flush(struct tegra_ivc *ivc, dma_addr_t phys) in tegra_ivc_flush() argument
82 if (!ivc->peer) in tegra_ivc_flush()
85 dma_sync_single_for_device(ivc->peer, phys, TEGRA_IVC_ALIGN, in tegra_ivc_flush()
89 static inline bool tegra_ivc_empty(struct tegra_ivc *ivc, in tegra_ivc_empty() argument
110 if (tx - rx > ivc->num_frames) in tegra_ivc_empty()
116 static inline bool tegra_ivc_full(struct tegra_ivc *ivc, in tegra_ivc_full() argument
126 return tx - rx >= ivc->num_frames; in tegra_ivc_full()
[all …]
H A Dbpmp-tegra186.c45 frame = tegra_ivc_read_get_next_frame(channel->ivc); in tegra186_bpmp_is_message_ready()
60 frame = tegra_ivc_write_get_next_frame(channel->ivc); in tegra186_bpmp_is_channel_free()
73 return tegra_ivc_read_advance(channel->ivc); in tegra186_bpmp_ack_message()
78 return tegra_ivc_write_advance(channel->ivc); in tegra186_bpmp_post_message()
95 static void tegra186_bpmp_ivc_notify(struct tegra_ivc *ivc, void *data) in tegra186_bpmp_ivc_notify() argument
115 channel->ivc = devm_kzalloc(bpmp->dev, sizeof(*channel->ivc), in tegra186_bpmp_channel_init()
117 if (!channel->ivc) in tegra186_bpmp_channel_init()
124 err = tegra_ivc_init(channel->ivc, NULL, in tegra186_bpmp_channel_init()
144 tegra_ivc_reset(channel->ivc); in tegra186_bpmp_channel_reset()
147 while (tegra_ivc_notified(channel->ivc)) in tegra186_bpmp_channel_reset()
[all …]
H A DMakefile9 obj-$(CONFIG_TEGRA_IVC) += ivc.o
/OK3568_Linux_fs/kernel/include/soc/tegra/
H A Divc.h23 void (*notify)(struct tegra_ivc *ivc, void *data);
39 void *tegra_ivc_read_get_next_frame(struct tegra_ivc *ivc);
49 int tegra_ivc_read_advance(struct tegra_ivc *ivc);
59 void *tegra_ivc_write_get_next_frame(struct tegra_ivc *ivc);
69 int tegra_ivc_write_advance(struct tegra_ivc *ivc);
80 int tegra_ivc_notified(struct tegra_ivc *ivc);
90 void tegra_ivc_reset(struct tegra_ivc *ivc);
94 int tegra_ivc_init(struct tegra_ivc *ivc, struct device *peer, void *rx,
97 void (*notify)(struct tegra_ivc *ivc, void *data),
99 void tegra_ivc_cleanup(struct tegra_ivc *ivc);
H A Dbpmp.h44 struct tegra_ivc *ivc; member
/OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-tegra/
H A Divc.h96 int tegra_ivc_read_get_next_frame(struct tegra_ivc *ivc, void **frame);
110 int tegra_ivc_read_advance(struct tegra_ivc *ivc);
124 int tegra_ivc_write_get_next_frame(struct tegra_ivc *ivc, void **frame);
138 int tegra_ivc_write_advance(struct tegra_ivc *ivc);
150 int tegra_ivc_channel_notified(struct tegra_ivc *ivc);
162 void tegra_ivc_channel_reset(struct tegra_ivc *ivc);
175 int tegra_ivc_init(struct tegra_ivc *ivc, ulong rx_base, ulong tx_base,
/OK3568_Linux_fs/u-boot/drivers/misc/
H A Dtegra186_bpmp.c26 struct tegra_ivc ivc; member
45 ret = tegra_ivc_write_get_next_frame(&priv->ivc, &ivc_frame); in tegra186_bpmp_call()
56 ret = tegra_ivc_write_advance(&priv->ivc); in tegra186_bpmp_call()
64 ret = tegra_ivc_channel_notified(&priv->ivc); in tegra186_bpmp_call()
70 ret = tegra_ivc_read_get_next_frame(&priv->ivc, &ivc_frame); in tegra186_bpmp_call()
87 ret = tegra_ivc_read_advance(&priv->ivc); in tegra186_bpmp_call()
161 static void tegra186_bpmp_ivc_notify(struct tegra_ivc *ivc) in tegra186_bpmp_ivc_notify() argument
164 container_of(ivc, struct tegra186_bpmp, ivc); in tegra186_bpmp_ivc_notify()
198 ret = tegra_ivc_init(&priv->ivc, rx_base, tx_base, BPMP_IVC_FRAME_COUNT, in tegra186_bpmp_probe()
205 tegra_ivc_channel_reset(&priv->ivc); in tegra186_bpmp_probe()
[all …]
/OK3568_Linux_fs/kernel/drivers/media/platform/exynos4-is/
H A Dfimc-isp-video.c305 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()
316 ivc->streaming = 0; in isp_video_release()
322 fimc_pipeline_call(&ivc->ve, close); in isp_video_release()