09 Dec, 2012

1 commit

  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Signed-off-by: Bill Pemberton
    Signed-off-by: Mark Brown

    Bill Pemberton
     

28 Nov, 2012

1 commit


02 Nov, 2012

1 commit

  • Playing 24-bit format file leads to channel swap on mx28 and the reason is that
    the current driver performs one write/read to/from the SAIF_DATA register to
    trigger the transfer.

    This approach works fine for S16_LE case because SAIF_DATA is a 32-bit register
    and thus is capable of storing the 16-bit left and right channels, but for the
    S24_LE case it can only store one channel, so in order to not lose the FIFO sync
    an extra read/write is needed.

    Reported-by: Dan Winner
    Signed-off-by: Fabio Estevam
    Tested-by: Dan Winner
    Acked-by: Dong Aisheng
    Signed-off-by: Mark Brown

    Fabio Estevam
     

01 Nov, 2012

1 commit


05 Sep, 2012

1 commit


08 Aug, 2012

1 commit


07 Aug, 2012

1 commit


25 Jul, 2012

2 commits

  • Set an initial clock rate for the saif internal logic to work
    properly. This is important when working in EXTMASTER mode that
    uses the other saif's BITCLK&LRCLK but it still needs a basic
    clock which should be fast enough for the internal logic.

    Signed-off-by: Dong Aisheng
    Acked-by: Shawn Guo
    Signed-off-by: Mark Brown

    Dong Aisheng
     
  • Currently we directly call a clock_enable in trigger function without
    a clk_prepare as pair first.
    This will cause system hang immediately when run capture because
    the clock was not prepared(playback does not hang because the clock was
    prepared already by get_mclk before), a warning message in clock framework
    may cause a deadlock to reclaim clock lock (see: pl011_console_write).

    Here we prepare clock first in hw_param, then enable it in trigger
    function to guarantee the balance.

    Signed-off-by: Dong Aisheng
    Acked-by: Shawn Guo
    Signed-off-by: Mark Brown

    Dong Aisheng
     

20 Jun, 2012

1 commit

  • Currently the sound dmaengine pcm helper functions implement the pcm_pointer
    callback by trying to count the number of elapsed periods. This is done by
    advancing the stream position in the dmaengine callback by one period.
    Unfortunately there is no guarantee that the callback will be called for each
    elapsed period. It may be possible that under high system load it is only called
    once for multiple elapsed periods. This patch renames the current implementation
    and documents its shortcomings and that it should not be used anymore in new
    drivers.

    The next patch will introduce a new snd_dmaengine_pcm_pointer which will be
    implemented based on querying the current stream position from the dma device.

    Signed-off-by: Lars-Peter Clausen
    Acked-by Vinod Koul
    Acked-by: Dong Aisheng

    Lars-Peter Clausen
     

03 Jun, 2012

1 commit

  • Prior to this patch, the CPU side of a DAI link was specified using a
    single name. Often, this was the result of calling dev_name() on the
    device providing the DAI, but in the case of a CPU DAI driver that
    provided multiple DAIs, it needed to mix together both the device name
    and some device-relative name, in order to form a single globally unique
    name.

    However, the CODEC side of the DAI link was specified using separate
    fields for device (name or OF node) and device-relative DAI name.

    This patch allows the CPU side of a DAI link to be specified in the same
    way as the CODEC side, separating concepts of device and device-relative
    DAI name.

    I believe this will be important in multi-codec and/or dynamic PCM
    scenarios, where a single CPU driver provides multiple DAIs, while also
    booting using device tree, with accompanying desire not to hard-code the
    CPU side device's name into the original .cpu_dai_name field.

    Ideally, both the CPU DAI and CODEC DAI loops in soc_bind_dai_link()
    would now be identical. However, two things prevent that at present:

    1) The need to save rtd->codec for the CODEC side, which means we have
    to search for the CODEC explicitly, and not just the CODEC side DAI.

    2) Since we know the CODEC side DAI is part of a codec, and not just
    a standalone DAI, it's slightly more efficient to convert .codec_name/
    .codec_of_node into a codec first, and then compare each DAI's .codec
    field, since this avoids strcmp() on each DAI's CODEC's name within
    the loop.

    However, the two loops are essentially semantically equivalent.

    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown

    Stephen Warren
     

24 May, 2012

1 commit

  • Pull sound updates from Takashi Iwai:
    "This is the first big chunk for 3.5 merges of sound stuff.

    There are a few big changes in different areas. First off, the
    streaming logic of USB-audio endpoints has been largely rewritten for
    the better support of "implicit feedback". If anything about USB got
    broken, this change has to be checked.

    For HD-audio, the resume procedure was changed; instead of delaying
    the resume of the hardware until the first use, now waking up
    immediately at resume. This is for buggy BIOS.

    For ASoC, dynamic PCM support and the improved support for digital
    links between off-SoC devices are major framework changes.

    Some highlights are below:

    * HD-audio
    - Avoid accesses of invalid pin-control bits that may stall the codec
    - V-ref setup cleanups
    - Fix the races in power-saving code
    - Fix the races in codec cache hashes and connection lists
    - Split some common codes for BIOS auto-parser to hda_auto_parser.c
    - Changed the PM resume code to wake up immediately for buggy BIOS
    - Creative SoundCore3D support
    - Add Conexant CX20751/2/3/4 codec support

    * ASoC
    - Dynamic PCM support, allowing support for SoCs with internal
    routing through components with tight sequencing and formatting
    constraints within their internal paths or where there are multiple
    components connected with CPU managed DMA controllers inside the
    SoC.
    - Greatly improved support for direct digital links between off-SoC
    devices, providing a much simpler way of connecting things like
    digital basebands to CODECs.
    - Much more fine grained and robust locking, cleaning up some of the
    confusion that crept in with multi-component.
    - CPU support for nVidia Tegra 30 I2S and audio hub controllers and
    ST-Ericsson MSP I2S controolers
    - New CODEC drivers for Cirrus CS42L52, LAPIS Semiconductor ML26124,
    Texas Instruments LM49453.
    - Some regmap changes needed by the Tegra I2S driver.
    - mc13783 audio support.

    * Misc
    - Rewrite with module_pci_driver()
    - Xonar DGX support for snd-oxygen
    - Improvement of packet handling in snd-firewire driver
    - New USB-endpoint streaming logic
    - Enhanced M-audio FTU quirks and relevant cleanups
    - Increment the support of OSS devices to 256
    - snd-aloop accuracy improvement

    There are a few more pending changes for 3.5, but they will be sent
    slightly later as partly depending on the changes of DRM."

    Fix up conflicts in regmap (due to duplicate patches, with some further
    updates then having already come in from the regmap tree). Also some
    fairly trivial context conflicts in the imx and mcx soc drivers.

    * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (280 commits)
    ALSA: snd-usb: fix stream info output in /proc
    ALSA: pcm - Add proper state checks to snd_pcm_drain()
    ALSA: sh: Fix up namespace collision in sh_dac_audio.
    ALSA: hda/realtek - Fix unused variable compile warning
    ASoC: sh: fsi: enable chip specific data transfer mode
    ASoC: sh: fsi: call fsi_hw_startup/shutdown from fsi_dai_trigger()
    ASoC: sh: fsi: use same format for IN/OUT
    ASoC: sh: fsi: add fsi_version() and removed meaningless version check
    ASoC: sh: fsi: use register field macro name on IN/OUT_DMAC
    ASoC: tegra: Add machine driver for WM8753 codec
    ALSA: hda - Fix possible races of accesses to connection list array
    ASoC: OMAP: HDMI: Introduce codec
    ARM: mx31_3ds: Add sound support
    ASoC: imx-mc13783 cleanup
    mx31moboard: Add sound support
    ASoC: mc13783 codec cleanups
    ASoC: add imx-mc13783 sound support
    ASoC: Add mc13783 codec
    mfd: mc13xxx: add codec platform data
    ASoC: don't flip master of DT-instantiated DAI links
    ...

    Linus Torvalds
     

12 May, 2012

4 commits


10 May, 2012

1 commit


31 Mar, 2012

1 commit

  • Pull MTD changes from David Woodhouse:
    - Artem's cleanup of the MTD API continues apace.
    - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst
    others.
    - More work on DiskOnChip G3, new driver for DiskOnChip G4.
    - Clean up debug/warning printks in JFFS2 to use pr_.

    Fix up various trivial conflicts, largely due to changes in calling
    conventions for things like dmaengine_prep_slave_sg() (new inline
    wrapper to hide new parameter, clashing with rewrite of previously last
    parameter that used to be an 'append' flag, and is now a bitmap of
    'unsigned long flags').

    (Also some header file fallout - like so many merges this merge window -
    and silly conflicts with sparse fixes)

    * tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6: (120 commits)
    mtd: docg3 add protection against concurrency
    mtd: docg3 refactor cascade floors structure
    mtd: docg3 increase write/erase timeout
    mtd: docg3 fix inbound calculations
    mtd: nand: gpmi: fix function annotations
    mtd: phram: fix section mismatch for phram_setup
    mtd: unify initialization of erase_info->fail_addr
    mtd: support ONFI multi lun NAND
    mtd: sm_ftl: fix typo in major number.
    mtd: add device-tree support to spear_smi
    mtd: spear_smi: Remove default partition information from driver
    mtd: Add device-tree support to fsmc_nand
    mtd: fix section mismatch for doc_probe_device
    mtd: nand/fsmc: Remove sparse warnings and errors
    mtd: nand/fsmc: Add DMA support
    mtd: nand/fsmc: Access the NAND device word by word whenever possible
    mtd: nand/fsmc: Use dev_err to report error scenario
    mtd: nand/fsmc: Use devm routines
    mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform
    mtd: fsmc_nand: add pm callbacks to support hibernation
    ...

    Linus Torvalds
     

27 Mar, 2012

1 commit

  • Move the header to a more common place.
    The mxs dma engine is not only used in mx23/mx28, but also used
    in mx50/mx6q. It will also be used in the future chips.

    Rename it to mxs-dma.h, and create a new folder include/linux/fsl/ to
    store the Freescale's header files.

    change mxs-dma driver, mxs-mmc driver, gpmi-nand driver, mxs-saif driver
    to the new header file.

    Acked-by: Shawn Guo
    Acked-by: Mark Brown
    Signed-off-by: Huang Shijie
    Acked-by: Vinod Koul
    Acked-by: Chris Ball
    Signed-off-by: David Woodhouse

    Huang Shijie
     

02 Mar, 2012

1 commit


22 Feb, 2012

2 commits


20 Feb, 2012

1 commit


11 Feb, 2012

1 commit

  • The various devm_ functions allocate memory that is released when a driver
    detaches. This patch uses these functions for data that is allocated in
    the probe function of a platform device and is only freed in the remove
    function.

    Signed-off-by: Julia Lawall
    Acked-by: Dong Aisheng
    Signed-off-by: Mark Brown

    Julia Lawall
     

21 Jan, 2012

1 commit

  • On a mx28evk board the following errors happens on mxs-sgtl5000 probe:

    [ 0.660000] saif0_clk_set_rate: divider writing timeout
    [ 0.670000] mxs-sgtl5000: probe of mxs-sgtl5000.0 failed with error -110
    [ 0.670000] ALSA device list:
    [ 0.680000] No soundcards found.

    This timeout happens because clk_set_rate will result in writing to the DIV bits
    of register HW_CLKCTRL_SAIF0 with the saif clock gated (CLKGATE bit set to one).

    MX28 Reference states the following about CLKGATE:

    "The DIV field can change ONLY when this clock gate bit field is low."

    So call clk_prepare_enable prior to clk_set_rate to fix this problem.

    After this change the mxs-saif driver can be correctly probed and audio is functional.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Mark Brown

    Fabio Estevam
     

18 Jan, 2012

1 commit

  • * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (53 commits)
    ARM: mach-shmobile: specify CHCLR registers on SH7372
    dma: shdma: fix runtime PM: clear channel buffers on reset
    dma/imx-sdma: save irq flags when use spin_lock in sdma_tx_submit
    dmaengine/ste_dma40: clear LNK on channel startup
    dmaengine: intel_mid_dma: remove legacy pm interface
    ASoC: mxs: correct 'direction' of device_prep_dma_cyclic
    dmaengine: intel_mid_dma: error path fix
    dmaengine: intel_mid_dma: locking and freeing fixes
    mtd: gpmi-nand: move to dma_transfer_direction
    mtd: fix compile error for gpmi-nand
    mmc: mxs-mmc: fix the dma_transfer_direction migration
    dmaengine: add DMA_TRANS_NONE to dma_transfer_direction
    dma: mxs-dma: Don't use CLKGATE bits in CTRL0 to disable DMA channels
    dma: mxs-dma: make mxs_dma_prep_slave_sg() multi user safe
    dma: mxs-dma: Always leave mxs_dma_init() with the clock disabled.
    dma: mxs-dma: fix a typo in comment
    DMA: PL330: Remove pm_runtime_xxx calls from pl330 probe/remove
    video i.MX IPU: Fix display connections
    i.MX IPU DMA: Fix wrong burstsize settings
    dmaengine/ste_dma40: allow fixed physical channel
    ...

    Fix up conflicts in drivers/dma/{Kconfig,mxs-dma.c,pl330.c}

    The conflicts looked pretty trivial, but I'll ask people to verify them.

    Linus Torvalds
     

13 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits)
    ASoC: twl6040 - Add method to query optimum PDM_DL1 gain
    ALSA: hda - Fix the lost power-setup of seconary pins after PM resume
    ALSA: usb-audio: add Yamaha MOX6/MOX8 support
    ALSA: virtuoso: add S/PDIF input support for all Xonars
    ALSA: ice1724 - Support for ooAoo SQ210a
    ALSA: ice1724 - Allow card info based on model only
    ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations
    ALSA: hdspm - Provide unique driver id based on card serial
    ASoC: Dynamically allocate the rtd device for a non-empty release()
    ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC
    ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecs
    ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs
    ALSA: hda - Use auto-parser for HP laptops with cx20459 codec
    ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()
    ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref()
    ALSA: hda/cirrus - support for iMac12,2 model
    ASoC: cx20442: add bias control over a platform provided regulator
    ALSA: usb-audio - Avoid flood of frame-active debug messages
    ALSA: snd-usb-us122l: Delete calls to preempt_disable
    mfd: Put WM8994 into cache only mode when suspending
    ...

    Fix up trivial conflicts in:
    - arch/arm/mach-s3c64xx/mach-crag6410.c:
    renamed speyside_wm8962 to tobermory, added littlemill right
    next to it
    - drivers/base/regmap/{regcache.c,regmap.c}:
    duplicate diff that had already come in with other changes in
    the regmap tree

    Linus Torvalds
     

10 Jan, 2012

1 commit

  • clock management changes for i.MX

    Another simple series related to clock management, this time only for
    imx.

    * tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: mxs: select HAVE_CLK_PREPARE for clock
    clk: add config option HAVE_CLK_PREPARE into Kconfig
    ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
    video: mxsfb: convert to clk_prepare/clk_unprepare
    serial: mxs-auart: convert to clk_prepare/clk_unprepare
    net: flexcan: convert to clk_prepare/clk_unprepare
    mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
    mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
    dma: mxs-dma: convert to clk_prepare/clk_unprepare
    net: fec: add clk_prepare/clk_unprepare
    ARM: mxs: convert platform code to clk_prepare/clk_unprepare
    clk: add helper functions clk_prepare_enable and clk_disable_unprepare

    Fix up trivial conflicts in drivers/net/ethernet/freescale/fec.c due to
    commit 0ebafefcaa7a ("net: fec: add clk_prepare/clk_unprepare") clashing
    trivially with commit e163cc97f9ac ("net/fec: fix the .remove code").

    Linus Torvalds
     

29 Dec, 2011

1 commit


28 Dec, 2011

2 commits


24 Dec, 2011

1 commit


22 Dec, 2011

2 commits


20 Dec, 2011

2 commits


11 Dec, 2011

3 commits


02 Dec, 2011

1 commit