Messages in this thread Patch in this message | | | Date | Sun, 21 Sep 2003 20:11:33 +0000 | From | Adam Belay <> | Subject | Re: [PATCH] PnP Fixes for 2.6.0-test5 |
| |
# -------------------------------------------- # 03/09/21 ambx1@neo.rr.com 1.1357 # [PNP] remove DMA 0 restrictions # # The original argument for blocking DMA 0 was to avoid conflicts with # "memory refresh" but such configurations are only found on very old # 8-bit systems that are likely not supported by the linux kernel. # This patch allows dma 0 to be assigned to PnP devices by default. If # for whatever reason dma 0 cannot be used, one can avoid allocating it # by setting the pnp_reserve_dma= kernel parameter. # -------------------------------------------- # diff -Nru a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c --- a/drivers/pnp/quirks.c Sun Sep 21 19:45:59 2003 +++ b/drivers/pnp/quirks.c Sun Sep 21 19:45:59 2003 @@ -111,28 +111,6 @@ return; } -extern int pnp_allow_dma0; -static void quirk_opl3sax_resources(struct pnp_dev *dev) -{ - /* This really isn't a device quirk but isapnp core code - * doesn't allow a DMA channel of 0, afflicted card is an - * OPL3Sax where x=4. - */ - struct pnp_option *res; - int max; - res = dev->dependent; - max = 0; - for (; res; res = res->next) { - if (res->dma->map > max) - max = res->dma->map; - } - if (max == 1 && pnp_allow_dma0 == -1) { - printk(KERN_INFO "pnp: opl3sa4 quirk: Allowing dma 0.\n"); - pnp_allow_dma0 = 1; - } - return; -} - /* * PnP Quirks * Cards or devices that need some tweaking due to incomplete resource info @@ -153,7 +131,6 @@ { "CTL0043", quirk_sb16audio_resources }, { "CTL0044", quirk_sb16audio_resources }, { "CTL0045", quirk_sb16audio_resources }, - { "YMH0021", quirk_opl3sax_resources }, { "" } }; @@ -170,4 +147,3 @@ i++; } } - diff -Nru a/drivers/pnp/resource.c b/drivers/pnp/resource.c --- a/drivers/pnp/resource.c Sun Sep 21 19:45:59 2003 +++ b/drivers/pnp/resource.c Sun Sep 21 19:45:59 2003 @@ -21,8 +21,6 @@ #include <linux/pnp.h> #include "base.h" -int pnp_allow_dma0 = -1; /* allow dma 0 during auto activation: - * -1=off (:default), 0=off (set by user), 1=on */ int pnp_skip_pci_scan; /* skip PCI resource scanning */ int pnp_reserve_irq[16] = { [0 ... 15] = -1 }; /* reserve (don't use) some IRQ */ int pnp_reserve_dma[8] = { [0 ... 7] = -1 }; /* reserve (don't use) some DMA */ @@ -426,7 +424,7 @@ int pnp_check_dma(struct pnp_dev * dev, int idx) { - int tmp, mindma = 1; + int tmp; struct pnp_dev *tdev; unsigned long * dma = &dev->res.dma_resource[idx].start; @@ -435,9 +433,7 @@ return 1; /* check if the resource is valid */ - if (pnp_allow_dma0 == 1) - mindma = 0; - if (*dma < mindma || *dma == 4 || *dma > 7) + if (*dma < 0 || *dma == 4 || *dma > 7) return 0; /* check if the resource is reserved */ @@ -487,16 +483,6 @@ EXPORT_SYMBOL(pnp_register_port_resource); EXPORT_SYMBOL(pnp_register_mem_resource); - -/* format is: allowdma0 */ - -static int __init pnp_allowdma0(char *str) -{ - pnp_allow_dma0 = 1; - return 1; -} - -__setup("allowdma0", pnp_allowdma0); /* format is: pnp_reserve_irq=irq1[,irq2] .... */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |