[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OF22C5A579.E2E7676F-ON48258465.002F7F69-48258465.00322849@mxic.com.tw>
Date: Thu, 29 Aug 2019 17:07:51 +0800
From: masonccyang@...c.com.tw
To: "Miquel Raynal" <miquel.raynal@...tlin.com>
Cc: bbrezillon@...nel.org, computersforpeace@...il.com,
dwmw2@...radead.org, frieder.schrempf@...tron.de,
juliensu@...c.com.tw, kstewart@...uxfoundation.org,
linux-kernel@...r.kernel.org, linux-mtd@...ts.infradead.org,
marek.vasut@...il.com, richard@....at, tglx@...utronix.de,
vigneshr@...com
Subject: Re: [PATCH] Add support for Macronix NAND randomizer
Hi Miquel,
> >
> > If subpage write not available with hardware ECC, for example,
> > NAND chip options NAND_NO_SUBPAGE_WRITE be set in driver and
> > randomizer function is recommended for high-reliability.
> > Driver checks byte 167 of Vendor Blocks in ONFI parameter page table
> > to see if this high-reliability function is supported.
> >
>
> You did not flagged this patch as a v2 and forgot about the changelog.
> You did not listen to our comments in the last version neither. I was
> open to a solution with a specific DT property for warned users but I
> don't see it coming.
>
Based on your comments by specific DT property for randomizer support.
to add a new property in children nodes:
i.e,.
nand: nand-controller@...30000 {
nand@0 {
reg = <0>;
nand-reliability = "randomizer";
};
};
file of nand_macronix.c will patch to:
static void macronix_nand_onfi_init(struct nand_chip *chip)
{
struct nand_parameters *p = &chip->parameters;
struct device_node *dn = nand_get_flash_node(chip);
const char *pm;
int rand_enable = 0;
ret = of_property_read_string(dn, "nand-reliability", &pm);
if (!ret) {
if (!strcasecmp(pm, "randomizer"));
rand_enable = 1;
}
mxic = (struct nand_onfi_vendor_macronix *)p->onfi->vendor;
if (rand_enable &&
mxic->reliability_func & MACRONIX_RANDOMIZER_BIT) {
if (p->supports_set_get_features) {
bitmap_set(p->set_feature_list,
ONFI_FEATURE_ADDR_MXIC_RANDOMIZER, 1);
bitmap_set(p->get_feature_list,
ONFI_FEATURE_ADDR_MXIC_RANDOMIZER, 1);
/* set-up chip options with NAND_NO_SUBPAGE_WRITE
*/
chip->options |= NAND_NO_SUBPAGE_WRITE;
macronix_nand_randomizer_check_enable(chip);
}
}
}
something like this,
is it OK ?
thanks & best regards,
Mason
CONFIDENTIALITY NOTE:
This e-mail and any attachments may contain confidential information
and/or personal data, which is protected by applicable laws. Please be
reminded that duplication, disclosure, distribution, or use of this e-mail
(and/or its attachments) or any part thereof is prohibited. If you receive
this e-mail in error, please notify us immediately and delete this mail as
well as its attachment(s) from your system. In addition, please be
informed that collection, processing, and/or use of personal data is
prohibited unless expressly permitted by personal data protection laws.
Thank you for your attention and cooperation.
Macronix International Co., Ltd.
=====================================================================
============================================================================
CONFIDENTIALITY NOTE:
This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation.
Macronix International Co., Ltd.
=====================================================================
Powered by blists - more mailing lists