tech-kern archive

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

Re: Intel 82801H SATA interrupt issues



In article <ZtJthK9/wBZKYs3y%homeworld.netbsd.org@localhost>,
Emmanuel Dreyfus  <manu%netbsd.org@localhost> wrote:
>I got some relative success by disabling DMA in piixide on NetBSD 10.0: 
>it boots but gets interrupt storms.
>
>piixide(4) says flags 0x0002 disables DMA, but it seems that
>does not happens in piixide sources. I see no usage of 
>PCIIDE_OPTIONS_NODMA. To disable DMA, I added in piixsata_chip_map
>this:
>
>+       if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801H_SATA_1 ||
>+           sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801H_SATA_2) {
>+               aprint_verbose_dev(sc->sc_wdcdev.sc_atac.atac_dev,
>+                   "DMA disabled (PCI PID 0x%x)\n", sc->sc_pp->ide_product);
>+               sc->sc_dma_ok = 0;
>+       } 
>+

It is in pciide_common.c:483

Perhaps define in pciidevar.h:181 IDE_NO_DMA, then use put that in the flags
for the two products, and use that instead of hard-coding the product ids.

christos



Home | Main Index | Thread Index | Old Index