| /linux-5.15/drivers/gpu/host1x/ |
| H A D | dev.h | 31 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 D | bus.c | 291 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 D | debug.c | 53 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 D | cdma.c | 51 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 D | debug.h | 13 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 D | dev.c | 34 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 D | syncpt.h | 19 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 D | intr.h | 15 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 D | bus.h | 11 struct host1x; 15 int host1x_register(struct host1x *host1x); 16 int host1x_unregister(struct host1x *host1x);
|
| A D | Kconfig | 3 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 D | syncpt.c | 23 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 D | intr.c | 89 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 D | channel.c | 45 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 D | cdma_hw.c | 91 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 D | intr_hw.c | 23 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 D | syncpt_hw.c | 19 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 D | host1x07.h | 11 struct host1x; 13 int host1x07_init(struct host1x *host);
|
| A D | host1x06.h | 11 struct host1x; 13 int host1x06_init(struct host1x *host);
|
| A D | host1x04.h | 11 struct host1x; 13 int host1x04_init(struct host1x *host);
|
| H A D | host1x01.h | 10 struct host1x; 12 int host1x01_init(struct host1x *host);
|
| A D | host1x02.h | 11 struct host1x; 13 int host1x02_init(struct host1x *host);
|
| A D | host1x05.h | 11 struct host1x; 13 int host1x05_init(struct host1x *host);
|
| /linux-5.15/Documentation/gpu/ |
| A D | tegra.rst | 6 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 D | host1x.h | 20 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 D | host1x.h | 11 #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,
|