[PATCH] radeon: Allow disabling UVD

Michel Dänzer michel at daenzer.net
Tue May 7 00:02:03 PDT 2013


On Mon, 2013-05-06 at 19:11 -0400, Parag Warudkar wrote:
> Apparently UVD doesn't yet work everywhere - so allow it to be
> disabled. Shaves off some reboot and suspend/resume time on machines
> where it doesn't work. Might be useful for problematic chips in the
> future as well.
> 
> Patch attached as well as inline below.
> 
> Signed-off-by: Parag Warudkar <parag.lkml at gmail.com>

[...]

> @@ -168,6 +169,9 @@ int radeon_fastfb = 0;
>  MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
>  module_param_named(no_wb, radeon_no_wb, int, 0444);
> 
> +MODULE_PARM_DESC(no_uvd, "Disable UVD");
> +module_param_named(no_uvd, radeon_no_uvd, int, 0444);

No more negative boolean options please.


> diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c
> b/drivers/gpu/drm/radeon/radeon_uvd.c
> index 906e5c0..93a7dbb 100644
> --- a/drivers/gpu/drm/radeon/radeon_uvd.c
> +++ b/drivers/gpu/drm/radeon/radeon_uvd.c
> @@ -58,7 +58,8 @@ int radeon_uvd_init(struct radeon_device *rdev)
>   unsigned long bo_size;
>   const char *fw_name;
>   int i, r;
> -
> + if (radeon_no_uvd)
> + return -EINVAL;
>   INIT_DELAYED_WORK(&rdev->uvd.idle_work, radeon_uvd_idle_work_handler);

Returning -EINVAL here results in rather misleading dmesg output I
think. This should probably be handled more gracefully.

Anyway, the return statement would need to be indented per the kernel
coding style, and please leave empty lines before the if and after the
return.


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the dri-devel mailing list