Lines Matching refs:lane

206 static int btt_log_group_read(struct arena_info *arena, u32 lane,  in btt_log_group_read()  argument
210 arena->logoff + (lane * LOG_GRP_SIZE), log, in btt_log_group_read()
327 static int btt_log_read(struct arena_info *arena, u32 lane, in btt_log_read() argument
334 ret = btt_log_group_read(arena, lane, &log); in btt_log_read()
342 old_ent, lane, log.ent[arena->log_index[0]].seq, in btt_log_read()
361 static int __btt_log_write(struct arena_info *arena, u32 lane, in __btt_log_write() argument
370 ns_off = arena->logoff + (lane * LOG_GRP_SIZE) + in __btt_log_write()
382 static int btt_flog_write(struct arena_info *arena, u32 lane, u32 sub, in btt_flog_write() argument
387 ret = __btt_log_write(arena, lane, sub, ent, NVDIMM_IO_ATOMIC); in btt_flog_write()
392 arena->freelist[lane].sub = 1 - arena->freelist[lane].sub; in btt_flog_write()
393 if (++(arena->freelist[lane].seq) == 4) in btt_flog_write()
394 arena->freelist[lane].seq = 1; in btt_flog_write()
396 arena->freelist[lane].has_err = 1; in btt_flog_write()
397 arena->freelist[lane].block = ent_lba(le32_to_cpu(ent->old_map)); in btt_flog_write()
505 static int arena_clear_freelist_error(struct arena_info *arena, u32 lane) in arena_clear_freelist_error() argument
509 if (arena->freelist[lane].has_err) { in arena_clear_freelist_error()
511 u32 lba = arena->freelist[lane].block; in arena_clear_freelist_error()
527 arena->freelist[lane].has_err = 0; in arena_clear_freelist_error()
1202 u32 lane = 0, premap, postmap; in btt_read_pg() local
1207 lane = nd_region_acquire_lane(btt->nd_region); in btt_read_pg()
1239 arena->rtt[lane] = RTT_VALID | postmap; in btt_read_pg()
1276 arena->rtt[lane] = RTT_INVALID; in btt_read_pg()
1277 nd_region_release_lane(btt->nd_region, lane); in btt_read_pg()
1287 arena->rtt[lane] = RTT_INVALID; in btt_read_pg()
1289 nd_region_release_lane(btt->nd_region, lane); in btt_read_pg()
1314 u32 premap = 0, old_postmap, new_postmap, lane = 0, i; in btt_write_pg() local
1323 lane = nd_region_acquire_lane(btt->nd_region); in btt_write_pg()
1335 if (btt_is_badblock(btt, arena, arena->freelist[lane].block)) in btt_write_pg()
1336 arena->freelist[lane].has_err = 1; in btt_write_pg()
1339 || arena->freelist[lane].has_err) { in btt_write_pg()
1340 nd_region_release_lane(btt->nd_region, lane); in btt_write_pg()
1342 ret = arena_clear_freelist_error(arena, lane); in btt_write_pg()
1350 new_postmap = arena->freelist[lane].block; in btt_write_pg()
1389 log.seq = cpu_to_le32(arena->freelist[lane].seq); in btt_write_pg()
1390 sub = arena->freelist[lane].sub; in btt_write_pg()
1391 ret = btt_flog_write(arena, lane, sub, &log); in btt_write_pg()
1401 nd_region_release_lane(btt->nd_region, lane); in btt_write_pg()
1404 ret = arena_clear_freelist_error(arena, lane); in btt_write_pg()
1419 nd_region_release_lane(btt->nd_region, lane); in btt_write_pg()