/Linux-v6.1/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, 80 struct host1x *host, unsigned int id, u32 thresh); 81 void (*enable_syncpt_intr)(struct host1x *host, unsigned int id); 82 void (*disable_syncpt_intr)(struct host1x *host, unsigned int id); 83 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 | dev.c | 3 * Tegra host1x driver 22 #include <trace/events/host1x.h> 44 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r) in host1x_common_writel() argument 46 writel(v, host1x->common_regs + r); in host1x_common_writel() 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 56 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl() 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() [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() 125 static void show_all(struct host1x *m, struct output *o, bool show_fifo) in show_all() 191 static void host1x_debugfs_init(struct host1x *host1x) in host1x_debugfs_init() argument 193 struct dentry *de = debugfs_create_dir("tegra-host1x", NULL); in host1x_debugfs_init() 196 host1x->debugfs = de; in host1x_debugfs_init() 198 debugfs_create_file("status", S_IRUGO, de, host1x, &host1x_debug_fops); in host1x_debugfs_init() 199 debugfs_create_file("status_all", S_IRUGO, de, host1x, in host1x_debugfs_init() 205 host1x_hw_debug_init(host1x, de); in host1x_debugfs_init() 215 static void host1x_debugfs_exit(struct host1x *host1x) in host1x_debugfs_exit() argument [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 | intr.h | 3 * Tegra host1x Interrupt Management 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, 84 /* Initialize host1x sync point interrupt */ 85 int host1x_intr_init(struct host1x *host, unsigned int irq_sync); 87 /* Deinitialize host1x sync point interrupt */ 88 void host1x_intr_deinit(struct host1x *host); 90 /* Enable host1x sync point interrupt */ 91 void host1x_intr_start(struct host1x *host); [all …]
|
D | syncpt.c | 3 * Tegra host1x Syncpoints 12 #include <trace/events/host1x.h> 23 host1x_syncpt_base_request(struct host1x *host) in host1x_syncpt_base_request() 47 * @host: host1x device data 57 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host, in host1x_syncpt_alloc() 109 * @sp: host1x syncpoint 123 * @sp: host1x syncpoint 135 void host1x_syncpt_restore(struct host1x *host) in host1x_syncpt_restore() 162 void host1x_syncpt_save(struct host1x *host) in host1x_syncpt_save() 204 * @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> 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); 107 /* Save host1x sync point state into shadow registers. */ [all …]
|
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() 42 ctx->host = host1x; in host1x_memory_context_list_init() 53 dev_set_name(&ctx->dev, "host1x-ctx.%d", i); in host1x_memory_context_list_init() 55 ctx->dev.parent = host1x->dev; in host1x_memory_context_list_init() 61 dev_err(host1x->dev, "could not add context device %d: %d\n", i, err); in host1x_memory_context_list_init() 67 dev_err(host1x->dev, "IOMMU configuration failed for context device %d: %d\n", in host1x_memory_context_list_init() 75 dev_err(host1x->dev, "Context device %d has no IOMMU!\n", i); in host1x_memory_context_list_init() 106 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument [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 | bus.h | 11 struct host1x; 15 int host1x_register(struct host1x *host1x); 16 int host1x_unregister(struct host1x *host1x);
|
D | intr.c | 3 * Tegra host1x Interrupt Management 13 #include <trace/events/host1x.h> 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() 303 void host1x_intr_deinit(struct host1x *host) in host1x_intr_deinit() 307 void host1x_intr_start(struct host1x *host) in host1x_intr_start() [all …]
|
/Linux-v6.1/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.1/include/linux/ |
D | host1x.h | 24 struct host1x; 28 u64 host1x_get_dma_mask(struct host1x *host1x); 31 * struct host1x_bo_cache - host1x buffer object cache 58 * struct host1x_client_ops - host1x client operations 59 * @early_init: host1x client early initialization code 60 * @init: host1x client initialization code 61 * @exit: host1x client tear down code 62 * @late_exit: host1x client late tear down code 63 * @suspend: host1x client suspend code 64 * @resume: host1x client resume code [all …]
|
/Linux-v6.1/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 | intr_hw.c | 3 * Tegra host1x Interrupt Management 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() 93 _host1x_intr_init_host_sync(struct host1x *host, u32 cpm, in _host1x_intr_init_host_sync() 117 static void _host1x_intr_set_syncpt_threshold(struct host1x *host, in _host1x_intr_set_syncpt_threshold() 124 static void _host1x_intr_enable_syncpt_intr(struct host1x *host, in _host1x_intr_enable_syncpt_intr() 131 static void _host1x_intr_disable_syncpt_intr(struct host1x *host, in _host1x_intr_disable_syncpt_intr() 140 static int _host1x_free_syncpt_irq(struct host1x *host) in _host1x_free_syncpt_irq()
|
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() 120 * @host: host1x instance 125 static void syncpt_enable_protection(struct host1x *host) in syncpt_enable_protection()
|
D | host1x07.h | 3 * Host1x init for Tegra194 SoCs 11 struct host1x; 13 int host1x07_init(struct host1x *host);
|
/Linux-v6.1/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.1/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.1/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,
|