Advertisement
Guest User

radeon-option-no_uvd.patch

a guest
Jul 30th, 2013
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. Apparently UVD doesn't yet work everywhere - so allow it to be
  2. disabled. Shaves off some reboot and suspend/resume time on machines
  3. where it doesn't work. Might be useful for problematic chips in the
  4. future as well.
  5.  
  6. Patch attached as well as inline below.
  7.  
  8. Signed-off-by: Parag Warudkar <parag.lkml@xxxxxxxxx>
  9.  
  10. diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
  11. index 1442ce7..f131d8f 100644
  12. --- a/drivers/gpu/drm/radeon/radeon.h
  13. +++ b/drivers/gpu/drm/radeon/radeon.h
  14. @@ -79,6 +79,7 @@
  15. * Modules parameters.
  16. */
  17. extern int radeon_no_wb;
  18. +extern int radeon_no_uvd;
  19. extern int radeon_modeset;
  20. extern int radeon_dynclks;
  21. extern int radeon_r4xx_atom;
  22. diff --git a/drivers/gpu/drm/radeon/radeon_drv.c
  23. b/drivers/gpu/drm/radeon/radeon_drv.c
  24. index d33f484..7e5b171 100644
  25. --- a/drivers/gpu/drm/radeon/radeon_drv.c
  26. +++ b/drivers/gpu/drm/radeon/radeon_drv.c
  27. @@ -147,6 +147,7 @@ static inline void radeon_unregister_atpx_handler(void) {}
  28. #endif
  29.  
  30. int radeon_no_wb;
  31. +int radeon_no_uvd;
  32. int radeon_modeset = -1;
  33. int radeon_dynclks = -1;
  34. int radeon_r4xx_atom = 0;
  35. @@ -168,6 +169,9 @@ int radeon_fastfb = 0;
  36. MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
  37. module_param_named(no_wb, radeon_no_wb, int, 0444);
  38.  
  39. +MODULE_PARM_DESC(no_uvd, "Disable UVD");
  40. +module_param_named(no_uvd, radeon_no_uvd, int, 0444);
  41. +
  42. MODULE_PARM_DESC(modeset, "Disable/Enable modesetting");
  43. module_param_named(modeset, radeon_modeset, int, 0400);
  44.  
  45. diff --git a/drivers/gpu/drm/radeon/radeon_drv.h
  46. b/drivers/gpu/drm/radeon/radeon_drv.h
  47. index b369d42..4320973 100644
  48. --- a/drivers/gpu/drm/radeon/radeon_drv.h
  49. +++ b/drivers/gpu/drm/radeon/radeon_drv.h
  50. @@ -329,6 +329,7 @@ typedef struct drm_radeon_kcmd_buffer {
  51. } drm_radeon_kcmd_buffer_t;
  52.  
  53. extern int radeon_no_wb;
  54. +extern int radeon_no_uvd;
  55. extern struct drm_ioctl_desc radeon_ioctls[];
  56. extern int radeon_max_ioctl;
  57.  
  58. diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c
  59. b/drivers/gpu/drm/radeon/radeon_uvd.c
  60. index 906e5c0..93a7dbb 100644
  61. --- a/drivers/gpu/drm/radeon/radeon_uvd.c
  62. +++ b/drivers/gpu/drm/radeon/radeon_uvd.c
  63. @@ -58,6 +58,9 @@ int radeon_uvd_init(struct radeon_device *rdev)
  64. const char *fw_name;
  65. int i, r;
  66.  
  67. + if (radeon_no_uvd)
  68. + return -EINVAL;
  69. +
  70. INIT_DELAYED_WORK(&rdev->uvd.idle_work, radeon_uvd_idle_work_handler);
  71.  
  72. pdev = platform_device_register_simple("radeon_uvd", 0, NULL, 0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement