<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/include/linux/mtd/nand-ecc-sw-bch.h, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/include/linux/mtd/nand-ecc-sw-bch.h?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/include/linux/mtd/nand-ecc-sw-bch.h?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2021-03-11T08:37:28Z</updated>
<entry>
<title>mtd: nand: ecc-bch: Use the public nsteps field</title>
<updated>2021-03-11T08:37:28Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2021-01-27T20:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=3e66843c74289b294b91547edd364c5a6fdef45b'/>
<id>urn:sha1:3e66843c74289b294b91547edd364c5a6fdef45b</id>
<content type='text'>
The software BCH ECC engine stores the nsteps variable in its own
private structure while it is also exported as a public ECC field.

Let's get rid of the redundant private one and let's use the
nand_ecc_context structure when possible.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Tested-by: Adam Ford &lt;aford173@gmail.com&gt; #logicpd Torpedo
Link: https://lore.kernel.org/linux-mtd/20210127203020.9574-9-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Create the software BCH engine</title>
<updated>2020-12-10T21:37:26Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=9994bb3f36e3d181d9f0a078609038080cfd7a3d'/>
<id>urn:sha1:9994bb3f36e3d181d9f0a078609038080cfd7a3d</id>
<content type='text'>
Let's continue introducing the generic ECC engine abstraction in the
NAND subsystem by instantiating a first ECC engine: the software
BCH one.

While at it, make a very tidy ecc_sw_bch_init() function and move all
the sanity checks and user input management in
nand_ecc_sw_bch_init_ctx(). This second helper will be called from the
raw RAND core.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-10-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Stop using raw NAND structures</title>
<updated>2020-11-30T08:27:33Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=80fe603160a4732a08f0f08f3e3312a3f3a79eee'/>
<id>urn:sha1:80fe603160a4732a08f0f08f3e3312a3f3a79eee</id>
<content type='text'>
This code is meant to be reused by the SPI-NAND core. Now that the
driver has been cleaned and reorganized, use a generic ECC engine
object to store the driver's data instead of accessing members of the
nand_chip structure.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-9-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Update the prototypes to be more generic</title>
<updated>2020-11-30T08:27:33Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=ea146d7fbf5081b5eb2777df5e30ed70ca68985b'/>
<id>urn:sha1:ea146d7fbf5081b5eb2777df5e30ed70ca68985b</id>
<content type='text'>
These functions must be usable by the main NAND core, so their names
must be technology-agnostic as well as the parameters. Hence, we pass
a generic nand_device instead of a raw nand_chip structure.

As it seems that changing the raw NAND functions to always pass a
generic NAND device is a lost of time, we prefer to create dedicated
raw NAND wrappers that will be useful in the near future to do the
translation.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-8-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Drop mtd_nand_has_bch()</title>
<updated>2020-11-30T08:27:33Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=127aae6077562e3926ebad7c782123c2afe95846'/>
<id>urn:sha1:127aae6077562e3926ebad7c782123c2afe95846</id>
<content type='text'>
Like for any other compilation option, use the IS_ENABLED() macro
instead of hardcoding it.

By droping this helper we can get rid of the BCH header in nandsim.c.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-7-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Return only valid error codes</title>
<updated>2020-11-30T08:27:33Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=e3010bd3ef1eda13f08155fe43846a64d0990a86'/>
<id>urn:sha1:e3010bd3ef1eda13f08155fe43846a64d0990a86</id>
<content type='text'>
When a function is not available, returning -ENOTSUPP makes much more
sense than returning -1.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-6-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Stop exporting the private structure</title>
<updated>2020-11-30T08:27:32Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=3c0fe36abebee55821badaa9d6cecd03799f7843'/>
<id>urn:sha1:3c0fe36abebee55821badaa9d6cecd03799f7843</id>
<content type='text'>
The NAND BCH control structure has nothing to do outside of this
driver, all users of the nand_bch_init/free() functions just save it
to chip-&gt;ecc.priv so do it in this driver directly and return a
regular error code instead.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-5-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: ecc-bch: Move BCH code to the generic NAND layer</title>
<updated>2020-11-30T08:27:32Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-09-29T23:01:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=cdbe8df5e28e452c232c0c16b205edfd390d28e5'/>
<id>urn:sha1:cdbe8df5e28e452c232c0c16b205edfd390d28e5</id>
<content type='text'>
BCH ECC code might be later re-used by the SPI NAND layer.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200929230124.31491-3-miquel.raynal@bootlin.com
</content>
</entry>
</feed>
