Lines Matching defs:logicvc
38 struct logicvc_drm *logicvc = logicvc_drm(drm_dev);
41 args->pitch = logicvc->config.row_stride * DIV_ROUND_UP(args->bpp, 8);
51 .name = "logicvc-drm",
64 .name = "logicvc-drm",
69 struct logicvc_drm *logicvc = data;
74 regmap_read(logicvc->regmap, LOGICVC_INT_STAT_REG, &stat);
77 regmap_write(logicvc->regmap, LOGICVC_INT_STAT_REG, stat);
80 logicvc_crtc_vblank_handler(logicvc);
87 static int logicvc_drm_config_parse(struct logicvc_drm *logicvc)
89 struct drm_device *drm_dev = &logicvc->drm_dev;
92 struct logicvc_drm_config *config = &logicvc->config;
145 static int logicvc_clocks_prepare(struct logicvc_drm *logicvc)
147 struct drm_device *drm_dev = &logicvc->drm_dev;
156 .clk = &logicvc->vclk,
161 .clk = &logicvc->vclk2,
166 .clk = &logicvc->lvdsclk,
171 .clk = &logicvc->lvdsclkn,
219 static int logicvc_clocks_unprepare(struct logicvc_drm *logicvc)
222 &logicvc->vclk,
223 &logicvc->vclk2,
224 &logicvc->lvdsclk,
225 &logicvc->lvdsclkn,
256 logicvc_drm_caps_match(struct logicvc_drm *logicvc)
258 struct drm_device *drm_dev = &logicvc->drm_dev;
265 regmap_read(logicvc->regmap, LOGICVC_IP_VERSION_REG, &version);
298 struct logicvc_drm *logicvc;
357 logicvc = devm_drm_dev_alloc(dev, &logicvc_drm_driver,
359 if (IS_ERR(logicvc)) {
360 ret = PTR_ERR(logicvc);
364 platform_set_drvdata(pdev, logicvc);
365 drm_dev = &logicvc->drm_dev;
367 logicvc->regmap = regmap;
368 INIT_LIST_HEAD(&logicvc->layers_list);
370 caps = logicvc_drm_caps_match(logicvc);
376 logicvc->caps = caps;
379 logicvc->reserved_mem_base = reserved_mem->base;
381 ret = logicvc_clocks_prepare(logicvc);
388 dev_name(dev), logicvc);
394 ret = logicvc_drm_config_parse(logicvc);
406 ret = logicvc_layers_init(logicvc);
412 ret = logicvc_crtc_init(logicvc);
418 logicvc_layers_attach_crtc(logicvc);
420 ret = logicvc_interface_init(logicvc);
428 logicvc_interface_attach_crtc(logicvc);
430 ret = logicvc_mode_init(logicvc);
457 logicvc_mode_fini(logicvc);
460 logicvc_clocks_unprepare(logicvc);
471 struct logicvc_drm *logicvc = platform_get_drvdata(pdev);
473 struct drm_device *drm_dev = &logicvc->drm_dev;
478 logicvc_mode_fini(logicvc);
480 logicvc_clocks_unprepare(logicvc);
486 { .compatible = "xylon,logicvc-3.02.a-display" },
487 { .compatible = "xylon,logicvc-4.01.a-display" },
496 .name = "logicvc-drm",