Home
last modified time | relevance | path

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

/linux-6.12.1/drivers/firmware/tegra/
Divc.c77 static inline void tegra_ivc_invalidate(struct tegra_ivc *ivc, dma_addr_t phys) in tegra_ivc_invalidate() argument
79 if (!ivc->peer) in tegra_ivc_invalidate()
82 dma_sync_single_for_cpu(ivc->peer, phys, TEGRA_IVC_ALIGN, in tegra_ivc_invalidate()
86 static inline void tegra_ivc_flush(struct tegra_ivc *ivc, dma_addr_t phys) in tegra_ivc_flush() argument
88 if (!ivc->peer) in tegra_ivc_flush()
91 dma_sync_single_for_device(ivc->peer, phys, TEGRA_IVC_ALIGN, in tegra_ivc_flush()
95 static inline bool tegra_ivc_empty(struct tegra_ivc *ivc, struct iosys_map *map) in tegra_ivc_empty() argument
115 if (tx - rx > ivc->num_frames) in tegra_ivc_empty()
121 static inline bool tegra_ivc_full(struct tegra_ivc *ivc, struct iosys_map *map) in tegra_ivc_full() argument
130 return tx - rx >= ivc->num_frames; in tegra_ivc_full()
[all …]
Dbpmp-tegra186.c50 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 …]
DMakefile9 obj-$(CONFIG_TEGRA_IVC) += ivc.o
/linux-6.12.1/include/soc/tegra/
Divc.h25 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);
Dbpmp.h57 struct tegra_ivc *ivc; member
/linux-6.12.1/drivers/media/platform/samsung/exynos4-is/
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()
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()