Lines Matching refs:area_index
149 static int rkss_verify_usedflags(unsigned int area_index) in rkss_verify_usedflags() argument
156 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_verify_usedflags()
157 printf("TEEC: Not support area_index 0x%x\n", area_index); in rkss_verify_usedflags()
161 flags = rkss_info[area_index].flags; in rkss_verify_usedflags()
208 static int rkss_storage_delete(uint32_t area_index) in rkss_storage_delete() argument
214 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_storage_delete()
215 printf("TEEC: Not support area_index 0x%x\n", area_index); in rkss_storage_delete()
219 printf("TEEC: delete area index 0x%x!\n", area_index); in rkss_storage_delete()
228 part_info.start + area_index * RKSS_SECTION_COUNT * RKSS_BACKUP_NUM, in rkss_storage_delete()
307 static int rkss_read_multi_sections(unsigned int area_index, in rkss_read_multi_sections() argument
310 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_read_multi_sections()
319 if (rkss_buffer[area_index] == NULL) { in rkss_read_multi_sections()
323 memcpy(data, rkss_buffer[area_index] + index * RKSS_DATA_LEN, num * RKSS_DATA_LEN); in rkss_read_multi_sections()
327 static int rkss_write_multi_sections(unsigned int area_index, in rkss_write_multi_sections() argument
333 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_write_multi_sections()
344 if (rkss_buffer[area_index] == NULL) { in rkss_write_multi_sections()
349 memcpy(rkss_buffer[area_index] + index * RKSS_DATA_LEN, data, num * RKSS_DATA_LEN); in rkss_write_multi_sections()
350 rkss_info[area_index].header->backup_dirty = 1; in rkss_write_multi_sections()
358 unsigned int area_index; in rkss_get_fileinfo_by_index() local
360 area_index = fd / (RKSS_TABLE_COUNT * RKSS_EACH_FILEFOLDER_COUNT); in rkss_get_fileinfo_by_index()
361 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_get_fileinfo_by_index()
366 p = rkss_info[area_index].table; in rkss_get_fileinfo_by_index()
380 *out_area_index = area_index; in rkss_get_fileinfo_by_index()
498 unsigned int area_index, int section_size) in rkss_get_empty_section_from_usedflags() argument
503 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_get_empty_section_from_usedflags()
507 if (rkss_info[area_index].flags == NULL) { in rkss_get_empty_section_from_usedflags()
512 uint8_t *flag = rkss_info[area_index].flags + (int)i/2; in rkss_get_empty_section_from_usedflags()
528 unsigned int area_index, unsigned int index, unsigned int num) in rkss_incref_multi_usedflags_sections() argument
533 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_incref_multi_usedflags_sections()
543 if (rkss_info[area_index].flags == NULL) { in rkss_incref_multi_usedflags_sections()
549 flag = rkss_info[area_index].flags + (int)index / 2; in rkss_incref_multi_usedflags_sections()
558 rkss_info[area_index].header->backup_dirty = 1; in rkss_incref_multi_usedflags_sections()
563 unsigned int area_index, unsigned int index, unsigned int num) in rkss_decref_multi_usedflags_sections() argument
568 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_decref_multi_usedflags_sections()
578 if (rkss_info[area_index].flags == NULL) { in rkss_decref_multi_usedflags_sections()
584 flag = rkss_info[area_index].flags + (int)index / 2; in rkss_decref_multi_usedflags_sections()
593 rkss_info[area_index].header->backup_dirty = 1; in rkss_decref_multi_usedflags_sections()
636 int area_index = -1; in rkss_get_larger_area() local
646 area_index = i; in rkss_get_larger_area()
649 return area_index; in rkss_get_larger_area()
653 unsigned int area_index, struct rkss_file_table *pfile_table) in rkss_write_area_empty_ptable() argument
658 if (rkss_info[area_index].table == NULL) { in rkss_write_area_empty_ptable()
664 p = rkss_info[area_index].table + i * RKSS_EACH_FILEFOLDER_COUNT + n; in rkss_write_area_empty_ptable()
670 rkss_info[area_index].header->backup_dirty = 1; in rkss_write_area_empty_ptable()
671 ret = area_index * RKSS_TABLE_COUNT * RKSS_EACH_FILEFOLDER_COUNT + in rkss_write_area_empty_ptable()
683 int area_index; in rkss_write_empty_ptable() local
685 area_index = rkss_get_larger_area(); in rkss_write_empty_ptable()
686 if (area_index < 0) { in rkss_write_empty_ptable()
691 return rkss_write_area_empty_ptable(area_index, pfile_table); in rkss_write_empty_ptable()
698 unsigned int area_index; in rkss_write_back_ptable() local
700 area_index = fd / (RKSS_TABLE_COUNT * RKSS_EACH_FILEFOLDER_COUNT); in rkss_write_back_ptable()
701 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_write_back_ptable()
706 p = rkss_info[area_index].table; in rkss_write_back_ptable()
718 rkss_info[area_index].header->backup_dirty = 1; in rkss_write_back_ptable()
815 static int rkss_storage_init(uint32_t area_index) in rkss_storage_init() argument
823 if (area_index >= RKSS_MAX_AREA_NUM) { in rkss_storage_init()
824 printf("TEEC: Not support index=0x%x\n", area_index); in rkss_storage_init()
834 if (rkss_buffer[area_index] == NULL) { in rkss_storage_init()
836 rkss_buffer[area_index] = (uint8_t *)memalign(CONFIG_SYS_CACHELINE_SIZE, size); in rkss_storage_init()
837 if (!(rkss_buffer[area_index])) { in rkss_storage_init()
843 rkss_info[area_index].header = (struct rkss_file_header *)(rkss_buffer[area_index]); in rkss_storage_init()
844 rkss_info[area_index].flags = (uint8_t *)(rkss_buffer[area_index] + flags_offset); in rkss_storage_init()
845 rkss_info[area_index].table = (struct rkss_file_table *)(rkss_buffer[area_index] + table_offset); in rkss_storage_init()
846 rkss_info[area_index].data = (uint8_t *)(rkss_buffer[area_index] + data_offset); in rkss_storage_init()
847 …rkss_info[area_index].footer = (struct rkss_file_footer *)(rkss_buffer[area_index] + footer_offset… in rkss_storage_init()
853 area_index * RKSS_SECTION_COUNT * RKSS_BACKUP_NUM + in rkss_storage_init()
855 RKSS_SECTION_COUNT, rkss_buffer[area_index]); in rkss_storage_init()
861 if ((rkss_info[area_index].header->tag == RKSS_TAG) && in rkss_storage_init()
862 (rkss_info[area_index].footer->backup_count == rkss_info[area_index].header->backup_count)) { in rkss_storage_init()
863 if (max_ver < rkss_info[area_index].header->backup_count) { in rkss_storage_init()
865 max_ver = rkss_info[area_index].header->backup_count; in rkss_storage_init()
877 area_index * RKSS_SECTION_COUNT * RKSS_BACKUP_NUM + in rkss_storage_init()
879 RKSS_SECTION_COUNT, rkss_buffer[area_index]); in rkss_storage_init()
886 if (rkss_info[area_index].header->version == RKSS_VERSION_V2) { in rkss_storage_init()
888 } else if (rkss_info[area_index].header->version < RKSS_VERSION_V2) { in rkss_storage_init()
891 free(rkss_buffer[area_index]); in rkss_storage_init()
892 rkss_buffer[area_index] = NULL; in rkss_storage_init()
897 free(rkss_buffer[area_index]); in rkss_storage_init()
898 rkss_buffer[area_index] = NULL; in rkss_storage_init()
902 printf("TEEC: Reset area[%d] info...\n", area_index); in rkss_storage_init()
903 memset(rkss_buffer[area_index], 0, size); in rkss_storage_init()
904 rkss_info[area_index].header->tag = RKSS_TAG; in rkss_storage_init()
905 rkss_info[area_index].header->version = RKSS_VERSION_V2; in rkss_storage_init()
906 rkss_info[area_index].header->backup_count = 1; in rkss_storage_init()
907 rkss_info[area_index].footer->backup_count = 1; in rkss_storage_init()
909 if (rkss_verify_usedflags(area_index) < 0) { in rkss_storage_init()
968 unsigned int area_index; in ree_fs_new_open() local
984 fd = rkss_get_fileinfo_by_name(filename, &p, &area_index); in ree_fs_new_open()
1001 unsigned int area_index; in ree_fs_new_create() local
1018 fd = rkss_get_fileinfo_by_name(filename, &p, &area_index); in ree_fs_new_create()
1023 ret = rkss_decref_multi_usedflags_sections(area_index, p.index, num); in ree_fs_new_create()
1074 unsigned int area_index; in ree_fs_new_read() local
1090 ret = rkss_get_fileinfo_by_index(fd, &p, &area_index); in ree_fs_new_read()
1101 ret = rkss_read_multi_sections(area_index, temp_file_data, p.index, section_num); in ree_fs_new_read()
1126 unsigned int area_index; in ree_fs_new_write() local
1141 ret = rkss_get_fileinfo_by_index(fd, &p, &area_index); in ree_fs_new_write()
1156 ret = rkss_read_multi_sections(area_index, temp_file_data, p.index, section_num); in ree_fs_new_write()
1165 ret = rkss_decref_multi_usedflags_sections(area_index, p.index, section_num); in ree_fs_new_write()
1177 p.index = rkss_get_empty_section_from_usedflags(area_index, section_num); in ree_fs_new_write()
1180 ret = rkss_incref_multi_usedflags_sections(area_index, p.index, section_num); in ree_fs_new_write()
1198 rkss_write_multi_sections(area_index, temp_file_data, p.index, section_num); in ree_fs_new_write()
1221 unsigned int area_index; in ree_fs_new_truncate() local
1228 ret = rkss_get_fileinfo_by_index(fd, &p, &area_index); in ree_fs_new_truncate()
1239 …ret = rkss_decref_multi_usedflags_sections(area_index, p.index + section_num_new, section_num_old … in ree_fs_new_truncate()
1260 unsigned int area_index; in ree_fs_new_remove() local
1269 ret = rkss_get_fileinfo_by_name(filename, &p, &area_index); in ree_fs_new_remove()
1281 ret = rkss_decref_multi_usedflags_sections(area_index, p.index, num); in ree_fs_new_remove()
1305 unsigned int area_index; in ree_fs_new_rename() local
1326 ret = rkss_get_fileinfo_by_name(old_fname, &p, &area_index); in ree_fs_new_rename()