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()
2203 /* do not cross chip boundary */ in onenand_multiblock_erase()
2364 /* Start address within region must align on block boundary. in onenand_erase()
2371 /* Start address must align on block boundary */ in onenand_erase()
2377 /* Length must align on block boundary */ in onenand_erase()
3061 /* Check User/Factory boundary */ in onenand_otp_walk()
3392 * flexonenand_get_boundary - Reads the SLC boundary
3417 this->boundary[die] = bdry & FLEXONENAND_PI_MASK; in flexonenand_get_boundary()
3422 printk(KERN_INFO "Die %d boundary: %d%s\n", die, in flexonenand_get_boundary()
3423 this->boundary[die], locked ? "(Locked)" : "(Unlocked)"); in flexonenand_get_boundary()
3433 * boundary[], diesize[], mtd->size, mtd->erasesize
3451 /* This fills up the device boundary */ in flexonenand_get_size()
3456 if (!die || this->boundary[die-1] != maxbdry) { in flexonenand_get_size()
3461 this->boundary[die] + 1; in flexonenand_get_size()
3467 this->boundary[die] + 1; in flexonenand_get_size()
3468 ofs += (this->boundary[die] + 1) << (eraseshift - 1); in flexonenand_get_size()
3470 if (this->boundary[die] != maxbdry) { in flexonenand_get_size()
3475 this->boundary[die]; in flexonenand_get_size()
3497 this->diesize[die] -= (loff_t)(this->boundary[die] + 1) in flexonenand_get_size()
3561 * flexonenand_set_boundary - Writes the SLC boundary
3564 int boundary, int lock) in flexonenand_set_boundary() argument
3574 /* boundary value of -1 indicates no required change */ in flexonenand_set_boundary()
3575 if (boundary < 0 || boundary == this->boundary[die]) in flexonenand_set_boundary()
3582 if (boundary >= blksperdie) { in flexonenand_set_boundary()
3583 printk(KERN_ERR "%s: Invalid boundary value. " in flexonenand_set_boundary()
3584 "Boundary not changed.\n", __func__); in flexonenand_set_boundary()
3589 old = this->boundary[die] + (die * this->density_mask); in flexonenand_set_boundary()
3590 new = boundary + (die * this->density_mask); in flexonenand_set_boundary()
3594 "before boundary change\n", __func__); in flexonenand_set_boundary()
3601 /* Check is boundary is locked */ in flexonenand_set_boundary()
3607 printk(KERN_ERR "%s: boundary locked\n", __func__); in flexonenand_set_boundary()
3612 printk(KERN_INFO "Changing die %d boundary: %d%s\n", in flexonenand_set_boundary()
3613 die, boundary, lock ? "(Locked)" : "(Unlocked)"); in flexonenand_set_boundary()
3617 boundary &= FLEXONENAND_PI_MASK; in flexonenand_set_boundary()
3618 boundary |= lock ? 0 : (3 << FLEXONENAND_PI_UNLOCK_SHIFT); in flexonenand_set_boundary()
3628 this->write_word(boundary, this->base + ONENAND_DATARAM); in flexonenand_set_boundary()
3643 /* Recalculate device size on boundary change*/ in flexonenand_set_boundary()