@@ -117,6 +117,36 @@ static const struct file_operations msm_gpu_fops = {
117117 .release = msm_gpu_release ,
118118};
119119
120+ #ifdef CONFIG_DRM_MSM_KMS
121+ static int msm_fb_show (struct seq_file * m , void * arg )
122+ {
123+ struct drm_info_node * node = m -> private ;
124+ struct drm_device * dev = node -> minor -> dev ;
125+ struct drm_framebuffer * fb , * fbdev_fb = NULL ;
126+
127+ if (dev -> fb_helper && dev -> fb_helper -> fb ) {
128+ seq_puts (m , "fbcon " );
129+ fbdev_fb = dev -> fb_helper -> fb ;
130+ msm_framebuffer_describe (fbdev_fb , m );
131+ }
132+
133+ mutex_lock (& dev -> mode_config .fb_lock );
134+ list_for_each_entry (fb , & dev -> mode_config .fb_list , head ) {
135+ if (fb == fbdev_fb )
136+ continue ;
137+
138+ seq_puts (m , "user " );
139+ msm_framebuffer_describe (fb , m );
140+ }
141+ mutex_unlock (& dev -> mode_config .fb_lock );
142+
143+ return 0 ;
144+ }
145+
146+ static struct drm_info_list msm_kms_debugfs_list [] = {
147+ { "fb" , msm_fb_show },
148+ };
149+
120150/*
121151 * Display Snapshot:
122152 */
@@ -180,6 +210,27 @@ static const struct file_operations msm_kms_fops = {
180210 .release = msm_kms_release ,
181211};
182212
213+ static void msm_debugfs_kms_init (struct drm_minor * minor )
214+ {
215+ struct drm_device * dev = minor -> dev ;
216+ struct msm_drm_private * priv = dev -> dev_private ;
217+
218+ drm_debugfs_create_files (msm_kms_debugfs_list ,
219+ ARRAY_SIZE (msm_kms_debugfs_list ),
220+ minor -> debugfs_root , minor );
221+ debugfs_create_file ("kms" , 0400 , minor -> debugfs_root ,
222+ dev , & msm_kms_fops );
223+
224+ if (priv -> kms -> funcs -> debugfs_init )
225+ priv -> kms -> funcs -> debugfs_init (priv -> kms , minor );
226+
227+ }
228+ #else /* ! CONFIG_DRM_MSM_KMS */
229+ static void msm_debugfs_kms_init (struct drm_minor * minor )
230+ {
231+ }
232+ #endif
233+
183234/*
184235 * Other debugfs:
185236 */
@@ -267,40 +318,11 @@ static int msm_mm_show(struct seq_file *m, void *arg)
267318 return 0 ;
268319}
269320
270- static int msm_fb_show (struct seq_file * m , void * arg )
271- {
272- struct drm_info_node * node = m -> private ;
273- struct drm_device * dev = node -> minor -> dev ;
274- struct drm_framebuffer * fb , * fbdev_fb = NULL ;
275-
276- if (dev -> fb_helper && dev -> fb_helper -> fb ) {
277- seq_printf (m , "fbcon " );
278- fbdev_fb = dev -> fb_helper -> fb ;
279- msm_framebuffer_describe (fbdev_fb , m );
280- }
281-
282- mutex_lock (& dev -> mode_config .fb_lock );
283- list_for_each_entry (fb , & dev -> mode_config .fb_list , head ) {
284- if (fb == fbdev_fb )
285- continue ;
286-
287- seq_printf (m , "user " );
288- msm_framebuffer_describe (fb , m );
289- }
290- mutex_unlock (& dev -> mode_config .fb_lock );
291-
292- return 0 ;
293- }
294-
295321static struct drm_info_list msm_debugfs_list [] = {
296322 {"gem" , msm_gem_show },
297323 { "mm" , msm_mm_show },
298324};
299325
300- static struct drm_info_list msm_kms_debugfs_list [] = {
301- { "fb" , msm_fb_show },
302- };
303-
304326static int late_init_minor (struct drm_minor * minor )
305327{
306328 int ret ;
@@ -375,20 +397,12 @@ void msm_debugfs_init(struct drm_minor *minor)
375397 if (priv -> gpu_pdev )
376398 msm_debugfs_gpu_init (minor );
377399
378- if (priv -> kms ) {
379- drm_debugfs_create_files (msm_kms_debugfs_list ,
380- ARRAY_SIZE (msm_kms_debugfs_list ),
381- minor -> debugfs_root , minor );
382- debugfs_create_file ("kms" , S_IRUSR , minor -> debugfs_root ,
383- dev , & msm_kms_fops );
384- }
400+ if (priv -> kms )
401+ msm_debugfs_kms_init (minor );
385402
386403 debugfs_create_file ("shrink" , S_IRWXU , minor -> debugfs_root ,
387404 dev , & shrink_fops );
388405
389- if (priv -> kms && priv -> kms -> funcs -> debugfs_init )
390- priv -> kms -> funcs -> debugfs_init (priv -> kms , minor );
391-
392406 fault_create_debugfs_attr ("fail_gem_alloc" , minor -> debugfs_root ,
393407 & fail_gem_alloc );
394408 fault_create_debugfs_attr ("fail_gem_iova" , minor -> debugfs_root ,
0 commit comments