16 Jan, 2014

1 commit

  • Some SoCs can only work in mono or stereo mode at one time. So if
    we let them capture a mono stream while playing a stereo stream,
    there might be a problem occur to one of these two streams: double
    paced or slowed down.

    In soc-pcm.c, we have soc_pcm_apply_symmetry() to apply the rate
    symmetry. But we don't have one for channels.

    Likewise, we can treat symmetric_rate as a solution for those SoCs
    or CODECs which can not handle asymmetrical LRCLK. But it's also
    impossible for them to handle asymmetrical BCLK. And accodring to
    BCLK = LRCLK * channel number * slot size(fixed or sample bits),
    sample bits might also be a problem if they are not using a fixed
    slot size.

    Thus, this patch applys symmetry for channels and sample bits.

    Meanwhile, there might be a race between two substreams if starting
    simultaneously. Previously, we only added warning to compalin but
    still using conservative way to let it carry on. However, this patch
    rejects the second stream with any unmatched parameter to make sure
    the first existing stream won't be broken.

    Signed-off-by: Nicolin Chen
    Signed-off-by: Mark Brown
    (cherry picked from commit 3635bf09a89cf92b80ac44198c5c8f0989624ea6)
    (cherry picked from commit bb3317659966b170d9481fad887df8808774c696)

    Nicolin Chen
     

07 Jan, 2014

2 commits


06 Jan, 2014

1 commit


02 Jan, 2014

2 commits


26 Dec, 2013

1 commit


25 Dec, 2013

2 commits


23 Dec, 2013

1 commit

  • The original mipi csi2 driver uses readl()/writel()
    to access the 32 bit mipi csi2 registers in the
    following way where info->mipi_csi2_base is a pointer
    which points to a 32 bit I/O memory cell of the mipi
    csi2's base address:
    writel(value, info->mipi_csi2_base + offset);
    readl(info->mipi_csi2_base + offset);

    This makes the register offset values shrink 4 times,
    comparing to the offset values documented in the
    reference manual. For example, we need to change the
    offset value from 0x004 to 0x001 so that we may access
    the register MIPI_CSI2_N_LANES correctly.

    This patch redefines the type of info->mipi_csi2_base
    to 'void __iomem *', then the offset values can be the
    same to what they are documented. Also, the macro names
    for the registers are aligned to the documentation.

    Acked-by: Robby Cai
    Cc: Oliver Brown
    Signed-off-by: Liu Ying

    Liu Ying
     

19 Dec, 2013

1 commit


17 Dec, 2013

1 commit


13 Dec, 2013

4 commits


06 Dec, 2013

1 commit


03 Dec, 2013

1 commit

  • The IPUv3 IDMAC has a bug to read 32bpp pixels from a
    graphics plane whose alpha component is at the most
    significant 8 bits. The bug only impacts on cases in which
    the relevant separate alpha channel is enabled.
    This patch adds check for the errata so that the bad
    cases won't be triggered.

    Signed-off-by: Liu Ying

    Liu Ying
     

27 Nov, 2013

1 commit


22 Nov, 2013

1 commit


20 Nov, 2013

9 commits

  • Support YUV formats like: I420, NV12, NV21, UYVY,
    YUYV, VYUY, YVYU, NV16, NV61 and YV12.
    Support rotation in both stages before and after alpha blending.

    Signed-off-by: Fancy Fang

    Fancy Fang
     
  • This commit adds a very basic registry of msi_chip structures, so that
    an IRQ controller driver can register an msi_chip, and a PCIe host
    controller can find it, based on a 'struct device_node'.

    Signed-off-by: Thomas Petazzoni
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Rob Herring
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     
  • This function can be used to parse a bus-range property as specified by
    device nodes representing PCI bridges.

    Signed-off-by: Thierry Reding
    Signed-off-by: Jason Cooper

    Thierry Reding
     
  • This function can be used to parse the device and function number from a
    standard 5-cell PCI resource. PCI_SLOT() and PCI_FUNC() can be used on
    the returned value obtain the device and function numbers respectively.

    Signed-off-by: Thierry Reding
    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Jason Cooper

    Thierry Reding
     
  • The new struct msi_chip is used to associated an MSI controller with a
    PCI bus. It is automatically handed down from the root to its children
    during bus enumeration.

    This patch provides default (weak) implementations for the architecture-
    specific MSI functions (arch_setup_msi_irq(), arch_teardown_msi_irq()
    and arch_msi_check_device()) which check if a PCI device's bus has an
    attached MSI chip and forward the call appropriately.

    Signed-off-by: Thierry Reding
    Signed-off-by: Thomas Petazzoni
    Acked-by: Bjorn Helgaas
    Tested-by: Daniel Price
    Tested-by: Thierry Reding
    Signed-off-by: Jason Cooper

    Thierry Reding
     
  • Until now, the MSI architecture-specific functions could be overloaded
    using a fairly complex set of #define and compile-time
    conditionals. In order to prepare for the introduction of the msi_chip
    infrastructure, it is desirable to switch all those functions to use
    the 'weak' mechanism. This commit converts all the architectures that
    were overidding those MSI functions to use the new strategy.

    Note that we keep two separate, non-weak, functions
    default_teardown_msi_irqs() and default_restore_msi_irqs() for the
    default behavior of the arch_teardown_msi_irqs() and
    arch_restore_msi_irqs(), as the default behavior is needed by x86 PCI
    code.

    Signed-off-by: Thomas Petazzoni
    Acked-by: Bjorn Helgaas
    Acked-by: Benjamin Herrenschmidt
    Tested-by: Daniel Price
    Tested-by: Thierry Reding
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: H. Peter Anvin
    Cc: x86@kernel.org
    Cc: Russell King
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: linux-ia64@vger.kernel.org
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: David S. Miller
    Cc: sparclinux@vger.kernel.org
    Cc: Chris Metcalf
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     
  • Because of the encoding of the "Multiple Message Capable" and "Multiple
    Message Enable" fields, a device can only advertise that it's capable of a
    power-of-two number of vectors, and the OS can only enable a power-of-two
    number.

    For example, a device that's limited internally to using 18 vectors would
    have to advertise that it's capable of 32. The 14 extra vectors consume
    vector numbers and IRQ descriptors even though the device can't actually
    use them.

    This fix introduces a 'msi_desc::nvec_used' field to address this issue.
    When non-zero, it is the actual number of MSIs the device will send, as
    requested by the device driver. This value should be used by architectures
    to set up and tear down only as many interrupt resources as the device will
    actually use.

    Note, although the existing 'msi_desc::multiple' field might seem
    redundant, in fact it is not. The number of MSIs advertised need not be
    the smallest power-of-two larger than the number of MSIs the device will
    send. Thus, it is not always possible to derive the former from the
    latter, so we need to keep them both to handle this case.

    [bhelgaas: changelog, rename to "nvec_used"]
    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas

    Alexander Gordeev
     
  • PCIe requires additional bits be defined for GPR8 and GPR12.

    Signed-off-by: Sean Cross
    Signed-off-by: Shawn Guo
    Signed-off-by: Bjorn Helgaas
    (cherry picked from commit 8d6a35fb13406f87d926fffeee0d70360ce3077d)

    Sean Cross
     
  • switch to community upstreamed pcie driver.
    Revert "ENGR00275213-2 ARM: imx6q: update the pcie bits definitions of gpr"
    This reverts commit 0ddad708c7484a8b5d2016d31fda2bd8b9b8f275.

    Signed-off-by: Richard Zhu

    Richard Zhu
     

18 Nov, 2013

2 commits

  • - Change .notify's return value from void to int.
    - Add CI_HDRC_CONTROLLER_CHARGER_EVENT and
    CI_HDRC_CONTROLLER_CHARGER_POST_EVENT to finish the USB charger
    detection flow.
    - Add usb_gadget_vbus_connect for only notify udc when vbus
    is on, the main reason we add it is we don't want the first
    notification when the vbus is off, it causes the
    dev->power.usage_count equals -1 when do charger detection.

    Signed-off-by: Peter Chen

    Peter Chen
     
  • Add imx6 USB charger detection, the vbus supplier will create and
    remove struct usb_charger, and notify vbus connect and disconnect
    event. The detail USB charger detection flow is at: "i.MX6 RM,
    Chapter Universal Serial Bus 2.0 Integrated PHY (USB-PHY),
    Charger detection, Charger detection software flow".

    Since imx6 only has charger detection function, and no charging
    current function is existed. It the user wants the detection abilities
    from SoC, it can use this detection method
    (add imx6-usb-charger-detection at dts). If the charger IC
    already has USB charger detection function, and the user wants
    to use the detection method from charger IC, please do not add
    imx6-usb-charger-detection property at dts.

    Signed-off-by: Peter Chen

    Peter Chen
     

12 Nov, 2013

1 commit

  • This patch fixes the hang and crash issue of MLB SYNC mode in the driver.
    The MITB will casue Sabreauto to hang and crash when testing the SYNC mode.
    It is because MITB will cause something error on MLB bus when stopping the
    SYNC test. The Sabreauto will keep entering error ISR and hang. Since we
    don't know the details about MITB, we make drivers provide IO_CTRL
    interface to disable the interrupt in SYNC mode.

    Signed-off-by: Luwei Zhou

    Luwei Zhou
     

08 Nov, 2013

3 commits

  • Although the HC supports HS200 (eMMC) the caps2 are always zero; this
    means there's no way to use the super speed mode (when init the card).

    If the HC support SDR104, for SD3.0, so it also supports HS200 for eMMC
    and this patch just sets the MMC_CAP2_HS200 in the host caps2 field.

    Reported-by: Youssef Triki
    Signed-off-by: Giuseppe Cavallaro
    Reviewed-by: Philip Rakity
    Signed-off-by: Chris Ball
    (cherry picked from commit 156e14b126ffb6f040bc6f1aff3c51077e42a744)

    Giuseppe CAVALLARO
     
  • If card power is dependent on SD bus power then the host controller
    must not be runtime suspended while the card is powered up. Add
    the ability to stay runtime-resumed in that case and enable it with a new
    quirk SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Chris Ball
    (cherry picked from commit f0710a557cb17746b09234f01073a2cdafe4f4a5)

    Adrian Hunter
     
  • The ACMD23 unwork issue is fixed now. so the former quirk to disable
    ACMD23 can be removed.

    This reverts commit fd27fce042bfd289eab6dbb7c98ab3adb48ca25b.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     

06 Nov, 2013

5 commits