@@ -151,6 +151,15 @@ static int dp_panel_update_modes(struct drm_connector *connector,
151151 return rc ;
152152}
153153
154+ void dp_panel_add_fail_safe_mode (struct drm_connector * connector )
155+ {
156+ /* fail safe edid */
157+ mutex_lock (& connector -> dev -> mode_config .mutex );
158+ if (drm_add_modes_noedid (connector , 640 , 480 ))
159+ drm_set_preferred_mode (connector , 640 , 480 );
160+ mutex_unlock (& connector -> dev -> mode_config .mutex );
161+ }
162+
154163int dp_panel_read_sink_caps (struct dp_panel * dp_panel ,
155164 struct drm_connector * connector )
156165{
@@ -207,16 +216,7 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel,
207216 goto end ;
208217 }
209218
210- /* fail safe edid */
211- mutex_lock (& connector -> dev -> mode_config .mutex );
212- if (drm_add_modes_noedid (connector , 640 , 480 ))
213- drm_set_preferred_mode (connector , 640 , 480 );
214- mutex_unlock (& connector -> dev -> mode_config .mutex );
215- } else {
216- /* always add fail-safe mode as backup mode */
217- mutex_lock (& connector -> dev -> mode_config .mutex );
218- drm_add_modes_noedid (connector , 640 , 480 );
219- mutex_unlock (& connector -> dev -> mode_config .mutex );
219+ dp_panel_add_fail_safe_mode (connector );
220220 }
221221
222222 if (panel -> aux_cfg_update_done ) {
0 commit comments