Home
last modified time | relevance | path

Searched refs:host1x (Results 1 – 25 of 96) sorted by relevance

1234

/linux/drivers/gpu/host1x/
H A Ddev.h33 int (*init)(struct host1x_channel *channel, struct host1x *host,
56 void (*show_channel_cdma)(struct host1x *host,
59 void (*show_channel_fifo)(struct host1x *host,
62 void (*show_mlocks)(struct host1x *host, struct output *output);
74 void (*enable_protection)(struct host1x *host);
78 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 …]
H A Dbus.c287 static int host1x_add_client(struct host1x *host1x, in host1x_add_client() argument
293 mutex_lock(&host1x->devices_lock); in host1x_add_client()
295 list_for_each_entry(device, &host1x->devices, list) { in host1x_add_client()
299 mutex_unlock(&host1x->devices_lock); in host1x_add_client()
305 mutex_unlock(&host1x->devices_lock); in host1x_add_client()
309 static int host1x_del_client(struct host1x *host1x, in host1x_del_client() argument
315 mutex_lock(&host1x->devices_lock); in host1x_del_client()
317 list_for_each_entry_safe(device, dt, &host1x->devices, list) { in host1x_del_client()
321 mutex_unlock(&host1x->devices_lock); in host1x_del_client()
327 mutex_unlock(&host1x->devices_lock); in host1x_del_client()
[all …]
H A Dintr.h11 struct host1x;
15 struct host1x *host;
20 int host1x_intr_init(struct host1x *host);
23 void host1x_intr_deinit(struct host1x *host);
26 void host1x_intr_start(struct host1x *host);
29 void host1x_intr_stop(struct host1x *host);
31 void host1x_intr_handle_interrupt(struct host1x *host, unsigned int id);
33 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence);
35 bool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence);
H A Ddev.c45 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()
67 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument
69 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl()
[all …]
H A Dsyncpt.h20 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);
H A Dcontext.c21 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()
58 ctx->dev.parent = host1x->dev; in host1x_memory_context_list_init()
66 dev_err(host1x->dev, "could not add context device %d: %d\n", i, err); in host1x_memory_context_list_init()
73 dev_err(host1x->dev, "IOMMU configuration failed for context device %d: %d\n", in host1x_memory_context_list_init()
81 dev_err(host1x->dev, "Context device %d has no IOMMU!\n", i); in host1x_memory_context_list_init()
119 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument
123 struct host1x_memory_context_list *cdl = &host1x->context_list; in host1x_memory_context_alloc()
H A Dbus.h11 struct host1x;
15 int host1x_register(struct host1x *host1x);
16 int host1x_unregister(struct host1x *host1x);
H A Dcontext.h14 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
H A Dintr.c31 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()
134 void host1x_intr_deinit(struct host1x *host) in host1x_intr_deinit()
138 void host1x_intr_start(struct host1x *host) in host1x_intr_start()
152 void host1x_intr_stop(struct host1x *host) in host1x_intr_stop()
H A DKconfig7 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
H A Dchannel.c42 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in host1x_job_submit()
64 struct host1x_channel *host1x_channel_get_index(struct host1x *host, in host1x_channel_get_index()
77 struct host1x *host = dev_get_drvdata(channel->dev->parent); in host1x_channel_stop()
89 void host1x_channel_stop_all(struct host1x *host) in host1x_channel_stop_all()
106 struct host1x *host = dev_get_drvdata(channel->dev->parent); in release_channel()
121 static struct host1x_channel *acquire_unused_channel(struct host1x *host) in acquire_unused_channel()
154 struct host1x *host = dev_get_drvdata(client->dev->parent); in host1x_channel_request()
H A Dchannel.h17 struct host1x;
41 struct host1x_channel *host1x_channel_get_index(struct host1x *host,
43 void host1x_channel_stop_all(struct host1x *host);
H A DMakefile2 host1x-y = \
21 host1x-$(CONFIG_IOMMU_API) += \
24 obj-$(CONFIG_TEGRA_HOST1X) += host1x.o
/linux/drivers/gpu/host1x/hw/
H A Dsyncpt_hw.c19 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()
H A Dintr_hw.c14 static void process_32_syncpts(struct host1x *host, unsigned long val, u32 reg_offset) in process_32_syncpts()
31 struct host1x *host = irq_data->host; in syncpt_thresh_isr()
76 static void host1x_intr_disable_all_syncpt_intrs(struct host1x *host) in host1x_intr_disable_all_syncpt_intrs()
89 host1x_intr_init_host_sync(struct host1x *host, u32 cpm) in host1x_intr_init_host_sync()
124 static void host1x_intr_set_syncpt_threshold(struct host1x *host, in host1x_intr_set_syncpt_threshold()
131 static void host1x_intr_enable_syncpt_intr(struct host1x *host, in host1x_intr_enable_syncpt_intr()
138 static void host1x_intr_disable_syncpt_intr(struct host1x *host, in host1x_intr_disable_syncpt_intr()
H A Dhost1x08.h11 struct host1x;
13 int host1x08_init(struct host1x *host);
H A Dhost1x01.h10 struct host1x;
12 int host1x01_init(struct host1x *host);
H A Dhost1x07.h11 struct host1x;
13 int host1x07_init(struct host1x *host);
H A Dhost1x02.h11 struct host1x;
13 int host1x02_init(struct host1x *host);
H A Dhost1x06.h11 struct host1x;
13 int host1x06_init(struct host1x *host);
H A Dhost1x05.h11 struct host1x;
13 int host1x05_init(struct host1x *host);
H A Dhost1x04.h11 struct host1x;
13 int host1x04_init(struct host1x *host);
/linux/Documentation/gpu/
H A Dtegra.rst6 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/include/trace/events/
H A Dhost1x.h11 #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,
/linux/drivers/gpu/drm/tegra/
H A Duapi.c78 struct host1x *host = tegra_drm_to_host1x(drm->dev_private); in tegra_drm_ioctl_channel_open()
303 struct host1x *host1x = tegra_drm_to_host1x(drm->dev_private); in tegra_drm_ioctl_syncpoint_allocate() local
312 sp = host1x_syncpt_alloc(host1x, HOST1X_SYNCPT_CLIENT_MANAGED, current->comm); in tegra_drm_ioctl_syncpoint_allocate()
347 struct host1x *host1x = tegra_drm_to_host1x(drm->dev_private); in tegra_drm_ioctl_syncpoint_wait() local
355 sp = host1x_syncpt_get_by_id_noref(host1x, args->id); in tegra_drm_ioctl_syncpoint_wait()

1234