<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/mtd/chips/cfi_cmdset_0002.c, branch next</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=next</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=next'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2014-03-11T05:42:25+00:00</updated>
<entry>
<title>mtd: cfi: Remove unnecessary OOM messages</title>
<updated>2014-03-11T05:42:25+00:00</updated>
<author>
<name>Jingoo Han</name>
<email>jg1.han@samsung.com</email>
</author>
<published>2014-02-06T06:19:35+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5c8b1fbb2e1bfaffbaf9b8d8c47bb65470787de6'/>
<id>urn:sha1:5c8b1fbb2e1bfaffbaf9b8d8c47bb65470787de6</id>
<content type='text'>
The site-specific OOM messages are unnecessary, because they
duplicate the MM subsystem generic OOM message.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: delete non-required instances of include &lt;linux/init.h&gt;</title>
<updated>2014-03-11T05:42:22+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2014-01-21T21:22:52+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=3ea5b037e750274659648b58fb97426566a90373'/>
<id>urn:sha1:3ea5b037e750274659648b58fb97426566a90373</id>
<content type='text'>
None of these files are actually using any __init type directives
and hence don't need to include &lt;linux/init.h&gt;.  Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.

Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Brian Norris &lt;computersforpeace@gmail.com&gt;
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
[Brian: dropped one incorrect hunk]
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: cfi_cmdset_0002: print @adr when write timeout occurs</title>
<updated>2013-08-05T18:00:34+00:00</updated>
<author>
<name>Huang Shijie</name>
<email>b32955@freescale.com</email>
</author>
<published>2013-04-01T09:40:18+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=25983b183235ab84d8c5550eae75d0d5006828d0'/>
<id>urn:sha1:25983b183235ab84d8c5550eae75d0d5006828d0</id>
<content type='text'>
Print out the @adr when the write timeout occurs.
This is useful to check if the write timeouts occur at the
same address.

Signed-off-by: Huang Shijie &lt;b32955@freescale.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking</title>
<updated>2013-02-04T07:27:33+00:00</updated>
<author>
<name>Stefan Roese</name>
<email>sr@denx.de</email>
</author>
<published>2013-01-18T12:10:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1648eaaa1575ea686acb82fb8cb3d8839764ef2c'/>
<id>urn:sha1:1648eaaa1575ea686acb82fb8cb3d8839764ef2c</id>
<content type='text'>
Currently cfi_cmdset_0002.c does not support PPB locking of sectors. This
patch adds support for this locking/unlocking mechanism. It is needed on
some platforms, since newer U-Boot versions do support this PPB locking
and protect for example their environment sector(s) this way.

This PPB locking/unlocking will be enabled for all devices supported by
cfi_cmdset_0002 reporting 8 in the CFI word 0x49 (Sector Protect/Unprotect
scheme).

Please note that PPB locking does support sector-by-sector locking. But
the whole chip can only be unlocked together. So unlocking one sector
will automatically unlock all sectors of this device. Because of this
chip limitation, the PPB unlocking function saves the current locking
status of all sectors before unlocking the whole device. After unlocking
the saved locking status is re-configured. This way only the addressed
sectors will be unlocked.

To selectively enable this advanced sector protection mechanism, the
device-tree property "use-advanced-sector-protection" has been created.
To enable support for this locking this property needs to be present in the
flash DT node. E.g.:

nor_flash@0,0 {
	compatible = "amd,s29gl256n", "cfi-flash";
	bank-width = &lt;2&gt;;
	use-advanced-sector-protection;
	...

Tested with Spansion S29GL512S10THI and Micron JS28F512M29EWx flash
devices.

Signed-off-by: Stefan Roese &lt;sr@denx.de&gt;
Tested-by: Holger Brunck &lt;holger.brunck@keymile.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c</title>
<updated>2012-12-03T14:36:52+00:00</updated>
<author>
<name>Harald Nordgard-Hansen</name>
<email>hhansen@pvv.org</email>
</author>
<published>2012-11-23T22:11:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=070c32223ae8a724a190ea769104ea41567e3673'/>
<id>urn:sha1:070c32223ae8a724a190ea769104ea41567e3673</id>
<content type='text'>
When working on a problem with some flash chips that lock up during
write-buffer operations, I think there may be a bug in the linux
handling of chips using cfi_cmdset_0002.c.

The datasheets I have found for a number of these chips all specify that
when aborting a write-buffer command, it is not enough to use the
standard reset.  Rather a "write-to-buffer-reset command" is needed.
This command is quite similar for all chips, the main variance seem to
be if the final 0xF0 can go to any address or must go to addr_unlock1.

The bug is then in the recovery handling when timing out at the end of
do_write_buffer, where using the normal reset command is not sufficient.

Without this change, if the write-buffer command fails then any
following operations on the flash also fail.

Signed-off-by: Harald Nordgard-Hansen &lt;hhansen@pvv.org&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: cfi_cmdset_0002: Micron M29EW bugfixes as per TN-13-07</title>
<updated>2012-07-16T20:37:15+00:00</updated>
<author>
<name>Gerlando Falauto</name>
<email>gerlando.falauto@keymile.com</email>
</author>
<published>2012-07-03T07:09:47+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=420962884379bd434a7f643d0936281b2ab4b30c'/>
<id>urn:sha1:420962884379bd434a7f643d0936281b2ab4b30c</id>
<content type='text'>
Fix the following issues with Micron's (formerly Numonyx)
M29EW NOR flash chips, as documented on TN-13-07:
- Correcting Erase Suspend Hang Ups (page 20)
- Resolving the Delay After Resume Issue (page 22)

Signed-off-by: Gerlando Falauto &lt;gerlando.falauto@keymile.com&gt;
Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: cfi_cmdset_0002: Slight cleanup of fixup messages</title>
<updated>2012-05-14T04:34:36+00:00</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2012-05-14T04:34:24+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5df41de5870e2184e75a8cb133ca81888006f097'/>
<id>urn:sha1:5df41de5870e2184e75a8cb133ca81888006f097</id>
<content type='text'>
These should be semicolons, not commas.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: add fixup for S29NS512P NOR flash.</title>
<updated>2012-05-14T04:33:05+00:00</updated>
<author>
<name>Javier Martin</name>
<email>javier.martin@vista-silicon.com</email>
</author>
<published>2012-05-11T10:15:41+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=43dc03c7ba644620283523b7ae62da94bb81fdbb'/>
<id>urn:sha1:43dc03c7ba644620283523b7ae62da94bb81fdbb</id>
<content type='text'>
Spansion S29NS512P flash uses a 16bit transfer to report number
of sectors instead of two 8bit accesses as CFI specifies.

Artem: remove warning message which said that we are applying the
fixup - no need to scary the user unnecessarily.

Signed-off-by: Javier Martin &lt;javier.martin@vista-silicon.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: chips: cfi_cmdset_0002: Match ENABLE_VPP()/DISABLE_VPP() calls</title>
<updated>2012-03-26T23:52:23+00:00</updated>
<author>
<name>Paul Parsons</name>
<email>lost.distance@yahoo.com</email>
</author>
<published>2012-03-07T14:11:16+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e7d9377e0440c25805dcc5b0af189a87beb69f5e'/>
<id>urn:sha1:e7d9377e0440c25805dcc5b0af189a87beb69f5e</id>
<content type='text'>
This patch is part of a set which fixes unnecessary flash erase and write errors
resulting from the MTD CFI driver turning off vpp while an erase is in progress.
This patch ensures that only those flash operations which call ENABLE_VPP() can
then call DISABLE_VPP(). Other operations should never call DISABLE_VPP().

Signed-off-by: Paul Parsons &lt;lost.distance@yahoo.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>mtd: move zero length verification to MTD API functions</title>
<updated>2012-03-26T23:32:19+00:00</updated>
<author>
<name>Artem Bityutskiy</name>
<email>artem.bityutskiy@linux.intel.com</email>
</author>
<published>2012-02-06T11:27:43+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bcb1d238716d138c9e16347fc32b3c1ae006339e'/>
<id>urn:sha1:bcb1d238716d138c9e16347fc32b3c1ae006339e</id>
<content type='text'>
In many places in drivers we verify for the zero length, but this is very
inconsistent across drivers. This is obviously the right thing to do, though.
This patch moves the check to the MTD API functions instead and removes a lot
of duplication.

Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Reviewed-by: Shmulik Ladkani &lt;shmulik.ladkani@gmail.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
</feed>
