Lines Matching +full:bit +full:- +full:manipulation
1 /* SPDX-License-Identifier: GPL-2.0 */
32 struct cfi_private *cfi = map->fldrv_priv; in fwh_xxlock_oneblock()
37 if (chip->start < 0x400000) { in fwh_xxlock_oneblock()
38 pr_debug( "MTD %s(): chip->start: %lx wanted >= 0x400000\n", in fwh_xxlock_oneblock()
39 __func__, chip->start ); in fwh_xxlock_oneblock()
40 return -EIO; in fwh_xxlock_oneblock()
44 * - on 64k boundariesand in fwh_xxlock_oneblock()
45 * - bit 1 set high in fwh_xxlock_oneblock()
46 * - block lock registers are 4MiB lower - overflow subtract (danger) in fwh_xxlock_oneblock()
48 * The address manipulation is first done on the logical address in fwh_xxlock_oneblock()
54 adr += chip->start - 0x400000; in fwh_xxlock_oneblock()
58 * to flash memory - that means that we don't have to check status in fwh_xxlock_oneblock()
61 mutex_lock(&chip->mutex); in fwh_xxlock_oneblock()
64 mutex_unlock(&chip->mutex); in fwh_xxlock_oneblock()
68 chip->oldstate = chip->state; in fwh_xxlock_oneblock()
69 chip->state = xxlt->state; in fwh_xxlock_oneblock()
70 map_write(map, CMD(xxlt->val), adr); in fwh_xxlock_oneblock()
73 chip->state = chip->oldstate; in fwh_xxlock_oneblock()
75 mutex_unlock(&chip->mutex); in fwh_xxlock_oneblock()
105 mtd->_lock = fwh_lock_varsize; in fixup_use_fwh_lock()
106 mtd->_unlock = fwh_unlock_varsize; in fixup_use_fwh_lock()