Lines Matching full:boundary

39 /* Default Flex-OneNAND boundary and lock respectively */
43 MODULE_PARM_DESC(flex_bdry, "SLC Boundary information for Flex-OneNAND"
45 "DIE_BDRY: SLC boundary of the die"
46 "LOCK: Locking information for SLC boundary"
47 " : 0->Set boundary in unlocked status"
48 " : 1->Set boundary in locked status");
303 unsigned boundary, blk, die = 0; in flexonenand_block() local
310 boundary = this->boundary[die]; in flexonenand_block()
313 if (blk > boundary) in flexonenand_block()
314 blk = (blk + boundary + 1) >> 1; in flexonenand_block()
337 int die = 0, boundary; in flexonenand_addr() local
345 boundary = this->boundary[die]; in flexonenand_addr()
347 if (block > (boundary + 1)) in flexonenand_addr()
348 ofs += (loff_t)(block - boundary - 1) << (this->erase_shift - 1); in flexonenand_addr()
1226 int ret = 0, boundary = 0; in onenand_read_ops_nolock() local
1270 * Chip boundary handling in DDP in onenand_read_ops_nolock()
1277 boundary = 1; in onenand_read_ops_nolock()
1279 boundary = 0; in onenand_read_ops_nolock()
1304 if (unlikely(boundary)) in onenand_read_ops_nolock()
2194 /* do not cross chip boundary */ in onenand_multiblock_erase()
2355 /* Start address within region must align on block boundary. in onenand_erase()
2362 /* Start address must align on block boundary */ in onenand_erase()
2368 /* Length must align on block boundary */ in onenand_erase()
3053 /* Check User/Factory boundary */ in onenand_otp_walk()
3383 * flexonenand_get_boundary - Reads the SLC boundary
3408 this->boundary[die] = bdry & FLEXONENAND_PI_MASK; in flexonenand_get_boundary()
3413 printk(KERN_INFO "Die %d boundary: %d%s\n", die, in flexonenand_get_boundary()
3414 this->boundary[die], locked ? "(Locked)" : "(Unlocked)"); in flexonenand_get_boundary()
3424 * boundary[], diesize[], mtd->size, mtd->erasesize
3442 /* This fills up the device boundary */ in flexonenand_get_size()
3447 if (!die || this->boundary[die-1] != maxbdry) { in flexonenand_get_size()
3452 this->boundary[die] + 1; in flexonenand_get_size()
3458 this->boundary[die] + 1; in flexonenand_get_size()
3459 ofs += (this->boundary[die] + 1) << (eraseshift - 1); in flexonenand_get_size()
3461 if (this->boundary[die] != maxbdry) { in flexonenand_get_size()
3466 this->boundary[die]; in flexonenand_get_size()
3488 this->diesize[die] -= (loff_t)(this->boundary[die] + 1) in flexonenand_get_size()
3552 * flexonenand_set_boundary - Writes the SLC boundary
3556 int boundary, int lock) in flexonenand_set_boundary() argument
3566 /* boundary value of -1 indicates no required change */ in flexonenand_set_boundary()
3567 if (boundary < 0 || boundary == this->boundary[die]) in flexonenand_set_boundary()
3574 if (boundary >= blksperdie) { in flexonenand_set_boundary()
3575 printk(KERN_ERR "%s: Invalid boundary value. " in flexonenand_set_boundary()
3576 "Boundary not changed.\n", __func__); in flexonenand_set_boundary()
3581 old = this->boundary[die] + (die * this->density_mask); in flexonenand_set_boundary()
3582 new = boundary + (die * this->density_mask); in flexonenand_set_boundary()
3586 "before boundary change\n", __func__); in flexonenand_set_boundary()
3593 /* Check is boundary is locked */ in flexonenand_set_boundary()
3599 printk(KERN_ERR "%s: boundary locked\n", __func__); in flexonenand_set_boundary()
3604 printk(KERN_INFO "Changing die %d boundary: %d%s\n", in flexonenand_set_boundary()
3605 die, boundary, lock ? "(Locked)" : "(Unlocked)"); in flexonenand_set_boundary()
3609 boundary &= FLEXONENAND_PI_MASK; in flexonenand_set_boundary()
3610 boundary |= lock ? 0 : (3 << FLEXONENAND_PI_UNLOCK_SHIFT); in flexonenand_set_boundary()
3620 this->write_word(boundary, this->base + ONENAND_DATARAM); in flexonenand_set_boundary()
3635 /* Recalculate device size on boundary change*/ in flexonenand_set_boundary()