Lines Matching refs:kms
18 #include "dcss-kms.h"
57 static void dcss_kms_mode_config_init(struct dcss_kms_dev *kms)
59 struct drm_mode_config *config = &kms->base.mode_config;
61 drm_mode_config_init(&kms->base);
78 static int dcss_kms_bridge_connector_init(struct dcss_kms_dev *kms)
80 struct drm_device *ddev = &kms->base;
81 struct drm_encoder *encoder = &kms->encoder;
82 struct drm_crtc *crtc = (struct drm_crtc *)&kms->crtc;
99 ret = drm_encoder_init(&kms->base, encoder,
115 kms->connector = drm_bridge_connector_init(ddev, encoder);
116 if (IS_ERR(kms->connector)) {
118 return PTR_ERR(kms->connector);
121 drm_connector_attach_encoder(kms->connector, encoder);
128 struct dcss_kms_dev *kms;
133 kms = devm_drm_dev_alloc(dcss->dev, &dcss_kms_driver,
135 if (IS_ERR(kms))
136 return kms;
138 drm = &kms->base;
139 crtc = &kms->crtc;
143 dcss_kms_mode_config_init(kms);
151 ret = dcss_kms_bridge_connector_init(kms);
163 drm_bridge_connector_enable_hpd(kms->connector);
171 return kms;
174 drm_bridge_connector_disable_hpd(kms->connector);
185 void dcss_kms_detach(struct dcss_kms_dev *kms)
187 struct drm_device *drm = &kms->base;
190 drm_bridge_connector_disable_hpd(kms->connector);
193 drm_crtc_vblank_off(&kms->crtc.base);
196 dcss_crtc_deinit(&kms->crtc, drm);