Lines Matching refs:start
33 atomic_t start; member
47 return atomic_read(&prz->buffer->start); in buffer_start()
57 old = atomic_read(&prz->buffer->start); in buffer_start_add_atomic()
61 } while (atomic_cmpxchg(&prz->buffer->start, old, new) != old); in buffer_start_add_atomic()
94 old = atomic_read(&prz->buffer->start); in buffer_start_add_locked()
98 atomic_set(&prz->buffer->start, new); in buffer_start_add_locked()
156 unsigned int start, unsigned int count) in persistent_ram_update_ecc() argument
169 block = buffer->data + (start & ~(ecc_block_size - 1)); in persistent_ram_update_ecc()
170 par = prz->par_buffer + (start / ecc_block_size) * ecc_size; in persistent_ram_update_ecc()
178 } while (block < buffer->data + start + count); in persistent_ram_update_ecc()
299 const void *s, unsigned int start, unsigned int count) in persistent_ram_update() argument
302 memcpy(buffer->data + start, s, count); in persistent_ram_update()
303 persistent_ram_update_ecc(prz, start, count); in persistent_ram_update()
310 size_t start = buffer_start(prz); in persistent_ram_save_old() local
325 memcpy(prz->old_log, &buffer->data[start], size - start); in persistent_ram_save_old()
326 memcpy(prz->old_log + size - start, &buffer->data[0], start); in persistent_ram_save_old()
334 size_t start; in persistent_ram_write() local
343 start = buffer_start_add(prz, c); in persistent_ram_write()
345 rem = prz->buffer_size - start; in persistent_ram_write()
347 persistent_ram_update(prz, s, start, rem); in persistent_ram_write()
350 start = 0; in persistent_ram_write()
352 persistent_ram_update(prz, s, start, c); in persistent_ram_write()
378 atomic_set(&prz->buffer->start, 0); in persistent_ram_zap()
383 static void *persistent_ram_vmap(phys_addr_t start, size_t size, in persistent_ram_vmap() argument
393 page_start = start - offset_in_page(start); in persistent_ram_vmap()
394 page_count = DIV_ROUND_UP(size + offset_in_page(start), PAGE_SIZE); in persistent_ram_vmap()
418 static void *persistent_ram_iomap(phys_addr_t start, size_t size, in persistent_ram_iomap() argument
423 if (!request_mem_region(start, size, "persistent_ram")) { in persistent_ram_iomap()
425 (unsigned long long)size, (unsigned long long)start); in persistent_ram_iomap()
433 va = ioremap(start, size); in persistent_ram_iomap()
435 va = ioremap_wc(start, size); in persistent_ram_iomap()
440 static int persistent_ram_buffer_map(phys_addr_t start, phys_addr_t size, in persistent_ram_buffer_map() argument
443 prz->paddr = start; in persistent_ram_buffer_map()
446 if (pfn_valid(start >> PAGE_SHIFT)) in persistent_ram_buffer_map()
447 prz->vaddr = persistent_ram_vmap(start, size, memtype); in persistent_ram_buffer_map()
449 prz->vaddr = persistent_ram_iomap(start, size, memtype); in persistent_ram_buffer_map()
453 (unsigned long long)size, (unsigned long long)start); in persistent_ram_buffer_map()
457 prz->buffer = prz->vaddr + offset_in_page(start); in persistent_ram_buffer_map()
514 struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size, in persistent_ram_new() argument
527 ret = persistent_ram_buffer_map(start, size, prz, memtype); in persistent_ram_new()