Lines Matching +full:host1x +full:- +full:class
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright (c) 2009-2013, NVIDIA Corporation. All rights reserved.
10 #include <linux/dma-direction.h>
11 #include <linux/dma-fence.h>
30 struct host1x;
34 u64 host1x_get_dma_mask(struct host1x *host1x);
37 * struct host1x_bo_cache - host1x buffer object cache
53 INIT_LIST_HEAD(&cache->mappings); in host1x_bo_cache_init()
54 mutex_init(&cache->lock); in host1x_bo_cache_init()
60 mutex_destroy(&cache->lock); in host1x_bo_cache_destroy()
64 * struct host1x_client_ops - host1x client operations
65 * @early_init: host1x client early initialization code
66 * @init: host1x client initialization code
67 * @exit: host1x client tear down code
68 * @late_exit: host1x client late tear down code
69 * @suspend: host1x client suspend code
70 * @resume: host1x client resume code
82 * struct host1x_client - host1x client structure
83 * @list: list node for the host1x client
84 * @host: pointer to struct device representing the host1x controller
85 * @dev: pointer to struct device backing this host1x client
87 * @ops: host1x client operations
88 * @class: host1x class represented by this client
89 * @channel: host1x channel associated with this client
95 * @cache: host1x buffer object cache
105 enum host1x_class class; member
119 * host1x buffer objects
165 INIT_LIST_HEAD(&bo->mappings); in host1x_bo_init()
166 spin_lock_init(&bo->lock); in host1x_bo_init()
167 bo->ops = ops; in host1x_bo_init()
172 return bo->ops->get(bo); in host1x_bo_get()
177 bo->ops->put(bo); in host1x_bo_put()
187 return bo->ops->mmap(bo); in host1x_bo_mmap()
192 bo->ops->munmap(bo, addr); in host1x_bo_munmap()
196 * host1x syncpoints
204 struct host1x;
206 struct host1x_syncpt *host1x_syncpt_get_by_id(struct host1x *host, u32 id);
207 struct host1x_syncpt *host1x_syncpt_get_by_id_noref(struct host1x *host, u32 id);
220 struct host1x_syncpt *host1x_syncpt_alloc(struct host1x *host,
235 * host1x channel
248 * host1x job
319 int (*is_addr_reg)(struct device *dev, u32 class, u32 reg);
321 /* Check if class belongs to the unit */
322 int (*is_valid_class)(u32 class);
324 /* Request a SETCLASS to this class */
325 u32 class; member
330 /* Fast-forward syncpoint increments on job timeout */
337 /* Whether host1x-side firewall should be ran for this job or not */
368 * struct host1x_driver - host1x logical device driver
372 * @probe: called when the host1x logical device is probed
373 * @remove: called when the host1x logical device is removed
374 * @shutdown: called when the host1x logical device is shut down
439 * register a host1x client must first initialize using either of the
441 * the low-level __host1x_client_register() function to avoid the client
466 /* host1x memory contexts */
469 struct host1x *host;
481 struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x,
487 static inline struct host1x_memory_context *host1x_memory_context_alloc(struct host1x *host1x, in host1x_memory_context_alloc() argument