Home
last modified time | relevance | path

Searched full:engine (Results 1 – 25 of 2050) sorted by relevance

12345678910>>...82

/Linux-v5.15/crypto/
Dcrypto_engine.c3 * Handle async block request by crypto hardware engine.
13 #include <crypto/engine.h>
21 * @engine: the hardware engine
25 static void crypto_finalize_request(struct crypto_engine *engine, in crypto_finalize_request() argument
38 if (!engine->retry_support) { in crypto_finalize_request()
39 spin_lock_irqsave(&engine->queue_lock, flags); in crypto_finalize_request()
40 if (engine->cur_req == req) { in crypto_finalize_request()
42 engine->cur_req = NULL; in crypto_finalize_request()
44 spin_unlock_irqrestore(&engine->queue_lock, flags); in crypto_finalize_request()
47 if (finalize_req || engine->retry_support) { in crypto_finalize_request()
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/engine/disp/
DKbuild2 nvkm-y += nvkm/engine/disp/base.o
3 nvkm-y += nvkm/engine/disp/nv04.o
4 nvkm-y += nvkm/engine/disp/nv50.o
5 nvkm-y += nvkm/engine/disp/g84.o
6 nvkm-y += nvkm/engine/disp/g94.o
7 nvkm-y += nvkm/engine/disp/gt200.o
8 nvkm-y += nvkm/engine/disp/mcp77.o
9 nvkm-y += nvkm/engine/disp/gt215.o
10 nvkm-y += nvkm/engine/disp/mcp89.o
11 nvkm-y += nvkm/engine/disp/gf119.o
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/engine/gr/
DKbuild2 nvkm-y += nvkm/engine/gr/base.o
3 nvkm-y += nvkm/engine/gr/nv04.o
4 nvkm-y += nvkm/engine/gr/nv10.o
5 nvkm-y += nvkm/engine/gr/nv15.o
6 nvkm-y += nvkm/engine/gr/nv17.o
7 nvkm-y += nvkm/engine/gr/nv20.o
8 nvkm-y += nvkm/engine/gr/nv25.o
9 nvkm-y += nvkm/engine/gr/nv2a.o
10 nvkm-y += nvkm/engine/gr/nv30.o
11 nvkm-y += nvkm/engine/gr/nv34.o
[all …]
/Linux-v5.15/drivers/gpu/drm/i915/gt/
Dintel_ring_submission.c26 static void set_hwstam(struct intel_engine_cs *engine, u32 mask) in set_hwstam() argument
32 if (engine->class == RENDER_CLASS) { in set_hwstam()
33 if (GRAPHICS_VER(engine->i915) >= 6) in set_hwstam()
39 intel_engine_set_hwsp_writemask(engine, mask); in set_hwstam()
42 static void set_hws_pga(struct intel_engine_cs *engine, phys_addr_t phys) in set_hws_pga() argument
47 if (GRAPHICS_VER(engine->i915) >= 4) in set_hws_pga()
50 intel_uncore_write(engine->uncore, HWS_PGA, addr); in set_hws_pga()
53 static struct page *status_page(struct intel_engine_cs *engine) in status_page() argument
55 struct drm_i915_gem_object *obj = engine->status_page.vma->obj; in status_page()
61 static void ring_setup_phys_status_page(struct intel_engine_cs *engine) in ring_setup_phys_status_page() argument
[all …]
Dmock_engine.c38 static struct intel_ring *mock_ring(struct intel_engine_cs *engine) in mock_ring() argument
76 static struct i915_request *first_request(struct mock_engine *engine) in first_request() argument
78 return list_first_entry_or_null(&engine->hw_queue, in first_request()
89 intel_engine_signal_breadcrumbs(request->engine); in advance()
94 struct mock_engine *engine = from_timer(engine, t, hw_delay); in hw_delay_complete() local
98 spin_lock_irqsave(&engine->hw_lock, flags); in hw_delay_complete()
101 request = first_request(engine); in hw_delay_complete()
109 while ((request = first_request(engine))) { in hw_delay_complete()
111 mod_timer(&engine->hw_delay, in hw_delay_complete()
119 spin_unlock_irqrestore(&engine->hw_lock, flags); in hw_delay_complete()
[all …]
Dintel_engine_heartbeat.c17 * While the engine is active, we send a periodic pulse along the engine
19 * is stuck, and we fail to preempt it, we declare the engine hung and
23 static bool next_heartbeat(struct intel_engine_cs *engine) in next_heartbeat() argument
27 delay = READ_ONCE(engine->props.heartbeat_interval_ms); in next_heartbeat()
34 mod_delayed_work(system_highpri_wq, &engine->heartbeat.work, delay + 1); in next_heartbeat()
51 static void idle_pulse(struct intel_engine_cs *engine, struct i915_request *rq) in idle_pulse() argument
53 engine->wakeref_serial = READ_ONCE(engine->serial) + 1; in idle_pulse()
55 if (!engine->heartbeat.systole && intel_engine_has_heartbeat(engine)) in idle_pulse()
56 engine->heartbeat.systole = i915_request_get(rq); in idle_pulse()
62 idle_pulse(rq->engine, rq); in heartbeat_commit()
[all …]
Dintel_engine_cs.c159 * intel_engine_context_size() - return the size of the context for an engine
161 * @class: engine class
163 * Each engine class may require a different amount of space for a context
166 * Return: size (in bytes) of an engine class specific context image
255 static void __sprint_engine_name(struct intel_engine_cs *engine) in __sprint_engine_name() argument
258 * Before we know what the uABI name for this engine will be, in __sprint_engine_name()
259 * we still would like to keep track of this engine in the debug logs. in __sprint_engine_name()
262 GEM_WARN_ON(snprintf(engine->name, sizeof(engine->name), "%s'%u", in __sprint_engine_name()
263 intel_engine_class_repr(engine->class), in __sprint_engine_name()
264 engine->instance) >= sizeof(engine->name)); in __sprint_engine_name()
[all …]
Dselftest_engine_heartbeat.c14 static void reset_heartbeat(struct intel_engine_cs *engine) in reset_heartbeat() argument
16 intel_engine_set_heartbeat(engine, in reset_heartbeat()
17 engine->defaults.heartbeat_interval_ms); in reset_heartbeat()
37 static int engine_sync_barrier(struct intel_engine_cs *engine) in engine_sync_barrier() argument
39 return timeline_sync(engine->kernel_context->timeline); in engine_sync_barrier()
90 static int __live_idle_pulse(struct intel_engine_cs *engine, in __live_idle_pulse() argument
96 GEM_BUG_ON(!intel_engine_pm_is_awake(engine)); in __live_idle_pulse()
106 err = i915_active_acquire_preallocate_barrier(&p->active, engine); in __live_idle_pulse()
116 GEM_BUG_ON(llist_empty(&engine->barrier_tasks)); in __live_idle_pulse()
118 err = fn(engine); in __live_idle_pulse()
[all …]
Dintel_engine_user.c39 void intel_engine_add_user(struct intel_engine_cs *engine) in intel_engine_add_user() argument
41 llist_add((struct llist_node *)&engine->uabi_node, in intel_engine_add_user()
42 (struct llist_head *)&engine->i915->uabi_engines); in intel_engine_add_user()
84 struct intel_engine_cs *engine = in sort_engines() local
85 container_of((struct rb_node *)pos, typeof(*engine), in sort_engines()
87 list_add((struct list_head *)&engine->uabi_node, engines); in sort_engines()
95 u8 engine; in set_scheduler_caps() member
104 struct intel_engine_cs *engine; in set_scheduler_caps() local
109 for_each_uabi_engine(engine, i915) { /* all engines must agree! */ in set_scheduler_caps()
112 if (engine->sched_engine->schedule) in set_scheduler_caps()
[all …]
Dintel_execlists_submission.c24 * shouldn't we just need a set of those per engine command streamer? This is
26 * rings, the engine cs shifts to a new "ring buffer" with every context
41 * Now that ringbuffers belong per-context (and not per-engine, like before)
42 * and that contexts are uniquely tied to a given engine (and not reusable,
45 * - One ringbuffer per-engine inside each context.
46 * - One backing object per-engine inside each context.
50 * more complex, because we don't know at creation time which engine is going
55 * gets populated for a given engine once we receive an execbuffer. If later
57 * engine, we allocate/populate a new ringbuffer and context backing object and
74 * for the appropriate engine: this structure contains a copy of the context's
[all …]
Dintel_engine.h46 * ENGINE_READ(engine, REG_FOO);
51 * ENGINE_READ_IDX(engine, REG_BAR, i)
132 intel_read_status_page(const struct intel_engine_cs *engine, int reg) in intel_read_status_page() argument
135 return READ_ONCE(engine->status_page.addr[reg]); in intel_read_status_page()
139 intel_write_status_page(struct intel_engine_cs *engine, int reg, u32 value) in intel_write_status_page() argument
148 clflush(&engine->status_page.addr[reg]); in intel_write_status_page()
149 engine->status_page.addr[reg] = value; in intel_write_status_page()
150 clflush(&engine->status_page.addr[reg]); in intel_write_status_page()
153 WRITE_ONCE(engine->status_page.addr[reg], value); in intel_write_status_page()
184 void intel_engine_stop(struct intel_engine_cs *engine);
[all …]
Dselftest_hangcheck.c117 hang_create_request(struct hang *h, struct intel_engine_cs *engine) in hang_create_request() argument
170 rq = igt_request_alloc(h->ctx, engine); in hang_create_request()
239 intel_gt_chipset_flush(engine->gt); in hang_create_request()
241 if (rq->engine->emit_init_breadcrumb) { in hang_create_request()
242 err = rq->engine->emit_init_breadcrumb(rq); in hang_create_request()
251 err = rq->engine->emit_bb_start(rq, vma->node.start, PAGE_SIZE, flags); in hang_create_request()
301 struct intel_engine_cs *engine; in igt_hang_sanitycheck() local
312 for_each_engine(engine, gt, id) { in igt_hang_sanitycheck()
316 if (!intel_engine_can_store_dword(engine)) in igt_hang_sanitycheck()
319 rq = hang_create_request(&h, engine); in igt_hang_sanitycheck()
[all …]
Dintel_engine_pm.c26 int type = i915_coherent_map_type(ce->engine->i915, obj, true); in dbg_poison_ce()
44 struct intel_engine_cs *engine = in __engine_unpark() local
45 container_of(wf, typeof(*engine), wakeref); in __engine_unpark()
48 ENGINE_TRACE(engine, "\n"); in __engine_unpark()
50 intel_gt_pm_get(engine->gt); in __engine_unpark()
53 ce = engine->kernel_context; in __engine_unpark()
59 intel_engine_flush_submission(engine); in __engine_unpark()
75 if (engine->unpark) in __engine_unpark()
76 engine->unpark(engine); in __engine_unpark()
78 intel_breadcrumbs_unpark(engine->breadcrumbs); in __engine_unpark()
[all …]
Dintel_engine_pm.h14 intel_engine_pm_is_awake(const struct intel_engine_cs *engine) in intel_engine_pm_is_awake() argument
16 return intel_wakeref_is_active(&engine->wakeref); in intel_engine_pm_is_awake()
19 static inline void intel_engine_pm_get(struct intel_engine_cs *engine) in intel_engine_pm_get() argument
21 intel_wakeref_get(&engine->wakeref); in intel_engine_pm_get()
24 static inline bool intel_engine_pm_get_if_awake(struct intel_engine_cs *engine) in intel_engine_pm_get_if_awake() argument
26 return intel_wakeref_get_if_active(&engine->wakeref); in intel_engine_pm_get_if_awake()
29 static inline void intel_engine_pm_put(struct intel_engine_cs *engine) in intel_engine_pm_put() argument
31 intel_wakeref_put(&engine->wakeref); in intel_engine_pm_put()
34 static inline void intel_engine_pm_put_async(struct intel_engine_cs *engine) in intel_engine_pm_put_async() argument
36 intel_wakeref_put_async(&engine->wakeref); in intel_engine_pm_put_async()
[all …]
Dselftest_context.c75 static int __live_context_size(struct intel_engine_cs *engine) in __live_context_size() argument
82 ce = intel_context_create(engine); in __live_context_size()
91 i915_coherent_map_type(engine->i915, in __live_context_size()
111 vaddr += engine->context_size - I915_GTT_PAGE_SIZE; in __live_context_size()
126 rq = intel_engine_create_kernel_request(engine); in __live_context_size()
136 pr_err("%s context overwrote trailing red-zone!", engine->name); in __live_context_size()
150 struct intel_engine_cs *engine; in live_context_size() local
159 for_each_engine(engine, gt, id) { in live_context_size()
162 if (!engine->context_size) in live_context_size()
165 intel_engine_pm_get(engine); in live_context_size()
[all …]
Dselftest_engine_pm.c74 struct intel_engine_cs *engine = ce->engine; in __measure_timestamps() local
75 u32 *sema = memset32(engine->status_page.addr + 1000, 0, 5); in __measure_timestamps()
76 u32 offset = i915_ggtt_offset(engine->status_page.vma); in __measure_timestamps()
94 cs = emit_srm(cs, RING_TIMESTAMP(engine->mmio_base), offset + 4000); in __measure_timestamps()
95 cs = emit_srm(cs, RING_CTX_TIMESTAMP(engine->mmio_base), offset + 4004); in __measure_timestamps()
100 cs = emit_srm(cs, RING_TIMESTAMP(engine->mmio_base), offset + 4016); in __measure_timestamps()
101 cs = emit_srm(cs, RING_CTX_TIMESTAMP(engine->mmio_base), offset + 4012); in __measure_timestamps()
106 intel_engine_flush_submission(engine); in __measure_timestamps()
130 engine->name, sema[1], sema[3], sema[0], sema[4]); in __measure_timestamps()
137 static int __live_engine_timestamps(struct intel_engine_cs *engine) in __live_engine_timestamps() argument
[all …]
Dintel_reset.c307 struct intel_engine_cs *engine; in gen6_reset_engines() local
316 for_each_engine_masked(engine, gt, engine_mask, tmp) { in gen6_reset_engines()
317 GEM_BUG_ON(engine->id >= ARRAY_SIZE(hw_engine_mask)); in gen6_reset_engines()
318 hw_mask |= hw_engine_mask[engine->id]; in gen6_reset_engines()
325 static struct intel_engine_cs *find_sfc_paired_vecs_engine(struct intel_engine_cs *engine) in find_sfc_paired_vecs_engine() argument
329 GEM_BUG_ON(engine->class != VIDEO_DECODE_CLASS); in find_sfc_paired_vecs_engine()
331 vecs_id = _VECS((engine->instance) / 2); in find_sfc_paired_vecs_engine()
333 return engine->gt->engine[vecs_id]; in find_sfc_paired_vecs_engine()
346 static void get_sfc_forced_lock_data(struct intel_engine_cs *engine, in get_sfc_forced_lock_data() argument
349 switch (engine->class) { in get_sfc_forced_lock_data()
[all …]
Dselftest_workarounds.c33 } engine[I915_NUM_ENGINES]; member
63 struct intel_engine_cs *engine; in reference_lists_init() local
72 for_each_engine(engine, gt, id) { in reference_lists_init()
73 struct i915_wa_list *wal = &lists->engine[id].wa_list; in reference_lists_init()
75 wa_init_start(wal, "REF", engine->name); in reference_lists_init()
76 engine_init_workarounds(engine, wal); in reference_lists_init()
79 __intel_engine_init_ctx_wa(engine, in reference_lists_init()
80 &lists->engine[id].ctx_wa_list, in reference_lists_init()
88 struct intel_engine_cs *engine; in reference_lists_fini() local
91 for_each_engine(engine, gt, id) in reference_lists_fini()
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/core/
Dengine.c24 #include <core/engine.h>
31 nvkm_engine_chsw_load(struct nvkm_engine *engine) in nvkm_engine_chsw_load() argument
33 if (engine->func->chsw_load) in nvkm_engine_chsw_load()
34 return engine->func->chsw_load(engine); in nvkm_engine_chsw_load()
41 struct nvkm_engine *engine = *pengine; in nvkm_engine_unref() local
42 if (engine) { in nvkm_engine_unref()
43 if (refcount_dec_and_mutex_lock(&engine->use.refcount, &engine->use.mutex)) { in nvkm_engine_unref()
44 nvkm_subdev_fini(&engine->subdev, false); in nvkm_engine_unref()
45 engine->use.enabled = false; in nvkm_engine_unref()
46 mutex_unlock(&engine->use.mutex); in nvkm_engine_unref()
[all …]
/Linux-v5.15/drivers/gpu/drm/sun4i/
Dsunxi_engine.h25 * This callback allows to prepare our engine for an atomic
32 void (*atomic_begin)(struct sunxi_engine *engine,
49 int (*atomic_check)(struct sunxi_engine *engine,
61 void (*commit)(struct sunxi_engine *engine);
67 * the layers supported by that engine.
77 struct sunxi_engine *engine);
83 * engine. This is useful only for the composite output.
87 void (*apply_color_correction)(struct sunxi_engine *engine);
93 * engine. This is useful only for the composite output.
97 void (*disable_color_correction)(struct sunxi_engine *engine);
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
DKbuild2 nvkm-y += nvkm/engine/fifo/base.o
3 nvkm-y += nvkm/engine/fifo/nv04.o
4 nvkm-y += nvkm/engine/fifo/nv10.o
5 nvkm-y += nvkm/engine/fifo/nv17.o
6 nvkm-y += nvkm/engine/fifo/nv40.o
7 nvkm-y += nvkm/engine/fifo/nv50.o
8 nvkm-y += nvkm/engine/fifo/g84.o
9 nvkm-y += nvkm/engine/fifo/gf100.o
10 nvkm-y += nvkm/engine/fifo/gk104.o
11 nvkm-y += nvkm/engine/fifo/gk110.o
[all …]
/Linux-v5.15/drivers/video/fbdev/via/
Daccel.c13 static int viafb_set_bpp(void __iomem *engine, u8 bpp) in viafb_set_bpp() argument
19 gemode = readl(engine + VIA_REG_GEMODE) & 0xfffffcfc; in viafb_set_bpp()
34 writel(gemode, engine + VIA_REG_GEMODE); in viafb_set_bpp()
39 static int hw_bitblt_1(void __iomem *engine, u8 op, u32 width, u32 height, in hw_bitblt_1() argument
79 ret = viafb_set_bpp(engine, dst_bpp); in hw_bitblt_1()
91 writel(tmp, engine + 0x08); in hw_bitblt_1()
100 writel(tmp, engine + 0x0C); in hw_bitblt_1()
108 writel(tmp, engine + 0x10); in hw_bitblt_1()
111 writel(fg_color, engine + 0x18); in hw_bitblt_1()
114 writel(bg_color, engine + 0x1C); in hw_bitblt_1()
[all …]
/Linux-v5.15/drivers/crypto/marvell/cesa/
Dcesa.c3 * Support for Marvell's Cryptographic Engine and Security Accelerator (CESA)
5 * driver supports the TDMA engine on platforms on which it is available.
38 mv_cesa_dequeue_req_locked(struct mv_cesa_engine *engine, in mv_cesa_dequeue_req_locked() argument
43 *backlog = crypto_get_backlog(&engine->queue); in mv_cesa_dequeue_req_locked()
44 req = crypto_dequeue_request(&engine->queue); in mv_cesa_dequeue_req_locked()
52 static void mv_cesa_rearm_engine(struct mv_cesa_engine *engine) in mv_cesa_rearm_engine() argument
58 spin_lock_bh(&engine->lock); in mv_cesa_rearm_engine()
59 if (!engine->req) { in mv_cesa_rearm_engine()
60 req = mv_cesa_dequeue_req_locked(engine, &backlog); in mv_cesa_rearm_engine()
61 engine->req = req; in mv_cesa_rearm_engine()
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/engine/
DKbuild2 nvkm-y += nvkm/engine/falcon.o
3 nvkm-y += nvkm/engine/xtensa.o
5 include $(src)/nvkm/engine/bsp/Kbuild
6 include $(src)/nvkm/engine/ce/Kbuild
7 include $(src)/nvkm/engine/cipher/Kbuild
8 include $(src)/nvkm/engine/device/Kbuild
9 include $(src)/nvkm/engine/disp/Kbuild
10 include $(src)/nvkm/engine/dma/Kbuild
11 include $(src)/nvkm/engine/fifo/Kbuild
12 include $(src)/nvkm/engine/gr/Kbuild
[all …]
/Linux-v5.15/include/crypto/
Dengine.h3 * Crypto engine API
22 * struct crypto_engine - crypto hardware engine
23 * @name: the engine name
24 * @idling: the engine is entering idle state
26 * @running: the engine is on working
29 * crypto-engine, in head position to keep order
30 * @list: link with the global crypto engine list
32 * @queue: the crypto queue of the engine
44 * @priv_data: the engine private data
62 int (*prepare_crypt_hardware)(struct crypto_engine *engine);
[all …]

12345678910>>...82