public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
From: Alien <alien999999999@users.sourceforge.net>
To: alsa-devel@lists.sourceforge.net
Cc: Raymond <rayau@netvigator.com>, openvortex-dev@nongnu.org
Subject: Re: Re: [ALSA - driver 0001138]: errors when installing au8820 modules
Date: Wed, 8 Jun 2005 12:23:01 +0200	[thread overview]
Message-ID: <200506081223.03802.alien999999999@users.sourceforge.net> (raw)
In-Reply-To: <42A6B51F.20405@netvigator.com>

[-- Attachment #1: Type: text/plain, Size: 6469 bytes --]

I don't think it'll be faster, gcc -O2 will have changed it accordingly 
anyway, without optimization it might be faster, but the thing is that it 
just looks cleaner...

Op woensdag 8 juni 2005 11:06, schreef Raymond:
> 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 ) ?
>
> alsa-kernel/pci/au88x0/au88x0.h
>
> @@ -41,8 +41,8 @@
>
>   #define        VORTEX_DMA_MASK 0xffffffff
>
>
> -#define        hwread(x,y) readl((x)+((y)>>2))
> -#define        hwwrite(x,y,z) writel((z),(x)+((y)>>2))
> +#define        hwread(x,y) readl((x)+(y))
> +#define        hwwrite(x,y,z) writel((z),(x)+(y))
>
> @@ -172,7 +172,7 @@
>
>          /* PCI hardware resources */
>          unsigned long io;
> -       unsigned long __iomem *mmio;
> +       void __iomem *mmio;
>          unsigned int irq;
>          spinlock_t lock;
>
>
>
> I don't have any MPU401 device to test this change.
>
>
> alsa-kernel/pci/au88x0/au88x0_mpu401.c
> @@ -95,7 +95,7 @@
>                  return temp;
>          }
>   #else
> -       port = (unsigned long)(vortex->mmio + (VORTEX_MIDI_DATA >> 2));
> +       port = (unsigned long)(vortex->mmio + VORTEX_MIDI_DATA);
>          if ((temp =
>               snd_mpu401_uart_new(vortex->card, 0, MPU401_HW_AUREAL, port,
>                                   1, 0, 0, &rmidi)) != 0) {
> @@ -105,7 +105,7 @@
>                  return temp;
>          }
>          mpu = rmidi->private_data;
> -       mpu->cport = (unsigned long)(vortex->mmio + (VORTEX_MIDI_CMD >>
> 2)); +       mpu->cport = (unsigned long)(vortex->mmio + VORTEX_MIDI_CMD);
> #endif
>          vortex->rmidi = rmidi;
>          return 0;
>
>
> 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);
>
>          chip = kcalloc(1, sizeof(*chip), GFP_KERNEL);
> -       if (chip == NULL)
> +       if (chip == NULL) {
> +               pci_disable_device(pci);
>                  return -ENOMEM;
> +       }
>
>          chip->card = card;
>
> @@ -202,6 +205,8 @@
>                  goto alloc_out;
>          }
>
> +       snd_card_set_dev(card, &pci->dev);
> +
>          *rchip = chip;
>
>          return 0;
>
> Those changes in au88x0_eq.h and au88x0_eqdata.c seem WRONG.
>
> -       unsigned int *this00;   /*CAsp4HwIO */
> +       u32 ptr_this00;         /*CAsp4HwIO */
>
>
> 2 * 10 seem related to the 10-bands stereo EQ.
>
>
> -       u16 this14[32];         /* SetLeftGainsTarget: Left (and right?)
> +       u16 this14_array[32];   /* SetLeftGainsTarget: Left (and right?)
>
>          /* Set gains. */
> -       memset(eq->this14, 0, 2 * 10);
> +       memset(eq->this14_array, 0, sizeof(eq->this14_array));
>
>
>
>
> -static long eq_levels[32] = {
> +static u16 eq_levels[64] = {
> +       0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> +       0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> +       0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
> +       0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
>
>
> http://lists.nongnu.org/archive/html/openvortex-dev/2003-12/msg00007.html
>
> There is no kcontrol to change vortex->xt_mode for speaker wide, speaker
> narrow, speaker Diamond , headphones to test the Crosstalk canceler
>
> long -> s32
> short -> s16
>
> alsa-kernel/pci/au88x0/au88x0_xtalk.h
> @@ -39,11 +39,11 @@
>   #define XT_SPEAKER1            3
>   #define XT_DIAMOND             4
>
> -typedef long xtalk_dline_t[XTDLINE_SZ];
> -typedef short xtalk_gains_t[XTGAINS_SZ];
> -typedef short xtalk_instate_t[XTINST_SZ];
> -typedef short xtalk_coefs_t[5][5];
> -typedef short xtalk_state_t[5][4];
> +typedef u32 xtalk_dline_t[XTDLINE_SZ];
> +typedef u16 xtalk_gains_t[XTGAINS_SZ];
> +typedef u16 xtalk_instate_t[XTINST_SZ];
> +typedef u16 xtalk_coefs_t[5][5];
> +typedef u16 xtalk_state_t[5][4];
>
> Takashi Iwai wrote:
> > At Tue, 7 Jun 2005 17:16:02 +0200,
> >
> > Alien wrote:
> >>[1  <text/plain; iso-8859-1 (quoted-printable)>]
> >>
> >>Op dinsdag 7 juni 2005 17:05, schreef Raymond:
> >>>The patch (diff11.diff) cause segmenation fault on my 32bit machine
> >>>during /etc/init.d/alsasound start
> >>>
> >>>http://savannah.nongnu.org/patch/?func=detailitem&item_id=3948
> >>>
> >>>Do anyone know why readl() and writel() behave different in i386
> >>>(32bits) and AMD64 (64bits) ?
> >>>
> >>>http://sourceforge.net/mailarchive/message.php?msg_id=10773530
> >>>
> >>>
> >>>#ifndef CONFIG_X86_64
> >>>
> >>>#define        hwread(x,y) readl((x)+((y)>>2))
> >>>#define        hwwrite(x,y,z) writel((z),(x)+((y)>>2))
> >>>
> >>>#else
> >>>
> >>>#define        hwread(x,y) readl((x)+(y))
> >>>#define        hwwrite(x,y,z) writel((z),(x)+(y))
> >>>
> >>>#endif
> >>
> >>that doesn't look good, unless the mmio is void* in 32bit and unsigned
> >> long* in x86_64...
> >>
> >>'unsigned long* mmio' should be preferred and together with '#define
> >>hwread(x,y) readl((x)+(y))' , this works for both platforms
> >
> > I guess using "unsigned long" for both architectures is broken, too.
> > Should be "u32" to be arch-independent.
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you
> shotput a projector? How fast can you ride your desk chair down the office
> luge track? If you want to score the big prize, get to know the little guy.
> Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2005-06-08 10:23 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-28 20:22 [ALSA - driver 0001138]: errors when installing au8820 modules bugtrack
2005-06-06  2:09 ` Raymond
2005-06-06 15:49   ` Takashi Iwai
2005-06-07 15:05     ` Raymond
2005-06-07 15:16       ` Alien
2005-06-07 16:29         ` Takashi Iwai
2005-06-07 17:05           ` [Openvortex-dev] " Igor Kovalenko
2005-06-07 17:17             ` Alien
2005-06-07 17:38               ` Igor Kovalenko
2005-06-07 18:02                 ` Alien
2005-06-08 10:18                   ` Takashi Iwai
2005-06-08 11:13                     ` Alien
2005-06-08 12:12                       ` Takashi Iwai
2005-06-08 13:29                         ` Alien
2005-06-08 13:41                           ` Takashi Iwai
2005-06-08 18:09                             ` Igor Kovalenko
2005-06-08 11:40                     ` Raymond
2005-06-08 12:19                       ` Takashi Iwai
2005-06-08 18:12                         ` Igor Kovalenko
2005-06-09  8:13                           ` Raymond
2005-06-08 12:34             ` Raymond
2005-06-08 12:43               ` Takashi Iwai
2005-06-08 18:03               ` Igor Kovalenko
2005-06-09  8:54                 ` Raymond
2005-06-28  7:50                 ` Raymond
2005-07-01 19:03                   ` Igor Kovalenko
2005-07-02 12:53                     ` Raymond
2005-07-14 16:43                       ` Igor Kovalenko
2005-06-08  9:06           ` Raymond
2005-06-08 10:22             ` Takashi Iwai
2005-06-09  8:34               ` Raymond
2005-06-09 10:17                 ` [Openvortex-dev] " Igor Kovalenko
2005-06-12 15:18                   ` Raymond
2005-06-10  7:35               ` Raymond
2005-06-10 10:33                 ` Takashi Iwai
2005-06-10 11:28                   ` Raymond
2005-07-29 14:43               ` Raymond
2005-07-29 15:09                 ` Takashi Iwai
2005-08-05 12:46                   ` Raymond
2005-08-05 14:32                     ` Takashi Iwai
     [not found]                       ` <43067D3B.5040601@netvigator.com>
2005-08-21 12:41                         ` Takashi Iwai
2005-08-23 15:20                           ` Raymond
2005-08-23 17:18                             ` Takashi Iwai
2005-08-23 21:40                               ` Alien
2005-08-24 10:35                                 ` Takashi Iwai
2005-08-25 17:12                                 ` Raymond
2005-08-25 17:43                                   ` Alien
2005-08-26  9:01                                     ` Raymond
2005-08-25 18:58                                   ` Manuel Jander
2005-08-25 20:04                                     ` Alien
2005-06-08 10:23             ` Alien [this message]
2005-06-09  8:49               ` Raymond

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200506081223.03802.alien999999999@users.sourceforge.net \
    --to=alien999999999@users.sourceforge.net \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=openvortex-dev@nongnu.org \
    --cc=rayau@netvigator.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox