public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* RFC: [PATCH 0/9 Integration of SmartMedia/xD into mtd subsystem
@ 2010-01-06 21:43 Maxim Levitsky
  2010-01-06 21:44 ` [PATCH 1/9] MTD: call remove notifiers before removing the device Maxim Levitsky
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ 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] 10+ messages in thread

end of thread, other threads:[~2010-01-06 21:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-06 21:43 RFC: [PATCH 0/9 Integration of SmartMedia/xD into mtd subsystem Maxim Levitsky
2010-01-06 21:44 ` [PATCH 1/9] MTD: call remove notifiers before removing the device Maxim Levitsky
2010-01-06 21:45 ` [PATCH 2/9] MTD: create lockless versions of {get,put}_mtd_device Maxim Levitsky
2010-01-06 21:46 ` [PATCH 3/9] MTD: blkdevs: major cleanups Maxim Levitsky
2010-01-06 21:48 ` [PATCH 4/9] mtd-make mtdtrans thread suspend friendly Maxim Levitsky
2010-01-06 21:49 ` [PATCH 5/9] NAND: export nand_do_read_oob and nand_do_write_oob Maxim Levitsky
2010-01-06 21:51 ` [PATCH 6/9] mtd: common module for smartmedia/xD support Maxim Levitsky
2010-01-06 21:52 ` [PATCH 7/9] NAND: add few workarounds for SmartMedia/xD chips Maxim Levitsky
2010-01-06 21:53 ` [PATCH 8/9] mtd: SmartMedia/xD FTL Maxim Levitsky
2010-01-06 21:54 ` [PATCH 9/9] mtd: add nand driver for ricoh xD/SmartMedia reader Maxim Levitsky

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