<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/linux/mtd/nand.h, branch linux-5.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.10.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.10.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2020-09-28T13:59:48Z</updated>
<entry>
<title>mtd: nand: Use the new generic ECC object</title>
<updated>2020-09-28T13:59:48Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-08-27T08:52:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=93ef92f6f42275e3d6070b1c5020bfca0e614fff'/>
<id>urn:sha1:93ef92f6f42275e3d6070b1c5020bfca0e614fff</id>
<content type='text'>
Embed a generic NAND ECC high-level object in the nand_device
structure to carry all the ECC engine configuration/data.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-16-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: Create helpers to set/extract the ECC requirements</title>
<updated>2020-09-28T13:59:48Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-08-27T08:52:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3316c8e3ad1fcaeefd4ffa93587dd78fb24e8afa'/>
<id>urn:sha1:3316c8e3ad1fcaeefd4ffa93587dd78fb24e8afa</id>
<content type='text'>
Despite its current name, the eccreq field actually encodes both the
NAND requirements and the final ECC configuration. That works fine when
using on-die ECC since those 2 concepts match perfectly, but it starts
being a problem as soon as we use on-host ECC engines, where we're not
guaranteed to have a perfect match.

Let's hide the ECC requirements access behind helpers so we can later
split those 2 concepts. As the structures have not been clarified yet,
these helpers access the same internal variable as
nanddev_get_ecc_conf() for now.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-14-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: Create a helper to extract the ECC configuration</title>
<updated>2020-09-28T13:59:48Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-08-27T08:51:59Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d193792a26c216cb7db3cf12300c9414990fa603'/>
<id>urn:sha1:d193792a26c216cb7db3cf12300c9414990fa603</id>
<content type='text'>
Despite its current name, the eccreq field actually encodes both the
NAND requirements and the final ECC configuration. That works fine when
using on-die ECC since those 2 concepts match perfectly, but it starts
being a problem as soon as we use on-host ECC engines, where we're not
guaranteed to have a perfect match.

Let's hide the ECC configuration access behind a helper so we can later
split those 2 concepts.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-12-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: Introduce the ECC engine framework</title>
<updated>2020-09-02T07:28:15Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-08-27T08:51:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a8c7ffdb5fdde3a57c0b654f66f4d81325abe69f'/>
<id>urn:sha1:a8c7ffdb5fdde3a57c0b654f66f4d81325abe69f</id>
<content type='text'>
Create a generic ECC engine framework. This is a base to instantiate ECC
engine objects.

If we really want to be generic, bindings must evolve, so here is the
new logic. The following three properties are mutually exclusive:
- The nand-no-ecc-engine boolean property is set and there is no
  ECC engine to retrieve.
- The nand-use-soft-ecc-engine boolean property is set and the core
  will force using the use of software correction.
- There is a nand-ecc-engine property pointing at a node which will
  act as ECC engine.

It the later case, the property may reference:
- The NAND chip node itself (for the on-die ECC case).
- The parent node if the NAND controller embeds an ECC engine.
- Any other node being an external ECC controller as well.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-9-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: Add a NAND page I/O request type</title>
<updated>2020-08-27T08:56:02Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-08-27T08:51:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=701981cab01696584a12e5f0e7c2ad931a326059'/>
<id>urn:sha1:701981cab01696584a12e5f0e7c2ad931a326059</id>
<content type='text'>
Use an enum to differentiate the type of I/O (reading or writing a
page). Also update the request iterator.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-5-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: rawnand: Move the nand_ecc_algo enum to the generic NAND layer</title>
<updated>2020-08-27T08:56:00Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-08-27T08:51:51Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f2f64c1e924131878179da64794d9cb18ee5c827'/>
<id>urn:sha1:f2f64c1e924131878179da64794d9cb18ee5c827</id>
<content type='text'>
This enumeration is generic and will be reused NAND-wide.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-4-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: Rename a core structure</title>
<updated>2020-06-26T06:35:04Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-05-29T00:25:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=85f54c5588885cc3b5be4a07498dd0755de9f5cf'/>
<id>urn:sha1:85f54c5588885cc3b5be4a07498dd0755de9f5cf</id>
<content type='text'>
Prepare the migration to a generic ECC engine by renaming the
nand_ecc_req structure into nand_ecc_props. This structure will be the
base of a wider 'nand_ecc' structure.

In nand_device, these properties are still named "eccreq" even if
"eccprops" might be more descriptive. This is just a transition step,
this field is being replaced very soon by a much wider structure. The
impact of renaming this field would be huge compared to its interest.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200529002517.3546-14-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: Move nand_device forward declaration to the top</title>
<updated>2020-06-26T06:35:03Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2020-05-29T00:25:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=33d226f504ed72cba3a2b42bbe2a993b3d6d9548'/>
<id>urn:sha1:33d226f504ed72cba3a2b42bbe2a993b3d6d9548</id>
<content type='text'>
This structure might be used earlier in this file, let's move the
forward declaration at the top.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Link: https://lore.kernel.org/linux-mtd/20200529002517.3546-10-miquel.raynal@bootlin.com
</content>
</entry>
<entry>
<title>mtd: nand: fix typo, s/erasablocks/eraseblocks</title>
<updated>2019-08-26T07:25:41Z</updated>
<author>
<name>Tudor Ambarus</name>
<email>tudor.ambarus@microchip.com</email>
</author>
<published>2019-08-23T15:39:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0c43125f2778dddb469036caaa14533846ce40bd'/>
<id>urn:sha1:0c43125f2778dddb469036caaa14533846ce40bd</id>
<content type='text'>
Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
</content>
</entry>
<entry>
<title>mtd: nand: Add a helper to retrieve the number of pages per target</title>
<updated>2019-04-08T08:21:09Z</updated>
<author>
<name>Boris Brezillon</name>
<email>bbrezillon@kernel.org</email>
</author>
<published>2018-10-29T16:18:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=46b01d7efda29356d4dff88825e5ef51dd9f6bae'/>
<id>urn:sha1:46b01d7efda29356d4dff88825e5ef51dd9f6bae</id>
<content type='text'>
Will be used by the raw NAND framework.

Signed-off-by: Boris Brezillon &lt;bbrezillon@kernel.org&gt;
Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Frieder Schrempf &lt;frieder.schrempf@kontron.de&gt;
</content>
</entry>
</feed>
