Lines Matching refs:geo

200 	struct bch_geometry *geo = &this->bch_geometry;  in gpmi_dump_info()  local
228 geo->gf_len, in gpmi_dump_info()
229 geo->ecc_strength, in gpmi_dump_info()
230 geo->page_size, in gpmi_dump_info()
231 geo->metadata_size, in gpmi_dump_info()
232 geo->ecc_chunk_size, in gpmi_dump_info()
233 geo->ecc_chunk_count, in gpmi_dump_info()
234 geo->payload_size, in gpmi_dump_info()
235 geo->auxiliary_size, in gpmi_dump_info()
236 geo->auxiliary_status_offset, in gpmi_dump_info()
237 geo->block_mark_byte_offset, in gpmi_dump_info()
238 geo->block_mark_bit_offset); in gpmi_dump_info()
243 struct bch_geometry *geo = &this->bch_geometry; in gpmi_check_ecc() local
248 if (geo->gf_len == 14) in gpmi_check_ecc()
251 return geo->ecc_strength <= this->devdata->bch_max_ecc_strength; in gpmi_check_ecc()
264 struct bch_geometry *geo = &this->bch_geometry; in set_geometry_by_ecc_info() local
271 geo->gf_len = 13; in set_geometry_by_ecc_info()
274 geo->gf_len = 14; in set_geometry_by_ecc_info()
283 geo->ecc_chunk_size = ecc_step; in set_geometry_by_ecc_info()
284 geo->ecc_strength = round_up(ecc_strength, 2); in set_geometry_by_ecc_info()
289 if (geo->ecc_chunk_size < mtd->oobsize) { in set_geometry_by_ecc_info()
297 geo->metadata_size = 10; in set_geometry_by_ecc_info()
299 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in set_geometry_by_ecc_info()
349 geo->page_size = mtd->writesize + geo->metadata_size + in set_geometry_by_ecc_info()
350 (geo->gf_len * geo->ecc_strength * geo->ecc_chunk_count) / 8; in set_geometry_by_ecc_info()
352 geo->payload_size = mtd->writesize; in set_geometry_by_ecc_info()
354 geo->auxiliary_status_offset = ALIGN(geo->metadata_size, 4); in set_geometry_by_ecc_info()
355 geo->auxiliary_size = ALIGN(geo->metadata_size, 4) in set_geometry_by_ecc_info()
356 + ALIGN(geo->ecc_chunk_count, 4); in set_geometry_by_ecc_info()
363 (geo->ecc_strength * geo->gf_len * (geo->ecc_chunk_count - 1) in set_geometry_by_ecc_info()
364 + geo->metadata_size * 8); in set_geometry_by_ecc_info()
366 geo->block_mark_byte_offset = block_mark_bit_offset / 8; in set_geometry_by_ecc_info()
367 geo->block_mark_bit_offset = block_mark_bit_offset % 8; in set_geometry_by_ecc_info()
391 struct bch_geometry *geo = &this->bch_geometry; in get_ecc_strength() local
395 ecc_strength = ((mtd->oobsize - geo->metadata_size) * 8) in get_ecc_strength()
396 / (geo->gf_len * geo->ecc_chunk_count); in get_ecc_strength()
404 struct bch_geometry *geo = &this->bch_geometry; in legacy_set_geometry() local
415 geo->metadata_size = 10; in legacy_set_geometry()
418 geo->gf_len = 13; in legacy_set_geometry()
421 geo->ecc_chunk_size = 512; in legacy_set_geometry()
422 while (geo->ecc_chunk_size < mtd->oobsize) { in legacy_set_geometry()
423 geo->ecc_chunk_size *= 2; /* keep C >= O */ in legacy_set_geometry()
424 geo->gf_len = 14; in legacy_set_geometry()
427 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in legacy_set_geometry()
430 geo->ecc_strength = get_ecc_strength(this); in legacy_set_geometry()
435 geo->ecc_strength, in legacy_set_geometry()
440 geo->page_size = mtd->writesize + geo->metadata_size + in legacy_set_geometry()
441 (geo->gf_len * geo->ecc_strength * geo->ecc_chunk_count) / 8; in legacy_set_geometry()
442 geo->payload_size = mtd->writesize; in legacy_set_geometry()
450 metadata_size = ALIGN(geo->metadata_size, 4); in legacy_set_geometry()
451 status_size = ALIGN(geo->ecc_chunk_count, 4); in legacy_set_geometry()
453 geo->auxiliary_size = metadata_size + status_size; in legacy_set_geometry()
454 geo->auxiliary_status_offset = metadata_size; in legacy_set_geometry()
506 (geo->ecc_strength * geo->gf_len * (geo->ecc_chunk_count - 1) in legacy_set_geometry()
507 + geo->metadata_size * 8); in legacy_set_geometry()
509 geo->block_mark_byte_offset = block_mark_bit_offset / 8; in legacy_set_geometry()
510 geo->block_mark_bit_offset = block_mark_bit_offset % 8; in legacy_set_geometry()
862 struct bch_geometry *geo = &this->bch_geometry; in gpmi_ooblayout_ecc() local
868 oobregion->length = geo->page_size - mtd->writesize; in gpmi_ooblayout_ecc()
878 struct bch_geometry *geo = &this->bch_geometry; in gpmi_ooblayout_free() local
884 if (geo->page_size < mtd->writesize + mtd->oobsize) { in gpmi_ooblayout_free()
885 oobregion->offset = geo->page_size - mtd->writesize; in gpmi_ooblayout_free()
1090 struct bch_geometry *geo = &this->bch_geometry; in gpmi_free_dma_buffer() local
1093 dma_free_coherent(dev, geo->auxiliary_size, in gpmi_free_dma_buffer()
1106 struct bch_geometry *geo = &this->bch_geometry; in gpmi_alloc_dma_buffer() local
1123 this->auxiliary_virt = dma_alloc_coherent(dev, geo->auxiliary_size, in gpmi_alloc_dma_buffer()
1285 struct bch_geometry *geo = &this->bch_geometry; in gpmi_bch_layout_std() local
1286 unsigned int ecc_strength = geo->ecc_strength >> 1; in gpmi_bch_layout_std()
1287 unsigned int gf_len = geo->gf_len; in gpmi_bch_layout_std()
1288 unsigned int block_size = geo->ecc_chunk_size; in gpmi_bch_layout_std()
1291 BF_BCH_FLASH0LAYOUT0_NBLOCKS(geo->ecc_chunk_count - 1) | in gpmi_bch_layout_std()
1292 BF_BCH_FLASH0LAYOUT0_META_SIZE(geo->metadata_size) | in gpmi_bch_layout_std()
1298 BF_BCH_FLASH0LAYOUT1_PAGE_SIZE(geo->page_size) | in gpmi_bch_layout_std()
1309 struct bch_geometry *geo = &this->bch_geometry; in gpmi_ecc_read_page() local
1316 ret = nand_read_page_op(chip, page, 0, buf, geo->page_size); in gpmi_ecc_read_page()
1321 geo->ecc_chunk_count, in gpmi_ecc_read_page()
1322 geo->auxiliary_status_offset); in gpmi_ecc_read_page()
1350 struct bch_geometry *geo = &this->bch_geometry; in gpmi_ecc_read_subpage() local
1361 ecc_parity_size = geo->gf_len * geo->ecc_strength / 8; in gpmi_ecc_read_subpage()
1375 marker_pos = geo->block_mark_byte_offset / size; in gpmi_ecc_read_subpage()
1384 meta = geo->metadata_size; in gpmi_ecc_read_subpage()
1391 ecc_parity_size = geo->gf_len * geo->ecc_strength / 8; in gpmi_ecc_read_subpage()
1395 ecc_strength = geo->ecc_strength >> 1; in gpmi_ecc_read_subpage()
1400 BF_BCH_FLASH0LAYOUT0_GF(geo->gf_len, this) | in gpmi_ecc_read_subpage()
1401 BF_BCH_FLASH0LAYOUT0_DATA0_SIZE(geo->ecc_chunk_size, this); in gpmi_ecc_read_subpage()
1405 BF_BCH_FLASH0LAYOUT1_GF(geo->gf_len, this) | in gpmi_ecc_read_subpage()
1406 BF_BCH_FLASH0LAYOUT1_DATAN_SIZE(geo->ecc_chunk_size, this); in gpmi_ecc_read_subpage()