Skip to contentSkip to conversation

SATA DVD issue...

DISCUSSION Nils Faerber 1 participant 1 message Aug 9, 2010 libata

lore
Share & tools
lore
#0 lore raw

Hello!
I am trying to use a SATA DVD burner on a Marvell Kirkwood based platform, kernel is currently based on vanilla 2.6.34 with only board specific patches.

SATA in general works just fine with harddisks.

But when I attach my DVD drive any data read or write access triggers a BUG() in libata-sff.c:

ata_bmdma_qc_issue():
...

        /* see ata_dma_blacklisted() */
        BUG_ON((ap->flags & ATA_FLAG_PIO_POLLING) &&
               qc->tf.protocol == ATAPI_PROT_DMA);

...

Command access (e.g. to eject the media or to erase a R/W disc) do work.

My knowledge about ATA and SATA is quite limited so I cannot really interpret this issue.

After some looking around and with the hint in the comment I tried blacklisting my drive, so I added an entry to libata-core.c:

        { "HL-DT-ST DVDRAM GH22LS50", "TL01",           ATA_HORKAGE_NODMA },

Now the drive works but it is awefully slow - reading just a little over 1MB/s - well, without DMA mode this is quite expectable.

I suspect that the Marvell SATA host driver should be OK and is not in fault - it is widely used in PCI setups and the SOC variant does almost not differ. And I also suspect that the above "fix" is not the best way to do it.
I also tried the same driver with a USB-SATA connector (I do not have a SATA PC at hand right now) and there it behaves pretty normal with 5 to 10 times higher read rates.

I would be more than happy if someone could help me diagnosing and especially fixing this problem. If I can give more information or try different things on the board just let know!

Many thanks in advance!

Cheers
nils

Signature · 4 lines
kernel concepts GbR      Tel: +49-271-771091-12
Sieghuetter Hauptweg 48  Fax: +49-271-771091-19
D-57072 Siegen           Mob: +49-176-21024535
http://www.kernelconcepts.de