--- driverkit/libDriver/ppc/IONDRVFramebuffer.m 2018/04/24 17:37:51 1.1.1.1 +++ driverkit/libDriver/ppc/IONDRVFramebuffer.m 2018/04/24 17:39:53 1.1.1.2 @@ -95,11 +95,10 @@ extern IODisplayInfo bootDisplayInfo; char * name; if( NDRVForDevice( device)) { + // temporary for in-kernel acceleration name = [device nodeName]; if( 0 == strncmp("ATY,", name, strlen("ATY,"))) newClass = [IOATINDRV class]; - else if( 0 == strncmp("IMS,tt3d", name, strlen("IMS,tt3d"))) - newClass = [IOIX3DNDRV class]; } else newClass = [IOOFFramebuffer class]; @@ -1115,7 +1114,8 @@ enum { kTheDisplayMode = 10 }; ////////////////////////////////////////////////////////////////////////////////////////// -// ATI patches. getStartupMode doesn't. +// ATI patches. Acceleration to be removed when user level blitting is in. +// Real problem : getStartupMode doesn't. @implementation IOATINDRV @@ -1138,68 +1138,7 @@ enum { kTheDisplayMode = 10 }; @end -// ix3D patches -@implementation IOIX3DNDRV - -enum { - kPantherOff_Regs = 0x06000000L, - kPantherOff_SSTATUS = 0x000000ECL, -}; - -void regwNoswap( volatile UInt8 * io, UInt32 regindex, UInt32 regdata) { - - *((UInt32 *)(io + regindex)) = (regdata); - __asm__ volatile("eieio"); -} - -void -ix3dInterruptHandler( void * interrupt, void * istate, IOIX3DNDRV * vars ) -{ - regwNoswap(vars->panther, kPantherOff_SSTATUS, 0x30 ); - - IOEnableInterrupt( interrupt); -} - -- (BOOL) getHandler:(IOInterruptHandler *)handler - level:(unsigned int *)ipl - argument:(unsigned int *) arg - forInterrupt:(unsigned int) localInterrupt -{ - *handler = (IOInterruptHandler) ix3dInterruptHandler; - *ipl = 30; - *arg = (unsigned int)self; - - return( YES); -} - -- (IOReturn) - setDisplayMode:(IOFBDisplayModeID)modeID depth:(IOFBIndex)depthIndex page:(IOFBIndex)pageIndex -{ - IOReturn err; - - [self disableInterrupt:0]; - err = [super setDisplayMode:modeID depth:depthIndex page:pageIndex]; - [self enableInterrupt:0]; - return( err); -} - -- (IOReturn) open -{ - IOReturn err; - IOFBConfiguration config; - - err = [super open]; - if( err == noErr) { - [self getConfiguration:&config]; - panther = (volatile UInt8 *)(((UInt32)config.mappedFramebuffer) & 0xffff0000) - + kPantherOff_Regs; - [self enableInterrupt:0]; - } - return( err); -} - -@end