Home
last modified time | relevance | path

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

1234

/linux-5.15/drivers/gpu/host1x/
H A Ddev.h31 int (*init)(struct host1x_channel *channel, struct host1x *host,
54 void (*show_channel_cdma)(struct host1x *host,
57 void (*show_channel_fifo)(struct host1x *host,
60 void (*show_mlocks)(struct host1x *host, struct output *output);
72 void (*enable_protection)(struct host1x *host);
76 int (*init_host_sync)(struct host1x *host, u32 cpm,
79 struct host1x *host, unsigned int id, u32 thresh);
80 void (*enable_syncpt_intr)(struct host1x *host, unsigned int id);
81 void (*disable_syncpt_intr)(struct host1x *host, unsigned int id);
82 void (*disable_all_syncpt_intrs)(struct host1x *host);
[all …]
A Dbus.c291 static int host1x_add_client(struct host1x *host1x, in host1x_add_client() argument
297 mutex_lock(&host1x->devices_lock); in host1x_add_client()
299 list_for_each_entry(device, &host1x->devices, list) { in host1x_add_client()
303 mutex_unlock(&host1x->devices_lock); in host1x_add_client()
309 mutex_unlock(&host1x->devices_lock); in host1x_add_client()
313 static int host1x_del_client(struct host1x *host1x, in host1x_del_client() argument
319 mutex_lock(&host1x->devices_lock); in host1x_del_client()
321 list_for_each_entry_safe(device, dt, &host1x->devices, list) { in host1x_del_client()
325 mutex_unlock(&host1x->devices_lock); in host1x_del_client()
331 mutex_unlock(&host1x->devices_lock); in host1x_del_client()
[all …]
H A Ddebug.c53 struct host1x *m = dev_get_drvdata(ch->dev->parent); in show_channel()
70 static void show_syncpts(struct host1x *m, struct output *o) in show_syncpts()
107 static void show_all(struct host1x *m, struct output *o, bool show_fifo) in show_all()
173 static void host1x_debugfs_init(struct host1x *host1x) in host1x_debugfs_init() argument
178 host1x->debugfs = de; in host1x_debugfs_init()
180 debugfs_create_file("status", S_IRUGO, de, host1x, &host1x_debug_fops); in host1x_debugfs_init()
181 debugfs_create_file("status_all", S_IRUGO, de, host1x, in host1x_debugfs_init()
187 host1x_hw_debug_init(host1x, de); in host1x_debugfs_init()
197 static void host1x_debugfs_exit(struct host1x *host1x) in host1x_debugfs_exit() argument
199 debugfs_remove_recursive(host1x->debugfs); in host1x_debugfs_exit()
[all …]
A Dcdma.c51 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_pushbuffer_destroy() local
56 if (host1x->domain) { in host1x_pushbuffer_destroy()
57 iommu_unmap(host1x->domain, pb->dma, pb->alloc_size); in host1x_pushbuffer_destroy()
58 free_iova(&host1x->iova, iova_pfn(&host1x->iova, pb->dma)); in host1x_pushbuffer_destroy()
61 dma_free_wc(host1x->dev, pb->alloc_size, pb->mapped, pb->phys); in host1x_pushbuffer_destroy()
73 struct host1x *host1x = cdma_to_host1x(cdma); in host1x_pushbuffer_init() local
88 if (host1x->domain) { in host1x_pushbuffer_init()
91 size = iova_align(&host1x->iova, size); in host1x_pushbuffer_init()
93 pb->mapped = dma_alloc_wc(host1x->dev, size, &pb->phys, in host1x_pushbuffer_init()
98 shift = iova_shift(&host1x->iova); in host1x_pushbuffer_init()
[all …]
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 Ddev.c34 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r) in host1x_hypervisor_writel() argument
36 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel()
39 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r) in host1x_hypervisor_readl() argument
41 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl()
44 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r) in host1x_sync_writel() argument
46 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel()
51 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument
53 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl()
188 static void host1x_setup_sid_table(struct host1x *host) in host1x_setup_sid_table()
201 static bool host1x_wants_iommu(struct host1x *host1x) in host1x_wants_iommu() argument
[all …]
H A Dsyncpt.h19 struct host1x;
38 struct host1x *host;
53 int host1x_syncpt_init(struct host1x *host);
56 void host1x_syncpt_deinit(struct host1x *host);
59 unsigned int host1x_syncpt_nb_pts(struct host1x *host);
62 unsigned int host1x_syncpt_nb_bases(struct host1x *host);
65 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host);
108 void host1x_syncpt_save(struct host1x *host);
111 void host1x_syncpt_restore(struct host1x *host);
A Dintr.h15 struct host1x;
70 int host1x_intr_add_action(struct host1x *host, struct host1x_syncpt *syncpt,
81 void host1x_intr_put_ref(struct host1x *host, unsigned int id, void *ref,
85 int host1x_intr_init(struct host1x *host, unsigned int irq_sync);
88 void host1x_intr_deinit(struct host1x *host);
91 void host1x_intr_start(struct host1x *host);
94 void host1x_intr_stop(struct host1x *host);
A Dbus.h11 struct host1x;
15 int host1x_register(struct host1x *host1x);
16 int host1x_unregister(struct host1x *host1x);
A DKconfig3 tristate "NVIDIA Tegra host1x driver"
7 Driver for the NVIDIA Tegra host1x hardware.
9 The Tegra host1x module is the DMA engine for register access to
11 by host1x are referred to as clients. host1x includes some other
H A Dsyncpt.c23 host1x_syncpt_base_request(struct host1x *host) in host1x_syncpt_base_request()
57 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host, in host1x_syncpt_alloc()
135 void host1x_syncpt_restore(struct host1x *host) in host1x_syncpt_restore()
153 void host1x_syncpt_save(struct host1x *host) in host1x_syncpt_save()
334 int host1x_syncpt_init(struct host1x *host) in host1x_syncpt_init()
398 struct host1x *host = dev_get_drvdata(client->host->parent); in host1x_syncpt_request()
440 void host1x_syncpt_deinit(struct host1x *host) in host1x_syncpt_deinit()
489 unsigned int host1x_syncpt_nb_pts(struct host1x *host) in host1x_syncpt_nb_pts()
494 unsigned int host1x_syncpt_nb_bases(struct host1x *host) in host1x_syncpt_nb_bases()
499 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host) in host1x_syncpt_nb_mlocks()
[all …]
A Dintr.c89 static void reset_threshold_interrupt(struct host1x *host, in reset_threshold_interrupt()
163 static int process_wait_list(struct host1x *host, in process_wait_list()
205 struct host1x *host = syncpt->host; in syncpt_thresh_work()
211 int host1x_intr_add_action(struct host1x *host, struct host1x_syncpt *syncpt, in host1x_intr_add_action()
255 void host1x_intr_put_ref(struct host1x *host, unsigned int id, void *ref, in host1x_intr_put_ref()
282 int host1x_intr_init(struct host1x *host, unsigned int irq_sync) in host1x_intr_init()
305 void host1x_intr_deinit(struct host1x *host) in host1x_intr_deinit()
310 void host1x_intr_start(struct host1x *host) in host1x_intr_start()
325 void host1x_intr_stop(struct host1x *host) in host1x_intr_stop()
H A Dchannel.c45 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in host1x_job_submit()
67 struct host1x_channel *host1x_channel_get_index(struct host1x *host, in host1x_channel_get_index()
82 struct host1x *host = dev_get_drvdata(channel->dev->parent); in release_channel()
97 static struct host1x_channel *acquire_unused_channel(struct host1x *host) in acquire_unused_channel()
125 struct host1x *host = dev_get_drvdata(client->dev->parent); in host1x_channel_request()
/linux-5.15/drivers/gpu/host1x/hw/
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()
170 static void cdma_hw_cmdproc_stop(struct host1x *host, struct host1x_channel *ch, in cdma_hw_cmdproc_stop()
185 static void cdma_hw_teardown(struct host1x *host, struct host1x_channel *ch) in cdma_hw_teardown()
200 struct host1x *host = cdma_to_host1x(cdma); in cdma_freeze()
228 struct host1x *host1x = cdma_to_host1x(cdma); in cdma_resume() local
231 dev_dbg(host1x->dev, in cdma_resume()
235 cdma_hw_cmdproc_stop(host1x, ch, false); in cdma_resume()
250 struct host1x *host1x; in cdma_timeout_handler() local
255 host1x = cdma_to_host1x(cdma); in cdma_timeout_handler()
[all …]
H A Dintr_hw.c23 struct host1x *host = syncpt->host; in host1x_intr_syncpt_handle()
35 struct host1x *host = dev_id; in syncpt_thresh_isr()
52 static void _host1x_intr_disable_all_syncpt_intrs(struct host1x *host) in _host1x_intr_disable_all_syncpt_intrs()
64 static void intr_hw_init(struct host1x *host, u32 cpm) in intr_hw_init()
82 _host1x_intr_init_host_sync(struct host1x *host, u32 cpm, in _host1x_intr_init_host_sync()
106 static void _host1x_intr_set_syncpt_threshold(struct host1x *host, in _host1x_intr_set_syncpt_threshold()
113 static void _host1x_intr_enable_syncpt_intr(struct host1x *host, in _host1x_intr_enable_syncpt_intr()
120 static void _host1x_intr_disable_syncpt_intr(struct host1x *host, in _host1x_intr_disable_syncpt_intr()
129 static int _host1x_free_syncpt_irq(struct host1x *host) in _host1x_free_syncpt_irq()
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()
125 static void syncpt_enable_protection(struct host1x *host) in syncpt_enable_protection()
A Dhost1x07.h11 struct host1x;
13 int host1x07_init(struct host1x *host);
A Dhost1x06.h11 struct host1x;
13 int host1x06_init(struct host1x *host);
A Dhost1x04.h11 struct host1x;
13 int host1x04_init(struct host1x *host);
H A Dhost1x01.h10 struct host1x;
12 int host1x01_init(struct host1x *host);
A Dhost1x02.h11 struct host1x;
13 int host1x02_init(struct host1x *host);
A Dhost1x05.h11 struct host1x;
13 int host1x05_init(struct host1x *host);
/linux-5.15/Documentation/gpu/
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-5.15/include/linux/
A Dhost1x.h20 struct host1x;
24 u64 host1x_get_dma_mask(struct host1x *host1x);
147 struct host1x;
149 struct host1x_syncpt *host1x_syncpt_get_by_id(struct host1x *host, u32 id);
150 struct host1x_syncpt *host1x_syncpt_get_by_id_noref(struct host1x *host, u32 id);
163 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host,
/linux-5.15/include/trace/events/
H A Dhost1x.h11 #define TRACE_SYSTEM host1x
21 DECLARE_EVENT_CLASS(host1x,
29 DEFINE_EVENT(host1x, host1x_channel_open,
34 DEFINE_EVENT(host1x, host1x_channel_release,
39 DEFINE_EVENT(host1x, host1x_cdma_begin,
44 DEFINE_EVENT(host1x, host1x_cdma_end,

1234