Ignore:
Timestamp:
Apr 1, 2015, 3:42:03 PM (9 years ago)
Author:
alain
Message:

Introducing a new IOC driver supporting the VciMultiAhci? disk controller (in polling mode only).
Extending the MMC driver to support the SYNC command requested by the AHCI protocol on the tsar_generic_iob platform.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/softs/tsar_boot/drivers/reset_bdv.c

    r758 r962  
    4343};
    4444
     45////////////////////
    4546int reset_bdv_init()
    4647{
     
    4849}
    4950
    50 int reset_bdv_read( unsigned int lba, void* buffer, unsigned int count )
     51////////////////////////////////////
     52int reset_bdv_read( unsigned int lba,
     53                    void* buffer,
     54                    unsigned int count )
    5155{
    52     /*
    53      * block_device configuration
    54      */
     56    // block_device configuration
    5557    iowrite32( &ioc_address[BLOCK_DEVICE_BUFFER], (unsigned int) buffer );
    5658    iowrite32( &ioc_address[BLOCK_DEVICE_COUNT], count );
     
    5860    iowrite32( &ioc_address[BLOCK_DEVICE_IRQ_ENABLE], 0 );
    5961
    60     /*
    61      * block_device trigger transfer
    62      */
     62    //  trigger transfer
    6363    iowrite32( &ioc_address[BLOCK_DEVICE_OP], ( unsigned int )
    6464               BLOCK_DEVICE_READ );
     65
     66#if (RESET_HARD_CC == 0) || USE_IOB
     67    // inval buffer in L1 cache
     68    reset_L1_inval( buffer , count * 512 );
     69#endif
     70
     71#if USE_IOB
     72    // inval buffer in L2 cache
     73    reset_L2_inval( buffer , count * 512 );
     74#endif
    6575
    6676    unsigned int status = 0;
     
    7282            break;
    7383        }
    74         if ( status == BLOCK_DEVICE_READ_ERROR   ) {
     84        if ( status == BLOCK_DEVICE_READ_ERROR   )
     85        {
    7586            reset_puts("ERROR during read on the BLK device\n");
    7687            return 1;
     
    7889    }
    7990
    80 #if (RESET_HARD_CC == 0) || USE_IOB
    81     reset_buf_invalidate(buffer, count * 512, USE_IOB);
    82 #endif
    8391    return 0;
    8492}
Note: See TracChangeset for help on using the changeset viewer.