/Linux-v6.6/drivers/gpu/host1x/ |
D | dev.h | 32 int (*init)(struct host1x_channel *channel, struct host1x *host, 55 void (*show_channel_cdma)(struct host1x *host, 58 void (*show_channel_fifo)(struct host1x *host, 61 void (*show_mlocks)(struct host1x *host, struct output *output); 73 void (*enable_protection)(struct host1x *host); 77 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 | bus.c | 9 #include <linux/host1x.h> 35 * @device: host1x device to add the subdevice to 36 * @driver: host1x driver containing the subdevices 87 * @device: host1x logical device 88 * @driver: host1x driver 184 * host1x_device_init() - initialize a host1x logical device 185 * @device: host1x logical device 187 * The driver for the host1x logical device can call this during execution of 246 * host1x_device_exit() - uninitialize host1x logical device 247 * @device: host1x logical device [all …]
|
D | intr.h | 3 * Tegra host1x Interrupt Management 11 struct host1x; 14 /* Initialize host1x sync point interrupt */ 15 int host1x_intr_init(struct host1x *host); 17 /* Deinitialize host1x sync point interrupt */ 18 void host1x_intr_deinit(struct host1x *host); 20 /* Enable host1x sync point interrupt */ 21 void host1x_intr_start(struct host1x *host); 23 /* Disable host1x sync point interrupt */ 24 void host1x_intr_stop(struct host1x *host); [all …]
|
D | debug.c | 54 struct host1x *m = dev_get_drvdata(ch->dev->parent); in show_channel() 78 static void show_syncpts(struct host1x *m, struct output *o, bool show_all) in show_syncpts() 126 static void show_all(struct host1x *m, struct output *o, bool show_fifo) in show_all() 170 static void host1x_debugfs_init(struct host1x *host1x) in host1x_debugfs_init() argument 172 struct dentry *de = debugfs_create_dir("tegra-host1x", NULL); in host1x_debugfs_init() 175 host1x->debugfs = de; in host1x_debugfs_init() 177 debugfs_create_file("status", S_IRUGO, de, host1x, &host1x_debug_fops); in host1x_debugfs_init() 178 debugfs_create_file("status_all", S_IRUGO, de, host1x, in host1x_debugfs_init() 184 host1x_hw_debug_init(host1x, de); in host1x_debugfs_init() 194 static void host1x_debugfs_exit(struct host1x *host1x) in host1x_debugfs_exit() argument [all …]
|
D | dev.c | 3 * Tegra host1x driver 23 #include <trace/events/host1x.h> 45 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r) in host1x_common_writel() argument 47 writel(v, host1x->common_regs + r); in host1x_common_writel() 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 57 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl() 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() [all …]
|
D | cdma.c | 3 * Tegra host1x Command DMA 12 #include <linux/host1x.h> 17 #include <trace/events/host1x.h> 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() [all …]
|
D | syncpt.c | 3 * Tegra host1x Syncpoints 13 #include <trace/events/host1x.h> 24 host1x_syncpt_base_request(struct host1x *host) in host1x_syncpt_base_request() 48 * @host: host1x device data 58 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host, in host1x_syncpt_alloc() 110 * @sp: host1x syncpoint 124 * @sp: host1x syncpoint 136 void host1x_syncpt_restore(struct host1x *host) in host1x_syncpt_restore() 163 void host1x_syncpt_save(struct host1x *host) in host1x_syncpt_save() 205 * @sp: host1x syncpoint [all …]
|
D | debug.h | 3 * Tegra host1x Debug 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 | syncpt.h | 3 * Tegra host1x Syncpoints 12 #include <linux/host1x.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); 108 /* Save host1x sync point state into shadow registers. */ [all …]
|
D | context.c | 21 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() 56 dev_set_name(&ctx->dev, "host1x-ctx.%d", i); in host1x_memory_context_list_init() 58 ctx->dev.parent = host1x->dev; in host1x_memory_context_list_init() 65 dev_err(host1x->dev, "could not add context device %d: %d\n", i, err); in host1x_memory_context_list_init() 72 dev_err(host1x->dev, "IOMMU configuration failed for context device %d: %d\n", in host1x_memory_context_list_init() 80 dev_err(host1x->dev, "Context device %d has no IOMMU!\n", i); in host1x_memory_context_list_init() 85 * are defined in the device tree, Host1x will fail to probe. in host1x_memory_context_list_init() [all …]
|
D | channel.c | 3 * Tegra host1x Channel 15 /* Constructor for the host1x device list */ 41 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in host1x_job_submit() 57 * @host: Host1x device object 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() 122 * @client: Host1x client this channel will be used to send commands to 124 * Allocates a new host1x channel for @client. May return NULL if CDMA [all …]
|
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 23 bool "Enable HOST1X security firewall"
|
D | context.h | 3 * Host1x context devices 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
|
D | intr.c | 3 * Tegra host1x Interrupt Management 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()
|
D | bus.h | 11 struct host1x; 15 int host1x_register(struct host1x *host1x); 16 int host1x_unregister(struct host1x *host1x);
|
/Linux-v6.6/Documentation/devicetree/bindings/display/tegra/ |
D | nvidia,tegra20-host1x.yaml | 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-host1x.yaml# 7 title: NVIDIA Tegra host1x controller 13 description: The host1x top-level node defines a number of children, each 14 representing one of the host1x client modules defined in this binding. 20 - nvidia,tegra20-host1x 21 - nvidia,tegra30-host1x 22 - nvidia,tegra114-host1x 23 - nvidia,tegra124-host1x 24 - nvidia,tegra210-host1x 25 - nvidia,tegra186-host1x [all …]
|
/Linux-v6.6/include/linux/ |
D | host1x.h | 25 struct host1x; 29 u64 host1x_get_dma_mask(struct host1x *host1x); 32 * struct host1x_bo_cache - host1x buffer object cache 59 * struct host1x_client_ops - host1x client operations 60 * @early_init: host1x client early initialization code 61 * @init: host1x client initialization code 62 * @exit: host1x client tear down code 63 * @late_exit: host1x client late tear down code 64 * @suspend: host1x client suspend code 65 * @resume: host1x client resume code [all …]
|
/Linux-v6.6/drivers/gpu/host1x/hw/ |
D | cdma_hw.c | 3 * Tegra host1x Command DMA 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() 253 struct host1x *host1x = cdma_to_host1x(cdma); in timeout_release_mlock() local [all …]
|
D | syncpt_hw.c | 3 * Tegra host1x Syncpoints 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() 117 * @host: host1x instance 122 static void syncpt_enable_protection(struct host1x *host) in syncpt_enable_protection()
|
D | intr_hw.c | 3 * Tegra host1x Interrupt Management 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()
|
D | host1x02.h | 3 * Host1x init for Tegra114 SoCs 11 struct host1x; 13 int host1x02_init(struct host1x *host);
|
/Linux-v6.6/Documentation/gpu/ |
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. 47 Host1x Infrastructure Reference 50 .. kernel-doc:: include/linux/host1x.h 52 .. kernel-doc:: drivers/gpu/host1x/bus.c 55 Host1x Syncpoint Reference [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/gpu/host1x/ |
D | nvidia,tegra210-nvdec.yaml | 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvdec.yaml# 11 and newer chips. It is located on the Host1x bus and typically 12 programmed through Host1x channels. 65 nvidia,host1x-class: 67 Host1x class of the engine, used to specify the targeted engine 68 when programming the engine through Host1x channels or when 69 configuring engine-specific behavior in Host1x.
|
D | nvidia,tegra210-nvenc.yaml | 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvenc.yaml# 11 and newer chips. It is located on the Host1x bus and typically 12 programmed through Host1x channels. 61 nvidia,host1x-class: 63 Host1x class of the engine, used to specify the targeted engine 64 when programming the engine through Host1x channels or when 65 configuring engine-specific behavior in Host1x.
|
/Linux-v6.6/include/trace/events/ |
D | host1x.h | 3 * include/trace/events/host1x.h 5 * host1x event logging to ftrace. 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,
|