20
20
#include <string.h>
21
21
#include <ioremap.h>
22
22
#include <cache.h>
23
+ #include <mm_aspace.h>
23
24
24
25
#ifdef RT_USING_SDIO
25
26
@@ -356,7 +357,7 @@ static void sdhci_send_command(struct sdhci_host* sdhci_host, struct sdhci_comma
356
357
start_addr = (rt_ubase_t )((uint8_t * )sdhci_data -> txData );
357
358
rt_hw_cpu_dcache_clean ((void * )start_addr , sdhci_data -> blockSize * sdhci_data -> blockCount );
358
359
command -> flags2 |= sdhci_enable_dma_flag ;
359
- dma_addr = rt_kmem_v2p ((void * )start_addr );
360
+ dma_addr = ( rt_ubase_t ) rt_kmem_v2p ((void * )start_addr );
360
361
sdhci_writel (sdhci_host , dma_addr , SDHCI_DMA_ADDRESS );
361
362
#endif
362
363
sdhci_writew (sdhci_host , SDHCI_MAKE_BLKSZ (7 , sdhci_data -> blockSize ), SDHCI_BLOCK_SIZE );
@@ -678,7 +679,7 @@ static void kd_mmc_request(struct rt_mmcsd_host* host, struct rt_mmcsd_req* req)
678
679
sdhci_data .rxData = rt_malloc_align (pad ? pad : sz , CACHE_LINESIZE );
679
680
} else if (((uint64_t )(sdhci_data .txData ) & (CACHE_LINESIZE - 1 )) || pad ) {
680
681
sdhci_data .txData = rt_malloc_align (pad ? pad : sz , CACHE_LINESIZE );
681
- rt_memcpy (sdhci_data .txData , data -> buf , sz );
682
+ rt_memcpy (( void * ) sdhci_data .txData , data -> buf , sz );
682
683
}
683
684
#endif
684
685
mmcsd -> sdhci_data = & sdhci_data ;
@@ -691,7 +692,7 @@ static void kd_mmc_request(struct rt_mmcsd_host* host, struct rt_mmcsd_req* req)
691
692
rt_memcpy (data -> buf , sdhci_data .rxData , sdhci_data .blockSize * sdhci_data .blockCount );
692
693
rt_free_align (sdhci_data .rxData );
693
694
} else if (data && sdhci_data .txData && sdhci_data .txData != data -> buf ) {
694
- rt_free_align (sdhci_data .txData );
695
+ rt_free_align (( void * ) sdhci_data .txData );
695
696
}
696
697
#endif
697
698
if (error == -1 ) {
0 commit comments