| Jerome Glisse | 771fe6b | 2009-06-05 14:42:42 +0200 | [diff] [blame] | 1 | config DRM_RADEON_KMS | 
| Dave Airlie | 1ca137c | 2010-02-05 19:02:24 +1000 | [diff] [blame] | 2 | bool "Enable modesetting on radeon by default - NEW DRIVER" | 
| Jerome Glisse | 771fe6b | 2009-06-05 14:42:42 +0200 | [diff] [blame] | 3 | depends on DRM_RADEON | 
| Jerome Glisse | 771fe6b | 2009-06-05 14:42:42 +0200 | [diff] [blame] | 4 | help | 
| Dave Airlie | 1ca137c | 2010-02-05 19:02:24 +1000 | [diff] [blame] | 5 | Choose this option if you want kernel modesetting enabled by default. | 
|  | 6 |  | 
|  | 7 | This is a completely new driver. It's only part of the existing drm | 
|  | 8 | for compatibility reasons. It requires an entirely different graphics | 
|  | 9 | stack above it and works very differently from the old drm stack. | 
|  | 10 | i.e. don't enable this unless you know what you are doing it may | 
|  | 11 | cause issues or bugs compared to the previous userspace driver stack. | 
| Jerome Glisse | 771fe6b | 2009-06-05 14:42:42 +0200 | [diff] [blame] | 12 |  | 
|  | 13 | When kernel modesetting is enabled the IOCTL of radeon/drm | 
|  | 14 | driver are considered as invalid and an error message is printed | 
|  | 15 | in the log and they return failure. | 
|  | 16 |  | 
|  | 17 | KMS enabled userspace will use new API to talk with the radeon/drm | 
|  | 18 | driver. The new API provide functions to create/destroy/share/mmap | 
|  | 19 | buffer object which are then managed by the kernel memory manager | 
|  | 20 | (here TTM). In order to submit command to the GPU the userspace | 
|  | 21 | provide a buffer holding the command stream, along this buffer | 
|  | 22 | userspace have to provide a list of buffer object used by the | 
|  | 23 | command stream. The kernel radeon driver will then place buffer | 
|  | 24 | in GPU accessible memory and will update command stream to reflect | 
|  | 25 | the position of the different buffers. | 
|  | 26 |  | 
|  | 27 | The kernel will also perform security check on command stream | 
|  | 28 | provided by the user, we want to catch and forbid any illegal use | 
|  | 29 | of the GPU such as DMA into random system memory or into memory | 
|  | 30 | not owned by the process supplying the command stream. This part | 
|  | 31 | of the code is still incomplete and this why we propose that patch | 
|  | 32 | as a staging driver addition, future security might forbid current | 
|  | 33 | experimental userspace to run. | 
|  | 34 |  | 
|  | 35 | This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX | 
|  | 36 | (radeon up to X1950). Works is underway to provide support for R6XX, | 
|  | 37 | R7XX and newer hardware (radeon from HD2XXX to HD4XXX). |