1. 05 Jun, 2009 3 commits
  2. 02 Jun, 2009 9 commits
    • Takashi Iwai's avatar
      bd05dbd3
    • Takashi Iwai's avatar
      ALSA: ctxfi - Support SG-buffers · c76157d9
      Takashi Iwai authored
      Use SG-buffers instead of contiguous pages.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c76157d9
    • Takashi Iwai's avatar
      ALSA: ctxfi - Remove PAGE_SIZE limitation · cd391e20
      Takashi Iwai authored
      Remove the limitation of PAGE_SIZE to be 4k by defining the own
      page size and macros for 4k.  8kb page size could be natively supported,
      but it's disabled right now for simplicity.
      
      Also, clean up using upper_32_bits() macro.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cd391e20
    • Takashi Iwai's avatar
      ALSA: ctxfi - Fix supported PCM formats · d2b9b96c
      Takashi Iwai authored
      The device seems supporting only U8, S16, S24_3LE, S32.  Other linear
      formats result in bad outputs.
      
      Also, added the support for 32bit float format, which wasn't listed
      in the original code.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d2b9b96c
    • Takashi Iwai's avatar
      ALSA: ctxfi - Fix PCM device naming · 8372d498
      Takashi Iwai authored
      PCM names for surround streams should be also fixed as well as the mixer
      element names.  Also, a bit clean up for PCM name setup.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8372d498
    • Takashi Iwai's avatar
      ALSA: ctxfi - Fix surround mixer names · 6585db94
      Takashi Iwai authored
      We usually pick up "Surround" mixer for the rear output, and "Side"
      for the extra surround.  Fix the channel mapping to follow it.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6585db94
    • Takashi Iwai's avatar
      ALSA: ALSA: ctxfi - Release PCM resources at each prepare call · 822fa19b
      Takashi Iwai authored
      The prepare callback can be called multiple times, thus it needs to
      release and acquire the resource again by itself at the second or later
      call.
      
      Simply add pcm_release_resources() at the beginning of each prepare
      callback in ctatc.c.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      822fa19b
    • Takashi Iwai's avatar
      ALSA: ctxfi - Fix a typo in MODULE_LICENSE · 67fbf880
      Takashi Iwai authored
      A space has to be put between GPL and v2.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      67fbf880
    • Takashi Iwai's avatar
      ALSA: ctxfi - Fix Oops at mmapping · 8a4259bf
      Takashi Iwai authored
      Replace a spinlock with a mutex protecting the vm block list at
      mmap / munmap calls, which caused Oops like below:
      
      BUG: sleeping function called from invalid context at mm/slub.c:1599
      in_atomic(): 0, irqs_disabled(): 1, pid: 32065, name: xine
      Pid: 32065, comm: xine Tainted: P           2.6.29.4-75.fc10.x86_64 #1
      Call Trace:
        [<ffffffff81040685>] __might_sleep+0x105/0x10a
        [<ffffffff810c9fae>] kmem_cache_alloc+0x32/0xe2
        [<ffffffffa08e3110>] ct_vm_map+0xfa/0x19e [snd_ctxfi]
        [<ffffffffa08e1a07>] ct_map_audio_buffer+0x4c/0x76 [snd_ctxfi]
        [<ffffffffa08e2aa5>] atc_pcm_playback_prepare+0x1d7/0x2a8 [snd_ctxfi]
        [<ffffffff8105ef3f>] ? up_read+0x9/0xb
        [<ffffffff81186b61>] ? __up_read+0x7c/0x87
        [<ffffffffa08e36a6>] ct_pcm_playback_prepare+0x39/0x60 [snd_ctxfi]
        [<ffffffffa0886bcb>] snd_pcm_do_prepare+0x16/0x28 [snd_pcm]
        [<ffffffffa08867c7>] snd_pcm_action_single+0x2d/0x5b [snd_pcm]
        [<ffffffffa08881f3>] snd_pcm_action_nonatomic+0x52/0x6a [snd_pcm]
        [<ffffffffa088a723>] snd_pcm_common_ioctl1+0x404/0xc79 [snd_pcm]
        [<ffffffff810c52c8>] ? alloc_pages_current+0xb9/0xc2
        [<ffffffff810c9402>] ? new_slab+0x1a5/0x1cb
        [<ffffffff810ab9ea>] ? vma_prio_tree_insert+0x23/0xc1
        [<ffffffffa088b411>] snd_pcm_playback_ioctl1+0x213/0x230 [snd_pcm]
        [<ffffffff810b6c20>] ? mmap_region+0x397/0x4c9
        [<ffffffffa088bd9b>] snd_pcm_playback_ioctl+0x2e/0x36 [snd_pcm]
        [<ffffffff810ddc64>] vfs_ioctl+0x2a/0x78
        [<ffffffff810de130>] do_vfs_ioctl+0x462/0x4a2
        [<ffffffff81029cef>] ? default_spin_lock_flags+0x9/0xe
        [<ffffffff81374647>] ? trace_hardirqs_off_thunk+0x3a/0x6c
        [<ffffffff810de1c5>] sys_ioctl+0x55/0x77
        [<ffffffff8101133a>] system_call_fastpath+0x16/0x1b
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8a4259bf
  3. 26 May, 2009 1 commit
  4. 20 May, 2009 1 commit
    • Takashi Iwai's avatar
      ALSA: ctxfi - Add depends on X86 · 3e3ee6dc
      Takashi Iwai authored
      The ctxfi driver requires explicitly the 4k page size, and gives a
      build error on architectures with non-4k pages.
      As a workaround, just add the kconfig dependency on X86, which is
      the only architecture ever tested.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3e3ee6dc
  5. 14 May, 2009 5 commits
  6. 09 May, 2009 2 commits
  7. 08 May, 2009 14 commits
  8. 07 May, 2009 5 commits
    • David Howells's avatar
      NOMMU: Don't check vm_region::vm_start is page aligned in add_nommu_region() · 8c9ed899
      David Howells authored
      Don't check vm_region::vm_start is page aligned in add_nommu_region() because
      the region may reflect some non-page-aligned mapped file, such as could be
      obtained from RomFS XIP.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8c9ed899
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://neil.brown.name/md · ee7fee0b
      Linus Torvalds authored
      * 'for-linus' of git://neil.brown.name/md:
        md: remove rd%d links immediately after stopping an array.
        md: remove ability to explicit set an inactive array to 'clean'.
        md: constify VFTs
        md: tidy up status_resync to handle large arrays.
        md: fix some (more) errors with bitmaps on devices larger than 2TB.
        md/raid10: don't clear bitmap during recovery if array will still be degraded.
        md: fix loading of out-of-date bitmap.
      ee7fee0b
    • Linus Torvalds's avatar
      random: make get_random_int() more random · 8a0a9bd4
      Linus Torvalds authored
      It's a really simple patch that basically just open-codes the current
      "secure_ip_id()" call, but when open-coding it we now use a _static_
      hashing area, so that it gets updated every time.
      
      And to make sure somebody can't just start from the same original seed of
      all-zeroes, and then do the "half_md4_transform()" over and over until
      they get the same sequence as the kernel has, each iteration also mixes in
      the same old "current->pid + jiffies" we used - so we should now have a
      regular strong pseudo-number generator, but we also have one that doesn't
      have a single seed.
      
      Note: the "pid + jiffies" is just meant to be a tiny tiny bit of noise. It
      has no real meaning. It could be anything. I just picked the previous
      seed, it's just that now we keep the state in between calls and that will
      feed into the next result, and that should make all the difference.
      
      I made that hash be a per-cpu data just to avoid cache-line ping-pong:
      having multiple CPU's write to the same data would be fine for randomness,
      and add yet another layer of chaos to it, but since get_random_int() is
      supposed to be a fast interface I did it that way instead. I considered
      using "__raw_get_cpu_var()" to avoid any preemption overhead while still
      getting the hash be _mostly_ ping-pong free, but in the end good taste won
      out.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8a0a9bd4
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 2c66fa7e
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types
        [ARM] 5506/1: davinci: DMA_32BIT_MASK --> DMA_BIT_MASK(32)
        i.MX31: Disable CPU_32v6K in mx3_defconfig.
        mx3fb: Fix compilation with CONFIG_PM
        mx27ads: move PBC mapping out of vmalloc space
        MXC: remove BUG_ON in interrupt handler
        mx31: remove mx31moboard_defconfig
        ARM: ARCH_MXC should select HAVE_CLK
        mxc : BUG in imx_dma_request
        mxc : Clean up properly when imx_dma_free() used without imx_dma_disable()
        [ARM] mv78xx0: update defconfig
        [ARM] orion5x: update defconfig
        [ARM] Kirkwood: update defconfig
        [ARM] Kconfig typo fix:  "PXA930" -> "CPU_PXA930".
        [ARM] S3C2412: Add missing cache flush in suspend code
        [ARM] S3C: Add UDIVSLOT support for newer UARTS
        [ARM] S3C64XX: Add S3C64XX_PA_IIS{0,1} to <mach/map.h>
      2c66fa7e
    • Paul Gortmaker's avatar
      [ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types · ae51e609
      Paul Gortmaker authored
      From: Bruce Ashfield <bruce.ashfield@windriver.com>
      
      To fully support the armv7-a instruction set/optimizations, support
      for the R_ARM_MOVW_ABS_NC and R_ARM_MOVT_ABS relocation types is
      required.
      
      The MOVW and MOVT are both load-immediate instructions, MOVW loads 16
      bits into the bottom half of a register, and MOVT loads 16 bits into the
      top half of a register.
      
      The relocation information for these instructions has a full 32 bit
      value, plus an addend which is stored in the 16 immediate bits in the
      instruction itself.  The immediate bits in the instruction are not
      contiguous (the register # splits it into a 4 bit and 12 bit value),
      so the addend has to be extracted accordingly and added to the value.
      The value is then split and put into the instruction; a MOVW uses the
      bottom 16 bits of the value, and a MOVT uses the top 16 bits.
      Signed-off-by: default avatarDavid Borman <david.borman@windriver.com>
      Signed-off-by: default avatarBruce Ashfield <bruce.ashfield@windriver.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ae51e609