From: <th...@tu...> - 2006-07-06 01:37:38
|
Hi, All. I'd like to bring in the hashed map lookup from the drm-ttm-branch to CVS. It changes the drmmap() map lookup from a linked list search to a hash lookup. This means that the user_token that identifies the map in user space becomes an arbitrary hash key in the range 0x10000000 to 0x90000000 with page-size increments. Some 2D and 3D drivers (at least the SiS 3D driver) may still assume that the user_token is equivalent to the physical address of the area to be mapped. Something that will fail in a 64-bit environment, and that will fail catastrophically with the hashed lookup. The current DRM contains a workaround that maps 64-bit addresses to a certain 32-bit region to make those drivers work in 32bit mode, but sooner or later that workaround should go away, and the drivers be properly updated. While this makes little performance impact now, when we add the TTM stuff, the number of maps may be very large so a hashed lookup is needed. If anybody is very eager to keep the workaround, please speak up. For those drivers needing a fix, the DRM major needs to be bumped. /Thomas |