At Wed, 08 Jun 2005 17:06:39 +0800,
Raymond wrote:
> 
> au8830 can be loaded after I change "unsigned long __iomem *mmio" to
> "void __iomem *mmio" on my 32 bits machine.
> 
> How can I obtain the disassembly of snd-au8830.o to prove that it run 
> faster than before ( without bitshift ) ?

Faster?  Not measurable at all :)

> Is there any reason to make this change ?
> 
> alsa-kernel/pci/au88x0/au88x0.c
> @@ -144,15 +144,18 @@
>          // check PCI availability (DMA).
>          if ((err = pci_enable_device(pci)) < 0)
>                  return err;
> -       if (!pci_dma_supported(pci, VORTEX_DMA_MASK)) {
> +        if (pci_set_dma_mask(pci, VORTEX_DMA_MASK) < 0 ||
> +               pci_set_consistent_dma_mask(pci, VORTEX_DMA_MASK) < 0) {
>                  printk(KERN_ERR "error to set DMA mask\n");
> +               pci_disable_device(pci);
>                  return -ENXIO;
>          }
> -       pci_set_dma_mask(pci, VORTEX_DMA_MASK);

This is clean up.

>          chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
> -       if (chip == NULL)
> +       if (chip == NULL) {
> +               pci_disable_device(pci);
>                  return -ENOMEM;
> +       }

This fixes the PCI state in the error path.

> 
>          chip->card = card;
> 
> @@ -202,6 +205,8 @@
>                  goto alloc_out;
>          }
> 
> +       snd_card_set_dev(card, &pci->dev);
> +
>          *rchip = chip;

And this sets up the missing sysfs stuff.


Takashi


_______________________________________________
Openvortex-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/openvortex-dev

Reply via email to