Lines Matching refs:s_flash_info
136 static struct mtd_flash_info s_flash_info; variable
182 s_flash_info.part_offset = (u32)vnvm_part_info.start; in mtd_vendor_storage_init()
183 s_flash_info.part_size = (u32)vnvm_part_info.size; in mtd_vendor_storage_init()
184 s_flash_info.page_offset = 0; in mtd_vendor_storage_init()
185 s_flash_info.blk_offset = 0; in mtd_vendor_storage_init()
186 s_flash_info.version = 0; in mtd_vendor_storage_init()
189 s_flash_info.blk_size = 0x80; in mtd_vendor_storage_init()
191 s_flash_info.blk_size = mtd->erasesize >> 9; in mtd_vendor_storage_init()
192 s_flash_info.ops_size = roundup(FLASH_VENDOR_INFO_SIZE, mtd->writesize) >> 9; in mtd_vendor_storage_init()
196 for (offset = 0; offset < s_flash_info.part_size; offset += s_flash_info.blk_size) { in mtd_vendor_storage_init()
197 if (mtd_block_isbad(mtd, (s_flash_info.part_offset + offset) << 9)) in mtd_vendor_storage_init()
198 bad_block_size += s_flash_info.blk_size; in mtd_vendor_storage_init()
200 s_flash_info.part_size -= bad_block_size; in mtd_vendor_storage_init()
202 for (offset = 0; offset < s_flash_info.part_size; offset += s_flash_info.blk_size) { in mtd_vendor_storage_init()
203 ret = blk_dread(dev_desc, s_flash_info.part_offset + offset, in mtd_vendor_storage_init()
207 s_flash_info.part_offset + offset, in mtd_vendor_storage_init()
211 if (vendor_info.hdr->version > s_flash_info.version) { in mtd_vendor_storage_init()
212 s_flash_info.version = vendor_info.hdr->version; in mtd_vendor_storage_init()
213 s_flash_info.blk_offset = offset; in mtd_vendor_storage_init()
218 …debug("%s: s_flash_info.version = %x %x\n", __func__, s_flash_info.version, s_flash_info.blk_offse… in mtd_vendor_storage_init()
219 if (s_flash_info.version) { in mtd_vendor_storage_init()
220 for (offset = s_flash_info.blk_size - s_flash_info.ops_size; in mtd_vendor_storage_init()
222 offset -= s_flash_info.ops_size) { in mtd_vendor_storage_init()
223 ret = blk_dread(dev_desc, s_flash_info.part_offset + in mtd_vendor_storage_init()
224 s_flash_info.blk_offset + offset, in mtd_vendor_storage_init()
233 if (s_flash_info.page_offset < offset) in mtd_vendor_storage_init()
234 s_flash_info.page_offset = offset + s_flash_info.ops_size; in mtd_vendor_storage_init()
238 ret = blk_dread(dev_desc, s_flash_info.part_offset + in mtd_vendor_storage_init()
239 s_flash_info.blk_offset + offset, in mtd_vendor_storage_init()
243 s_flash_info.part_offset + s_flash_info.blk_offset + offset, in mtd_vendor_storage_init()
248 s_flash_info.version = vendor_info.hdr->version; in mtd_vendor_storage_init()
273 debug("[Vendor INFO]:%s page_offset=0x%x count = %x\n", __func__, s_flash_info.part_offset + in mtd_vendor_write()
274 s_flash_info.blk_offset + s_flash_info.page_offset, count); in mtd_vendor_write()
275 if (s_flash_info.page_offset >= s_flash_info.blk_size) { in mtd_vendor_write()
276 s_flash_info.blk_offset += s_flash_info.blk_size; in mtd_vendor_write()
277 if (s_flash_info.blk_offset >= s_flash_info.part_size) in mtd_vendor_write()
278 s_flash_info.blk_offset = 0; in mtd_vendor_write()
279 s_flash_info.page_offset = 0; in mtd_vendor_write()
284 blk_derase(dev_desc, s_flash_info.part_offset + s_flash_info.blk_offset, s_flash_info.blk_size); in mtd_vendor_write()
288 ret = blk_dwrite(dev_desc, s_flash_info.part_offset + in mtd_vendor_write()
289 s_flash_info.blk_offset + s_flash_info.page_offset, in mtd_vendor_write()
294 s_flash_info.page_offset += s_flash_info.ops_size; in mtd_vendor_write()