Lines Matching refs:geo
109 struct bch_geometry *geo = &this->bch_geometry; in get_ecc_strength() local
113 ecc_strength = ((mtd->oobsize - geo->metadata_size) * 8) in get_ecc_strength()
114 / (geo->gf_len * geo->ecc_chunk_count); in get_ecc_strength()
122 struct bch_geometry *geo = &this->bch_geometry; in gpmi_check_ecc() local
127 if (geo->gf_len == 14) in gpmi_check_ecc()
130 return geo->ecc_strength <= this->devdata->bch_max_ecc_strength; in gpmi_check_ecc()
141 struct bch_geometry *geo = &this->bch_geometry; in set_geometry_by_ecc_info() local
152 geo->gf_len = 13; in set_geometry_by_ecc_info()
155 geo->gf_len = 14; in set_geometry_by_ecc_info()
163 geo->ecc_chunk_size = chip->ecc_step_ds; in set_geometry_by_ecc_info()
164 geo->ecc_strength = round_up(chip->ecc_strength_ds, 2); in set_geometry_by_ecc_info()
169 if (geo->ecc_chunk_size < mtd->oobsize) { in set_geometry_by_ecc_info()
177 geo->metadata_size = 10; in set_geometry_by_ecc_info()
179 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in set_geometry_by_ecc_info()
229 geo->page_size = mtd->writesize + geo->metadata_size + in set_geometry_by_ecc_info()
230 (geo->gf_len * geo->ecc_strength * geo->ecc_chunk_count) / 8; in set_geometry_by_ecc_info()
233 if (geo->page_size < mtd->writesize + mtd->oobsize) { in set_geometry_by_ecc_info()
234 of->offset = geo->page_size - mtd->writesize; in set_geometry_by_ecc_info()
238 geo->payload_size = mtd->writesize; in set_geometry_by_ecc_info()
240 geo->auxiliary_status_offset = ALIGN(geo->metadata_size, 4); in set_geometry_by_ecc_info()
241 geo->auxiliary_size = ALIGN(geo->metadata_size, 4) in set_geometry_by_ecc_info()
242 + ALIGN(geo->ecc_chunk_count, 4); in set_geometry_by_ecc_info()
249 (geo->ecc_strength * geo->gf_len * (geo->ecc_chunk_count - 1) in set_geometry_by_ecc_info()
250 + geo->metadata_size * 8); in set_geometry_by_ecc_info()
252 geo->block_mark_byte_offset = block_mark_bit_offset / 8; in set_geometry_by_ecc_info()
253 geo->block_mark_bit_offset = block_mark_bit_offset % 8; in set_geometry_by_ecc_info()
259 struct bch_geometry *geo = &this->bch_geometry; in legacy_set_geometry() local
270 geo->metadata_size = 10; in legacy_set_geometry()
273 geo->gf_len = 13; in legacy_set_geometry()
276 geo->ecc_chunk_size = 512; in legacy_set_geometry()
277 while (geo->ecc_chunk_size < mtd->oobsize) { in legacy_set_geometry()
278 geo->ecc_chunk_size *= 2; /* keep C >= O */ in legacy_set_geometry()
279 geo->gf_len = 14; in legacy_set_geometry()
282 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in legacy_set_geometry()
285 geo->ecc_strength = get_ecc_strength(this); in legacy_set_geometry()
289 geo->ecc_strength, in legacy_set_geometry()
294 geo->page_size = mtd->writesize + mtd->oobsize; in legacy_set_geometry()
295 geo->payload_size = mtd->writesize; in legacy_set_geometry()
303 metadata_size = ALIGN(geo->metadata_size, 4); in legacy_set_geometry()
304 status_size = ALIGN(geo->ecc_chunk_count, 4); in legacy_set_geometry()
306 geo->auxiliary_size = metadata_size + status_size; in legacy_set_geometry()
307 geo->auxiliary_status_offset = metadata_size; in legacy_set_geometry()
359 (geo->ecc_strength * geo->gf_len * (geo->ecc_chunk_count - 1) in legacy_set_geometry()
360 + geo->metadata_size * 8); in legacy_set_geometry()
362 geo->block_mark_byte_offset = block_mark_bit_offset / 8; in legacy_set_geometry()
363 geo->block_mark_bit_offset = block_mark_bit_offset % 8; in legacy_set_geometry()
805 struct bch_geometry *geo = &this->bch_geometry; in gpmi_alloc_dma_buffer() local
835 this->page_buffer_size = geo->payload_size + geo->auxiliary_size; in gpmi_alloc_dma_buffer()
848 this->auxiliary_virt = this->payload_virt + geo->payload_size; in gpmi_alloc_dma_buffer()
849 this->auxiliary_phys = this->payload_phys + geo->payload_size; in gpmi_alloc_dma_buffer()
1148 struct bch_geometry *geo = &this->bch_geometry; in gpmi_ecc_read_subpage() local
1159 ecc_parity_size = geo->gf_len * geo->ecc_strength / 8; in gpmi_ecc_read_subpage()
1173 marker_pos = geo->block_mark_byte_offset / size; in gpmi_ecc_read_subpage()
1182 meta = geo->metadata_size; in gpmi_ecc_read_subpage()
1209 geo->ecc_chunk_count = n; in gpmi_ecc_read_subpage()
1210 geo->payload_size = n * size; in gpmi_ecc_read_subpage()
1211 geo->page_size = page_size; in gpmi_ecc_read_subpage()
1212 geo->auxiliary_status_offset = ALIGN(meta, 4); in gpmi_ecc_read_subpage()