/drivers/gpu/host1x/ |
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 …]
|
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 …]
|
D | bus.c | 259 static int host1x_add_client(struct host1x *host1x, in host1x_add_client() argument 265 mutex_lock(&host1x->devices_lock); in host1x_add_client() 267 list_for_each_entry(device, &host1x->devices, list) { in host1x_add_client() 271 mutex_unlock(&host1x->devices_lock); in host1x_add_client() 277 mutex_unlock(&host1x->devices_lock); in host1x_add_client() 281 static int host1x_del_client(struct host1x *host1x, in host1x_del_client() argument 287 mutex_lock(&host1x->devices_lock); in host1x_del_client() 289 list_for_each_entry_safe(device, dt, &host1x->devices, list) { in host1x_del_client() 293 mutex_unlock(&host1x->devices_lock); in host1x_del_client() 299 mutex_unlock(&host1x->devices_lock); in host1x_del_client() [all …]
|
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() 99 static void show_all(struct host1x *m, struct output *o, bool show_fifo) in show_all() 165 static void host1x_debugfs_init(struct host1x *host1x) in host1x_debugfs_init() argument 170 host1x->debugfs = de; in host1x_debugfs_init() 172 debugfs_create_file("status", S_IRUGO, de, host1x, &host1x_debug_fops); in host1x_debugfs_init() 173 debugfs_create_file("status_all", S_IRUGO, de, host1x, in host1x_debugfs_init() 179 host1x_hw_debug_init(host1x, de); in host1x_debugfs_init() 189 static void host1x_debugfs_exit(struct host1x *host1x) in host1x_debugfs_exit() argument 191 debugfs_remove_recursive(host1x->debugfs); in host1x_debugfs_exit() [all …]
|
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);
|
D | dev.c | 38 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r) in host1x_hypervisor_writel() argument 40 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel() 43 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r) in host1x_hypervisor_readl() argument 45 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl() 48 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r) in host1x_sync_writel() argument 50 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel() 55 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument 57 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl() 186 static void host1x_setup_sid_table(struct host1x *host) in host1x_setup_sid_table() 199 static bool host1x_wants_iommu(struct host1x *host1x) in host1x_wants_iommu() argument [all …]
|
D | syncpt.h | 18 struct host1x; 35 struct host1x *host; 44 int host1x_syncpt_init(struct host1x *host); 47 void host1x_syncpt_deinit(struct host1x *host); 50 unsigned int host1x_syncpt_nb_pts(struct host1x *host); 53 unsigned int host1x_syncpt_nb_bases(struct host1x *host); 56 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host); 99 void host1x_syncpt_save(struct host1x *host); 102 void host1x_syncpt_restore(struct host1x *host);
|
D | intr.h | 15 struct host1x; 68 int host1x_intr_add_action(struct host1x *host, struct host1x_syncpt *syncpt, 78 void host1x_intr_put_ref(struct host1x *host, unsigned int id, void *ref); 81 int host1x_intr_init(struct host1x *host, unsigned int irq_sync); 84 void host1x_intr_deinit(struct host1x *host); 87 void host1x_intr_start(struct host1x *host); 90 void host1x_intr_stop(struct host1x *host);
|
D | bus.h | 11 struct host1x; 15 int host1x_register(struct host1x *host1x); 16 int host1x_unregister(struct host1x *host1x);
|
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
|
D | syncpt.c | 23 host1x_syncpt_base_request(struct host1x *host) in host1x_syncpt_base_request() 45 static struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host, in host1x_syncpt_alloc() 119 void host1x_syncpt_restore(struct host1x *host) in host1x_syncpt_restore() 137 void host1x_syncpt_save(struct host1x *host) in host1x_syncpt_save() 365 int host1x_syncpt_init(struct host1x *host) in host1x_syncpt_init() 424 struct host1x *host = dev_get_drvdata(client->host->parent); in host1x_syncpt_request() 458 void host1x_syncpt_deinit(struct host1x *host) in host1x_syncpt_deinit() 507 unsigned int host1x_syncpt_nb_pts(struct host1x *host) in host1x_syncpt_nb_pts() 512 unsigned int host1x_syncpt_nb_bases(struct host1x *host) in host1x_syncpt_nb_bases() 517 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host) in host1x_syncpt_nb_mlocks() [all …]
|
D | intr.c | 88 static void reset_threshold_interrupt(struct host1x *host, in reset_threshold_interrupt() 154 static int process_wait_list(struct host1x *host, in process_wait_list() 196 struct host1x *host = syncpt->host; in syncpt_thresh_work() 202 int host1x_intr_add_action(struct host1x *host, struct host1x_syncpt *syncpt, in host1x_intr_add_action() 245 void host1x_intr_put_ref(struct host1x *host, unsigned int id, void *ref) in host1x_intr_put_ref() 261 int host1x_intr_init(struct host1x *host, unsigned int irq_sync) in host1x_intr_init() 284 void host1x_intr_deinit(struct host1x *host) in host1x_intr_deinit() 289 void host1x_intr_start(struct host1x *host) in host1x_intr_start() 304 void host1x_intr_stop(struct host1x *host) in host1x_intr_stop()
|
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()
|
D | channel.h | 16 struct host1x; 38 struct host1x_channel *host1x_channel_get_index(struct host1x *host,
|
D | Makefile | 2 host1x-y = \ 19 obj-$(CONFIG_TEGRA_HOST1X) += host1x.o
|
/drivers/gpu/host1x/hw/ |
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 …]
|
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()
|
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() 122 static void syncpt_enable_protection(struct host1x *host) in syncpt_enable_protection()
|
D | host1x04.h | 11 struct host1x; 13 int host1x04_init(struct host1x *host);
|
D | host1x06.h | 11 struct host1x; 13 int host1x06_init(struct host1x *host);
|
D | host1x05.h | 11 struct host1x; 13 int host1x05_init(struct host1x *host);
|
D | host1x07.h | 11 struct host1x; 13 int host1x07_init(struct host1x *host);
|
D | host1x02.h | 11 struct host1x; 13 int host1x02_init(struct host1x *host);
|
D | host1x01.h | 10 struct host1x; 12 int host1x01_init(struct host1x *host);
|
D | channel_hw.c | 89 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in synchronize_syncpt_base() 127 struct host1x *host = dev_get_drvdata(ch->dev->parent); in channel_submit() 209 static void enable_gather_filter(struct host1x *host, in enable_gather_filter() 230 static int host1x_channel_init(struct host1x_channel *ch, struct host1x *dev, in host1x_channel_init()
|