1List of TODOs : 2------------- 31) The Amlogic controller is capable of irq driven writes and erases, 4however this is not well documented (need to discuss with Cheng on the 5specifics on how to do that). The controller driver uses polling with 6usleep() for write and erase completions. irq driven completions 7should be a measurable win. 82) Eliminate copy in read/write. Right now, the DMA is done to/from a 9buffer inside the amlogic controller driver, and then the data is 10copied to/from the supplied vmo. DMA'ing directly to the mapped vmo 11address needs to be investigated and done. 123) Eliminate some wasteful usleep()s in the command/status code in the 13driver. 144) We really only want to support read/write data+oob in one IO 15support in the NAND protocol (it is not possible to write data and oob 16separately to a page). We should eliminate the other read/write 17variants (and all the code to support that). 18 19Running the NAND unit test : 20-------------------------- 21The NAND unit test depends on ability to create files in /tmp. The 22following patch is needed to be able to do this. 23 24diff --git a/system/core/devmgr/devmgr-coordinator.c 25b/system/core/devmgr/devmgr-coordinator.c 26index ec0c1aa12..ece7018fc 100644 27--- a/system/core/devmgr/devmgr-coordinator.c 28+++ b/system/core/devmgr/devmgr-coordinator.c 29@@ -585,7 +585,7 @@ static zx_status_t dc_launch_devhost(devhost_t* 30host, 31 // Inherit devmgr's environment (including kernel cmdline) 32 launchpad_clone(lp, LP_CLONE_ENVIRON); 33 34- const char* nametable[2] = { "/boot", "/svc", }; 35+ const char* nametable[3] = { "/boot", "/svc", "/tmp"}; 36 size_t name_count = 0; 37 38 //TODO: eventually devhosts should not have vfs access 39 @@ -597,6 +597,10 @@ static zx_status_t 40 dc_launch_devhost(devhost_t* host, 41 launchpad_add_handle(lp, h, PA_HND(PA_NS_DIR, 42 name_count++)); 43 } 44 45+ if ((h = fs_clone("tmp")) != ZX_HANDLE_INVALID) { 46+ launchpad_add_handle(lp, h, PA_HND(PA_NS_DIR, name_count++)); 47+ } 48+ 49 launchpad_set_nametable(lp, name_count, nametable); 50 51 //TODO: limit root job access to root devhost only 52