Revert "Unexport (and unimplement) xf86SetAccessFuncs" for now.

The nvidia driver currently uses these hooks to work around problems where RAC
will disable access to the hardware at unexpected times.  This change restores
these hooks until we can come up with a better API for working around RAC.

This reverts commit c1df4fbede.
This commit is contained in:
Aaron Plattner 2008-10-07 13:09:11 -07:00
parent fe85ec34ec
commit b574365fca
3 changed files with 21 additions and 0 deletions

View File

@ -130,6 +130,8 @@ void xf86DeallocateResourcesForEntity(int entityIndex, unsigned long type);
resPtr xf86RegisterResources(int entityIndex, resList list,
unsigned long Access);
Bool xf86CheckPciMemBase(struct pci_device * pPci, memType base);
void xf86SetAccessFuncs(EntityInfoPtr pEnt, xf86SetAccessFuncPtr funcs,
xf86SetAccessFuncPtr oldFuncs);
Bool xf86IsEntityPrimary(int entityIndex);
resPtr xf86ReallocatePciResources(int entityIndex, resPtr pRes);
resPtr xf86SetOperatingState(resList list, int entityIndex, int mask);

View File

@ -819,6 +819,24 @@ xf86SetCurrentAccess(Bool Enable, ScrnInfoPtr pScrn)
}
}
_X_EXPORT void
xf86SetAccessFuncs(EntityInfoPtr pEnt, xf86SetAccessFuncPtr funcs,
xf86SetAccessFuncPtr oldFuncs)
{
AccessFuncPtr rac;
if (!xf86Entities[pEnt->index]->rac)
xf86Entities[pEnt->index]->rac = xnfcalloc(1,sizeof(AccessFuncRec));
rac = xf86Entities[pEnt->index]->rac;
rac->mem_new = funcs->mem;
rac->io_new = funcs->io;
rac->io_mem_new = funcs->io_mem;
rac->old = oldFuncs;
}
/*
* Conflict checking
*/

View File

@ -318,6 +318,7 @@ _X_HIDDEN void *xfree86LookupTab[] = {
SYMFUNC(xf86GetPciInfoForEntity)
SYMFUNC(xf86RegisterResources)
SYMFUNC(xf86CheckPciMemBase)
SYMFUNC(xf86SetAccessFuncs)
SYMFUNC(xf86IsEntityPrimary)
SYMFUNC(xf86SetOperatingState)
SYMFUNC(xf86FindScreenForEntity)