Lines Matching defs:lane
206 static int btt_log_group_read(struct arena_info *arena, u32 lane,
210 arena->logoff + (lane * LOG_GRP_SIZE), log,
327 static int btt_log_read(struct arena_info *arena, u32 lane,
334 ret = btt_log_group_read(arena, lane, &log);
341 "log corruption (%d): lane %d seq [%d, %d]\n",
342 old_ent, lane, log.ent[arena->log_index[0]].seq,
361 static int __btt_log_write(struct arena_info *arena, u32 lane,
370 ns_off = arena->logoff + (lane * LOG_GRP_SIZE) +
382 static int btt_flog_write(struct arena_info *arena, u32 lane, u32 sub,
387 ret = __btt_log_write(arena, lane, sub, ent, NVDIMM_IO_ATOMIC);
392 arena->freelist[lane].sub = 1 - arena->freelist[lane].sub;
393 if (++(arena->freelist[lane].seq) == 4)
394 arena->freelist[lane].seq = 1;
396 arena->freelist[lane].has_err = 1;
397 arena->freelist[lane].block = ent_lba(le32_to_cpu(ent->old_map));
505 static int arena_clear_freelist_error(struct arena_info *arena, u32 lane)
509 if (arena->freelist[lane].has_err) {
511 u32 lba = arena->freelist[lane].block;
527 arena->freelist[lane].has_err = 0;
672 * lane never got used and it is still
1202 u32 lane = 0, premap, postmap;
1207 lane = nd_region_acquire_lane(btt->nd_region);
1239 arena->rtt[lane] = RTT_VALID | postmap;
1276 arena->rtt[lane] = RTT_INVALID;
1277 nd_region_release_lane(btt->nd_region, lane);
1287 arena->rtt[lane] = RTT_INVALID;
1289 nd_region_release_lane(btt->nd_region, lane);
1314 u32 premap = 0, old_postmap, new_postmap, lane = 0, i;
1323 lane = nd_region_acquire_lane(btt->nd_region);
1335 if (btt_is_badblock(btt, arena, arena->freelist[lane].block))
1336 arena->freelist[lane].has_err = 1;
1339 || arena->freelist[lane].has_err) {
1340 nd_region_release_lane(btt->nd_region, lane);
1342 ret = arena_clear_freelist_error(arena, lane);
1346 /* OK to acquire a different lane/free block */
1350 new_postmap = arena->freelist[lane].block;
1389 log.seq = cpu_to_le32(arena->freelist[lane].seq);
1390 sub = arena->freelist[lane].sub;
1391 ret = btt_flog_write(arena, lane, sub, &log);
1401 nd_region_release_lane(btt->nd_region, lane);
1404 ret = arena_clear_freelist_error(arena, lane);
1419 nd_region_release_lane(btt->nd_region, lane);