/linux-6.3-rc2/drivers/gpu/host1x/ |
A D | dev.h | 55 void (*show_channel_cdma)(struct host1x *host, 58 void (*show_channel_fifo)(struct host1x *host, 73 void (*enable_protection)(struct host1x *host); 83 int (*free_syncpt_irq)(struct host1x *host); 102 int (*init)(struct host1x *host1x); /* initialize per SoC ops */ 121 struct host1x { struct 168 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r); argument 169 void host1x_hypervisor_writel(struct host1x *host1x, u32 r, u32 v); 170 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r); 171 void host1x_sync_writel(struct host1x *host1x, u32 r, u32 v); [all …]
|
A D | bus.c | 292 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 449 static int host1x_device_add(struct host1x *host1x, in host1x_device_add() argument 513 static void host1x_device_del(struct host1x *host1x, in host1x_device_del() argument 562 struct host1x *host1x = s->private; in host1x_devices_show() local 598 int host1x_register(struct host1x *host1x) in host1x_register() argument 626 int host1x_unregister(struct host1x *host1x) in host1x_unregister() argument 688 struct host1x *host1x; in host1x_driver_register_full() local 722 struct host1x *host1x; in host1x_driver_unregister() local 776 struct host1x *host1x; in __host1x_client_register() local [all …]
|
A D | debug.c | 170 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 …]
|
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() 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 …]
|
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);
|
A D | intr.h | 11 struct host1x; 15 int host1x_intr_init(struct host1x *host); 18 void host1x_intr_deinit(struct host1x *host); 21 void host1x_intr_start(struct host1x *host); 24 void host1x_intr_stop(struct host1x *host); 26 void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id); 28 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence); 30 bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence);
|
A D | syncpt.h | 20 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);
|
A D | dev.c | 44 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r) in host1x_common_writel() argument 49 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r) in host1x_hypervisor_writel() argument 51 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel() 54 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r) in host1x_hypervisor_readl() argument 59 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r) in host1x_sync_writel() argument 61 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel() 66 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument 68 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl() 305 static bool host1x_wants_iommu(struct host1x *host1x) in host1x_wants_iommu() argument 489 struct host1x *host; in host1x_probe() [all …]
|
A D | context.c | 16 int host1x_memory_context_list_init(struct host1x *host1x) in host1x_memory_context_list_init() argument 18 struct host1x_memory_context_list *cdl = &host1x->context_list; in host1x_memory_context_list_init() 19 struct device_node *node = host1x->dev->of_node; in host1x_memory_context_list_init() 40 ctx->host = host1x; in host1x_memory_context_list_init() 53 ctx->dev.parent = host1x->dev; in host1x_memory_context_list_init() 59 dev_err(host1x->dev, "could not add context device %d: %d\n", i, err); in host1x_memory_context_list_init() 65 dev_err(host1x->dev, "IOMMU configuration failed for context device %d: %d\n", in host1x_memory_context_list_init() 73 dev_err(host1x->dev, "Context device %d has no IOMMU!\n", i); in host1x_memory_context_list_init() 102 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument 106 struct host1x_memory_context_list *cdl = &host1x->context_list; in host1x_memory_context_alloc()
|
A D | bus.h | 11 struct host1x; 15 int host1x_register(struct host1x *host1x); 16 int host1x_unregister(struct host1x *host1x);
|
A D | context.h | 14 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
|
A D | intr.c | 31 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() 117 void host1x_intr_deinit(struct host1x *host) in host1x_intr_deinit() 121 void host1x_intr_start(struct host1x *host) in host1x_intr_start() 135 void host1x_intr_stop(struct host1x *host) in host1x_intr_stop()
|
A D | syncpt.c | 24 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() 274 int host1x_syncpt_init(struct host1x *host) in host1x_syncpt_init() 328 struct host1x *host = dev_get_drvdata(client->host->parent); in host1x_syncpt_request() 370 void host1x_syncpt_deinit(struct host1x *host) in host1x_syncpt_deinit() 419 unsigned int host1x_syncpt_nb_pts(struct host1x *host) in host1x_syncpt_nb_pts() 424 unsigned int host1x_syncpt_nb_bases(struct host1x *host) in host1x_syncpt_nb_bases() 429 unsigned int host1x_syncpt_nb_mlocks(struct host1x *host) in host1x_syncpt_nb_mlocks() [all …]
|
A D | Kconfig | 7 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
|
A D | channel.c | 41 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in host1x_job_submit() 63 struct host1x_channel *host1x_channel_get_index(struct host1x *host, in host1x_channel_get_index() 76 struct host1x *host = dev_get_drvdata(channel->dev->parent); in host1x_channel_stop() 86 struct host1x *host = dev_get_drvdata(channel->dev->parent); in release_channel() 101 static struct host1x_channel *acquire_unused_channel(struct host1x *host) in acquire_unused_channel() 129 struct host1x *host = dev_get_drvdata(client->dev->parent); in host1x_channel_request()
|
A D | Makefile | 2 host1x-y = \ 21 host1x-$(CONFIG_IOMMU_API) += \ 24 obj-$(CONFIG_TEGRA_HOST1X) += host1x.o
|
/linux-6.3-rc2/Documentation/devicetree/bindings/display/tegra/ |
A D | nvidia,tegra20-host1x.yaml | 7 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 222 - const: host1x 238 host1x@50000000 { [all …]
|
/linux-6.3-rc2/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() 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 …]
|
A D | intr_hw.c | 18 struct host1x *host = dev_id; in syncpt_thresh_isr() 38 static void host1x_intr_disable_all_syncpt_intrs(struct host1x *host) in host1x_intr_disable_all_syncpt_intrs() 50 static void intr_hw_init(struct host1x *host, u32 cpm) in intr_hw_init() 79 host1x_intr_init_host_sync(struct host1x *host, u32 cpm) in host1x_intr_init_host_sync() 96 static void host1x_intr_set_syncpt_threshold(struct host1x *host, in host1x_intr_set_syncpt_threshold() 103 static void host1x_intr_enable_syncpt_intr(struct host1x *host, in host1x_intr_enable_syncpt_intr() 110 static void host1x_intr_disable_syncpt_intr(struct host1x *host, in host1x_intr_disable_syncpt_intr()
|
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() 122 static void syncpt_enable_protection(struct host1x *host) in syncpt_enable_protection()
|
A D | host1x05.h | 11 struct host1x; 13 int host1x05_init(struct host1x *host);
|
A D | host1x06.h | 11 struct host1x; 13 int host1x06_init(struct host1x *host);
|
/linux-6.3-rc2/include/linux/ |
A D | host1x.h | 25 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; 475 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, 481 static inline struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument
|
/linux-6.3-rc2/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-6.3-rc2/drivers/gpu/drm/tegra/ |
A D | uapi.c | 78 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()
|