Lines Matching defs:ldev
34 struct loongson_drm_device *ldev = lcrtc->ldev;
37 ldev->int_reg |= (BIT(INT_DVO0_FB_END) << 16);
39 ldev->int_reg |= (BIT(INT_DVO1_FB_END) << 16);
43 writel(ldev->int_reg, ldev->mmio + FB_INT_REG);
52 struct loongson_drm_device *ldev = lcrtc->ldev;
56 ldev->int_reg &= (~BIT(INT_DVO0_FB_END) << 16);
58 ldev->int_reg &= (~BIT(INT_DVO1_FB_END) << 16);
62 writel(ldev->int_reg, ldev->mmio + FB_INT_REG);
241 struct loongson_drm_device *ldev = (struct loongson_drm_device*)dev->dev_private;
243 if (mode->hdisplay > get_crtc_max_width(ldev, id))
245 if (mode->vdisplay > get_crtc_max_height(ldev, id))
247 if (ldev->num_crtc == 1) {
260 struct loongson_drm_device *ldev = lcrtc->ldev;
261 return readl(ldev->mmio + offset + (lcrtc->crtc_id * CRTC_REG_OFFSET));
266 struct loongson_drm_device *ldev = lcrtc->ldev;
267 writel(val, ldev->mmio + offset + (lcrtc->crtc_id * CRTC_REG_OFFSET));
390 struct loongson_drm_device *ldev;
398 ldev = lcrtc->ldev;
400 clonemode = clone_mode(ldev);
404 ldev->lcrtc[1].cfg_reg |= CFG_PANELSWITCH;
406 ldev->lcrtc[1].cfg_reg &= ~CFG_PANELSWITCH;
419 crtc_write(&ldev->lcrtc[0], FB_CFG_DVO_REG, ldev->lcrtc[0].cfg_reg | CFG_ENABLE);
421 crtc_write(&ldev->lcrtc[1], FB_CFG_DVO_REG, ldev->lcrtc[1].cfg_reg | CFG_ENABLE);
469 * @ldev: point to the loongson_drm_device structure
473 int loongson_crtc_init(struct loongson_drm_device *ldev)
478 for(i=0;i<ldev->num_crtc;i++){
479 ldev->lcrtc[i].ldev = ldev;
480 ldev->lcrtc[i].crtc_id = i;
482 ldev->lcrtc[i].cfg_reg = CFG_RESET;
483 ldev->lcrtc[i].primary = devm_kzalloc(ldev->dev->dev, sizeof(*ldev->lcrtc[i].primary), GFP_KERNEL);
484 if (!ldev->lcrtc[i].primary)
487 ret = drm_universal_plane_init(ldev->dev, ldev->lcrtc[i].primary, BIT(i), &loongson_plane_funcs,
493 drm_plane_helper_add(ldev->lcrtc[i].primary, &loongson_plane_helper_funcs);
496 ret = drm_crtc_init_with_planes(ldev->dev, &ldev->lcrtc[i].base,ldev->lcrtc[i].primary,
499 ret = drm_crtc_init_with_planes(ldev->dev, &ldev->lcrtc[i].base,ldev->lcrtc[i].primary,
502 loongson_plane_destroy(ldev->lcrtc[i].primary);
505 drm_crtc_helper_add(&ldev->lcrtc[i].base, &loongson_crtc_helper_funcs);