Lines Matching refs:phyblk
755 static int ms_lib_set_logicalpair(struct us_data *us, u16 logblk, u16 phyblk)
759 if ((logblk >= info->MS_Lib.NumberOfLogBlock) || (phyblk >= info->MS_Lib.NumberOfPhyBlock))
762 info->MS_Lib.Phy2LogMap[phyblk] = logblk;
763 info->MS_Lib.Log2PhyMap[logblk] = phyblk;
768 static int ms_lib_set_logicalblockmark(struct us_data *us, u16 phyblk, u16 mark)
772 if (phyblk >= info->MS_Lib.NumberOfPhyBlock)
775 info->MS_Lib.Phy2LogMap[phyblk] = mark;
780 static int ms_lib_set_initialerrorblock(struct us_data *us, u16 phyblk)
782 return ms_lib_set_logicalblockmark(us, phyblk, MS_LB_INITIAL_ERROR);
785 static int ms_lib_set_bootblockmark(struct us_data *us, u16 phyblk)
787 return ms_lib_set_logicalblockmark(us, phyblk, MS_LB_BOOT_BLOCK);
1003 u16 phyblk;
1025 phyblk = be16_to_cpu(*(u16 *)(PageBuffer + (EntryOffset % MS_BYTES_PER_PAGE)));
1026 if (phyblk < 0x0fff)
1027 ms_lib_set_initialerrorblock(us, phyblk);
1135 static int ms_lib_force_setlogical_pair(struct us_data *us, u16 logblk, u16 phyblk)
1143 (phyblk >= info->MS_Lib.NumberOfPhyBlock))
1146 info->MS_Lib.Phy2LogMap[phyblk] = logblk;
1147 info->MS_Lib.Log2PhyMap[logblk] = phyblk;
1243 static int ms_lib_setacquired_errorblock(struct us_data *us, u16 phyblk)
1248 if (phyblk >= info->MS_Lib.NumberOfPhyBlock)
1251 log = info->MS_Lib.Phy2LogMap[phyblk];
1256 if (info->MS_Lib.Phy2LogMap[phyblk] != MS_LB_INITIAL_ERROR)
1257 info->MS_Lib.Phy2LogMap[phyblk] = MS_LB_ACQUIRED_ERROR;
1294 static int ms_lib_error_phyblock(struct us_data *us, u16 phyblk)
1298 if (phyblk >= info->MS_Lib.NumberOfPhyBlock)
1301 ms_lib_setacquired_errorblock(us, phyblk);
1304 return ms_lib_overwrite_extra(us, phyblk, 0, (u8)(~MS_REG_OVR_BKST & BYTE_MASK));
1309 static int ms_lib_erase_phyblock(struct us_data *us, u16 phyblk)
1314 if (phyblk >= info->MS_Lib.NumberOfPhyBlock)
1317 log = info->MS_Lib.Phy2LogMap[phyblk];
1322 info->MS_Lib.Phy2LogMap[phyblk] = MS_LB_NOT_USED;
1325 switch (ms_read_eraseblock(us, phyblk)) {
1327 info->MS_Lib.Phy2LogMap[phyblk] = MS_LB_NOT_USED_ERASED;
1331 ms_lib_error_phyblock(us, phyblk);
1336 ms_lib_setacquired_errorblock(us, phyblk);
1341 ms_lib_setacquired_errorblock(us, phyblk);
1381 static int ms_libsearch_block_from_physical(struct us_data *us, u16 phyblk)
1388 if (phyblk >= info->MS_Lib.NumberOfPhyBlock)
1391 for (blk = phyblk + 1; blk != phyblk; blk++) {
1434 u16 phyblk;
1437 phyblk = ms_libconv_to_physical(info, logblk);
1438 if (phyblk >= MS_LB_ERROR) {
1442 phyblk = (logblk + MS_NUMBER_OF_BOOT_BLOCK) / MS_LOGICAL_BLOCKS_PER_SEGMENT;
1443 phyblk *= MS_PHYSICAL_BLOCKS_PER_SEGMENT;
1444 phyblk += MS_PHYSICAL_BLOCKS_PER_SEGMENT - 1;
1447 return ms_libsearch_block_from_physical(us, phyblk);
1672 u16 phyblk, logblk;
1697 phyblk = ms_libconv_to_physical(info, logblk);
1698 blkno = phyblk * 0x20 + PageNum;