@@ -1125,6 +1125,20 @@ static void mdp5_crtc_reset(struct drm_crtc *crtc)
1125
1125
__drm_atomic_helper_crtc_reset (crtc , & mdp5_cstate -> base );
1126
1126
}
1127
1127
1128
+ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = {
1129
+ .set_config = drm_atomic_helper_set_config ,
1130
+ .destroy = mdp5_crtc_destroy ,
1131
+ .page_flip = drm_atomic_helper_page_flip ,
1132
+ .reset = mdp5_crtc_reset ,
1133
+ .atomic_duplicate_state = mdp5_crtc_duplicate_state ,
1134
+ .atomic_destroy_state = mdp5_crtc_destroy_state ,
1135
+ .atomic_print_state = mdp5_crtc_atomic_print_state ,
1136
+ .get_vblank_counter = mdp5_crtc_get_vblank_counter ,
1137
+ .enable_vblank = msm_crtc_enable_vblank ,
1138
+ .disable_vblank = msm_crtc_disable_vblank ,
1139
+ .get_vblank_timestamp = drm_crtc_vblank_helper_get_vblank_timestamp ,
1140
+ };
1141
+
1128
1142
static const struct drm_crtc_funcs mdp5_crtc_funcs = {
1129
1143
.set_config = drm_atomic_helper_set_config ,
1130
1144
.destroy = mdp5_crtc_destroy ,
@@ -1313,6 +1327,8 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
1313
1327
mdp5_crtc -> lm_cursor_enabled = cursor_plane ? false : true;
1314
1328
1315
1329
drm_crtc_init_with_planes (dev , crtc , plane , cursor_plane ,
1330
+ cursor_plane ?
1331
+ & mdp5_crtc_no_lm_cursor_funcs :
1316
1332
& mdp5_crtc_funcs , NULL );
1317
1333
1318
1334
drm_flip_work_init (& mdp5_crtc -> unref_cursor_work ,
0 commit comments