10 Dec, 2015
5 commits
-
The IP is owned by a 3rd party and this patch renames some of the
functions per vendor recommendation.Signed-off-by: Murali Karicheri
Signed-off-by: Sekhar Nori -
The IP is owned by 3rd party and this patch makes updates to the code
to change constants and data structures per vendor recommendation.Signed-off-by: Murali Karicheri
Signed-off-by: WingMan Kwok
Signed-off-by: Sekhar Nori -
kserdes_att_boost_phyb_patch() is unnecessary as it just call another
function kserdes_att_boost_phyb_lane_patch() from within it. So instead
call kserdes_att_boost_phyb_lane_patch() directly since we have no reuse
of the same in the code anymore.Signed-off-by: Murali Karicheri
Signed-off-by: WingMan Kwok
[nm@ti.com: massage commit text]
Signed-off-by: Sekhar Nori -
Hyperlink is not supported by the driver. So remove all code related
to hyperlink.Signed-off-by: Murali Karicheri
Signed-off-by: WingMan Kwok
[nsekhar@ti.com: adjust subject line]
Signed-off-by: Sekhar Nori -
The SerDes IP is owned by a 3rd party and this patch makes
update to the comments in the code as recommended by the
vendor.Signed-off-by: Murali Karicheri
Signed-off-by: WingMan Kwok
Signed-off-by: Sekhar Nori
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
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 -
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 -
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
27 Nov, 2015
2 commits
-
Use dev_err() for reporting errors rather than
dev_dbg().Signed-off-by: Sekhar Nori
-
davinci_spi_bufs() uses wait_for_completion_interruptible()
without bothering to handle -ERESTARTSYS. Due to this,
sometime, it returns prematurely when a signal is received.
Since the return value is never checked, userspace eventually
receives a spurious -EIO.To fix this, use un-interruptible wait_for_completion_timeout().
Signed-off-by: Sekhar Nori
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 -
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 -
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 -
…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>
-
…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 IPCSigned-off-by: Dan Murphy <DMurphy@ti.com>
-
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 bugSigned-off-by: 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 -
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 -
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_tSigned-off-by: 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_tSigned-off-by: 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 -
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
24 Nov, 2015
7 commits
-
The current rpmsg_rpc code uses a phys_addr_t type for variables
storing the remote processor device addresses. The phys_addr_t
type can either be a 32-bit or a 64-bit integer type (based on
CONFIG_PHYS_ADDR_T_64BIT). Define a new address type, dev_addr_t,
and use this for remote processor addresses instead of phys_addr_t,
so as to not to confuse with either the actual physical addresses
or the MPU virtual addresses. The new type is defined to be a 32-bit
integer type as all the existing OMAP remote processors use 32-bit
addresses only.This fixes couple of build warnings of the type "cast to pointer from
integer of different size" when CONFIG_ARM_LPAE is enabled.Reviewed-by: Lokesh Vutla
Signed-off-by: Suman Anna -
The phys_addr_t types can be printed properly using the %pa
printk format-specifier, there is no need to type-cast the
corresponding variables to a different type and print them
accordingly.Reviewed-by: Lokesh Vutla
Signed-off-by: Suman Anna -
The phys_addr_t types can be printed properly using the %pa
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 -
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 -
This reverts commit b5f03e915d179bbceb72e40cbe91988b232698bb.
Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori -
This reverts commit 628110bb6b18882dd93d5a628e4f61997e1d1495.
Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori -
This reverts commit c40f65c26c898425195bbf8892289e9015c22d8a.
There are some conditions that were discovered during
testing where the errata workaround should not be applied,
but there's not enough information from the driver to decide
if we should or shouldn't apply workaround. This needs further
investigation. Revert the errata workaround until this is
complete.Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori
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
-
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 -
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
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
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 -
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 driverSigned-off-by: 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 -
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
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 maskSigned-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
-
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