Lines Matching refs:len
162 static int check_cache_addr(cache_t *c, unsigned int addr, unsigned int len) in check_cache_addr() argument
170 if (ALIGN_DOWN(addr + len - 1, CACHE_SIZE) != c->addr) in check_cache_addr()
292 int nor_cache_write(unsigned int addr, char *buf, unsigned int len) in nor_cache_write() argument
301 SPINOR_DEBUG("try to write addr 0x%x with size %u\n", addr, len); in nor_cache_write()
308 if (len % nor->page_size) { in nor_cache_write()
309 SPINOR_ERR("len %u must align to page size %u\n", len, nor->page_size); in nor_cache_write()
318 if (len > CACHE_SIZE || in nor_cache_write()
319 (addr - ALIGN_DOWN(addr, CACHE_SIZE) + len > CACHE_SIZE)) { in nor_cache_write()
324 ret = nor_write(addr, buf, len); in nor_cache_write()
328 ret = check_cache_addr(c, addr, len); in nor_cache_write()
331 addr, len, c->addr); in nor_cache_write()
344 while (len) { in nor_cache_write()
345 unsigned int size = min(len, nor->page_size); in nor_cache_write()
364 len -= size; in nor_cache_write()
373 int nor_cache_read(unsigned int addr, char *buf, unsigned int len) in nor_cache_read() argument
382 SPINOR_DEBUG("try to read addr 0x%x with size %u\n", addr, len); in nor_cache_read()
389 if (len % nor->page_size) { in nor_cache_read()
390 SPINOR_ERR("len %u must align to page size %u\n", len, nor->page_size); in nor_cache_read()
399 if (len > CACHE_SIZE || in nor_cache_read()
400 (addr - ALIGN_DOWN(addr, CACHE_SIZE) + len > CACHE_SIZE)) { in nor_cache_read()
405 ret = nor_read(addr, buf, len); in nor_cache_read()
409 ret = check_cache_addr(c, addr, len); in nor_cache_read()
411 ret = nor_read(addr, buf, len); in nor_cache_read()
417 while (len) { in nor_cache_read()
418 unsigned int size = min(len, nor->page_size); in nor_cache_read()
442 len -= size; in nor_cache_read()
470 int nor_cache_erase(unsigned int addr, unsigned int len) in nor_cache_erase() argument
478 SPINOR_DEBUG("try to erase addr 0x%x with size %u\n", addr, len); in nor_cache_erase()
485 if (len % nor->blk_size) { in nor_cache_erase()
486 SPINOR_ERR("len %u must align to blk size %u\n", len, nor->blk_size); in nor_cache_erase()
495 if (len > CACHE_SIZE || in nor_cache_erase()
496 (addr - ALIGN_DOWN(addr, CACHE_SIZE) + len > CACHE_SIZE)) { in nor_cache_erase()
502 ret = nor_erase(addr, len); in nor_cache_erase()
506 ret = check_cache_addr(c, addr, len); in nor_cache_erase()
509 addr, len, c->addr); in nor_cache_erase()
521 for (; len; len -= nor->blk_size, blk++) { in nor_cache_erase()