public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* RFC: [PATCH V2 0/9 Integration of SmartMedia/xD into mtd subsystem
@ 2010-01-08 15:04 Maxim Levitsky
  2010-01-08 15:05 ` [PATCH 1/9] MTD: call remove notifiers before removing the device Maxim Levitsky
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: Maxim Levitsky @ 2010-01-08 15:04 UTC (permalink / raw)
  To: linux-kernel; +Cc: joern, linux-mtd, Alex Dubov

Hi,

This is second version of my patchset.

Changes since V1:

-> Ported to latest kernel revision (2.6.33-rc3)
-> Resolved problem with oob layout
-> Resoved all checkpatch.pl issues
-> Tested that indeed all hardware devices of this type have
same PCI ID


Remaining issues:

* Write speed is of course still very low, but like I said, it might be
hardware problem.

* No support for 256 byte SmartMedia in the FTL. I don't have the
hardware to test that, and I think for now there is not much need for
that.
(It only applies to 1MB and 2MB SmartMedia devices anyway...)

* Like I said some XD cards are fake, thus have to be used with the FTL,
This is a hardware problem too.
If I knew which xD cards are affected, and had a way to know for sure
they have an FTL inside, I could implement a fake FTL, thus gain higher
write speed (and maybe solve that way issue #1)


Best regards,
Maxim Levitsky

^ permalink raw reply	[flat|nested] 21+ messages in thread
* RFC: [PATCH V3 0/9 Integration of SmartMedia/xD into mtd subsystem
@ 2010-01-12 19:28 Maxim Levitsky
  2010-01-12 19:30 ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky
  0 siblings, 1 reply; 21+ messages in thread
From: Maxim Levitsky @ 2010-01-12 19:28 UTC (permalink / raw)
  To: linux-kernel; +Cc: joern, linux-mtd, Alex Dubov

This is third version of my patches.

Changes since V2:

* Resolved write speed problem, now write speed is around 1 MB/s
more that twice the speed of windows driver.

* Made the FTL less dependent on mtd driver.
It now uses standard mtd functions for bad block handling.
Also made initial device scan be safer against damaged media.

* FTL doesn't depend on common module any more.
This makes Kconfig much cleaner, and makes it possible to use the FTl
without enabling the nand support.
Common module is cleaned up a lot.

Now, everything works, everything is fast (except maybe initial zone
scan which takes around 2 seconds...)

Still bear in mind that FTL can destroy data, especially if your flash
card is worn out.

I consider this version to be merge worthy.

Best regards,
Maxim Levitsky

^ permalink raw reply	[flat|nested] 21+ messages in thread
* RFC: [PATCH 0/9 Integration of SmartMedia/xD into mtd subsystem
@ 2010-01-06 21:43 Maxim Levitsky
  2010-01-06 21:45 ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky
  0 siblings, 1 reply; 21+ messages in thread
From: Maxim Levitsky @ 2010-01-06 21:43 UTC (permalink / raw)
  To: linux-kernel; +Cc: joern, linux-mtd, Alex Dubov

Here is the result of my work of supporting an xD card reader that I
have on my notebook.

I had to fix few problems in mtd translation layer, add few workarounds.
This is by no way a final version of the patches, there is still lot of
cleanup to do.
The patches weren't tested with checkpatch.pl for example.

I can now read and write an xD card, and I have no crashes.
Still following issues remain:

1 - Write speed IS very SLOW, just about 200 Kbytes/s
In fact a reader in my printer gives me about 330 Kbytes/s, thus
partially card is to blame.
Also, hardware doesn't support interrupts to test when card is ready,
thus writes consume 100% of one cpu.

2 - I rely on mtd driver to have empty oob layout so I can read both oob
and data using ->read_oob  with MTD_OOB_PLACE.
I thinking to add new mode to allow to read whole oob + data and check
ecc, or I will have to do pointless copying of data from 'censored' oob
to normal structure. (This applies to FTL driver I also include in this
patchset)

3 - Using the mtd device directly with anything but supplied FTL or
SSFDC, on 'modern' xD cards just doesn't. These cards implement a fake
nand command set, thus don't have a real oob.
It was disappointing for me too.
I suspect that all 'Type M' cards are of this fake type, but older cards
are OK.


4 - Suspend/resume support works, but relies on all mtd users not to
suspend in middle of card access, bacause in this case its very
difficult/impossible to know card state.
Driver will refuse suspend in that case.
Access via all block devices is safe.


5 - And of course there are bugs, thus I warn you now that this driver
has high probability to erase data from your card.
Thus DON'T USE THIS DRIVER IF ANYTHING IMPORTANT IS STORED ON THE CARD.


6 - driver only detects PCI ID of my notebook, so it might not load on
compatable chips with different ID.


7 - patches developed against stable 2.6.32, and won't compile against
latest git due to changes in kfifo api.


Feedback is welcome, flames too :-)


Best regards,
Maxim Levitsky

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2010-01-12 19:30 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-08 15:04 RFC: [PATCH V2 0/9 Integration of SmartMedia/xD into mtd subsystem Maxim Levitsky
2010-01-08 15:05 ` [PATCH 1/9] MTD: call remove notifiers before removing the device Maxim Levitsky
2010-01-08 15:06 ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky
2010-01-08 15:21   ` [PATCH 2/9] MTD: create lockless versions of {get, put}_mtd_device Jörn Engel
2010-01-08 15:27     ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky
2010-01-08 15:31       ` [PATCH 2/9] MTD: create lockless versions of {get, put}_mtd_device Jörn Engel
2010-01-08 15:07 ` [PATCH 3/9] MTD: blkdevs: make hotplug work Maxim Levitsky
2010-01-08 15:08 ` [PATCH 4/9] MTD: make mtdtrans thread freezable Maxim Levitsky
2010-01-08 15:08 ` [PATCH 5/9] MTD: nand subsystem, export nand_do_read_oob and nand_do_write_oob Maxim Levitsky
2010-01-08 15:09 ` [PATCH 6/9] mtd: common module for smartmedia/xD support Maxim Levitsky
2010-01-08 15:10 ` [PATCH 7/9] MTD: add few workarounds to nand system for SmartMedia/xD chips Maxim Levitsky
2010-01-08 15:11 ` [PATCH 8/9] mtd: Add nand driver for ricoh xD/SmartMedia reader Maxim Levitsky
2010-01-08 15:12 ` [PATCH 9/9] mtd: Add new SmartMedia/xD FTL Maxim Levitsky
2010-01-08 15:29   ` Jörn Engel
2010-01-08 15:35     ` Maxim Levitsky
2010-01-08 16:04 ` RFC: [PATCH V2 0/9 Integration of SmartMedia/xD into mtd subsystem Jörn Engel
2010-01-08 17:40   ` Maxim Levitsky
2010-01-09  0:26     ` Jörn Engel
2010-01-11 22:24       ` Maxim Levitsky
  -- strict thread matches above, loose matches on Subject: below --
2010-01-12 19:28 RFC: [PATCH V3 " Maxim Levitsky
2010-01-12 19:30 ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky
2010-01-06 21:43 RFC: [PATCH 0/9 Integration of SmartMedia/xD into mtd subsystem Maxim Levitsky
2010-01-06 21:45 ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox