From owner-p4-projects@FreeBSD.ORG Fri Aug 11 00:20:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C78616A4E1; Fri, 11 Aug 2006 00:20:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC46A16A4DA for ; Fri, 11 Aug 2006 00:20:07 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7DFE943D49 for ; Fri, 11 Aug 2006 00:20:07 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7B0K7fo084559 for ; Fri, 11 Aug 2006 00:20:07 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7B0K7N1084556 for perforce@freebsd.org; Fri, 11 Aug 2006 00:20:07 GMT (envelope-from imp@freebsd.org) Date: Fri, 11 Aug 2006 00:20:07 GMT Message-Id: <200608110020.k7B0K7N1084556@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 103622 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Aug 2006 00:20:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=103622 Change 103622 by imp@imp_lighthouse on 2006/08/11 00:19:38 don't compile in so many debug writes. Saves another 400 bytes, more or less. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/mci_device.c#3 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/sd-card.c#3 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/mci_device.c#3 (text+ko) ==== @@ -134,9 +134,11 @@ unsigned int *dataBuffer, int sizeToRead) { - //////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// if (pMCI_Device->pMCI_DeviceDesc->state != AT91C_MCI_IDLE) { +#if IMP_DEBUG printf("1 state is 0x%x\r\n", pMCI_Device->pMCI_DeviceDesc->state); +#endif return AT91C_READ_ERROR; } @@ -144,18 +146,24 @@ if ((AT91F_MCI_GetStatus(pMCI_Device, pMCI_Device->pMCI_DeviceFeatures->Relative_Card_Address) & AT91C_SR_READY_FOR_DATA) != AT91C_SR_READY_FOR_DATA) { +#if IMP_DEBUG printf("2\r\n"); +#endif return AT91C_READ_ERROR; } if ( (src + sizeToRead) > pMCI_Device->pMCI_DeviceFeatures->Memory_Capacity ) { +#if IMP_DEBUG printf("3\r\n"); +#endif return AT91C_READ_ERROR; } // If source does not fit a begin of a block if ((src & ((1 << pMCI_Device->pMCI_DeviceFeatures->READ_BL_LEN) - 1)) != 0) { +#if IMP_DEBUG printf("4\r\n"); +#endif return AT91C_READ_ERROR; } @@ -163,15 +171,19 @@ // ALWAYS SUPPORTED IN SD Memory Card if( (sizeToRead < pMCI_Device->pMCI_DeviceFeatures->Max_Read_DataBlock_Length) && (pMCI_Device->pMCI_DeviceFeatures->Read_Partial == 0x00) ) { +#if IMP_DEBUG printf("5\r\n"); +#endif return AT91C_READ_ERROR; } if( sizeToRead > pMCI_Device->pMCI_DeviceFeatures->Max_Read_DataBlock_Length) { +#if IMP_DEBUG printf("6\r\n"); +#endif return AT91C_READ_ERROR; } - //////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// // Init Mode Register AT91C_BASE_MCI->MCI_MR |= ((pMCI_Device->pMCI_DeviceFeatures->Max_Read_DataBlock_Length << 16) | AT91C_MCI_PDCMODE); @@ -211,14 +223,14 @@ unsigned int *dataBuffer, int sizeToWrite ) { - //////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// if( pMCI_Device->pMCI_DeviceDesc->state != AT91C_MCI_IDLE) - return AT91C_WRITE_ERROR; + return AT91C_WRITE_ERROR; - if( (AT91F_MCI_GetStatus(pMCI_Device,pMCI_Device->pMCI_DeviceFeatures->Relative_Card_Address) & AT91C_SR_READY_FOR_DATA) != AT91C_SR_READY_FOR_DATA) - return AT91C_WRITE_ERROR; + if( (AT91F_MCI_GetStatus(pMCI_Device,pMCI_Device->pMCI_DeviceFeatures->Relative_Card_Address) & AT91C_SR_READY_FOR_DATA) != AT91C_SR_READY_FOR_DATA) + return AT91C_WRITE_ERROR; - if ( (dest + sizeToWrite) > pMCI_Device->pMCI_DeviceFeatures->Memory_Capacity ) + if ((dest + sizeToWrite) > pMCI_Device->pMCI_DeviceFeatures->Memory_Capacity) return AT91C_WRITE_ERROR; // If source does not fit a begin of a block @@ -226,15 +238,15 @@ return AT91C_WRITE_ERROR; // Test if the MMC supports Partial Write Block - if( (sizeToWrite < pMCI_Device->pMCI_DeviceFeatures->Max_Write_DataBlock_Length) - && (pMCI_Device->pMCI_DeviceFeatures->Write_Partial == 0x00) ) + if( (sizeToWrite < pMCI_Device->pMCI_DeviceFeatures->Max_Write_DataBlock_Length) + && (pMCI_Device->pMCI_DeviceFeatures->Write_Partial == 0x00) ) return AT91C_WRITE_ERROR; if( sizeToWrite > pMCI_Device->pMCI_DeviceFeatures->Max_Write_DataBlock_Length ) return AT91C_WRITE_ERROR; - //////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////// - // Init Mode Register + // Init Mode Register AT91C_BASE_MCI->MCI_MR |= ((pMCI_Device->pMCI_DeviceFeatures->Max_Write_DataBlock_Length << 16) | AT91C_MCI_PDCMODE); if (sizeToWrite %4) @@ -243,30 +255,30 @@ sizeToWrite = sizeToWrite/4; // Init PDC for write sequence - AT91C_BASE_PDC_MCI->PDC_PTCR = (AT91C_PDC_TXTDIS | AT91C_PDC_RXTDIS); - AT91C_BASE_PDC_MCI->PDC_TPR = (unsigned int) dataBuffer; - AT91C_BASE_PDC_MCI->PDC_TCR = sizeToWrite; + AT91C_BASE_PDC_MCI->PDC_PTCR = (AT91C_PDC_TXTDIS | AT91C_PDC_RXTDIS); + AT91C_BASE_PDC_MCI->PDC_TPR = (unsigned int) dataBuffer; + AT91C_BASE_PDC_MCI->PDC_TCR = sizeToWrite; // Send the write single block command - if ( AT91F_MCI_SendCommand(pMCI_Device, AT91C_WRITE_BLOCK_CMD, dest) != AT91C_CMD_SEND_OK) - return AT91C_WRITE_ERROR; + if ( AT91F_MCI_SendCommand(pMCI_Device, AT91C_WRITE_BLOCK_CMD, dest) != AT91C_CMD_SEND_OK) + return AT91C_WRITE_ERROR; pMCI_Device->pMCI_DeviceDesc->state = AT91C_MCI_TX_SINGLE_BLOCK; // Enable AT91C_MCI_TXBUFE Interrupt - AT91C_BASE_MCI->MCI_IER = AT91C_MCI_TXBUFE; + AT91C_BASE_MCI->MCI_IER = AT91C_MCI_TXBUFE; // Enables TX for PDC transfert requests - AT91C_BASE_PDC_MCI->PDC_PTCR = AT91C_PDC_TXTEN; + AT91C_BASE_PDC_MCI->PDC_PTCR = AT91C_PDC_TXTEN; return AT91C_WRITE_OK; } #endif -//*------------------------------------------------------------------------------------------------------------ +//*---------------------------------------------------------------------------- //* \fn AT91F_MCI_MMC_SelectCard //* \brief Toggles a card between the Stand_by and Transfer states or between Programming and Disconnect states -//*------------------------------------------------------------------------------------------------------------ +//*---------------------------------------------------------------------------- AT91S_MCIDeviceStatus AT91F_MCI_MMC_SelectCard(AT91PS_MciDevice pMCI_Device, unsigned int relative_card_address) { ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/sd-card.c#3 (text+ko) ==== @@ -54,8 +54,10 @@ } while( !(status & AT91C_MCI_NOTBUSY) && (timeout>0) ); +#if IMP_DEBUG if (timeout == 0) printf("Timeout, status is 0x%x\r\n", status); +#endif //TODO: Make interrupts work! AT91F_MCI_Handler(); @@ -70,7 +72,9 @@ AT91S_MCIDeviceStatus status; int sizeToWrite; +#if IMP_DEBUG printf("\r\n"); +#endif //See if we are requested to write partial sectors, and have the capability to do so if ((length % sectorLength) && !(MCI_Device_Features.Write_Partial)) @@ -145,8 +149,10 @@ int sizeToRead; unsigned int *walker; +#if IMP_DEBUG printf("Reading 0x%x bytes into ARM Addr 0x%x from card offset 0x%x\r\n", length, dest, source); +#endif //See if we are requested to read partial sectors, and have the capability to do so @@ -171,7 +177,9 @@ status = AT91F_MCI_ReadBlock(&MCI_Device, source, (unsigned int*)dest, sizeToRead); //TODO:Status checking if (status != AT91C_READ_OK) { +#if IMP_DEBUG printf("STATUS is 0x%x\r\n", status); +#endif return -1; } @@ -201,12 +209,16 @@ AT91F_MCIDeviceWaitReady(AT91C_MCI_TIMEOUT); //Do the writing status = AT91F_MCI_ReadBlock(&MCI_Device, source, (unsigned int*)dest, sizeToRead); +#if IMP_DEBUG printf("Reading 0x%x Addr 0x%x card 0x%x\r\n", sizeToRead, dest, source); +#endif //TODO:Status checking if (status != AT91C_READ_OK) { +#if IMP_DEBUG printf("STATUS is 0x%x\r\n", status); +#endif return -1; }