Lines Matching full:vec

9  * The VEC encoder generates PAL or NTSC composite video output.
40 /* VEC Registers */
157 /* General VEC hardware state. */
173 #define VEC_READ(offset) readl(vec->regs + (offset))
174 #define VEC_WRITE(offset, val) writel(val, vec->regs + (offset))
176 /* VC4 VEC encoder KMS struct */
179 struct vc4_vec *vec; member
188 /* VC4 VEC connector KMS struct */
191 struct vc4_vec *vec; member
215 void (*mode_set)(struct vc4_vec *vec);
245 static void vc4_vec_ntsc_mode_set(struct vc4_vec *vec) in vc4_vec_ntsc_mode_set() argument
251 static void vc4_vec_ntsc_j_mode_set(struct vc4_vec *vec) in vc4_vec_ntsc_j_mode_set() argument
264 static void vc4_vec_pal_mode_set(struct vc4_vec *vec) in vc4_vec_pal_mode_set() argument
270 static void vc4_vec_pal_m_mode_set(struct vc4_vec *vec) in vc4_vec_pal_m_mode_set() argument
348 struct vc4_vec *vec) in vc4_vec_connector_init() argument
361 vec_connector->encoder = vec->encoder; in vc4_vec_connector_init()
362 vec_connector->vec = vec; in vc4_vec_connector_init()
371 vec->tv_mode = &vc4_vec_tv_modes[VC4_VEC_TV_MODE_NTSC]; in vc4_vec_connector_init()
373 drm_connector_attach_encoder(connector, vec->encoder); in vc4_vec_connector_init()
381 struct vc4_vec *vec = vc4_vec_encoder->vec; in vc4_vec_encoder_disable() local
391 clk_disable_unprepare(vec->clock); in vc4_vec_encoder_disable()
393 ret = pm_runtime_put(&vec->pdev->dev); in vc4_vec_encoder_disable()
403 struct vc4_vec *vec = vc4_vec_encoder->vec; in vc4_vec_encoder_enable() local
406 ret = pm_runtime_get_sync(&vec->pdev->dev); in vc4_vec_encoder_enable()
419 ret = clk_set_rate(vec->clock, 108000000); in vc4_vec_encoder_enable()
425 ret = clk_prepare_enable(vec->clock); in vc4_vec_encoder_enable()
462 vec->tv_mode->mode_set(vec); in vc4_vec_encoder_enable()
482 struct vc4_vec *vec = vc4_vec_encoder->vec; in vc4_vec_encoder_atomic_mode_set() local
484 vec->tv_mode = &vc4_vec_tv_modes[conn_state->tv.mode]; in vc4_vec_encoder_atomic_mode_set()
511 { .compatible = "brcm,bcm2835-vec", .data = NULL },
527 struct vc4_vec *vec; in vc4_vec_bind() local
536 vec = devm_kzalloc(dev, sizeof(*vec), GFP_KERNEL); in vc4_vec_bind()
537 if (!vec) in vc4_vec_bind()
545 vc4_vec_encoder->vec = vec; in vc4_vec_bind()
546 vec->encoder = &vc4_vec_encoder->base.base; in vc4_vec_bind()
548 vec->pdev = pdev; in vc4_vec_bind()
549 vec->regs = vc4_ioremap_regs(pdev, 0); in vc4_vec_bind()
550 if (IS_ERR(vec->regs)) in vc4_vec_bind()
551 return PTR_ERR(vec->regs); in vc4_vec_bind()
552 vec->regset.base = vec->regs; in vc4_vec_bind()
553 vec->regset.regs = vec_regs; in vc4_vec_bind()
554 vec->regset.nregs = ARRAY_SIZE(vec_regs); in vc4_vec_bind()
556 vec->clock = devm_clk_get(dev, NULL); in vc4_vec_bind()
557 if (IS_ERR(vec->clock)) { in vc4_vec_bind()
558 ret = PTR_ERR(vec->clock); in vc4_vec_bind()
566 drm_simple_encoder_init(drm, vec->encoder, DRM_MODE_ENCODER_TVDAC); in vc4_vec_bind()
567 drm_encoder_helper_add(vec->encoder, &vc4_vec_encoder_helper_funcs); in vc4_vec_bind()
569 vec->connector = vc4_vec_connector_init(drm, vec); in vc4_vec_bind()
570 if (IS_ERR(vec->connector)) { in vc4_vec_bind()
571 ret = PTR_ERR(vec->connector); in vc4_vec_bind()
575 dev_set_drvdata(dev, vec); in vc4_vec_bind()
577 vc4->vec = vec; in vc4_vec_bind()
579 vc4_debugfs_add_regset32(drm, "vec_regs", &vec->regset); in vc4_vec_bind()
584 drm_encoder_cleanup(vec->encoder); in vc4_vec_bind()
595 struct vc4_vec *vec = dev_get_drvdata(dev); in vc4_vec_unbind() local
597 vc4_vec_connector_destroy(vec->connector); in vc4_vec_unbind()
598 drm_encoder_cleanup(vec->encoder); in vc4_vec_unbind()
601 vc4->vec = NULL; in vc4_vec_unbind()