|
@@ -1074,9 +1074,17 @@ nouveau_connector_helper_funcs = {
|
|
.best_encoder = nouveau_connector_best_encoder,
|
|
.best_encoder = nouveau_connector_best_encoder,
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static int
|
|
|
|
+nouveau_connector_dpms(struct drm_connector *connector, int mode)
|
|
|
|
+{
|
|
|
|
+ if (connector->dev->mode_config.funcs->atomic_commit)
|
|
|
|
+ return drm_atomic_helper_connector_dpms(connector, mode);
|
|
|
|
+ return drm_helper_connector_dpms(connector, mode);
|
|
|
|
+}
|
|
|
|
+
|
|
static const struct drm_connector_funcs
|
|
static const struct drm_connector_funcs
|
|
nouveau_connector_funcs = {
|
|
nouveau_connector_funcs = {
|
|
- .dpms = drm_helper_connector_dpms,
|
|
|
|
|
|
+ .dpms = nouveau_connector_dpms,
|
|
.reset = nouveau_conn_reset,
|
|
.reset = nouveau_conn_reset,
|
|
.detect = nouveau_connector_detect,
|
|
.detect = nouveau_connector_detect,
|
|
.force = nouveau_connector_force,
|
|
.force = nouveau_connector_force,
|
|
@@ -1091,7 +1099,7 @@ nouveau_connector_funcs = {
|
|
|
|
|
|
static const struct drm_connector_funcs
|
|
static const struct drm_connector_funcs
|
|
nouveau_connector_funcs_lvds = {
|
|
nouveau_connector_funcs_lvds = {
|
|
- .dpms = drm_helper_connector_dpms,
|
|
|
|
|
|
+ .dpms = nouveau_connector_dpms,
|
|
.reset = nouveau_conn_reset,
|
|
.reset = nouveau_conn_reset,
|
|
.detect = nouveau_connector_detect_lvds,
|
|
.detect = nouveau_connector_detect_lvds,
|
|
.force = nouveau_connector_force,
|
|
.force = nouveau_connector_force,
|
|
@@ -1335,7 +1343,10 @@ nouveau_connector_create(struct drm_device *dev, int index)
|
|
return ERR_PTR(ret);
|
|
return ERR_PTR(ret);
|
|
}
|
|
}
|
|
|
|
|
|
- funcs = &nouveau_connector_funcs_dp;
|
|
|
|
|
|
+ if (dev->mode_config.funcs->atomic_commit)
|
|
|
|
+ funcs = &nouveau_connector_funcs;
|
|
|
|
+ else
|
|
|
|
+ funcs = &nouveau_connector_funcs_dp;
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
funcs = &nouveau_connector_funcs;
|
|
funcs = &nouveau_connector_funcs;
|