Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/msm: don't create GPU-related debugfs files with no GPU present

If there is no GPU present, skip creation of the GPU-related debugfs
files, making the MSM's debugfs more usable.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/561742/
Signed-off-by: Rob Clark <robdclark@chromium.org>

authored by

Dmitry Baryshkov and committed by
Rob Clark
f6afe4f0 12578c07

+28 -16
+25 -16
drivers/gpu/drm/msm/msm_debugfs.c
··· 304 304 return ret; 305 305 } 306 306 307 - void msm_debugfs_init(struct drm_minor *minor) 307 + static void msm_debugfs_gpu_init(struct drm_minor *minor) 308 308 { 309 309 struct drm_device *dev = minor->dev; 310 310 struct msm_drm_private *priv = dev->dev_private; 311 311 struct dentry *gpu_devfreq; 312 312 313 - drm_debugfs_create_files(msm_debugfs_list, 314 - ARRAY_SIZE(msm_debugfs_list), 315 - minor->debugfs_root, minor); 316 - 317 313 debugfs_create_file("gpu", S_IRUSR, minor->debugfs_root, 318 314 dev, &msm_gpu_fops); 319 - 320 - if (priv->kms) { 321 - drm_debugfs_create_files(msm_kms_debugfs_list, 322 - ARRAY_SIZE(msm_kms_debugfs_list), 323 - minor->debugfs_root, minor); 324 - debugfs_create_file("kms", S_IRUSR, minor->debugfs_root, 325 - dev, &msm_kms_fops); 326 - } 327 315 328 316 debugfs_create_u32("hangcheck_period_ms", 0600, minor->debugfs_root, 329 317 &priv->hangcheck_period); 330 318 331 319 debugfs_create_bool("disable_err_irq", 0600, minor->debugfs_root, 332 320 &priv->disable_err_irq); 333 - 334 - debugfs_create_file("shrink", S_IRWXU, minor->debugfs_root, 335 - dev, &shrink_fops); 336 321 337 322 gpu_devfreq = debugfs_create_dir("devfreq", minor->debugfs_root); 338 323 ··· 329 344 330 345 debugfs_create_u32("downdifferential",0600, gpu_devfreq, 331 346 &priv->gpu_devfreq_config.downdifferential); 347 + } 348 + 349 + void msm_debugfs_init(struct drm_minor *minor) 350 + { 351 + struct drm_device *dev = minor->dev; 352 + struct msm_drm_private *priv = dev->dev_private; 353 + 354 + drm_debugfs_create_files(msm_debugfs_list, 355 + ARRAY_SIZE(msm_debugfs_list), 356 + minor->debugfs_root, minor); 357 + 358 + if (priv->gpu_pdev) 359 + msm_debugfs_gpu_init(minor); 360 + 361 + if (priv->kms) { 362 + drm_debugfs_create_files(msm_kms_debugfs_list, 363 + ARRAY_SIZE(msm_kms_debugfs_list), 364 + minor->debugfs_root, minor); 365 + debugfs_create_file("kms", S_IRUSR, minor->debugfs_root, 366 + dev, &msm_kms_fops); 367 + } 368 + 369 + debugfs_create_file("shrink", S_IRWXU, minor->debugfs_root, 370 + dev, &shrink_fops); 332 371 333 372 if (priv->kms && priv->kms->funcs->debugfs_init) 334 373 priv->kms->funcs->debugfs_init(priv->kms, minor);
+3
drivers/gpu/drm/msm/msm_rd.c
··· 270 270 struct msm_rd_state *rd; 271 271 int ret; 272 272 273 + if (!priv->gpu_pdev) 274 + return 0; 275 + 273 276 /* only create on first minor: */ 274 277 if (priv->rd) 275 278 return 0;