Home
last modified time | relevance | path

Searched refs:host1x (Results 1 – 25 of 115) sorted by relevance

12345

/linux/drivers/gpu/host1x/
H A Ddev.h56 void (*show_channel_cdma)(struct host1x *host,
59 void (*show_channel_fifo)(struct host1x *host,
74 void (*enable_protection)(struct host1x *host);
84 int (*free_syncpt_irq)(struct host1x *host);
104 int (*init)(struct host1x *host1x); /* initialize per SoC ops */
129 struct host1x { struct
177 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r); argument
178 void host1x_hypervisor_writel(struct host1x *host1x, u32 r, u32 v);
179 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r);
180 void host1x_sync_writel(struct host1x *host1x, u32 r, u32 v);
[all …]
H A Ddebug.c170 static void host1x_debugfs_init(struct host1x *host1x) in host1x_debugfs_init() argument
175 host1x->debugfs = de; in host1x_debugfs_init()
194 static void host1x_debugfs_exit(struct host1x *host1x) in host1x_debugfs_exit() argument
199 void host1x_debug_init(struct host1x *host1x) in host1x_debug_init() argument
202 host1x_debugfs_init(host1x); in host1x_debug_init()
205 void host1x_debug_deinit(struct host1x *host1x) in host1x_debug_deinit() argument
208 host1x_debugfs_exit(host1x); in host1x_debug_deinit()
211 void host1x_debug_dump(struct host1x *host1x) in host1x_debug_dump() argument
217 show_all(host1x, &o, true); in host1x_debug_dump()
220 void host1x_debug_dump_syncpts(struct host1x *host1x) in host1x_debug_dump_syncpts() argument
[all …]
H A Dbus.c292 static int host1x_add_client(struct host1x *host1x, in host1x_add_client() argument
314 static int host1x_del_client(struct host1x *host1x, in host1x_del_client() argument
426 static int host1x_device_add(struct host1x *host1x, in host1x_device_add() argument
488 static void host1x_device_del(struct host1x *host1x, in host1x_device_del() argument
537 struct host1x *host1x = s->private; in host1x_devices_show() local
573 int host1x_register(struct host1x *host1x) in host1x_register() argument
601 int host1x_unregister(struct host1x *host1x) in host1x_unregister() argument
663 struct host1x *host1x; in host1x_driver_register_full() local
697 struct host1x *host1x; in host1x_driver_unregister() local
751 struct host1x *host1x; in __host1x_client_register() local
[all …]
H A Dcdma.c51 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_pushbuffer_destroy() local
56 if (host1x->domain) { in host1x_pushbuffer_destroy()
58 free_iova(&host1x->iova, iova_pfn(&host1x->iova, pb->dma)); in host1x_pushbuffer_destroy()
73 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_pushbuffer_init() local
235 static int host1x_cdma_wait_pushbuffer_space(struct host1x *host1x, in host1x_cdma_wait_pushbuffer_space() argument
366 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_cdma_update_sync_queue() local
532 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_cdma_deinit() local
550 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_cdma_begin() local
594 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_cdma_push() local
626 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_cdma_push_wide() local
[all …]
H A Dintr.h11 struct host1x;
15 struct host1x *host;
20 int host1x_intr_init(struct host1x *host);
23 void host1x_intr_deinit(struct host1x *host);
26 void host1x_intr_start(struct host1x *host);
29 void host1x_intr_stop(struct host1x *host);
31 void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id);
33 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence);
35 bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence);
H A Ddebug.h13 struct host1x;
41 void host1x_debug_init(struct host1x *host1x);
42 void host1x_debug_deinit(struct host1x *host1x);
43 void host1x_debug_dump(struct host1x *host1x);
44 void host1x_debug_dump_syncpts(struct host1x *host1x);
H A Dsyncpt.h20 struct host1x;
39 struct host1x *host;
54 int host1x_syncpt_init(struct host1x *host);
57 void host1x_syncpt_deinit(struct host1x *host);
60 unsigned int host1x_syncpt_nb_pts(struct host1x *host);
63 unsigned int host1x_syncpt_nb_bases(struct host1x *host);
66 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host);
109 void host1x_syncpt_save(struct host1x *host);
112 void host1x_syncpt_restore(struct host1x *host);
H A Ddev.c45 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r) in host1x_common_writel() argument
50 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r) in host1x_hypervisor_writel() argument
52 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel()
55 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r) in host1x_hypervisor_readl() argument
60 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r) in host1x_sync_writel() argument
62 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel()
67 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument
69 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl()
331 static bool host1x_wants_iommu(struct host1x *host1x) in host1x_wants_iommu() argument
516 struct host1x *host; in host1x_probe()
[all …]
H A Dcontext.c21 int host1x_memory_context_list_init(struct host1x *host1x) in host1x_memory_context_list_init() argument
23 struct host1x_memory_context_list *cdl = &host1x->context_list; in host1x_memory_context_list_init()
24 struct device_node *node = host1x->dev->of_node; in host1x_memory_context_list_init()
45 ctx->host = host1x; in host1x_memory_context_list_init()
58 ctx->dev.parent = host1x->dev; in host1x_memory_context_list_init()
66 dev_err(host1x->dev, "could not add context device %d: %d\n", i, err); in host1x_memory_context_list_init()
73 dev_err(host1x->dev, "IOMMU configuration failed for context device %d: %d\n", in host1x_memory_context_list_init()
81 dev_err(host1x->dev, "Context device %d has no IOMMU!\n", i); in host1x_memory_context_list_init()
119 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument
123 struct host1x_memory_context_list *cdl = &host1x->context_list; in host1x_memory_context_alloc()
H A Dbus.h11 struct host1x;
15 int host1x_register(struct host1x *host1x);
16 int host1x_unregister(struct host1x *host1x);
H A Dcontext.h14 struct host1x;
25 int host1x_memory_context_list_init(struct host1x *host1x);
28 static inline int host1x_memory_context_list_init(struct host1x *host1x) in host1x_memory_context_list_init() argument
H A Dintr.c31 static void host1x_intr_update_hw_state(struct host1x *host, struct host1x_syncpt *sp) in host1x_intr_update_hw_state()
45 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence) in host1x_intr_add_fence_locked()
55 bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence) in host1x_intr_remove_fence()
75 void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id) in host1x_intr_handle_interrupt()
101 int host1x_intr_init(struct host1x *host) in host1x_intr_init()
136 void host1x_intr_deinit(struct host1x *host) in host1x_intr_deinit()
140 void host1x_intr_start(struct host1x *host) in host1x_intr_start()
154 void host1x_intr_stop(struct host1x *host) in host1x_intr_stop()
H A Dsyncpt.c24 host1x_syncpt_base_request(struct host1x *host) in host1x_syncpt_base_request()
58 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host, in host1x_syncpt_alloc()
136 void host1x_syncpt_restore(struct host1x *host) in host1x_syncpt_restore()
163 void host1x_syncpt_save(struct host1x *host) in host1x_syncpt_save()
280 int host1x_syncpt_init(struct host1x *host) in host1x_syncpt_init()
334 struct host1x *host = dev_get_drvdata(client->host->parent); in host1x_syncpt_request()
376 void host1x_syncpt_deinit(struct host1x *host) in host1x_syncpt_deinit()
425 unsigned int host1x_syncpt_nb_pts(struct host1x *host) in host1x_syncpt_nb_pts()
430 unsigned int host1x_syncpt_nb_bases(struct host1x *host) in host1x_syncpt_nb_bases()
435 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host) in host1x_syncpt_nb_mlocks()
[all …]
H A DKconfig7 tristate "NVIDIA Tegra host1x driver"
13 Driver for the NVIDIA Tegra host1x hardware.
15 The Tegra host1x module is the DMA engine for register access to
17 by host1x are referred to as clients. host1x includes some other
H A Dchannel.c43 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in host1x_job_submit()
65 struct host1x_channel *host1x_channel_get_index(struct host1x *host, in host1x_channel_get_index()
78 struct host1x *host = dev_get_drvdata(channel->dev->parent); in host1x_channel_stop()
90 void host1x_channel_stop_all(struct host1x *host) in host1x_channel_stop_all()
107 struct host1x *host = dev_get_drvdata(channel->dev->parent); in release_channel()
122 static struct host1x_channel *acquire_unused_channel(struct host1x *host) in acquire_unused_channel()
155 struct host1x *host = dev_get_drvdata(client->dev->parent); in host1x_channel_request()
H A Dchannel.h17 struct host1x;
41 struct host1x_channel *host1x_channel_get_index(struct host1x *host,
43 void host1x_channel_stop_all(struct host1x *host);
H A DMakefile2 host1x-y = \
21 host1x-$(CONFIG_IOMMU_API) += \
24 obj-$(CONFIG_TEGRA_HOST1X) += host1x.o
/linux/Documentation/devicetree/bindings/display/tegra/
H A Dnvidia,tegra20-host1x.yaml7 title: NVIDIA Tegra host1x controller
20 - nvidia,tegra20-host1x
21 - nvidia,tegra30-host1x
22 - nvidia,tegra114-host1x
68 - const: host1x
79 - const: host1x
134 - const: host1x
171 - const: host1x
231 - const: host1x
249 host1x@50000000 {
[all …]
/linux/drivers/gpu/host1x/hw/
H A Dcdma_hw.c91 struct host1x *host1x = cdma_to_host1x(cdma); in cdma_timeout_restart() local
123 dev_dbg(host1x->dev, in cdma_timeout_restart()
228 struct host1x *host1x = cdma_to_host1x(cdma); in cdma_resume() local
231 dev_dbg(host1x->dev, in cdma_resume()
253 struct host1x *host1x = cdma_to_host1x(cdma); in timeout_release_mlock() local
281 struct host1x *host1x; in cdma_timeout_handler() local
286 host1x = cdma_to_host1x(cdma); in cdma_timeout_handler()
294 dev_dbg(host1x->dev, in cdma_timeout_handler()
301 cdma_hw_cmdproc_stop(host1x, ch, true); in cdma_timeout_handler()
307 dev_dbg(host1x->dev, in cdma_timeout_handler()
[all …]
H A Dsyncpt_hw.c19 struct host1x *host = sp->host; in syncpt_restore()
30 struct host1x *host = sp->host; in syncpt_restore_wait_base()
43 struct host1x *host = sp->host; in syncpt_read_wait_base()
55 struct host1x *host = sp->host; in syncpt_load()
78 struct host1x *host = sp->host; in syncpt_cpu_incr()
107 struct host1x *host = sp->host; in syncpt_assign_to_channel()
122 static void syncpt_enable_protection(struct host1x *host) in syncpt_enable_protection()
H A Dintr_hw.c17 struct host1x *host = irq_data->host; in syncpt_thresh_isr()
38 static void host1x_intr_disable_all_syncpt_intrs(struct host1x *host) in host1x_intr_disable_all_syncpt_intrs()
51 host1x_intr_init_host_sync(struct host1x *host, u32 cpm) in host1x_intr_init_host_sync()
86 static void host1x_intr_set_syncpt_threshold(struct host1x *host, in host1x_intr_set_syncpt_threshold()
93 static void host1x_intr_enable_syncpt_intr(struct host1x *host, in host1x_intr_enable_syncpt_intr()
100 static void host1x_intr_disable_syncpt_intr(struct host1x *host, in host1x_intr_disable_syncpt_intr()
H A Dhost1x01.h10 struct host1x;
12 int host1x01_init(struct host1x *host);
/linux/include/linux/
H A Dhost1x.h25 struct host1x;
29 u64 host1x_get_dma_mask(struct host1x *host1x);
199 struct host1x;
201 struct host1x_syncpt *host1x_syncpt_get_by_id(struct host1x *host, u32 id);
202 struct host1x_syncpt *host1x_syncpt_get_by_id_noref(struct host1x *host, u32 id);
215 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host,
464 struct host1x *host;
476 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x,
482 static inline struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument
/linux/Documentation/gpu/
H A Dtegra.rst6 the host1x controller. host1x supplies command streams, gathered from a push
18 - A host1x driver that provides infrastructure and access to the host1x
25 GPU and video engines via host1x.
30 The various host1x clients need to be bound together into a logical device in
32 this is implemented in the host1x driver. When a driver is registered with the
37 to the logical host1x device.
50 .. kernel-doc:: include/linux/host1x.h
52 .. kernel-doc:: drivers/gpu/host1x/bus.c
58 .. kernel-doc:: drivers/gpu/host1x/syncpt.c
140 to host1x.
[all …]
/linux/drivers/gpu/drm/tegra/
H A Duapi.c78 struct host1x *host = tegra_drm_to_host1x(drm->dev_private); in tegra_drm_ioctl_channel_open()
300 struct host1x *host1x = tegra_drm_to_host1x(drm->dev_private); in tegra_drm_ioctl_syncpoint_allocate() local
309 sp = host1x_syncpt_alloc(host1x, HOST1X_SYNCPT_CLIENT_MANAGED, current->comm); in tegra_drm_ioctl_syncpoint_allocate()
344 struct host1x *host1x = tegra_drm_to_host1x(drm->dev_private); in tegra_drm_ioctl_syncpoint_wait() local
352 sp = host1x_syncpt_get_by_id_noref(host1x, args->id); in tegra_drm_ioctl_syncpoint_wait()

12345