Lines Matching full:engine
27 * This callback allows to prepare our engine for an atomic
34 void (*atomic_begin)(struct sunxi_engine *engine,
51 int (*atomic_check)(struct sunxi_engine *engine,
63 void (*commit)(struct sunxi_engine *engine,
71 * the layers supported by that engine.
81 struct sunxi_engine *engine);
87 * engine. This is useful only for the composite output.
91 void (*apply_color_correction)(struct sunxi_engine *engine);
97 * engine. This is useful only for the composite output.
101 void (*disable_color_correction)(struct sunxi_engine *engine);
106 * This callback is used to implement engine-specific
114 void (*vblank_quirk)(struct sunxi_engine *engine);
124 void (*mode_set)(struct sunxi_engine *engine,
129 * struct sunxi_engine - the common parts of an engine for sun4i-drm driver
130 * @ops: the operations of the engine
131 * @node: the of device node of the engine
132 * @regs: the regmap of the engine
133 * @id: the id of the engine (-1 if not used)
143 /* Engine list management */
148 * sunxi_engine_commit() - commit all changes of the engine
149 * @engine: pointer to the engine
150 * @crtc: pointer to crtc the engine is associated with
154 sunxi_engine_commit(struct sunxi_engine *engine, in sunxi_engine_commit() argument
158 if (engine->ops && engine->ops->commit) in sunxi_engine_commit()
159 engine->ops->commit(engine, crtc, state); in sunxi_engine_commit()
163 * sunxi_engine_layers_init() - Create planes (layers) for the engine
165 * @engine: pointer to the engine
168 sunxi_engine_layers_init(struct drm_device *drm, struct sunxi_engine *engine) in sunxi_engine_layers_init() argument
170 if (engine->ops && engine->ops->layers_init) in sunxi_engine_layers_init()
171 return engine->ops->layers_init(drm, engine); in sunxi_engine_layers_init()
177 * @engine: pointer to the engine
179 * This functionality is optional for an engine, however, if the engine is
181 * without the color correction, due to TV Encoder expects the engine to
185 sunxi_engine_apply_color_correction(struct sunxi_engine *engine) in sunxi_engine_apply_color_correction() argument
187 if (engine->ops && engine->ops->apply_color_correction) in sunxi_engine_apply_color_correction()
188 engine->ops->apply_color_correction(engine); in sunxi_engine_apply_color_correction()
193 * @engine: pointer to the engine
198 sunxi_engine_disable_color_correction(struct sunxi_engine *engine) in sunxi_engine_disable_color_correction() argument
200 if (engine->ops && engine->ops->disable_color_correction) in sunxi_engine_disable_color_correction()
201 engine->ops->disable_color_correction(engine); in sunxi_engine_disable_color_correction()
205 * sunxi_engine_mode_set - Inform engine of a new mode
206 * @engine: pointer to the engine
209 * Engine can use this functionality to set specifics once per mode change.
212 sunxi_engine_mode_set(struct sunxi_engine *engine, in sunxi_engine_mode_set() argument
215 if (engine->ops && engine->ops->mode_set) in sunxi_engine_mode_set()
216 engine->ops->mode_set(engine, mode); in sunxi_engine_mode_set()