Subversion Repositories freemyipod

Rev

Rev 224 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 224 Rev 249
Line 344... Line 344...
344
    sleep(50000);
344
    sleep(50000);
345
    nand_last_activity_value = USEC_TIMER;
345
    nand_last_activity_value = USEC_TIMER;
346
    for (i = 0; i < 4; i++)
346
    for (i = 0; i < 4; i++)
347
        if (nand_type[i] >= 0)
347
        if (nand_type[i] >= 0)
348
            if (nand_reset(i))
348
            if (nand_reset(i))
349
				panicf(PANIC_FATAL, "nand_power_up: nand_reset(bank=%d) failed.", (unsigned int)i);
349
				panicf(PANIC_KILLTHREAD, "nand_power_up: nand_reset(bank=%d) failed.", (unsigned int)i);
350
    nand_powered = 1;
350
    nand_powered = 1;
351
    nand_last_activity_value = USEC_TIMER;
351
    nand_last_activity_value = USEC_TIMER;
352
    mutex_unlock(&nand_mtx);
352
    mutex_unlock(&nand_mtx);
353
}
353
}
354
 
354
 
Line 380... Line 380...
380
#endif
380
#endif
381
    uint8_t* data = (uint8_t*)databuffer;
381
    uint8_t* data = (uint8_t*)databuffer;
382
    uint8_t* spare = nand_spare;
382
    uint8_t* spare = nand_spare;
383
    if (sparebuffer) spare = (uint8_t*)sparebuffer;
383
    if (sparebuffer) spare = (uint8_t*)sparebuffer;
384
	if ((uint32_t)databuffer & (CACHEALIGN_SIZE - 1))
384
	if ((uint32_t)databuffer & (CACHEALIGN_SIZE - 1))
385
		panicf(PANIC_KILLUSERTHREADS,
385
		panicf(PANIC_KILLTHREAD,
386
	           "nand_read_page: Misaligned data buffer at %08X (bank %lu, page %lu)",
386
	           "nand_read_page: Misaligned data buffer at %08X (bank %lu, page %lu)",
387
			   (unsigned int)databuffer, bank, page);
387
			   (unsigned int)databuffer, bank, page);
388
	if ((uint32_t)sparebuffer & (CACHEALIGN_SIZE - 1))
388
	if ((uint32_t)sparebuffer & (CACHEALIGN_SIZE - 1))
389
		panicf(PANIC_KILLUSERTHREADS,
389
		panicf(PANIC_KILLTHREAD,
390
	           "nand_read_page: Misaligned spare buffer at %08X (bank %lu, page %lu)",
390
	           "nand_read_page: Misaligned spare buffer at %08X (bank %lu, page %lu)",
391
			   (unsigned int)sparebuffer, bank, page);
391
			   (unsigned int)sparebuffer, bank, page);
392
    mutex_lock(&nand_mtx, TIMEOUT_BLOCK);
392
    mutex_lock(&nand_mtx, TIMEOUT_BLOCK);
393
    nand_last_activity_value = USEC_TIMER;
393
    nand_last_activity_value = USEC_TIMER;
394
    if (!nand_powered) nand_power_up();
394
    if (!nand_powered) nand_power_up();
Line 465... Line 465...
465
#endif
465
#endif
466
    uint8_t* data = (uint8_t*)databuffer;
466
    uint8_t* data = (uint8_t*)databuffer;
467
    uint8_t* spare = nand_spare;
467
    uint8_t* spare = nand_spare;
468
    if (sparebuffer) spare = (uint8_t*)sparebuffer;
468
    if (sparebuffer) spare = (uint8_t*)sparebuffer;
469
	if ((uint32_t)databuffer & 0xf)
469
	if ((uint32_t)databuffer & 0xf)
470
		panicf(PANIC_KILLUSERTHREADS,
470
		panicf(PANIC_KILLTHREAD,
471
	           "nand_write_page: Misaligned data buffer at %08X (bank %lu, page %lu)",
471
	           "nand_write_page: Misaligned data buffer at %08X (bank %lu, page %lu)",
472
			   (unsigned int)databuffer, bank, page);
472
			   (unsigned int)databuffer, bank, page);
473
	if ((uint32_t)sparebuffer & 0xf)
473
	if ((uint32_t)sparebuffer & 0xf)
474
		panicf(PANIC_KILLUSERTHREADS,
474
		panicf(PANIC_KILLTHREAD,
475
	           "nand_write_page: Misaligned spare buffer at %08X (bank %lu, page %lu)",
475
	           "nand_write_page: Misaligned spare buffer at %08X (bank %lu, page %lu)",
476
			   (unsigned int)sparebuffer, bank, page);
476
			   (unsigned int)sparebuffer, bank, page);
477
    mutex_lock(&nand_mtx, TIMEOUT_BLOCK);
477
    mutex_lock(&nand_mtx, TIMEOUT_BLOCK);
478
    nand_last_activity_value = USEC_TIMER;
478
    nand_last_activity_value = USEC_TIMER;
479
    if (!nand_powered) nand_power_up();
479
    if (!nand_powered) nand_power_up();