1. Jun 01, 2014
  2. May 26, 2014
    • Fabio Estevam's avatar
      ASoC: fsl_ssi: Add suspend/resume support · b20e53a8
      Fabio Estevam authored
      
      
      Doing a suspend/resume sequence while playing an audio track in the backgroung
      causes broken audio right after resume:
      
      root@freescale /$ aplay clarinet.wav &
      
      root@freescale /home$ Playing WAVE 'clarinet.wav' : Signed 16 bit Little Endian,
       Rate 44100 Hz, Mono
      
      root@freescale /home$ echo mem > /sys/power/state
      PM: Syncing filesystems ... done.
      Freezing user space processes ... (elapsed 0.002 seconds) done.
      Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
      Suspending console(s) (use no_console_suspend to debug)
      PM: suspend of devices complete after 37.082 msecs
      PM: suspend devices took 0.040 seconds
      PM: late suspend of devices complete after 4.234 msecs
      PM: noirq suspend of devices complete after 4.618 msecs
      Disabling non-boot CPUs ...
      PM: noirq resume of devices complete after 4.013 msecs
      PM: early resume of devices complete after 4.000 msecs
      PM: resume of devices complete after 68.907 msecs
      PM: resume devices took 0.070 seconds
      Restarting tasks ... Suspended. Trying resume. Failed. Restarting stream. Done.
      Suspended. Trying resume. Failed. Restarting stream. Done.
      Suspended. Trying resume. Failed. Restarting stream. Done.
      Suspended. Trying resume. Failed. Restarting stream. Done.
      Suspended. Trying resume. Failed. Restarting stream. Done.
      Suspended. Trying resume. Failed. Restarting stream. Done.
      Suspended. Trying resume. Failed. Restarting stream. Done.
      ....
      
      Add SNDRV_PCM_TRIGGER_RESUME/SUSPEND cases so that we can gracefully handle
      system suspend/resume.
      
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: default avatarShawn Guo <shawn.guo@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      b20e53a8
  3. May 21, 2014
  4. May 02, 2014
    • Arnd Bergmann's avatar
      ASoC: fsl: select SND_SOC_IMX_PCM_DMA where needed · 31ee2bfd
      Arnd Bergmann authored
      Since commit 204dec93
      
       "ASoC: fsl: Allow to select individual common
      options", it is possible to enable SND_SOC_FSL_SSI and SND_SOC_FSL_SPDIF
      manually, either as loadable modules or built-in. This unfortunately
      leads to a link error if one or both of them are built-in, while
      the imx-pcm-dma framework is a loadable module:
      
      sound/built-in.o: In function `fsl_ssi_probe':
      :(.text+0x51fb8): undefined reference to `imx_pcm_dma_init'
      sound/built-in.o: In function `fsl_spdif_probe':
      :(.text+0x52e20): undefined reference to `imx_pcm_dma_init'
      
      This changes Kconfig to prevent this case by using 'select' to turn
      on the imx-pcm-dma code from both drivers. For consistency, we also
      turn on the imx-pcm-fiq code, which is an alternative to the dma
      implementation.
      
      Note that imx-pcm-fiq is platform dependent, so we must not enable
      that unless we are building a kernel for i.MX. Note also the
      "if SND_IMX_SOC != n" syntax as opposed to the normal "if SND_IMX_SOC".
      This is needed to avoid turning on the options as 'm' if 'SND_IMX_SOC'
      is a module.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      31ee2bfd
    • Xiubo Li's avatar
      ASoC: fsl: Allow to select ESAI device individually · 40e3b934
      Xiubo Li authored
      
      
      This will be useful for out-of-tree drivers since in-tree drivers
      could select it automatically.
      
      Signed-off-by: default avatarXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      40e3b934
    • Xiubo Li's avatar
      ASoC: fsl: Allow to select SAI device individually · b71fc4e6
      Xiubo Li authored
      
      
      This will be useful for out-of-tree drivers since in-tree drivers
      could select it automatically.
      
      Signed-off-by: default avatarXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      b71fc4e6
  5. Apr 24, 2014
  6. Apr 15, 2014
  7. Apr 14, 2014
  8. Apr 13, 2014
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 321d03c8
      Linus Torvalds authored
      Pull misc kbuild changes from Michal Marek:
       "Here is the non-critical part of kbuild:
         - One bogus coccinelle check removed, one check fixed not to suggest
           the obsolete PTR_RET macro
         - scripts/tags.sh does not index the generated *.mod.c files
         - new objdiff tool to list differences between two versions of an
           object file
         - A fix for scripts/bootgraph.pl"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        scripts/coccinelle: Use PTR_ERR_OR_ZERO
        scripts/bootgraph.pl: Add graphic header
        scripts: objdiff: detect object code changes between two commits
        Coccicheck: Remove memcpy to struct assignment test
        scripts/tags.sh: Ignore *.mod.c
      321d03c8
    • Mikulas Patocka's avatar
      sym53c8xx_2: Set DID_REQUEUE return code when aborting squeue · fd1232b2
      Mikulas Patocka authored
      
      
      This patch fixes I/O errors with the sym53c8xx_2 driver when the disk
      returns QUEUE FULL status.
      
      When the controller encounters an error (including QUEUE FULL or BUSY
      status), it aborts all not yet submitted requests in the function
      sym_dequeue_from_squeue.
      
      This function aborts them with DID_SOFT_ERROR.
      
      If the disk has full tag queue, the request that caused the overflow is
      aborted with QUEUE FULL status (and the scsi midlayer properly retries
      it until it is accepted by the disk), but the sym53c8xx_2 driver aborts
      the following requests with DID_SOFT_ERROR --- for them, the midlayer
      does just a few retries and then signals the error up to sd.
      
      The result is that disk returning QUEUE FULL causes request failures.
      
      The error was reproduced on 53c895 with COMPAQ BD03685A24 disk
      (rebranded ST336607LC) with command queue 48 or 64 tags.  The disk has
      64 tags, but under some access patterns it return QUEUE FULL when there
      are less than 64 pending tags.  The SCSI specification allows returning
      QUEUE FULL anytime and it is up to the host to retry.
      
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: James Bottomley <JBottomley@Parallels.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd1232b2
    • Paul Mackerras's avatar
      powerpc: Don't try to set LPCR unless we're in hypervisor mode · 18aa0da3
      Paul Mackerras authored
      Commit 8f619b54
      
       ("powerpc/ppc64: Do not turn AIL (reloc-on
      interrupts) too early") added code to set the AIL bit in the LPCR
      without checking whether the kernel is running in hypervisor mode.  The
      result is that when the kernel is running as a guest (i.e., under
      PowerKVM or PowerVM), the processor takes a privileged instruction
      interrupt at that point, causing a panic.  The visible result is that
      the kernel hangs after printing "returning from prom_init".
      
      This fixes it by checking for hypervisor mode being available before
      setting LPCR.  If we are not in hypervisor mode, we enable relocation-on
      interrupts later in pSeries_setup_arch using the H_SET_MODE hcall.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18aa0da3