airlied (airlied) wrote,

initial kms for radeon r500 atombios pushed

AMD today announced the source code to that atom parser from their kgrids project, I've been playing with this code for a few weeks to see if we could use it for kernel modesetting (kms).

So I've just pushed my initial radeon kms code to the "gem-modesetting" branch of the drm git tree.
The corresponding DDX code is in the radeon-gem-ms branch of my personal xf86-video-ati repo.

This contains 2 major things - and doesn't contain lots of other major things:

1. GEM style API to userspace layered on top of TTM internals.
- Only really does pinned allocations - no superioctl support yet, working with Jerome on tying that down.

2. atombios parser from AMD + modesetting code.
- This only support rs690 and r500 devices so far. We don't have r600 code in the drm tree properly yet,
and legacy bios is TODO.

So the major TODOs are:

add support for modesetting on legacy cards (r100/r200/r300/r400) - ported from -ati driver. We need a fixed point
implementation of the bandwidth calculation code.

proper command submission - Jerome is looking into this and I think we have a solid plan. for now I'm just abusing the old
style command submission routines with GEM ioctl.

3D - cmdbuf work on the Mesa drivers needed, RH has some in-progress code.

EXA pixmaps - still using one big EXA offscreen area, probably need to move to EXA pixmaps for DRI2 and also to use the superioctl properly.
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

  • 11 comments