Lines Matching refs:pcache

15         const lfs1_cache_t *pcache, lfs1_block_t block,  in lfs1_cache_read()  argument
21 if (pcache && block == pcache->block && off >= pcache->off && in lfs1_cache_read()
22 off < pcache->off + lfs1->cfg->prog_size) { in lfs1_cache_read()
25 lfs1->cfg->prog_size - (off-pcache->off)); in lfs1_cache_read()
26 memcpy(data, &pcache->buffer[off-pcache->off], diff); in lfs1_cache_read()
75 const lfs1_cache_t *pcache, lfs1_block_t block, in lfs1_cache_cmp() argument
81 int err = lfs1_cache_read(lfs1, rcache, pcache, in lfs1_cache_cmp()
96 const lfs1_cache_t *pcache, lfs1_block_t block, in lfs1_cache_crc() argument
100 int err = lfs1_cache_read(lfs1, rcache, pcache, in lfs1_cache_crc()
119 static inline void lfs1_cache_zero(lfs1_t *lfs1, lfs1_cache_t *pcache) { in lfs1_cache_zero() argument
121 memset(pcache->buffer, 0xff, lfs1->cfg->prog_size); in lfs1_cache_zero()
122 pcache->block = 0xffffffff; in lfs1_cache_zero()
126 lfs1_cache_t *pcache, lfs1_cache_t *rcache) { in lfs1_cache_flush() argument
127 if (pcache->block != 0xffffffff) { in lfs1_cache_flush()
128 int err = lfs1->cfg->prog(lfs1->cfg, pcache->block, in lfs1_cache_flush()
129 pcache->off, pcache->buffer, lfs1->cfg->prog_size); in lfs1_cache_flush()
135 int res = lfs1_cache_cmp(lfs1, rcache, NULL, pcache->block, in lfs1_cache_flush()
136 pcache->off, pcache->buffer, lfs1->cfg->prog_size); in lfs1_cache_flush()
146 lfs1_cache_zero(lfs1, pcache); in lfs1_cache_flush()
152 static int lfs1_cache_prog(lfs1_t *lfs1, lfs1_cache_t *pcache, in lfs1_cache_prog() argument
159 if (block == pcache->block && off >= pcache->off && in lfs1_cache_prog()
160 off < pcache->off + lfs1->cfg->prog_size) { in lfs1_cache_prog()
163 lfs1->cfg->prog_size - (off-pcache->off)); in lfs1_cache_prog()
164 memcpy(&pcache->buffer[off-pcache->off], data, diff); in lfs1_cache_prog()
172 int err = lfs1_cache_flush(lfs1, pcache, rcache); in lfs1_cache_prog()
183 LFS1_ASSERT(pcache->block == 0xffffffff); in lfs1_cache_prog()
213 pcache->block = block; in lfs1_cache_prog()
214 pcache->off = off - (off % lfs1->cfg->prog_size); in lfs1_cache_prog()
232 return lfs1_cache_prog(lfs1, &lfs1->pcache, NULL, in lfs1_bd_prog()
253 int err = lfs1_cache_flush(lfs1, &lfs1->pcache, NULL); in lfs1_bd_sync()
621 lfs1_cache_drop(lfs1, &lfs1->pcache); in lfs1_dir_commit()
1121 lfs1_cache_t *rcache, const lfs1_cache_t *pcache, in lfs1_ctz_find() argument
1138 int err = lfs1_cache_read(lfs1, rcache, pcache, head, 4*skip, &head, 4); in lfs1_ctz_find()
1154 lfs1_cache_t *rcache, lfs1_cache_t *pcache, in lfs1_ctz_extend() argument
1195 err = lfs1_cache_prog(lfs1, pcache, rcache, in lfs1_ctz_extend()
1216 err = lfs1_cache_prog(lfs1, pcache, rcache, in lfs1_ctz_extend()
1247 lfs1_cache_drop(lfs1, &lfs1->pcache); in lfs1_ctz_extend()
1252 lfs1_cache_t *rcache, const lfs1_cache_t *pcache, in lfs1_ctz_traverse() argument
1273 err = lfs1_cache_read(lfs1, rcache, pcache, head, 0, &heads, count*4); in lfs1_ctz_traverse()
1440 err = lfs1_cache_prog(lfs1, &lfs1->pcache, &lfs1->rcache, in lfs1_file_relocate()
1451 memcpy(file->cache.buffer, lfs1->pcache.buffer, lfs1->cfg->prog_size); in lfs1_file_relocate()
1452 file->cache.block = lfs1->pcache.block; in lfs1_file_relocate()
1453 file->cache.off = lfs1->pcache.off; in lfs1_file_relocate()
1454 lfs1_cache_zero(lfs1, &lfs1->pcache); in lfs1_file_relocate()
2030 lfs1_free(lfs1->pcache.buffer); in lfs1_deinit()
2053 lfs1->pcache.buffer = lfs1->cfg->prog_buffer; in lfs1_init()
2055 lfs1->pcache.buffer = lfs1_malloc(lfs1->cfg->prog_size); in lfs1_init()
2056 if (!lfs1->pcache.buffer) { in lfs1_init()
2062 lfs1_cache_zero(lfs1, &lfs1->pcache); in lfs1_init()