On Tue, Apr 28, 2015 at 8:52 AM, Brian Norris <computersforpe...@gmail.com> wrote: > On Tue, Apr 28, 2015 at 08:18:12AM +0530, punnaiah choudary kalluri wrote: >> On Tue, Apr 28, 2015 at 4:53 AM, Brian Norris >> <computersforpe...@gmail.com> wrote: >> > On Tue, Apr 28, 2015 at 12:19:16AM +0200, Richard Weinberger wrote: >> >> Oh, I thought every driver has to implement that function. ;-\ >> > >> > Nope. >> > >> >> But you're right there is a corner case. >> > >> > And it's not the only one! Right now, there's no guarantee even that >> > read_buf() returns raw data, unmodified by the SoC's controller. Plenty >> > of drivers actually have HW-enabled ECC turned on by default, and so >> > they override the chip->ecc.read_page() (and sometimes >> > chip->ecc.read_page_raw() functions, if we're lucky) with something >> > that pokes the appropriate hardware instead. I expect anything >> > comprehensive here is probably going to have to utilize >> > chip->ecc.read_page_raw(), at least if it's provided by the hardware >> > driver. >> >> Yes, overriding the chip->ecc.read_page_raw would solve this. > > I'm actually suggesting that (in this patch set, for on-die ECC > support), maybe we *shouldn't* override chip->ecc.read_page_raw() and > leave that to be defined by the driver, and then on-die ECC support > should be added in a way that just calls chip->ecc.read_page_raw(). This > should work for any driver that already properly supports the raw > callbacks.
Ok. Understood. > >> Agree that >> read_buf need not be returning raw data always including my new driver for >> arasan nand flash controller. > > I agree with that. At the moment, chip->read_buf() really has very > driver-specific meaning. Not sure if that's really a good thing, but > it's the way things are... > >> http://lkml.iu.edu/hypermail/linux/kernel/1504.2/00313.html > > In the half a minute I just spent looking at this (I may review it > properly later), I noted a few things: > > 1. you don't implement ecc.read_page_raw(); this means we'll probably > have trouble supporting on-die ECC with your driver, among other things On-die ECC is optional as long as the controller has better ecc coverage. The arasan controller supports up to 24 bit ecc. There is no point to use on-die ECC and will always use hw ecc even for On-die ecc devices. This version of driver will not have the support for ecc.read_page_raw but I will add based on the need in future. > > 2. your patch is all white-space mangled. Please use your favorite > search engine to figure out how to get that right. git-send-email is > your friend. Oh sorry. Looks that was the web link issue. Here is the new one. https://lkml.org/lkml/2015/4/16/311 Also request your time for reviewing this driver. Thanks, Punnaiah > > Thanks, > Brian > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/