On Sat, Apr 16, 2011 at 1:25 AM, Nath, Arindam <Arindam.Nath@xxxxxxx> wrote: > Hi Subhash, > Please keep in mind that my patch _only_ adds support for Auto CMD23, and not CMD23. CMD23 support can be made part of block layer, but Auto CMD23 is a feature as per the Host Controller Spec v3.00. So my patch takes care of the second case. All Auto CMD23 means is that the host sends the command automatically, instead of having some code do it manually. Auto CMD23 makes no sense if the block layer doesn't want or need CMD23. Let me explain: 1) Not all cards support CMD23 2) Not all cards that do support CMD23 want to use it for regular multiblock transfers for performance reasons 3) If you disregard my current patch set, then your changes, if ever enabled for MMCs, will actually break reliable writes because current block code sent CMD23 manually (but the CMD23 support patch set fixed that) That means you can't just enable it in the host just because you feel like it. Your current host changes make the host aware of the card capabilities, and then force policy. This violates layering and makes everything an unmaintainable mess. Given the existing work for plumbing normal CMD23 support, you should take advantage of that. Your current patch does not integrate well with it, and I've tried to make it specifically very easy to enable enhancements like Auto-CMD23. Let me help you out: 1) If you have mmc_request->sbc - then you should set your Auto-CMD23 flag and not send mmc_request->sbc. 2) You can forget your "save stop command". The current code should function correctly as long as you can detect the error condition as set data->error appropriately. But of course, feel free to change it if you see fit. Right now the stop command is only sent if - a) No mmc_request->sbc so this must have been an open-ended multiblock transfer b) An error condition detected in data transfer, so the stop must be sent anyway Anyway I'm at your disposal to answer your questions and make sure you can implement AutoCMD23 support on top of existing MMC subsystem changes. A -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html