All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.