Lines Matching refs:kms

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