Change the MGA initialization and cleanup a bit. The dev_private structure
authorIan Romanick <idr@us.ibm.com>
Sat, 21 May 2005 02:27:51 +0000 (02:27 +0000)
committerIan Romanick <idr@us.ibm.com>
Sat, 21 May 2005 02:27:51 +0000 (02:27 +0000)
commita686be5bc8c5d8a260513b680f322e3b790aadf7
treebe71a5caab8c261c913edf8f2423528ca99befde
parentfced784140c7b347ea9d3091a8bc0c06c1a760f7
Change the MGA initialization and cleanup a bit. The dev_private structure
    is now allocated (and partially filled in) by the new
    mga_driver_preinit function.
This allows the driver to detect the type of card (i.e., G200 class vs.
    G400 class) on its own. The chipset value passed to mga_dma_init is now
    ignored. This same technique is used by the radeon DRM.
As a result of this, mga_driver_pretakedown was converted to
    mga_driver_postcleanup. This routine gets called in some other places
    than might be expected, and it sets the dev_private pointer to NULL.
    That little gem took over an hour to track down. :(
bsd-core/mga_drv.c
linux-core/mga_drv.c
shared-core/drm_pciids.txt
shared-core/mga_dma.c
shared-core/mga_drv.h