@@ -1119,6 +1119,20 @@ static void mdp5_crtc_reset(struct drm_crtc *crtc)
1119
1119
__drm_atomic_helper_crtc_reset (crtc , & mdp5_cstate -> base );
1120
1120
}
1121
1121
1122
+ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = {
1123
+ .set_config = drm_atomic_helper_set_config ,
1124
+ .destroy = mdp5_crtc_destroy ,
1125
+ .page_flip = drm_atomic_helper_page_flip ,
1126
+ .reset = mdp5_crtc_reset ,
1127
+ .atomic_duplicate_state = mdp5_crtc_duplicate_state ,
1128
+ .atomic_destroy_state = mdp5_crtc_destroy_state ,
1129
+ .atomic_print_state = mdp5_crtc_atomic_print_state ,
1130
+ .get_vblank_counter = mdp5_crtc_get_vblank_counter ,
1131
+ .enable_vblank = msm_crtc_enable_vblank ,
1132
+ .disable_vblank = msm_crtc_disable_vblank ,
1133
+ .get_vblank_timestamp = drm_crtc_vblank_helper_get_vblank_timestamp ,
1134
+ };
1135
+
1122
1136
static const struct drm_crtc_funcs mdp5_crtc_funcs = {
1123
1137
.set_config = drm_atomic_helper_set_config ,
1124
1138
.destroy = mdp5_crtc_destroy ,
@@ -1307,6 +1321,8 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
1307
1321
mdp5_crtc -> lm_cursor_enabled = cursor_plane ? false : true;
1308
1322
1309
1323
drm_crtc_init_with_planes (dev , crtc , plane , cursor_plane ,
1324
+ cursor_plane ?
1325
+ & mdp5_crtc_no_lm_cursor_funcs :
1310
1326
& mdp5_crtc_funcs , NULL );
1311
1327
1312
1328
drm_flip_work_init (& mdp5_crtc -> unref_cursor_work ,
0 commit comments