Re: [PATCH 02/15] ATA : vortex86 : fix vortex86dx/sx hardware CRC bug.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The Vortex86dx uses RDC IDE peripheral integrated into the SOC.  The
CRC design is
broken in the Vortex86dx and sx.  The original reference can be found
in the Linux kernel itself.

The Vortex86sx uses the RDC D1010.
The Vortex86dx uses the RDC D1011.
Both of which have broken CRC hardware which breaks DMA.

The pata_821x.c had the following code in it to handle the RDC
hardware used in the Vortex86SX.

4fca377f (Jeff Garzik               2011-02-15 01:13:24 -0500 913)
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 914)
 if (pdev->vendor == PCI_VENDOR_ID_RDC) {
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 915)
         /* Deal with Vortex86SX */
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 916)
         if (pdev->revision == 0x11)
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 917)
                 ppi[0] = &info_rdc_11;
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 918)
         else
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 919)
                 ppi[0] = &info_rdc;
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 920)      } else {
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 921)
         /* Force the card into bypass mode if so requested */
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 922)
         if (it8212_noraid) {
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 923)
                 printk(KERN_INFO DRV_NAME ": forcing bypass
mode.\n");
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 924)
                 it821x_disable_raid(pdev);

Thanks,
Paul Schilling

On Thu, Oct 27, 2011 at 2:43 AM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, 25 Oct 2011 23:16:04 -0500
> Paul Schilling <paul.s.schilling@xxxxxxxxx> wrote:
>
>> This fixes a DMA issue related to a CRC bug on
>> the RDC pata peripherial found on the vortex86sx and vortex86dx.
>
> What is the RDC erratum reference for this ? Also it seems to make no
> sense
>
>
>>       static const struct ata_port_info info_rdc_11 = {
>>               .flags = ATA_FLAG_SLAVE_POSS,
>>               .pio_mask = ATA_PIO4,
>> -             .mwdma_mask = ATA_MWDMA2,
>> +             .mwdma_mask = 0,
>> +             .udma_mask = 0,
>
> MWDMA is not part of the CRC hardware anyway
>
> Are you sure these newer variants are simply not using a different set of
> timing parameters thus showing bugs on your system ?
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux