Hi all, I am trying to find out how the generic IDE driver works. Does it use the libata api? I followed the code path and found out that the Block subsystem calls do_hd_request() in file drivers/ide/legacy/hd.c function when read/write is needed to be done. it then calls hd_request. which finds out the type of request. if it is write operation it calls hd_out which issues ATA command 0x30 (READ SECTORS). is it correct? where is the DMA involved? -- --------------------------------------------------------------- regards Manish Regmi --------------------------------------------------------------- UNIX without a C Compiler is like eating Spaghetti with your mouth sewn shut. It just doesn't make sense. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/