sp = netdev_priv(dev);
 
        /* Make private data page aligned */
-       sr = dma_alloc_noncoherent(&pdev->dev, sizeof(*sp->srings),
-                               &sp->srings_dma, GFP_KERNEL);
+       sr = dma_alloc_attrs(&pdev->dev, sizeof(*sp->srings), &sp->srings_dma,
+                            GFP_KERNEL, DMA_ATTR_NON_CONSISTENT);
        if (!sr) {
                printk(KERN_ERR "Sgiseeq: Page alloc failed, aborting.\n");
                err = -ENOMEM;
        struct sgiseeq_private *sp = netdev_priv(dev);
 
        unregister_netdev(dev);
-       dma_free_noncoherent(&pdev->dev, sizeof(*sp->srings), sp->srings,
-                            sp->srings_dma);
+       dma_free_attrs(&pdev->dev, sizeof(*sp->srings), sp->srings,
+                      sp->srings_dma, DMA_ATTR_NON_CONSISTENT);
        free_netdev(dev);
 
        return 0;