10 Dec, 2015

5 commits


01 Dec, 2015

1 commit

  • Because interrupt endpoints usually transmit such
    small amounts of data, it seems pointless to prestart
    transfers and try to get speed improvements. This
    patch also sorts out a problem with CDC ECM function
    where its notification endpoint gets stuck in busy
    state and we continuously issue Update Transfer
    commands.

    Fixes: 8a1a9c9e4503 ("usb: dwc3: gadget: start transfer on XFER_COMPLETE")
    Signed-off-by: Felipe Balbi
    Signed-off-by: Sekhar Nori

    Felipe Balbi
     

30 Nov, 2015

3 commits

  • Increase the timeout value given for sw timeout to a high value
    (3 times the value requested by card). During the experiments, it
    was observed that the eMMC card on DRA72x EVM advertised 960ms as
    timeout but the (worst case) transfer complete came after 2.6 seconds.

    The additional delay is to account for the start time of the transfer,
    IO timings and card advertising incorrect timeout values. Also add a
    minimum timeout value of 20ms so that we don't timeout unnecessarily.

    Signed-off-by: Kishon Vijay Abraham I
    [nsekhar@ti.com: massage commit text]
    Signed-off-by: Sekhar Nori

    Kishon Vijay Abraham I
     
  • omap_hsmmc_xfer_done or omap_hsmmc_cmd_done should be invoked
    to inform the MMC core of the completion of request and for
    any cleanup operations. Invoke these in the software timeout
    handler. This helps to avoid blocked fs process while doing
    any MMC operation.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Sekhar Nori

    Kishon Vijay Abraham I
     
  • In order to avoid unnecessary interrupt handling while we are
    already handling the software timeout, disable the irq in
    software timeout handler.
    For example there was a CRC error interrupt while software
    timeout was being handled resulting in an abort.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Sekhar Nori

    Kishon Vijay Abraham I
     

27 Nov, 2015

2 commits


26 Nov, 2015

6 commits

  • As the probe sequence is not guaranteed contrary to the assumption
    of this patch, following commit has to be reverted.

    commit 2d8e276a9030 ("net: netcp: remove dead code from the driver")

    Tested-by: Dave Gerlach
    Signed-off-by: Murali Karicheri
    Signed-off-by: Sekhar Nori

    Murali Karicheri
     
  • The netcp driver shouldn't proceed until the knav qmss and dma
    devices are ready. So return -EPROBE_DEFER if these devices are not
    ready.

    Tested-by: Dave Gerlach
    Signed-off-by: Murali Karicheri
    Signed-off-by: Sekhar Nori

    Murali Karicheri
     
  • The driver needs to take care of probe deferral. So if drivers such as
    netcp that depends on knav qmss/dma driver needs to know when these
    devices are ready. So add a API to query the device ready status from
    these drivers.

    Tested-by: Dave Gerlach
    Signed-off-by: Murali Karicheri
    Signed-off-by: Sekhar Nori

    Murali Karicheri
     
  • …gration-tree/connectivity-ti-linux-kernel into ti-linux-4.1.y

    TI-Feature: connectivity
    TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
    TI-Branch: connectivity-ti-linux-4.1.y

    * 'connectivity-ti-linux-4.1.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
    Revert "usb: dwc3: host: pass STOP_EP flag for known broken revisions"
    Revert "usb: host: xhci-plat: enable STOP_EP workaround if platform requested"
    Revert "usb: host: xhci: add quirk flag for broken Stop EP cmd"

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     
  • …nel/platform-linux-feature-tree into ti-linux-4.1.y

    TI-Feature: platform_base
    TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
    TI-Branch: platform-ti-linux-4.1.y

    * 'platform-ti-linux-4.1.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
    firmware: ti_sci: Add device_resets calls to the device ops
    firmware: ti_sci: Drop resets field from ti_sci_set_device_state calls
    ARM: dts: k2g: Fix Message Manager interrupt polarity
    baseport.cfg: Enable SYSTEM V IPC

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     
  • TI-Feature: rpmsg
    TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
    TI-Branch: rpmsg-ti-linux-4.1.y

    * 'rpmsg-ti-linux-4.1.y' of git://git.ti.com/rpmsg/rpmsg:
    rpmsg: use proper format-specifier for printing dma_addr_t
    rpmsg: rpc: fix the definition of virt_addr_t
    rpmsg: rpc: define and use a device address type
    rpmsg: rpc: use %pa for printing phys_addr_t
    remoteproc/pruss: use %pa for printing phys_addr_t
    remoteproc: use proper format-specifier for printing dma_addr_t
    ARM: OMAP2+: iommu: fix sleeping lock usage in atomic context bug

    Signed-off-by: Dan Murphy

    Dan Murphy
     

25 Nov, 2015

6 commits

  • Add set_device_resets to the device ops of ti_sci to handle new
    TI_SCI_MSG_SET_DEVICE_RESETS message introduced with ABI 2.3 that
    will control the resets of a device without touching any of the
    other state associated with that device.

    Previously resets control was handled by the TI_SCI_MSG_SET_DEVICE
    message which also controls device state. This would lead to the
    reset framework being responsible for controlling resets but also
    requiring knowledge about the state of the device or making assumptions
    and causing undefined behavior. With this new split ti_sci_pm_domains
    can control the state exclusively while also setting the reset value
    when turning the device on and the reset framework will be able to
    control resets independently of device state.

    Also add get_device_resets to return the state of the resets of a
    device.

    Acked-by: Nishanth Menon
    Signed-off-by: Dave Gerlach

    Dave Gerlach
     
  • TI_SCI_MSG_SET_DEVICE_STATE no longer will control resets as this has
    been moved to a new separate ABI as of ABI 2.3 so drop the resets field
    from the message request and update ti_sci_set_device_state and all
    functions using it to no longer set the resets field.

    Also update ti_sci_pm_domains to avoid build breakage as it uses the
    get_device op which used to take resets as a parameter.

    Acked-by: Nishanth Menon
    Signed-off-by: Dave Gerlach

    Dave Gerlach
     
  • Pull in the updated remoteproc feature branch that includes couple
    of minor trace format-specifier corrections in the remoteproc core
    and the pruss_remoteproc driver.

    * 'rproc-linux-4.1.y' of git://git.ti.com/rpmsg/remoteproc:
    remoteproc/pruss: use %pa for printing phys_addr_t
    remoteproc: use proper format-specifier for printing dma_addr_t

    Signed-off-by: Suman Anna

    Suman Anna
     
  • Pull in the updated rpmsg base feature branch that includes various
    build warning fixes in the rpmsg_rpc driver when ARM LPAE config
    option is enabled (seen on DRA7 only builds).

    * 'rpmsg-linux-4.1.y' of git://git.ti.com/rpmsg/rpmsg:
    rpmsg: use proper format-specifier for printing dma_addr_t
    rpmsg: rpc: fix the definition of virt_addr_t
    rpmsg: rpc: define and use a device address type
    rpmsg: rpc: use %pa for printing phys_addr_t

    Signed-off-by: Suman Anna

    Suman Anna
     
  • The dma_addr_t types can be printed properly using the %pad
    printk format-specifier, there is no need to resort to the
    unsigned long long type-casting, to deal with different
    possible type sizes.

    Reviewed-by: Lokesh Vutla
    Signed-off-by: Suman Anna

    Suman Anna
     
  • The current rpmsg_rpc code uses the type virt_addr_t for variables
    storing the MPU virtual addresses of buffers (either kernel-mapped
    addresses or userspace buffer addresses). This type is conditionally
    defined to be 64-bit relying on the macro CONFIG_PHYS_ADDR_T_64BIT.
    Even though the physical memory available is addressed using 64 bit,
    it is not necessary that 64 bit virtual addresses are being generated.
    A 32-bit processor always generates a 32 bit virtual address, and
    therefore this definition is wrong. Fix it by making it always a u32,
    as we currently support only 32-bit virtual addresses.

    This fixes a bunch of build warnings [1] of the type "cast to pointer
    from integer of different size [-Wint-to-pointer-cast]" and "cast from
    pointer to integer of different size [-Wpointer-to-int-cast]" when
    CONFIG_ARM_LPAE is enabled.

    [1] http://pastebin.ubuntu.com/13494230/

    Fixes: 1c80c7075bcab ("rpmsg: rpc: introduce a new rpmsg_rpc driver")
    Signed-off-by: Lokesh Vutla
    [s-anna@ti.com: revise commit description slightly]
    Signed-off-by: Suman Anna

    Lokesh Vutla
     

24 Nov, 2015

7 commits


20 Nov, 2015

3 commits

  • ks_pcie_probe() causes a kernel crash if it fails
    to find the serdes phy because it calls phy_exit()
    on an non-exising phy.

    Fix it. While at it, also fix return value when
    devm_of_phy_get() fails.

    Signed-off-by: Sekhar Nori

    Sekhar Nori
     
  • commit 0dbfefc0fcc2 ("phy: keystone: serdes driver for gbe
    10gbe and pcie") added a new entry for PHY_TI_KEYSTONE_SERDES
    instead of modifying the existing one. Fix it.

    Reported-by: Suman Anna
    Fixes: 0dbfefc0fcc2 ("phy: keystone: serdes driver for gbe 10gbe and pcie")
    Signed-off-by: Sekhar Nori

    Sekhar Nori
     
  • Avoid unnecessary ioremap of QSPI mmap region when using memcpy DMA. DMA
    operates over physical addresses hence, there is no need to do ioremap
    of QSPI mmap region.

    Also, sometimes devm_ioremap of QSPI mmap region may fail (primarily,
    due to lack of 64MB of contiguous region in vmalloc area), in such cases
    switch to PIO mode and continue to probe instead of returning error and
    failing to probe.

    Signed-off-by: Vignesh R
    Signed-off-by: Sekhar Nori

    Vignesh R
     

19 Nov, 2015

1 commit

  • to fix this, all we have to do is call
    pm_runtime_enable() and pm_runtime_get_sync() at
    appropriate locations.

    Without pm_runtime_get_sync(), ocp2scp hwmod will
    _not_ enable the IP and, thus, we will have abort
    exceptions.

    Signed-off-by: Felipe Balbi
    Signed-off-by: Sekhar Nori

    Felipe Balbi
     

14 Nov, 2015

4 commits

  • * 'rpmsg-ti-linux-4.1.y' of git://git.ti.com/rpmsg/rpmsg: (25 commits)
    rpmsg: pru: add a PRU RPMsg driver
    ARM: dts: am57xx-idk-common: Enable PRU-ICSS and the child PRU nodes
    ARM: dts: am57xx-idk-common: Add mailboxes to the PRU nodes
    ARM: dts: am57xx-idk-common: Enable the system mailboxes 3 and 4
    ARM: dts: DRA72x: Add sub-mailbox nodes for all PRUSS1 & PRUSS2
    ti_config_fragments: rpmsg: Add keystone-dsp-mem module
    ti_config_fragments: add ipc fragment to multi_core_defconfig_fragment
    ti_config_fragments: rpmsg: Add Keystone remoteproc modules
    TEMP: ARM: dts: k2e-evm: Reserve some DDR for MPM usecases
    TEMP: ARM: dts: k2l-evm: Reserve some DDR for MPM usecases
    TEMP: ARM: dts: k2hk-evm: Reserve some DDR for MPM usecases
    ARM: dts: k2e-evm: Add a common DSP shared memory CMA pool
    ARM: dts: k2l-evm: Add a common DSP shared memory CMA pool
    ARM: dts: k2hk-evm: Add a common DSP shared memory CMA pool
    TEMP: ARM: dts: k2e-evm: Add dspmem node
    TEMP: ARM: dts: k2l-evm: Add dspmem node
    TEMP: ARM: dts: k2hk-evm: Add dspmem node
    TEMP: soc: ti: add the keystone_dsp_mem driver
    TEMP: Documentation: DT: Add Keystone DSP Memory mapping device binding
    ARM: dts: k2e: Add DSP node
    ...

    Signed-off-by: Denys Dmytriyenko

    Conflicts:
    arch/arm/boot/dts/am57xx-idk-common.dtsi
    arch/arm/boot/dts/dra72x.dtsi
    arch/arm/boot/dts/k2e-evm.dts
    arch/arm/boot/dts/k2e.dtsi
    arch/arm/boot/dts/k2hk.dtsi
    arch/arm/boot/dts/k2l.dtsi

    Denys Dmytriyenko
     
  • Pull in the updated rpmsg base feature branch that adds a new
    rpmsg bus driver, rpmsg-pru. The rpmsg-pru driver provides a
    simple character driver interface to userspace to send messages
    to the PRU remote processors on the currently supported SoCs -
    AM335x, AM437x and AM57xx.

    * 'rpmsg-linux-4.1.y' of git://git.ti.com/rpmsg/rpmsg:
    rpmsg: pru: add a PRU RPMsg driver

    Signed-off-by: Suman Anna

    Suman Anna
     
  • …gration-tree/connectivity-ti-linux-kernel into ti-linux-4.1.y

    * 'connectivity-ti-linux-4.1.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel: (27 commits)
    usb: dwc3: host: pass STOP_EP flag for known broken revisions
    usb: host: xhci-plat: enable STOP_EP workaround if platform requested
    usb: host: xhci: add stop endpoint quirk flag to pdata
    usb: host: xhci: add quirk flag for broken Stop EP cmd
    usb: host: xhci: dont' clear previously enabled quirks
    ARM: dts: AM57xx IDK: Common and AM572x Add MMC and eMMC support
    ARM: dts: am571x-idk: Add mmc and emmc support
    phy: ti-pipe3: configure usb3 phy to be used as pcie phy
    phy: ti-pipe3: get tx and rx MEM resource
    ARM: DRA7: add OF_AUX_DATA for "ti,dra72-pcie" to perform reset
    pci: host: pci-dra7xx: Enable x2 mode support
    pci: host: pci-dra7xx: use "num-lanes" property to find phy count
    ARM: dts: <am4372/dra7/omap5>: Use "syscon-phy-power" instead of "ctrl-module"
    ARM: dts: dra7: Use "ti,dra746-usb2-phy2" compatible string for USB2 PHY2
    ARM: dts: dra7: Use "syscon-phy-power" and "syscon-pcs" in PCIe PHY node
    ARM: dts: dra7: Add dt node for the sycon pcie
    phy: omap-usb2: use *syscon* framework API to power on/off the PHY
    phy: omap-usb2: use omap_usb_power_off to power off the PHY during probe
    phy: ti-pipe3: use *syscon* framework API to set PCS value of the PHY
    phy: ti-pipe3: use *syscon* framework API to power on/off the PHY
    ...

    Signed-off-by: Denys Dmytriyenko <denys@ti.com>

    Conflicts:
    arch/arm/boot/dts/am571x-idk.dts

    Denys Dmytriyenko
     
  • An RPMsg driver that exposes interfaces to user space, to
    allow applications to communicate with the PRU processors
    on available TI SoCs has been added. This is restricted to
    SoCs that have the PRUSS remoteproc support.

    Signed-off-by: Jason Reeder
    [s-anna@ti.com: rename some variables, checkpatch & sparse fixes]
    Signed-off-by: Suman Anna

    Jason Reeder
     

13 Nov, 2015

2 commits

  • …nel/platform-linux-feature-tree into ti-linux-4.1.y

    TI-Feature: platform_base
    TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
    TI-Branch: platform-ti-linux-4.1.y

    * 'platform-ti-linux-4.1.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
    omap3isp: Support for deferred probing when requesting DMA channel
    spi: omap2-mcspi: Support for deferred probing when requesting DMA channels
    crypto: omap-sham - Support for deferred probing when requesting DMA channel
    crypto: omap-des - Support for deferred probing when requesting DMA channels
    crypto: omap-aes - Support for deferred probing when requesting DMA channels
    mmc: davinci_mmc: Support for deferred probing when requesting DMA channels
    mmc: omap: Support for deferred probing when requesting DMA channels
    mmc: omap_hsmmc: Support for deferred probing when requesting DMA channels
    mmc: omap_hsmmc: No need to check DMA channel validity at module remove
    dmaengine: Introduce dma_request_slave_channel_compat_reason()
    dmaengine: of_dma: Correct return code for of_dma_request_slave_channel in case !CONFIG_OF
    ARM: dts: k2g-evm: Add pinmuxing for UART0
    ARM: dts: keystone: Header file for pinctrl constants
    ARM: dts: k2g: Fix pinctrl function mask

    Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>

    LCPD Auto Merger
     
  • Switch to use dma_request_slave_channel_compat_reason() to request the DMA
    channel. Only fall back to pio mode if the error code returned is not
    -EPROBE_DEFER, otherwise return from the probe with the -EPROBE_DEFER.

    Signed-off-by: Peter Ujfalusi
    CC: Laurent Pinchart
    CC: Mauro Carvalho Chehab

    Peter Ujfalusi