diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_drv.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_drv.c | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 7f50fb864af8..b3749d47be7b 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c | |||
@@ -40,9 +40,13 @@ | |||
40 | 40 | ||
41 | /* | 41 | /* |
42 | * KMS wrapper. | 42 | * KMS wrapper. |
43 | * - 2.0.0 - initial interface | ||
44 | * - 2.1.0 - add square tiling interface | ||
45 | * - 2.2.0 - add r6xx/r7xx const buffer support | ||
46 | * - 2.3.0 - add MSPOS + 3D texture + r500 VAP regs | ||
43 | */ | 47 | */ |
44 | #define KMS_DRIVER_MAJOR 2 | 48 | #define KMS_DRIVER_MAJOR 2 |
45 | #define KMS_DRIVER_MINOR 0 | 49 | #define KMS_DRIVER_MINOR 3 |
46 | #define KMS_DRIVER_PATCHLEVEL 0 | 50 | #define KMS_DRIVER_PATCHLEVEL 0 |
47 | int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); | 51 | int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); |
48 | int radeon_driver_unload_kms(struct drm_device *dev); | 52 | int radeon_driver_unload_kms(struct drm_device *dev); |
@@ -86,6 +90,11 @@ int radeon_benchmarking = 0; | |||
86 | int radeon_testing = 0; | 90 | int radeon_testing = 0; |
87 | int radeon_connector_table = 0; | 91 | int radeon_connector_table = 0; |
88 | int radeon_tv = 1; | 92 | int radeon_tv = 1; |
93 | int radeon_new_pll = -1; | ||
94 | int radeon_dynpm = -1; | ||
95 | int radeon_audio = 1; | ||
96 | int radeon_disp_priority = 0; | ||
97 | int radeon_hw_i2c = 0; | ||
89 | 98 | ||
90 | MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); | 99 | MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers"); |
91 | module_param_named(no_wb, radeon_no_wb, int, 0444); | 100 | module_param_named(no_wb, radeon_no_wb, int, 0444); |
@@ -120,6 +129,21 @@ module_param_named(connector_table, radeon_connector_table, int, 0444); | |||
120 | MODULE_PARM_DESC(tv, "TV enable (0 = disable)"); | 129 | MODULE_PARM_DESC(tv, "TV enable (0 = disable)"); |
121 | module_param_named(tv, radeon_tv, int, 0444); | 130 | module_param_named(tv, radeon_tv, int, 0444); |
122 | 131 | ||
132 | MODULE_PARM_DESC(new_pll, "Select new PLL code"); | ||
133 | module_param_named(new_pll, radeon_new_pll, int, 0444); | ||
134 | |||
135 | MODULE_PARM_DESC(dynpm, "Disable/Enable dynamic power management (1 = enable)"); | ||
136 | module_param_named(dynpm, radeon_dynpm, int, 0444); | ||
137 | |||
138 | MODULE_PARM_DESC(audio, "Audio enable (0 = disable)"); | ||
139 | module_param_named(audio, radeon_audio, int, 0444); | ||
140 | |||
141 | MODULE_PARM_DESC(disp_priority, "Display Priority (0 = auto, 1 = normal, 2 = high)"); | ||
142 | module_param_named(disp_priority, radeon_disp_priority, int, 0444); | ||
143 | |||
144 | MODULE_PARM_DESC(hw_i2c, "hw i2c engine enable (0 = disable)"); | ||
145 | module_param_named(hw_i2c, radeon_hw_i2c, int, 0444); | ||
146 | |||
123 | static int radeon_suspend(struct drm_device *dev, pm_message_t state) | 147 | static int radeon_suspend(struct drm_device *dev, pm_message_t state) |
124 | { | 148 | { |
125 | drm_radeon_private_t *dev_priv = dev->dev_private; | 149 | drm_radeon_private_t *dev_priv = dev->dev_private; |
@@ -188,10 +212,11 @@ static struct drm_driver driver_old = { | |||
188 | .owner = THIS_MODULE, | 212 | .owner = THIS_MODULE, |
189 | .open = drm_open, | 213 | .open = drm_open, |
190 | .release = drm_release, | 214 | .release = drm_release, |
191 | .ioctl = drm_ioctl, | 215 | .unlocked_ioctl = drm_ioctl, |
192 | .mmap = drm_mmap, | 216 | .mmap = drm_mmap, |
193 | .poll = drm_poll, | 217 | .poll = drm_poll, |
194 | .fasync = drm_fasync, | 218 | .fasync = drm_fasync, |
219 | .read = drm_read, | ||
195 | #ifdef CONFIG_COMPAT | 220 | #ifdef CONFIG_COMPAT |
196 | .compat_ioctl = radeon_compat_ioctl, | 221 | .compat_ioctl = radeon_compat_ioctl, |
197 | #endif | 222 | #endif |
@@ -276,10 +301,11 @@ static struct drm_driver kms_driver = { | |||
276 | .owner = THIS_MODULE, | 301 | .owner = THIS_MODULE, |
277 | .open = drm_open, | 302 | .open = drm_open, |
278 | .release = drm_release, | 303 | .release = drm_release, |
279 | .ioctl = drm_ioctl, | 304 | .unlocked_ioctl = drm_ioctl, |
280 | .mmap = radeon_mmap, | 305 | .mmap = radeon_mmap, |
281 | .poll = drm_poll, | 306 | .poll = drm_poll, |
282 | .fasync = drm_fasync, | 307 | .fasync = drm_fasync, |
308 | .read = drm_read, | ||
283 | #ifdef CONFIG_COMPAT | 309 | #ifdef CONFIG_COMPAT |
284 | .compat_ioctl = radeon_kms_compat_ioctl, | 310 | .compat_ioctl = radeon_kms_compat_ioctl, |
285 | #endif | 311 | #endif |
@@ -331,6 +357,7 @@ static int __init radeon_init(void) | |||
331 | driver = &kms_driver; | 357 | driver = &kms_driver; |
332 | driver->driver_features |= DRIVER_MODESET; | 358 | driver->driver_features |= DRIVER_MODESET; |
333 | driver->num_ioctls = radeon_max_kms_ioctl; | 359 | driver->num_ioctls = radeon_max_kms_ioctl; |
360 | radeon_register_atpx_handler(); | ||
334 | } | 361 | } |
335 | /* if the vga console setting is enabled still | 362 | /* if the vga console setting is enabled still |
336 | * let modprobe override it */ | 363 | * let modprobe override it */ |
@@ -340,6 +367,7 @@ static int __init radeon_init(void) | |||
340 | static void __exit radeon_exit(void) | 367 | static void __exit radeon_exit(void) |
341 | { | 368 | { |
342 | drm_exit(driver); | 369 | drm_exit(driver); |
370 | radeon_unregister_atpx_handler(); | ||
343 | } | 371 | } |
344 | 372 | ||
345 | module_init(radeon_init); | 373 | module_init(radeon_init); |