| /system/ulib/ftl/ndm/ |
| A D | ndmp.h | 71 ui32 key; // vblk 72 ui32 val; // pblk 91 ui32 ctrl_blk1; 104 ui32 flags; // option flags 107 ui32 num_partitions; 112 int (*write_pages)(ui32 pn, ui32 count, const ui8* data, ui8* spare, int action, void* dev); 114 int (*read_pages)(ui32 pn, ui32 count, ui8* data, ui8* spare, void* dev); 115 int (*xfr_page)(ui32 old_pn, ui32 new_pn, ui8* data, ui8* old_spare, ui8* new_spare, 118 ui32 (*pair_offset)(ui32 page_offset, void* dev); 152 int ndmInitBadBlock(CNDM ndm, ui32 b); [all …]
|
| A D | ndm_intrnl.c | 147 static int wr_ctrl_page(NDM ndm, ui32 cpc, ui32* curr_pnp, ui32* badblkp) { in wr_ctrl_page() 395 ui32 j; in wr_ctrl_info() 608 ui32 i; in run_bad_block() 627 static ui32 get_pbn(NDM ndm, ui32 vbn, int reason) { in get_pbn() 628 ui32 bn, i; in get_pbn() 630 ui32 j; in get_pbn() 1238 static ui32 pair_offset(ui32 page_offset, void* ndm_ptr) { in pair_offset() 1255 int ndmMarkBadBlock(NDM ndm, ui32 arg, ui32 cause) { in ndmMarkBadBlock() 1519 ui32 b; in ndmUnformat() 2056 ui32 i; in ndmWritePartition() [all …]
|
| A D | ndm_init.c | 33 ui32 crc; in get_page_status() 107 ui32 b; in format_status() 208 ui32 b; in init_ibad_list() 251 ui32 b; in ndm_format() 304 ui32 b, p, high_seq = (ui32)-1, curr_seq; in find_last_ctrl_info() 511 static ui32 get_next_ctrl_page(CNDM ndm, ui32 curr_p) { in get_next_ctrl_page() 513 ui32 p, p_end; in get_next_ctrl_page() 563 static int check_next_read(CNDM ndm, ui32* curr_loc, ui32* pn, ui32* ctrl_pages, ui32 size) { in check_next_read() 721 if (vbn == (ui32)-1 && bn == (ui32)-1) in read_ctrl_info() 827 ui32 i, bpn; in recover_bad_blk() [all …]
|
| A D | ndm_vols.c | 20 int ndmWrFatPartition(NDM ndm, ui32 part_num) { in ndmWrFatPartition() 57 int ndmDelVol(CNDM ndm, ui32 part_num) { in ndmDelVol() 97 ui32 i, num_partitions; in ndmDelVols()
|
| /system/ulib/ftl/inc/kprivate/ |
| A D | ndm.h | 78 ui32 flags; // option flags 84 int (*write_pages)(ui32 pn, ui32 count, const ui8* data, ui8* spare, int action, void* dev); 86 int (*read_pages)(ui32 pn, ui32 count, ui8* data, ui8* spare, void* dev); 87 int (*transfer_page)(ui32 old_pn, ui32 new_pn, ui8* data, ui8* old_spare, ui8* new_spare, 90 ui32 (*pair_offset)(ui32 page_offset, void* dev); 116 ui32 ndmGetNumVBlocks(CNDM ndm); 118 ui32 ndmPastPrevPair(CNDM ndm, ui32 pn); 121 ui32 ndmGetNumPartitions(CNDM ndm); 131 int ndmDelVol(CNDM ndm, ui32 part_num); 136 int ndmReadPages(ui32 start_pn, ui32 count, void* data, void* spare, void* ndm_ptr); [all …]
|
| A D | fsdriver.h | 150 int (*read_type)(ui32 pn, ui32* typep, void* vol); 154 ui32 (*pair_offset)(ui32 page_offset, void* vol); 197 ui32 flags; 284 ui32 (*pair_offset)(ui32 page_offset, void* ndm); 307 int (*write_long)(ui32 addr, ui32 data, void* vol); 308 int (*read_long)(ui32 addr, ui32* data, void* vol); 438 int FatVolSize(const FAT* fat, ui32* num_sects, ui32* sect_size); 476 void FsSaveMeta(ui32 vol_id, ui32 meta, const char* vol_name); 477 int FsReadMeta(ui32 vol_id, ui32* meta, const char* vol_name); 507 ui32 nandValidKey(const void* data, uint page_len, ui32 init_val); [all …]
|
| A D | ftl_mc.h | 13 typedef int (*ftlmcFuncW)(void* ftl, ui32 mpn, void* buf); 14 typedef int (*ftlmcFuncR)(void* ftl, ui32 mpn, void* buf, int* unmapped); 27 ui32 num_mpgs; // number of cached map pages 28 ui32 num_dirty; // number of dirty cached entries 29 ui32 mpg_sz; // size of a cached map page in bytes 35 FTLMC* ftlmcNew(void* ftl_ndm, ui32 cache_size, ftlmcFuncW wf, ftlmcFuncR rf, ui32 mpg_sz); 38 void* ftlmcGetPage(FTLMC* ftlmc, ui32 mpn, int* new_map); 39 int ftlmcFlushPage(FTLMC* ftlmc, ui32 mpn); 41 ui32* ftlmcInCache(FTLMC* ftlmc, ui32 mpn); 42 ui32 ftlmcRAM(const FTLMC* ftlmc);
|
| A D | fsprivate.h | 366 ui32 max_q; // max quota 367 ui32 min_q; // min quota 368 ui32 used; // used space 419 ui32 free; 420 ui32 num; 427 ui32 free; 482 int FsIsLast(const char* name, ui32* lenp, ui32* incp); 519 ui32 UDiv64(ui64 dividend, ui32 divisor); 521 ui32 FsMemPeakRst(void); 530 fpos_t_TFS FOffGet(const FILE_TFS* fcbp, ui32 sect_off, ui32 frst_sect); [all …]
|
| A D | ftl_vc.h | 19 void* ftlvcNew(void* ftl, ui32 num_cached_pages, MedWFunc wr_page, MedRFunc rd_page, ui32 page_sz); 21 FcEntry* ftlvcGetRdPage(void* ftlvc, ui32 vpn); 22 int ftlvcFlushPage(void* ftlvc, ui32 vpn); 24 void ftlvcUpdate(void* ftlvc, ui32 start_vpn, ui32 n, const ui8* data, ui32 page_sz);
|
| /system/ulib/ftl/ftln/ |
| A D | ftlnp.h | 182 int (*read_pages)(ui32 start_pn, ui32 count, void* data, void* spare, void* ndm); 183 int (*write_pages)(ui32 start_pn, ui32 count, const void* data, void* spare, void* ndm); 185 int (*xfer_page)(ui32 old_pn, ui32 new_pn, ui8* data, ui8* spare, void* ndm); 188 ui32 (*pair_offset)(ui32 page_offset, void* ndm); 282 ui32 FtlnGarbLvl(CFTLN ftl); 284 int FtlnMapGetPpn(CFTLN ftl, ui32 vpn, ui32* pnp); 285 int FtlnMapSetPpn(CFTLN ftl, ui32 vpn, ui32 ppn); 297 void FtlnDecUsed(FTLN ftl, ui32 pn, ui32 vpn); 300 int FtlnEraseBlk(FTLN ftl, ui32 b); 301 ui32 FtlnLoWcFreeBlk(CFTLN ftl); [all …]
|
| A D | ftln_intrnl.c | 17 ui32 vsn0; 18 ui32 cnt; 23 ui32 vpn0; 24 ui32 ppn0; 25 ui32 cnt; 35 static ui32 block_selector(FTLN ftl, ui32 b); 112 ui32 pn; in next_free_vpg() 158 ui32 pn; in next_free_mpg() 494 static ui32 block_selector(FTLN ftl, ui32 b) { in block_selector() 1250 int FtlnMapGetPpn(CFTLN ftl, ui32 vpn, ui32* pnp) { in FtlnMapGetPpn() [all …]
|
| A D | ftln_util.c | 17 ui32 meta_block; in format_ftl() 40 static void set_high_wc(FTLN ftl, ui32 high_b, ui32 high_b_wc) { in set_high_wc() 41 ui32 b; in set_high_wc() 73 ui32 b; in first_free_blk() 109 ui32 b; in FtlnReport() 226 ui32* end = (ui32*)(ftl->main_buf + ftl->page_size); in FtlnReport() 634 ui32 b_wc; in FtlnEraseBlk() 679 ui32 b, free_b; in FtlnLoWcFreeBlk() 727 ui32 b; in FtlnFormat() 809 void FtlnDecUsed(FTLN ftl, ui32 pn, ui32 vpn) { in FtlnDecUsed() [all …]
|
| A D | ftln_rd.c | 29 ui32 pn; in partial_page_read() 59 if (pn == (ui32)-1) in partial_page_read() 84 ui32* b_ptr; in flush_pending_reads() 127 static int read_sectors(FTLN ftl, ui32 vsn, ui32 count, ui8* data) { in read_sectors() 129 ui32 sect_cnt, sect_offset; in read_sectors() 131 ui32 vpn; in read_sectors() 137 staged.first_ppn = (ui32)-1; in read_sectors() 172 ui32 pn; in read_sectors() 344 ui32 ppn; in FtlnMapRd() 352 if (ppn == (ui32)-1) { in FtlnMapRd() [all …]
|
| A D | ftln_init.c | 34 ui32 b, wc, *lp = (ui32 *)(ftl->main_buf + FTLN_META_DATA_BEG); in proc_elist() 90 ui32 mpn, n, *ppns = (ui32 *)ftl->main_buf; in map_page_check() 114 ui32 b, i; in map_page_check() 238 ui32 pn; in map_page_check() 490 static void set_wc_lag(FTLN ftl, ui32 b, ui32 wc, ui32* low_wc) { in set_wc_lag() 549 ui32 b, n, avg_lag, pn, bc, wc, low_wc = (ui32)-1; in format_status() 801 ui32 pn; in read_bpb() 889 static int resume_copy(FTLN ftl, ui32 src_b, ui32 dst_b, ui32 bc) { in resume_copy() 891 ui32 po, vpn; in resume_copy() 939 ui32 b, n; in init_ftln() [all …]
|
| /system/ulib/ftl/inc/ |
| A D | sys.h | 68 ui32 getInt(ui32 def_val, ui32 min_val, ui32 max_val); 69 ui32 getHex(ui32 def_val, ui32 min_val, ui32 max_val); 150 int printSize(char* label, ui32 num_blks, ui32 blk_size); 172 void extra_free(ui32 start, ui32 end); 177 void DLog(const volatile ui32* reg_addr, ui32 mask); 228 void (*lock_blk)(ui32 base, ui32 num_blks, void* vol); 229 void (*unlock_blk)(ui32 base, ui32 num_blks, void* vol); 267 void (*lock_blk)(ui32 base, ui32 num_blks, void* vol); 268 void (*unlock_blk)(ui32 base, ui32 num_blks, void* vol); 340 ui32 pc; [all …]
|
| A D | targetos.h | 28 #define ui32 unsigned int macro 69 #define REG32(addr) (*(volatile ui32*)(addr)) 85 #define ALIGN_ADDR(addr, amnt) (void*)((((ui32)(addr) + (amnt)-1) / (amnt)) * amnt) 139 (ui32)((*((ui8*)(addr) + 0) << 0) | (*((ui8*)(addr) + 1) << 8) | (*((ui8*)(addr) + 2) << 16)) 142 (ui32)((*((ui8*)(addr) + 0) << 0) | (*((ui8*)(addr) + 1) << 8) | (*((ui8*)(addr) + 2) << 16) | \ 148 (ui32)((*((ui8*)(addr) + 0) << 16) | (*((ui8*)(addr) + 1) << 8) | (*((ui8*)(addr) + 2) << 0)) 151 (ui32)((*((ui8*)(addr) + 0) << 24) | (*((ui8*)(addr) + 1) << 16) | \
|
| /system/ulib/ftl/utils/ |
| A D | fscache.h | 50 ui32 pool_size; // number of cache entries 56 ui32 flags; // cache flags 60 ui32 tot_access; // number of get requests 66 int FcInit(Cache* C, ui32 pool_size, MedWFunc wrf, MedRFunc rdf, ui32 sect_sz, ui32 tmp_ents, 67 ui32 block_sects, void* volp); 68 int FcInitMeta(Cache* C, ui32 pool_size, ui32 meta_threshold, MedWFunc wr_sect, MedWFunc wr_page, 69 MedRFunc rd_sect, ui32 sect_sz, ui32 pg_sz, ui32 tmp_ents, void* volp); 70 void FcReinit(Cache* C, ui32 entry_size); 72 void FcRmvEntry(Cache* C, ui32 entry_number); 78 void FcSetDirtyNewPgs(Cache* C, FcEntry* ent, ui32 start, ui32 n); [all …]
|
| A D | ftl_mc.c | 24 ui32 mpn; // map page number 37 static ui32 hash(ui32 mpn, ui32 num_mpgs) { in hash() 59 if (entry->mpn != (ui32)-1) { in check_cache() 86 ui32 ftlmcRAM(const FTLMC* cache) { in ftlmcRAM() 103 FTLMC* ftlmcNew(void* ftl, ui32 num_mpgs, ftlmcFuncW wf, ftlmcFuncR rf, ui32 mpg_sz) { in ftlmcNew() 105 ui32* data_space; in ftlmcNew() 154 ui32 i, vpns_per_mpg = cache->mpg_sz / sizeof(ui32); in ftlmcInit() 155 ui32* memp = cache->entry[0].data; in ftlmcInit() 166 cache->entry[i].mpn = (ui32)-1; in ftlmcInit() 333 int ftlmcFlushPage(FTLMC* cache, ui32 mpn) { in ftlmcFlushPage() [all …]
|
| A D | crc32_tbl.c | 8 const ui32 Crc32Tbl[256] = {
|