Forum


Spickzettel

Neben den Buttons stehen unter anderem folgende BB-Codes zur Verfügung:

Bildgröße beschränken:
[img width=400 height=300]Bildadresse[/img]
Weglassen von height o. width behält Bildverhältnis bei.

Tabelle:
[table]
[tr][td]Zelle 1/1[/td][td]Zelle 1/2[/td][/tr]
[tr][td]Zelle 2/1[/td][td]Zelle 2/2[/td][/tr]
[/table]
[tr] = Zeile [td] = Zelle

Text:
[u]unterstreichen[/u]
[s]durchstreichen[/s]
[size=4]skalieren[/size]
[sup]hochsetzen[/sup]
[sub]runtersetzen[/sub]
Umbrechen[Br]Neue Zeile
[center]zentriert[/center]
[left]linksbündig[/left]
[right]rechtsbündig[/right]
[rtl]von rechts einschieben[/rtl]
[pre]Vorformattierung erhalten[/pre]
[move]Bewegen/Laufschrift[/move]
[shadow=red,right]Schattieren[/shadow]
[font=arial]Anderer Zeichensatz[/font]
[glow=yellow,2]„glühen“/markieren[/glow]

Horizontale Linie: [hr]

Abkürzung mit Erklärung bei Mouseover:
[acronym=Mysteriöse Inselzone]MIZ[/acronym]
am besten auch unterstreichen:
[acronym=Mysteriöse Inselzone][u]MIZ[/u][/acronym]

Link innerhalb des Beitrages oder derselben Seite:
Ziel setzen: [anchor=Ziel]Ziel[/anchor]
Link darauf: [iurl=#Ziel]Link zum Ziel[/iurl]

Link im selben Fenster öffnen:
[iurl]http://www.apfelinsel.de[/iurl]

Name:
Betreff:

Verifizierung:
Buchstaben anhören

Gib die Buchstaben aus dem Bild ein:


Zusammenfassung

Autor: FOX
Juli 16, 2008, 14:12:03
Der Ton wäre nicht so schlimm. Nur hängt der Rechner alle paar Minuten und ruckelt, da er sekündlich Logfiles produziert.
Ein normales Arbeiten ist unmöglich, weil auch die Maus Aussetzer hat und wild umherspringt.
Autor: Florian
Juli 16, 2008, 13:22:36
Hm, ist es so schlimm, wenn der Ton nicht geht? Das Geld würde ich mir sparen.

Autor: FOX
Juli 16, 2008, 10:56:15
Puhhh, stolzer Preis.

Danke für die Info
Autor: Patrick
Juli 16, 2008, 00:03:14
Das Board ist das hier:

http://www.mac-resource.com/store.php?item=6614307.PART

Der Tarif dürfte in Deutschland ähnlich sein.
Autor: FOX
Juli 15, 2008, 22:49:23
Es scheint, die Platine hat einen Schaden.
Die gleiche Platte in einem anderen Rechner funktioniert. Ein anderes System am Quad verursacht die gleichen Probleme.

Damit ist der Fall für mich klar - die Platine muss getauscht werden. Was wird so etwas bei abgelaufener Garantie wohl kosten?
Autor: FOX
Juli 15, 2008, 16:52:50
Hatte ich unter "Vodoo" schon abgehakt. Der ausführliche Test lief ohne Beschwerden durch. Es gab keine Fehler.
Autor: Patrick
Juli 15, 2008, 16:25:28
Laß doch mal den AHT laufen, der sollte auch Probleme der Audio-Hardware erkennen...
Autor: FOX
Juli 15, 2008, 16:21:46
Ich hab schon ein Comboupdate drübergezogen. Hat leider nichts gebracht. Mit einem Testuser tritt das Problem auch auf.
Rechte repariert und den restlichen Vodoo hab ich auch durch. Jetzt werde ich mal von einer FW-Platte starten...
Autor: Dale
Juli 15, 2008, 16:07:07
Vom Wort Plugin ausgehend Software. Bei opensource apple.com findest du das AppleTopazPluginCS8416.cpp:

/*
 *  AppleTopazPluginCS8416.cpp
 *  AppleOnboardAudio
 *
 *  Created by AudioSW Team on Tue Oct 07 2003.
 *  Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
 *
 */

#include "AppleTopazPluginCS8416.h"

#define super AppleTopazPlugin

OSDefineMetaClassAndStructors ( AppleTopazPluginCS8416, AppleTopazPlugin )

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool   AppleTopazPluginCS8416::init ( OSDictionary *properties ) {
   debugIOLog (3, "± AppleTopazPluginCS8416::init ( %p )", properties );
   return super::init (properties);
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool   AppleTopazPluginCS8416::start ( IOService * provider ) {
   debugIOLog (3, "± AppleTopazPluginCS8416::start ( %p )", provider );
   return false;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void   AppleTopazPluginCS8416::free ( void ) {
   debugIOLog (3, "± AppleTopazPluginCS8416::free ()" );
   super::free ();
   return;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool   AppleTopazPluginCS8416::preDMAEngineInit ( void ) {
   bool         result = false;
   IOReturn      err;
   
   debugIOLog ( 6, "+ AppleToapzPluginCS8416::preDMAEngineInit ()" );
   err = CODEC_WriteRegister ( mapControl_0, kControl_0_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapControl_1, kControl_1_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapControl_2, kControl_2_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapControl_3, kControl_3_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapControl_4, kControl_4_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapSerialAudioDataFormat, kSerialAudioDataFormat_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapReceiverErrorMask, kReceiverErrorMask_DISABLE );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapInterruptMask, kInterruptMask_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapInterruptModeMSB, kInterruptModeMSB_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapInterruptModeLSB, kInterruptModeLSB_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   err = CODEC_WriteRegister ( mapControl_4, kControl_4_RUN );
   FailIf ( kIOReturnSuccess != err, Exit );
   
   result = true;
Exit:
   debugIOLog ( 6, "- AppleToapzPluginCS8416::preDMAEngineInit () returns %d", result );
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::initCodecRegisterCache ( void ) {
   IOReturn      result = kIOReturnSuccess;
   IOReturn      err;
   
   for ( UInt32 regAddr = mapControl_0; regAddr <= map_ID_VERSION; regAddr++ ) {
      if ( kIOReturnSuccess == CODEC_IsStatusRegister ( regAddr ) ) {
         err = CODEC_ReadRegister ( regAddr, NULL, 1 );
         if ( kIOReturnSuccess != err && kIOReturnSuccess == result ) {
            result = err;
         }
      }
   }
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::setMute ( bool muteState ) {
   IOReturn      result = kIOReturnError;
   
   mShadowRegs[mapControl_1] &= ~( 1 << baMUTSAO );
   mShadowRegs[mapControl_1] |= muteState ? ( bvSDOUTmuted << baMUTSAO ) : ( bvSDOUTnotMuted << baMUTSAO ) ;
   result = CODEC_WriteRegister ( mapControl_1, mShadowRegs[mapControl_1] );
   FailIf ( kIOReturnSuccess != result, Exit );
Exit:
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::performDeviceSleep ( void ) {
   IOReturn      result = kIOReturnError;
   
   debugIOLog (3, "+ AppleTopazPluginCS8416::performDeviceSleep()");

   mShadowRegs[mapControl_4] &= ~( 1 << baRun );
   mShadowRegs[mapControl_4] |= ( bvStopped << baRun );
   result = CODEC_WriteRegister ( mapControl_4, mShadowRegs[mapControl_4] );
   FailIf ( kIOReturnSuccess != result, Exit );
Exit:
   debugIOLog (3, "- AppleTopazPluginCS8416::performDeviceSleep()");

   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::performDeviceWake ( void ) {
   IOReturn      result = kIOReturnError;
   
   debugIOLog (3,  "+ AppleTopazPluginCS8416::performDeviceWake()" );

   mShadowRegs[mapControl_4] &= ~( 1 << baRun );
   mShadowRegs[mapControl_4] |= ( bvRunning << baRun );
   result = CODEC_WriteRegister ( mapControl_4, mShadowRegs[mapControl_2] );
   FailIf ( kIOReturnSuccess != result, Exit );
Exit:
   debugIOLog (3, "- AppleTopazPluginCS8416::performDeviceWake()" );

   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::breakClockSelect ( UInt32 clockSource ) {
   IOReturn      result = kIOReturnError;
   UInt8         regData;

   //   Disable error interrupts
   result = CODEC_WriteRegister ( mapReceiverErrorMask, kReceiverErrorMask_DISABLE );
   FailIf ( kIOReturnSuccess != result, Exit );
   
   //   Mute
   result = setMute ( TRUE );
   FailIf ( kIOReturnSuccess != result, Exit );
   
   //   Stop the codec while switching clocks
   FailIf ( kIOReturnSuccess != CODEC_ReadRegister ( mapControl_4, &regData, 1 ), Exit );
   regData &= ~( 1 << baRun );
   regData |= ( bvStopped << baRun );
   result = CODEC_WriteRegister ( mapControl_4, regData );
   FailIf ( kIOReturnSuccess != result, Exit );
   
   switch ( clockSource ) {
      case kTRANSPORT_MASTER_CLOCK: {
            debugIOLog ( 2, "breakClockSelect ( kTRANSPORT_MASTER_CLOCK )" );
            //   Set serial format to slave mode
            FailIf ( kIOReturnSuccess != CODEC_ReadRegister ( mapSerialAudioDataFormat, &regData, 1 ), Exit );
            regData &= ~( 1 << baSOMS );
            regData |= ( bvSerialOutputSlaveMode << baSOMS );
            result = CODEC_WriteRegister ( mapSerialAudioDataFormat, regData );
            FailIf ( kIOReturnSuccess != result, Exit );
         }
         break;
      case kTRANSPORT_SLAVE_CLOCK: {
            debugIOLog ( 2, "breakClockSelect ( kTRANSPORT_SLAVE_CLOCK )" );
            //   Set serial format to master mode
            FailIf ( kIOReturnSuccess != CODEC_ReadRegister ( mapSerialAudioDataFormat, &regData, 1 ), Exit );
            regData &= ~( 1 << baSOMS );
            regData |= ( bvSerialOutputMasterMode << baSOMS );
            result = CODEC_WriteRegister ( mapSerialAudioDataFormat, regData );
            FailIf ( kIOReturnSuccess != result, Exit );
         }
         break;
   }
Exit:
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::makeClockSelectPreLock ( UInt32 clockSource ) {
   IOReturn      result = kIOReturnError;
   UInt8         regData;
   
   //   Clear any pending error interrupt and re-enable error interrupts after completing clock source selection
   FailIf ( kIOReturnSuccess != CODEC_ReadRegister ( mapReceiverError, &regData, 1 ), Exit );
   
   //   Enable error (i.e. RERR) interrupts if CS8416 is master
   if ( kTRANSPORT_SLAVE_CLOCK == clockSource ) {
      result = CODEC_WriteRegister ( mapReceiverErrorMask, kReceiverErrorMask_ENABLE );
      FailIf ( kIOReturnSuccess != result, Exit );
   }
   
   //   Restart the CODEC
   FailIf ( kIOReturnSuccess != CODEC_ReadRegister ( mapControl_4, &regData, 1 ), Exit );
   regData = regData & ~( 1 << baRun );
   regData = regData | ( bvRunning << baRun );
   result = CODEC_WriteRegister ( mapControl_4, regData );
   FailIf ( kIOReturnSuccess != result, Exit );
   
   if ( kTRANSPORT_SLAVE_CLOCK == clockSource ) {
      //   It is necessary to restart the I2S cell here after the clocks have been
      //   established using the CS8420 as the clock source.  Ask AOA to restart
      //   the I2S cell.
      FailIf ( NULL == mAudioDeviceProvider, Exit );
      mAudioDeviceProvider->interruptEventHandler ( kRestartTransport, (UInt32)0 );
   }
Exit:
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::makeClockSelectPostLock ( UInt32 clockSource ) {
   IOReturn      result = kIOReturnError;
   
   //   Restore the CODEC mute state according to 'mMuteState'
   setMute ( mMuteState );
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   Used only to restore the code previous run state where the 'mode' was
//   previously acquired from invoking the 'setStopMode' method.
void AppleTopazPluginCS8416::setRunMode ( UInt8 mode ) {
   IOReturn      result = kIOReturnError;
   
   debugIOLog (3, "+ AppleTopazPluginCS8416::setRunMode( %X )", mode);

   result = CODEC_WriteRegister ( mapControl_4, mode );
   FailIf ( kIOReturnSuccess != result, Exit );
Exit:
   debugIOLog (3, "- AppleTopazPluginCS8416::setRunMode( %X )", mode);
   return;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   Returns the previous run mode as the result.  This is used for stopping
//   the codec and then the result is used to restore the codec to the
//   previous run state.
UInt8 AppleTopazPluginCS8416::setStopMode ( void ) {
   IOReturn      err = kIOReturnError;
   UInt8         result = 0;
   
   debugIOLog (3, "+ AppleTopazPluginCS8416::setStopMode()");
   result = mShadowRegs[mapControl_4];
   mShadowRegs[mapControl_4] &= ~( 1 << baRun );
   mShadowRegs[mapControl_4] |= ( bvStopped << baRun );
   err = CODEC_WriteRegister ( mapControl_4, mShadowRegs[mapControl_4] );
   FailIf ( kIOReturnSuccess != result, Exit );
Exit:
   debugIOLog (3, "- AppleTopazPluginCS8416::setStopMode() returns %X", result);
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   This method acquires the codec error status and updates the register
//   cache.  It is normally invoked from the 'notifyHardwareEvent' method
//   in the AppleTopazAudio object in response to a codec error interrupt
//   notification from the AppleOnboardAudio object.
IOReturn   AppleTopazPluginCS8416::getCodecErrorStatus ( UInt32 * dataPtr ) {
   IOReturn      err = kIOReturnBadArgument;
   UInt8         regData;
   
   FailIf ( NULL == dataPtr, Exit );
   *dataPtr = 0;
   err = CODEC_ReadRegister ( mapReceiverError, &regData, 1 );
   FailIf ( kIOReturnSuccess != err, Exit );
   *dataPtr = (UInt32)regData;
Exit:
   return err;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   NOTE:   This method operates on the register cache which must be
//         initialized to the hardware state previously through the
//         'getCodecErrorState' method.
bool   AppleTopazPluginCS8416::phaseLocked ( void ) {
   return ( mShadowRegs[mapReceiverError] & ( 1 << baUNLOCK )) ? FALSE : TRUE ;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   NOTE:   This method operates on the register cache which must be
//         initialized to the hardware state previously through the
//         'getCodecErrorState' method.
bool   AppleTopazPluginCS8416::confidenceError ( void ) {
   return ( mShadowRegs[mapReceiverError] & ( 1 << baCONF )) ? TRUE : FALSE ;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   NOTE:   This method operates on the register cache which must be
//         initialized to the hardware state previously through the
//         'getCodecErrorState' method.
bool   AppleTopazPluginCS8416::biphaseError ( void ) {
   return ( mShadowRegs[mapReceiverError] & ( 1 << baBIP )) ? TRUE : FALSE ;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void   AppleTopazPluginCS8416::disableReceiverError ( void ) {
   (void)CODEC_WriteRegister ( mapReceiverErrorMask, kReceiverErrorMask_DISABLE );
   return;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::flushControlRegisters ( void ) {
   IOReturn      result = kIOReturnSuccess;
   
   for ( UInt32 regAddr = mapControl_0; regAddr <= mapBurstPreamblePD_1; regAddr++ ) {
      if ( kIOReturnSuccess == CODEC_IsControlRegister ( regAddr ) ) {
         result = CODEC_WriteRegister ( regAddr, mShadowRegs[regAddr] );
         FailIf ( kIOReturnSuccess != result, Exit );
      }
   }
Exit:
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   NOTE:   The CS8416 is configured  so that the 'FSWCLK' bit is set to
//         have RMCK output driven from the OMCK signal according to the
//         SWCLK state where SWCLK is set to enable automatic switching.
//         This configuration forces the S/PDIF input on the CS8416 to
//         always run on the external clock when an external clock is
//         available.  Under these circumstances, the AppleOnboardAudio
//         instance should make the clock switch selector a 'READ ONLY'
//         control.
//         
//         This method serves only to manage the receiver error interrupt enable.
//         
void   AppleTopazPluginCS8416::useExternalCLK ( void ) {
   IOReturn      err;
   
   err = CODEC_WriteRegister ( mapSerialAudioDataFormat, kSerialAudioDataFormat_INIT );
   FailIf ( kIOReturnSuccess != err, Exit );
Exit:
   return;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   NOTE:   The CS8416 is configured  so that the 'FSWCLK' bit is set to
//         have RMCK output driven from the OMCK signal according to the
//         SWCLK state where SWCLK is set to enable automatic switching.
//         This configuration forces the S/PDIF input on the CS8416 to
//         always run on the external clock when an external clock is
//         available.  Under these circumstances, the AppleOnboardAudio
//         instance should make the clock switch selector a 'READ ONLY'
//         control.
//         
//         This method serves only to manage the receiver error interrupt enable.
//         
void   AppleTopazPluginCS8416::useInternalCLK ( void ) {
   IOReturn      err;
   
   err = CODEC_WriteRegister ( mapSerialAudioDataFormat, kSerialAudioDataFormat_INIT | ( bvSerialOutputMasterMode << baSOMS ) );
   FailIf ( kIOReturnSuccess != err, Exit );
Exit:
   return;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//   Poll the status registers to keep the register cache somewhat coherent
//   for the user client to access status data properly.
void AppleTopazPluginCS8416::poll ( void ) {
   for ( UInt8 registerAddress = mapReceiverChannelStatus; registerAddress <= mapBurstPreamblePD_1; registerAddress++ ) {
      CODEC_ReadRegister ( registerAddress, &mShadowRegs[registerAddress], 1 );
   }
   CODEC_ReadRegister ( map_ID_VERSION, &mShadowRegs[map_ID_VERSION], 1 );
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::CODEC_GetRegSize ( UInt8 regAddr, UInt32 * codecRegSizePtr ) {
   IOReturn      result = kIOReturnError;
   
   if ( NULL != codecRegSizePtr ) {
      if ( kIOReturnSuccess == CODEC_IsStatusRegister ( regAddr ) || kIOReturnSuccess == CODEC_IsControlRegister ( regAddr ) ) {
         switch ( regAddr ) {
            case mapQChannelSubcode: {
                  *codecRegSizePtr = ( mapQChannelSubcode_72_79 - mapQChannelSubcode_0_7 ) + 1;
               }
               break;
            case mapChannelAStatus: {
                  *codecRegSizePtr = ( mapChannelAStatus_4 - mapChannelAStatus_0 ) + 1;
               }
               break;
            case mapChannelBStatus: {
                  *codecRegSizePtr = ( mapChannelBStatus_4 - mapChannelBStatus_0 ) + 1;
               }
               break;
            case mapBurstPreamblePC: {
                  *codecRegSizePtr = ( mapBurstPreamblePC_1 - mapBurstPreamblePC_0 ) + 1;
               }
               break;
            case mapBurstPreamblePD: {
                  *codecRegSizePtr = ( mapBurstPreamblePD_1 - mapBurstPreamblePD_0 ) + 1;
               }
               break;
            default: {
                  *codecRegSizePtr = 1;
               }
               break;
         }
         result = kIOReturnSuccess;
      }
   }
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::CODEC_IsControlRegister ( UInt8 regAddr ) {
   IOReturn      result = kIOReturnError;

   if ( regAddr <= mapInterruptModeLSB ) {
      result = kIOReturnSuccess;
   }
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::CODEC_IsStatusRegister ( UInt8 regAddr ) {
   IOReturn      result = kIOReturnError;
   
   if ( regAddr <= mapBurstPreamblePD_1 ) {
      result = kIOReturnSuccess;
   } else if ( map_ID_VERSION == regAddr ) {
      result = kIOReturnSuccess;
   }
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::getPluginState ( HardwarePluginDescriptorPtr outState ) {
   IOReturn      result = kIOReturnBadArgument;
   
   FailIf ( NULL == outState, Exit );
   outState->hardwarePluginType = kCodec_CS8416;
   outState->registerCacheSize = sizeof ( mShadowRegs );
   for ( UInt32 registerAddress = 0; registerAddress < outState->registerCacheSize; registerAddress++ ) {
      outState->registerCache[registerAddress] = mShadowRegs[registerAddress];
   }
   outState->recoveryRequest = 0;
   result = kIOReturnSuccess;
Exit:
   return result;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IOReturn   AppleTopazPluginCS8416::setPluginState ( HardwarePluginDescriptorPtr inState ) {
   IOReturn      result = kIOReturnBadArgument;
   
   FailIf ( NULL == inState, Exit );
   FailIf ( sizeof ( mShadowRegs ) != inState->registerCacheSize, Exit );
   result = kIOReturnSuccess;
   for ( UInt32 registerAddress = mapControl_0; ( registerAddress < map_ID_VERSION ) && ( kIOReturnSuccess == result ); registerAddress++ ) {
      if ( inState->registerCache[registerAddress] != mShadowRegs[registerAddress] ) {
         if ( kIOReturnSuccess == CODEC_IsControlRegister ( (UInt8)registerAddress ) ) {
            result = CODEC_WriteRegister ( registerAddress, inState->registerCache[registerAddress] );
         }
      }
   }
Exit:
   return result;
}

Autor: FOX
Juli 15, 2008, 15:42:21
Mist. Das scheint ein Hardwareproblem zu sein:


Jul 15 11:43:17 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != result“ failed in „AppleOnboardAudio/PlatformInterface.cpp“ at line 1494 goto Exit
Jul 15 11:43:17 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != result“ failed in „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPlugin.cpp“ at line 81 goto Exit
Jul 15 11:43:17 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != error“ failed in „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPluginCS8416/AppleTopazPluginCS8416.cpp“ at line 436 goto Exit
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: IOI2CController::clientWriteI2C cmd key:26ef, B:0, A:24 S:18, L:1, M:1 status:0xe00002e9
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: -IOI2CController::clientWriteI2C status = 0xe00002e9
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: Sound assertion „0 != result“ failed in „AppleOnboardAudio/PlatformInterfaceI2C_PlatformFunction.cpp“ at line 482 goto Exit
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != setMAP ( codecRef, subAddress )“ failed in „AppleOnboardAudio/PlatformInterfaceI2C_PlatformFunction.cpp“ at line 393 goto Exit
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != result“ failed in „AppleOnboardAudio/PlatformInterface.cpp“ at line 1494 goto Exit
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != result“ failed in „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPlugin.cpp“ at line 81 goto Exit
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != error“ failed in „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPluginCS8416/AppleTopazPluginCS8416.cpp“ at line 436 goto Exit
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: ^PIOI2CController::clientReadI2C cmd key:1b0b, B:1, A:98 S:1, L:1, M:3 status:0xe00002e9
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: -IOI2CController::clientReadI2C status = 0xe00002e9
Jul 15 11:43:19 xxx-power-mac-g5 kernel[0]: IOI2CMaxim6690::getExternalTemp read temp failed:0xe00002e9
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: IOI2CController::clientReadI2C cmd key:1b0d, B:1, A:94 S:0, L:2, M:3 status:0xe00002e9
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: -IOI2CController::clientReadI2C status = 0xe00002e9
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: IOI2CController::clientWriteI2C cmd key:26f1, B:0, A:24 S:18, L:1, M:1 status:0xe00002e9
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: -IOI2CController::clientWriteI2C status = 0xe00002e9
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: Sound assertion „0 != result“ failed in „AppleOnboardAudio/PlatformInterfaceI2C_PlatformFunction.cpp“ at line 482 goto Exit
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != setMAP ( codecRef, subAddress )“ failed in „AppleOnboardAudio/PlatformInterfaceI2C_PlatformFunction.cpp“ at line 393 goto Exit
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != result“ failed in „AppleOnboardAudio/PlatformInterface.cpp“ at line 1494 goto Exit
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != result“ failed in „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPlugin.cpp“ at line 81 goto Exit
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: ^PSound assertion „0 != error“ failed in „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPluginCS8416/AppleTopazPluginCS8416.cpp“ at line 436 goto Exit
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: ^PPowerMac11_2_SlewCtrlLoop::setVoltageSlewIndex - slew request timed out
Jul 15 11:43:21 xxx-power-mac-g5 kernel[0]: PowerMac11_2_SlewCtrlLoop::setVoltageSlewIndex - slew request timed out
Jul 15 11:43:22 xxx-power-mac-g5 kernel[0]: IOI2CController::clientReadI2C cmd key:1b0f, B:1, A:9c S:0, L:1, M:3 status:0xe00002e9
Jul 15 11:43:22 xxx-power-mac-g5 kernel[0]: -IOI2CController::clientReadI2C status = 0xe00002e9
Jul 15 11:43:22 xxx-power-mac-g5 kernel[0]: IOI2CMaxim6690::getInternalTemp read temp failed:0xe00002e9
Jul 15 11:43:22 xxx-power-mac-g5 kernel[0]: PowerMac11_2_SlewCtrlLoop::setVoltageSlewIndex - slew request timed out
Jul 15 11:43:23 xxx-power-mac-g5 kernel[0]: IOI2CController::clientWriteI2C cmd key:26f3, B:0, A:24 S:18, L:1, M:1 status:0xe00002e9
Jul 15 11:43:23 xxx-power-mac-g5 kernel[0]: -IOI2CController::clientWriteI2C status = 0xe00002e9


Ist „AppleOnboardAudio/AppleTopazPlugin/AppleTopazPluginCS8416/AppleTopazPluginCS8416.cpp“ Soft- oder Hardware??



Autor: FOX
Juli 15, 2008, 12:38:44
Habe hier ein dickes Problem mit einem Quad G5, OS 10.4.11

Die Konsole protokoliert sich mit folgender Meldung tot:

Jul 15 12:26:35 xxxx-power-mac-g5 kernel[0]: PowerMac11_2_SlewCtrlLoop::setVoltageSlewIndex - slew request timed out


Habe bereits danach gegoogelt und es scheint in Verbindung mit dem Audio-Ausgang der Platine zu stehen.
Es ist kein Ton mehr verfügbar. Steckt man einen Kopfhörer an, ist der Ton wieder "frei". Ziehe ich den Kopfhörer wieder ab, ist auch der Systemton per eingebauten Lautsprecher wieder da. Die Einträge in der Konsole werden jedoch fortgeführt.
Weiß da jemand genaueres? Ich möchte nicht schon wieder einen Rechner mit Platinenfehler zum Reparieren einsenden...