On Thu, Mar 10, 2011 at 10:05 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > Sorry for repeating myself, but I'm not sure if you didn't understand > me or if I missed your arguments against the more generic approach. > > Instead of encoding specific parameters for this quirk, I would > much prefer to have the values be meaningful, and have the > code deal with the interpretation. > >> @@ -63,6 +63,8 @@ struct mmc_blk_data { >> >> unsigned int usage; >> unsigned int read_only; >> + unsigned int write_align_size; >> + unsigned int write_align_limit; >> }; > > These numbers are generally speaking useless, except for the > one quirk. What I was trying to suggest here is to have > a page_size field that reflects the underlying page size > of the NAND flash, and a flag that says "please split all > requests under 1.5 times the page size along page boundaries". Ah ok, I really did just misinterpret. Sorry. Will refactor. > > We can pre-initialize the page size to some common value > (e.g. 16 KB for 4GB or larger cards, 4 KB for smaller than > 4 GB), and use quirks to override it for cards where we > know it's different. > Even better. We have the "super page size" in the EXT_CSD. For example for Sandisk it's 16KB, Toshiba is reporting 32KB, but we know that's not right... Thanks again, 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