]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel-next.git/log
ti-linux-kernel/ti-linux-kernel-next.git
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y ti-rt-linux-4.19.y-next-20191001
LCPD Auto Merger [Mon, 30 Sep 2019 14:25:22 +0000 (09:25 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  ASoC: soc-pcm: Use different sequence for start/stop trigger

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature audio-display into ti-linux-4.19.y
LCPD Auto Merger [Mon, 30 Sep 2019 13:35:35 +0000 (08:35 -0500)]
Merged TI feature audio-display into ti-linux-4.19.y

TI-Feature: audio-display
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/audio-display:
  ASoC: soc-pcm: Use different sequence for start/stop trigger

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio...
Jyri Sarha [Mon, 30 Sep 2019 13:09:42 +0000 (16:09 +0300)]
Merge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio into audio_display-ti-linux-4.19.y

2019.04 - ASoC: pcm trigger ordering to fix errors on stream stop/pause

* 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio:
  ASoC: soc-pcm: Use different sequence for start/stop trigger

4 years agoASoC: soc-pcm: Use different sequence for start/stop trigger
Peter Ujfalusi [Fri, 20 Sep 2019 07:20:26 +0000 (10:20 +0300)]
ASoC: soc-pcm: Use different sequence for start/stop trigger

On stream stop currently we stop the DMA first followed by the CPU DAI.
This can cause underflow (playback) or overflow (capture) on the DAI side
as the DMA is no longer feeding data while the DAI is still active.
It can be observed easily if the DAI side does not have FIFO (or it is
disabled) to survive the time while the DMA is stopped, but still can
happen on relatively slow CPUs when relatively high sampling rate is used:
the FIFO is drained between the time the DMA is stopped and the DAI is
stopped.

It can only fixed by using different sequence within trigger for 'stop' and
'start':
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
Trigger order: dai_link, DMA, CPU DAI then the codec

case SNDRV_PCM_TRIGGER_STOP:
case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
Trigger order: codec, CPU DAI, DMA then dai_link

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y ti-rt-linux-4.19.y-next-20190930
LCPD Auto Merger [Sun, 29 Sep 2019 19:26:28 +0000 (14:26 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  drm/tidss: dispc7: Update scaling limitations for J7 DSS

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature audio-display into ti-linux-4.19.y
LCPD Auto Merger [Sun, 29 Sep 2019 18:35:25 +0000 (13:35 -0500)]
Merged TI feature audio-display into ti-linux-4.19.y

TI-Feature: audio-display
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/audio-display:
  drm/tidss: dispc7: Update scaling limitations for J7 DSS

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agodrm/tidss: dispc7: Update scaling limitations for J7 DSS
Jyri Sarha [Wed, 26 Jun 2019 13:30:57 +0000 (16:30 +0300)]
drm/tidss: dispc7: Update scaling limitations for J7 DSS

J721E DSS has larger linebuffers for scaling and different buffer
width limitations for scaling. The patch updates the values copied
from AM65x DSS support.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y ti-rt-linux-4.19.y-next-20190928 ti-rt-linux-4.19.y-next-20190929
LCPD Auto Merger [Sat, 28 Sep 2019 01:29:06 +0000 (20:29 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  remoteproc/k3-dsp: Add support for L2RAM loading on C66x DSPs

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature rpmsg into ti-linux-4.19.y
LCPD Auto Merger [Sat, 28 Sep 2019 00:35:23 +0000 (19:35 -0500)]
Merged TI feature rpmsg into ti-linux-4.19.y

TI-Feature: rpmsg
TI-Branch: rpmsg-ti-linux-4.19.y-intg

* 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg:
  remoteproc/k3-dsp: Add support for L2RAM loading on C66x DSPs

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoremoteproc/k3-dsp: Add support for L2RAM loading on C66x DSPs
Suman Anna [Wed, 25 Sep 2019 00:14:32 +0000 (19:14 -0500)]
remoteproc/k3-dsp: Add support for L2RAM loading on C66x DSPs

The resets for the DSP processors on K3 SoCs are managed through the
Power and Sleep Controller (PSC) module. Each DSP typically has two
resets - a global module reset for powering on the device, and a local
reset that affects only the CPU while allowing access to the other
sub-modules within the DSP processor sub-systems.

The C66x DSPs have two levels of internal RAMs that can be used to
boot from, and the firmware loading into these RAMs require the
local reset to be asserted with the device powered on/enabled using
the module reset. Enhance the K3 DSP remoteproc driver to add support
for loading into the internal RAMs. The local reset is deasserted on
SoC power-on-reset, so logic has to be added in probe in remoteproc
mode to balance the remoteproc state-machine.

Note that the local resets are a no-op on C71x cores, and the hardware
does not supporting loading into its internal RAMs.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y
LCPD Auto Merger [Fri, 27 Sep 2019 17:29:33 +0000 (12:29 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  arm64: dts: ti: k3-j721e-proc-board-tps65917: Fix USB0 in super-speed
  usb: cdns3: gadget: Fix broken gadget after role switch from host to device
  arm64: dts: k3-j721e-proc-board: Add wait time for sampling Type-C DIR line
  phy: ti: j721e-wiz: Add support Type-C DIR GPIO delay
  dt-bindings: phy: ti,phy-j721e-wiz: Add Type-C dir GPIO debounce
  phy: ti: j721e-wiz: Fix error path if Type-C GPIO is not available

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature connectivity into ti-linux-4.19.y
LCPD Auto Merger [Fri, 27 Sep 2019 16:39:47 +0000 (11:39 -0500)]
Merged TI feature connectivity into ti-linux-4.19.y

TI-Feature: connectivity
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/connectivity:
  arm64: dts: ti: k3-j721e-proc-board-tps65917: Fix USB0 in super-speed
  usb: cdns3: gadget: Fix broken gadget after role switch from host to device
  arm64: dts: k3-j721e-proc-board: Add wait time for sampling Type-C DIR line
  phy: ti: j721e-wiz: Add support Type-C DIR GPIO delay
  dt-bindings: phy: ti,phy-j721e-wiz: Add Type-C dir GPIO debounce
  phy: ti: j721e-wiz: Fix error path if Type-C GPIO is not available

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoarm64: dts: ti: k3-j721e-proc-board-tps65917: Fix USB0 in super-speed
Roger Quadros [Tue, 24 Sep 2019 11:40:51 +0000 (14:40 +0300)]
arm64: dts: ti: k3-j721e-proc-board-tps65917: Fix USB0 in super-speed

The controller bindings changed at some point but got missed
when this alpha board DTS was split.

Fixes: ff854b45b49f ("arm64: dts: ti: k3-j721e: Add support for pm2 som")
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: gadget: Fix broken gadget after role switch from host to device
Roger Quadros [Thu, 19 Sep 2019 15:05:28 +0000 (18:05 +0300)]
usb: cdns3: gadget: Fix broken gadget after role switch from host to device

On switching to host mode, xhci-plat.c sets controller device's
DMA mask to 64-bit. On switching back to gadget mode we need
to reset the DMA mask to 32-bit else gadget controller malfunctions.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: k3-j721e-proc-board: Add wait time for sampling Type-C DIR line
Roger Quadros [Thu, 19 Sep 2019 15:05:27 +0000 (18:05 +0300)]
arm64: dts: k3-j721e-proc-board: Add wait time for sampling Type-C DIR line

The Type-C compainon chip on the board needs ~133ms (tCCB_DEFAULT)
to debounce the CC lines in order to detect attach and plug orientation
and reflect the correct DIR status. [1]

Let's wait for 300ms before sampling the Type-C DIR line.

[1] http://www.ti.com/lit/ds/symlink/tusb321.pdf

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agophy: ti: j721e-wiz: Add support Type-C DIR GPIO delay
Roger Quadros [Thu, 19 Sep 2019 15:05:26 +0000 (18:05 +0300)]
phy: ti: j721e-wiz: Add support Type-C DIR GPIO delay

Type-C companions typically need some time after the cable is
plugged before and before they reflect the correct status of
Type-C plug orientation on the DIR line.

Type-C Spec specifies CC attachment debounce time (tCCDebounce)
of 100 ms (min) to 200 ms (max).

Use the DT property to figure out if we need to add delay
or not before sampling the Type-C DIR line.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: phy: ti,phy-j721e-wiz: Add Type-C dir GPIO debounce
Roger Quadros [Thu, 19 Sep 2019 15:05:25 +0000 (18:05 +0300)]
dt-bindings: phy: ti,phy-j721e-wiz: Add Type-C dir GPIO debounce

Type-C companions typically need some time after the cable is
plugged before and before they reflect the correct status of
Type-C plug orientation on the DIR line.

Type-C Spec specifies CC attachment debounce time (tCCDebounce)
of 100 ms (min) to 200 ms (max).

Allow the DT node to specify the time (in ms) that we need
to wait before sampling the DIR line.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agophy: ti: j721e-wiz: Fix error path if Type-C GPIO is not available
Roger Quadros [Thu, 19 Sep 2019 15:05:24 +0000 (18:05 +0300)]
phy: ti: j721e-wiz: Fix error path if Type-C GPIO is not available

We should not be complaining on console if we got -EPROBE_DEFER.
Also, fixup the error path.

Fixes: fa06d29814d0 ("phy: ti: j721e-wiz: Manage typec-gpio-dir")
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y ti-rt-linux-4.19.y-next-20190926 ti-rt-linux-4.19.y-next-20190927
LCPD Auto Merger [Wed, 25 Sep 2019 14:29:11 +0000 (09:29 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  ASoC: ti: j721e-evm: Add rule to limit the available sampling rates
  drm/omap: fix scaling limits

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature audio-display into ti-linux-4.19.y
LCPD Auto Merger [Wed, 25 Sep 2019 13:35:39 +0000 (08:35 -0500)]
Merged TI feature audio-display into ti-linux-4.19.y

TI-Feature: audio-display
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/audio-display:
  ASoC: ti: j721e-evm: Add rule to limit the available sampling rates
  drm/omap: fix scaling limits

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio...
Jyri Sarha [Wed, 25 Sep 2019 12:53:56 +0000 (15:53 +0300)]
Merge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio into audio_display-ti-linux-4.19.y

2019.04 - j7: do not allow unsupported rates

* 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio:
  ASoC: ti: j721e-evm: Add rule to limit the available sampling rates

4 years agoASoC: ti: j721e-evm: Add rule to limit the available sampling rates
Peter Ujfalusi [Fri, 20 Sep 2019 11:15:34 +0000 (14:15 +0300)]
ASoC: ti: j721e-evm: Add rule to limit the available sampling rates

With the PLLs and the HSDIV we can only support a range of sampling rates.

Make sure that the unsupported rates are not available.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoMerge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into...
Jyri Sarha [Wed, 25 Sep 2019 12:16:11 +0000 (15:16 +0300)]
Merge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into audio_display-ti-linux-4.19.y

2019.04 DSS scaling fix

* 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux:
  drm/omap: fix scaling limits

4 years agodrm/omap: fix scaling limits
Tomi Valkeinen [Mon, 23 Sep 2019 14:03:09 +0000 (17:03 +0300)]
drm/omap: fix scaling limits

"drm/omap: dynamically assign hw overlays to planes" added a call to
drm_atomic_helper_check_plane_state() in omap_plane_atomic_check(), with
scaling limits that were supposed to allow all the valid setups.

However, the limits were backwards, and the limit meant for upscaling
limited downscaling, and vice versa.

Also, the limit for downscaling is a bit too restrictive (1/4).

Fix the limits so that they allow down to 1/8 downscaling and up to x8
upscaling.

Note that the "real" scaling limits are more complex and calculated in
dispc. Unfortunately that happens only at commit phase, but that is
another topic.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: Ram Prasad <x0038811@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y ti-rt-linux-4.19.y-next-20190924 ti-rt-linux-4.19.y-next-20190925
LCPD Auto Merger [Tue, 24 Sep 2019 01:06:04 +0000 (20:06 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  ARM: dts: dra76-evm: Add CMA pool for GPU device
  ARM: dts: dra7-evm: Add CMA pool for GPU
  drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
  drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
  drm/bridge: cdns-mhdp: Handle probe failures correctly
  drm/bridge: cdns-mhdp: Drop useless container structs
  drm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common
  drm/rockchip: Restore everything to what is there in v4.19.73
  drm/bridge: cdns-mhdp: Remove completely untested audio support
  drm/tidss: constify rpmsg ops structs
  drm/tidss: add missing static declarations in DSS sharing code
  ASoC: pcm3168a: The codec does not support S32_LE
  arm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac
  serial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush
  serial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout
  crypto: sa2ul: Add sha512 HW crypto support
  crypto: sa2ul: Do spin_lock_init on scid_lock

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 21:49:22 +0000 (16:49 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel: (25 commits)
  ti_config_fragments/connectivity.cfg: Enable NTB configs
  arm64: dts: ti: k3-j721e: Add DT overlay for PCIe Backplane
  arm64: dts: ti: k3-j721e: Add reference to *phy* in PCIe EP DT node
  NTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge
  NTB: Add support for EPF PCI-Express Non-Transparent Bridge
  PCI: Add TI J721E device to pci ids
  PCI: endpoint: Add EP function driver to provide NTB functionality
  PCI: endpoint: *_free_bar() to return error codes on failure
  PCI: endpoint: Fix missing mutex_unlock in error case
  PCI: endpoint: Remove unused pci_epf_match_device()
  PCI: cadence: Implement ->msi_map_irq() ops
  PCI: endpoint: Add pci_epc_ops to map MSI irq
  PCI: endpoint: Add support to associate secondary EPC with EPF
  PCI: endpoint: Add helper API to populate header with values from DT
  PCI: endpoint: Make pci_epf_driver ops optional
  PCI: endpoint: Add helper API to get the 'next' unreserved BAR
  PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
  PCI: endpoint: Add "pci-epf-bus" driver
  PCI: endpoint: Add API to create EPF device from device tree
  PCI: endpoint: Add API to get reference to EPC from device-tree
  ...

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature graphics into ti-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 21:19:49 +0000 (16:19 -0500)]
Merged TI feature graphics into ti-linux-4.19.y

TI-Feature: graphics
TI-Branch: graphics-ti-linux-4.19.y

* 'graphics-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/graphics:
  ARM: dts: dra76-evm: Add CMA pool for GPU device
  ARM: dts: dra7-evm: Add CMA pool for GPU
  drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
  drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
  drm/bridge: cdns-mhdp: Handle probe failures correctly
  drm/bridge: cdns-mhdp: Drop useless container structs
  drm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common
  drm/rockchip: Restore everything to what is there in v4.19.73
  drm/bridge: cdns-mhdp: Remove completely untested audio support
  drm/tidss: constify rpmsg ops structs
  drm/tidss: add missing static declarations in DSS sharing code
  ASoC: pcm3168a: The codec does not support S32_LE
  arm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac
  serial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush
  serial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout
  crypto: sa2ul: Add sha512 HW crypto support
  crypto: sa2ul: Do spin_lock_init on scid_lock

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature connectivity into ti-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 18:42:43 +0000 (13:42 -0500)]
Merged TI feature connectivity into ti-linux-4.19.y

TI-Feature: connectivity
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/connectivity: (25 commits)
  ti_config_fragments/connectivity.cfg: Enable NTB configs
  arm64: dts: ti: k3-j721e: Add DT overlay for PCIe Backplane
  arm64: dts: ti: k3-j721e: Add reference to *phy* in PCIe EP DT node
  NTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge
  NTB: Add support for EPF PCI-Express Non-Transparent Bridge
  PCI: Add TI J721E device to pci ids
  PCI: endpoint: Add EP function driver to provide NTB functionality
  PCI: endpoint: *_free_bar() to return error codes on failure
  PCI: endpoint: Fix missing mutex_unlock in error case
  PCI: endpoint: Remove unused pci_epf_match_device()
  PCI: cadence: Implement ->msi_map_irq() ops
  PCI: endpoint: Add pci_epc_ops to map MSI irq
  PCI: endpoint: Add support to associate secondary EPC with EPF
  PCI: endpoint: Add helper API to populate header with values from DT
  PCI: endpoint: Make pci_epf_driver ops optional
  PCI: endpoint: Add helper API to get the 'next' unreserved BAR
  PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
  PCI: endpoint: Add "pci-epf-bus" driver
  PCI: endpoint: Add API to create EPF device from device tree
  PCI: endpoint: Add API to get reference to EPC from device-tree
  ...

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 18:35:48 +0000 (13:35 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  drm/tidss: WB: fix nested redefinition of enum kbuild error
  drm/tidss: WB: fix frame size kbuild warning

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature audio-display into ti-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 18:02:26 +0000 (13:02 -0500)]
Merged TI feature audio-display into ti-linux-4.19.y

TI-Feature: audio-display
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/audio-display:
  drm/tidss: WB: fix nested redefinition of enum kbuild error
  drm/tidss: WB: fix frame size kbuild warning

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 17:33:04 +0000 (12:33 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  HACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots
  TEMP: ARM: dts: dra7-ipu-common: Add a common file for IPU early boots
  TEMP: remoteproc/omap: add "late attach" support
  TEMP: iommu/omap: add support for performing a "late attach"
  ARM: OMAP2+: pdata-quirks: Add device_is_enabled ops for IOMMUs and rprocs
  clocksource: timer-ti-dm: Add support to handle late attach of rproc timers
  TEMP: remoteproc: call the non-zeroing allocation function
  TEMP: remoteproc: add "late attach" support
  HACK: dma-mapping: add non-zeroing coherent alloc function
  HACK: ARM: dma-mapping: create non-zeroing dma_map_ops
  ARM: dts: dra76-evm: Fix rproc reserved-memory labels and node names
  ARM: dts: dra72-evm-revc: Fix rproc reserved-memory labels and node names

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature rpmsg into ti-linux-4.19.y
Dan Murphy [Mon, 23 Sep 2019 17:18:58 +0000 (12:18 -0500)]
Merged TI feature rpmsg into ti-linux-4.19.y

TI-Feature: rpmsg
TI-Branch: rpmsg-ti-linux-4.19.y-intg

* 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg:
  HACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots
  TEMP: ARM: dts: dra7-ipu-common: Add a common file for IPU early boots
  TEMP: remoteproc/omap: add "late attach" support
  TEMP: iommu/omap: add support for performing a "late attach"
  ARM: OMAP2+: pdata-quirks: Add device_is_enabled ops for IOMMUs and rprocs
  clocksource: timer-ti-dm: Add support to handle late attach of rproc timers
  TEMP: remoteproc: call the non-zeroing allocation function
  TEMP: remoteproc: add "late attach" support
  HACK: dma-mapping: add non-zeroing coherent alloc function
  HACK: ARM: dma-mapping: create non-zeroing dma_map_ops
  ARM: dts: dra76-evm: Fix rproc reserved-memory labels and node names
  ARM: dts: dra72-evm-revc: Fix rproc reserved-memory labels and node names

Signed-off-by: Dan Murphy <dmurphy@ti.com>
4 years agoARM: dts: dra76-evm: Add CMA pool for GPU device
Gowtham Tammana [Tue, 17 Sep 2019 16:55:28 +0000 (11:55 -0500)]
ARM: dts: dra76-evm: Add CMA pool for GPU device

The CMA reserved memory node is added for the GPU device on the DRA76
EVM board, and assigned to respective node. The configuration in here
matches to that on the DRA7 EVM board. This enables the driver to
allocate from CMA region and there by not limiting all GPU allocations
to come only from normal zone.

Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
4 years agoARM: dts: dra7-evm: Add CMA pool for GPU
Gowtham Tammana [Mon, 16 Sep 2019 20:08:59 +0000 (15:08 -0500)]
ARM: dts: dra7-evm: Add CMA pool for GPU

The CMA reserved node has been added for GPU core and enabled for the
DRA7 EVM board. The GPU device cannot access LPAE addresses, and as
such the CMA region is set in the *highmem32* region. This enables the
driver to allocate from the CMA region and there by not limiting all
GPU allocations to come only from normal zone.

Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
4 years agodrm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
Jyri Sarha [Wed, 14 Aug 2019 11:02:58 +0000 (14:02 +0300)]
drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware

Load the firmware asynchronously and probe and add the bridge even we
do not yet have it. This makes it possible to pull up the DRM device
and get the other displays working even if we still have to wait for
display port firmware. The display port is locked in disconnected
state until the firmware is loaded and the DP IP is properly enabled.

The patch adds one lock to protect hw_state and bridge_attached in
the driver data struct from from a race between the DRM operations and
the asynchronous FW loading.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
4 years agodrm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
Jyri Sarha [Tue, 17 Sep 2019 05:37:36 +0000 (08:37 +0300)]
drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()

We should call phy_exit() when we stop using phy, so call it in
mhdp_remove().

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: Handle probe failures correctly
Jyri Sarha [Fri, 6 Sep 2019 14:28:51 +0000 (17:28 +0300)]
drm/bridge: cdns-mhdp: Handle probe failures correctly

If the probe fails after we have enabled and turned the power
management, we should also turn off and disable it.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: Drop useless container structs
Jyri Sarha [Fri, 13 Sep 2019 14:12:34 +0000 (17:12 +0300)]
drm/bridge: cdns-mhdp: Drop useless container structs

There really is no need for cdns_mhdp_connector or cdns_mhdp_bridge
structs, so remove them. Reorder the struct cdns_mhdp_device members a
bit while at it.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common
Jyri Sarha [Mon, 9 Sep 2019 21:00:49 +0000 (00:00 +0300)]
drm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common

Copy all necessary parts from cdns-mhdp-common and do not include
cdns-mhdp-common.h and link cdns-mhdp-common.c to cdns-mhdp any
more.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/rockchip: Restore everything to what is there in v4.19.73
Jyri Sarha [Wed, 18 Sep 2019 06:30:47 +0000 (09:30 +0300)]
drm/rockchip: Restore everything to what is there in v4.19.73

This patch restores Rockchip driver to a state that matches v4.19.73
tag. This cover the mess left by "drm: bridge: add support for Cadence
MHDP DPI/DP bridge"-patch.

Fixes: 5d9ccc098dff ("drm: bridge: add support for Cadence MHDP DPI/DP bridge")
Signed-off-by: Jyri Sarha <jsarha@ti.com>
4 years agodrm/bridge: cdns-mhdp: Remove completely untested audio support
Jyri Sarha [Mon, 16 Sep 2019 08:56:35 +0000 (11:56 +0300)]
drm/bridge: cdns-mhdp: Remove completely untested audio support

The current cdns-mhdp audio support is completely untested. Remove it
until we have some confidence that it actually works.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/tidss: constify rpmsg ops structs
Tomi Valkeinen [Mon, 16 Sep 2019 08:35:24 +0000 (11:35 +0300)]
drm/tidss: constify rpmsg ops structs

The ops in struct rpmsg_remotedev can be const, so constify them.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/tidss: add missing static declarations in DSS sharing code
Tomi Valkeinen [Mon, 16 Sep 2019 08:33:26 +0000 (11:33 +0300)]
drm/tidss: add missing static declarations in DSS sharing code

Make functions static to fix sparse warnings.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agoASoC: pcm3168a: The codec does not support S32_LE
Peter Ujfalusi [Thu, 19 Sep 2019 07:14:24 +0000 (10:14 +0300)]
ASoC: pcm3168a: The codec does not support S32_LE

24 bits is supported in all modes and 16 bit only when the codec is slave
and the DAI is set to RIGHT_J.

Remove the unsupported sample format.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoarm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac
Grygorii Strashko [Thu, 19 Sep 2019 16:23:47 +0000 (19:23 +0300)]
arm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac

Sync cpsw-virt-mac node with k3-j721e-common-proc-board.dts

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoserial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush
Vignesh Raghavendra [Tue, 17 Sep 2019 09:23:28 +0000 (14:53 +0530)]
serial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush

omap_8250_rx_dma_flush() is called twice in am654_8250_handle_rx_dma()
and first call quite redundant in case of second one. Drop the redundant
call.

Tested-by: Bin Liu <b-liu@ti.com>
Reported-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoserial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout
Vignesh Raghavendra [Tue, 17 Sep 2019 09:23:27 +0000 (14:53 +0530)]
serial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout

Calling dmaengine_terminate_async() does not guarantee all the data that
is picked up DMA and is in flight to memory is flushed immediately,
therefore poll for the in flight data to be flushed before pushing
buffer to tty ldisc.
Ideal way to solve this without polling is to call
dmaengine_synchronize() before pushing data to tty layer, but that
cannot be done in interrupt context and code cannot be moved to bottom
half as we need to hold rx_dma_lock spinlock.
Therefore introduce a bounded polling mechanism to know data has been
flushed. Since this is a flush at DMA hardware level, sequence should be
quite deterministic and loop upper bound is set to 5 times the observed
value.

Tested-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agocrypto: sa2ul: Add sha512 HW crypto support
Keerthy [Tue, 10 Sep 2019 06:54:23 +0000 (12:24 +0530)]
crypto: sa2ul: Add sha512 HW crypto support

Add sha512 HW crypto support.

Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agocrypto: sa2ul: Do spin_lock_init on scid_lock
Peter Ujfalusi [Thu, 5 Sep 2019 09:29:21 +0000 (12:29 +0300)]
crypto: sa2ul: Do spin_lock_init on scid_lock

It might work w/o spin_lock_init, but it is not a good practice for sure.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti...
Suman Anna [Mon, 23 Sep 2019 15:37:50 +0000 (10:37 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti-linux-4.19.y-intg

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'topic/4.19/dra7-late-attach' of git://git.ti.com/rpmsg/remoteproc into...
Suman Anna [Mon, 23 Sep 2019 15:11:08 +0000 (10:11 -0500)]
Merge branch 'topic/4.19/dra7-late-attach' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti-linux-4.19.y

Pull in a dedicated remoteproc topic branch that adds the infrastructure
support to allow "late-attach" of the IPU1 and IPU2 remote processors on
DRA7xx/AM57xx SoCs. The late-attach feature is the kernel counterpart to
the early-boot of these processors from U-Boot/SPL to achieve key system
response time goals.

The support is provided through temporary HACKs or workarounds to various
subsystems that includes the DMA API layers, remoteproc core, OMAP IOMMU,
OMAP DMTimer and OMAP remoteproc drivers. The early-booted remoteproc
devices need couple of DT modifications, and these are provided through
a common dtsi file. This common dtsi file needs to be included in the
desired target DRA7/AM57xx board dts files (not merged but available on
the above topic branch).

The following are the main HACKs and needs further rework:
 - Introduce new non-zeroing DMA API to allow the remoteproc core to
   still process the RSC_CARVEOUTs but not zero them (This will need to
   be replaced with static carveout support)
 - The new "late_attach" field added to remoteproc core needs to be
   replaced with equivalent fields already present that supports the
   K3 IPC-only mode and Keystone 2 Multi Proc Manager (MPM) stack.
 - The .device_is_enabled() logic is only temporary and applicable only
   with hwmod layers, this will need to be replaced with logic around
   reset status from OMAP PRM reset driver (next LTS).
 - The reserved memory regions used should actually be carveouts (DMA
   pools), and this needs some resource table RSC_CARVEOUT entries split
   on all the existing firmwares.
 - The addition of the DT modifications needs to be evaluated if it can
   be moved into U-Boot itself. The current logic requires that both
   U-Boot and kernel configs are matched, without which kernel crashes
   are seen.

* 'topic/4.19/dra7-late-attach' of git://git.ti.com/rpmsg/remoteproc:
  HACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots
  TEMP: ARM: dts: dra7-ipu-common: Add a common file for IPU early boots
  TEMP: remoteproc/omap: add "late attach" support
  TEMP: iommu/omap: add support for performing a "late attach"
  ARM: OMAP2+: pdata-quirks: Add device_is_enabled ops for IOMMUs and rprocs
  clocksource: timer-ti-dm: Add support to handle late attach of rproc timers
  TEMP: remoteproc: call the non-zeroing allocation function
  TEMP: remoteproc: add "late attach" support
  HACK: dma-mapping: add non-zeroing coherent alloc function
  HACK: ARM: dma-mapping: create non-zeroing dma_map_ops

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'for19.04.01' of ssh://bitbucket.itg.ti.com/~a0869644/ti-linux-kernel...
Jyri Sarha [Mon, 23 Sep 2019 15:03:42 +0000 (18:03 +0300)]
Merge branch 'for19.04.01' of ssh://bitbucket.itg.ti.com/~a0869644/ti-linux-kernel into audio_display-ti-linux-4.19.y

2019.04-rc2 WB fixes

* 'for19.04.01' of ssh://bitbucket.itg.ti.com/~a0869644/ti-linux-kernel:
  drm/tidss: WB: fix nested redefinition of enum kbuild error
  drm/tidss: WB: fix frame size kbuild warning

4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y
LCPD Auto Merger [Mon, 23 Sep 2019 14:17:24 +0000 (09:17 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
  drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
  drm/bridge: cdns-mhdp: Handle probe failures correctly
  drm/bridge: cdns-mhdp: Drop useless container structs
  drm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common
  ASoC: pcm3168a: The codec does not support S32_LE
  drm/rockchip: Restore everything to what is there in v4.19.73
  drm/bridge: cdns-mhdp: Remove completely untested audio support
  drm/tidss: constify rpmsg ops structs
  drm/tidss: add missing static declarations in DSS sharing code

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature audio-display into ti-linux-4.19.y
Dan Murphy [Mon, 23 Sep 2019 13:43:42 +0000 (08:43 -0500)]
Merged TI feature audio-display into ti-linux-4.19.y

TI-Feature: audio-display
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/audio-display:
  drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
  drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
  drm/bridge: cdns-mhdp: Handle probe failures correctly
  drm/bridge: cdns-mhdp: Drop useless container structs
  drm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common
  ASoC: pcm3168a: The codec does not support S32_LE
  drm/rockchip: Restore everything to what is there in v4.19.73
  drm/bridge: cdns-mhdp: Remove completely untested audio support
  drm/tidss: constify rpmsg ops structs
  drm/tidss: add missing static declarations in DSS sharing code

Signed-off-by: Dan Murphy <dmurphy@ti.com>
4 years agoti_config_fragments/connectivity.cfg: Enable NTB configs
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:12 +0000 (16:43 +0530)]
ti_config_fragments/connectivity.cfg: Enable NTB configs

Enable NTB related configs to enable NTB both on the host and device
systems.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add DT overlay for PCIe Backplane
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:11 +0000 (16:43 +0530)]
arm64: dts: ti: k3-j721e: Add DT overlay for PCIe Backplane

Add DT overlay for PCIe Backplane to configure the PCIe instances
in EP mode and includes a NTB DT node.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add reference to *phy* in PCIe EP DT node
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:10 +0000 (16:43 +0530)]
arm64: dts: ti: k3-j721e: Add reference to *phy* in PCIe EP DT node

Add *phys* and *phy-names* property to PCIe EP DT nodes.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoNTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:09 +0000 (16:43 +0530)]
NTB: tool: Enable the NTB/PCIe link on the local or remote side of bridge

Invoke ntb_link_enable() to enable the NTB/PCIe link on the local
or remote side of the bridge.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoNTB: Add support for EPF PCI-Express Non-Transparent Bridge
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:08 +0000 (16:43 +0530)]
NTB: Add support for EPF PCI-Express Non-Transparent Bridge

Add support for EPF PCI-Express Non-Transparent Bridge (NTB) device.
This driver is platform independent and could be used by any platform
which have multiple PCIe endpoint instances configured using the
pci-epf-ntb driver. The driver connnects to the standard NTB sub-system
interface. The EPF NTB device has configurable number of memory windows
(Max 4), configurable number of doorbell (Max 32), and configurable
number of scratch-pad registers.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: Add TI J721E device to pci ids
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:07 +0000 (16:43 +0530)]
PCI: Add TI J721E device to pci ids

Add TI J721E device to the pci id database. Since this device has
a configurable PCIe endpoint, it could be used with different
drivers.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add EP function driver to provide NTB functionality
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:06 +0000 (16:43 +0530)]
PCI: endpoint: Add EP function driver to provide NTB functionality

Add a new endpoint function driver to provide NTB functionality
using multiple PCIe endpoint instances.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: *_free_bar() to return error codes on failure
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:05 +0000 (16:43 +0530)]
PCI: endpoint: *_free_bar() to return error codes on failure

Modify pci_epc_get_next_free_bar() and pci_epc_get_first_free_bar() to
return error values if there are no free BARs available.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Fix missing mutex_unlock in error case
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:04 +0000 (16:43 +0530)]
PCI: endpoint: Fix missing mutex_unlock in error case

There is a missing mutex_unlock() in pci_epc_add_epf() in one of the
error scenarios. Fix it here.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Remove unused pci_epf_match_device()
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:03 +0000 (16:43 +0530)]
PCI: endpoint: Remove unused pci_epf_match_device()

Remove unused pci_epf_match_device() function added in pci-epf-core.c

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: cadence: Implement ->msi_map_irq() ops
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:02 +0000 (16:43 +0530)]
PCI: cadence: Implement ->msi_map_irq() ops

Implement ->msi_map_irq() ops in order to map physical address to
MSI address and return MSI data.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add pci_epc_ops to map MSI irq
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:01 +0000 (16:43 +0530)]
PCI: endpoint: Add pci_epc_ops to map MSI irq

Add pci_epc_ops to map physical address to MSI address and return MSI
data. The physical address is an address in the outbound region. This is
required to implement doorbell functionality of NTB (non transparent
bridge) wherein EPC on either side of the interface (primary and
secondary) can directly write to the physical address (in outbound
region) of the other interface to ring doorbell using MSI.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add support to associate secondary EPC with EPF
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:13:00 +0000 (16:43 +0530)]
PCI: endpoint: Add support to associate secondary EPC with EPF

In the case of standard endpoint functions, only one endpoint
controller (EPC) will be associated with an endpoint function
(EPF). However for providing NTB (non transparent bridge)
functionality, two EPCs should be associated with a single EPF.
Add support to associate secondary EPC with EPF. This is in
preparation for adding NTB endpoint function driver.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add helper API to populate header with values from DT
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:59 +0000 (16:42 +0530)]
PCI: endpoint: Add helper API to populate header with values from DT

Add helper API pci_epc_of_parse_header() to populate header with
values from device tree. These values will be written to the
configuration space header in the endpoint controller.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Make pci_epf_driver ops optional
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:58 +0000 (16:42 +0530)]
PCI: endpoint: Make pci_epf_driver ops optional

pci_epf_driver had two ops for bind and unbind which will be invoked
when an endpoint controller is bound to an endpoint function (using
configfs). Now that endpoint core has support to define an endpoint
function using device tree alone, the bind and unbind ops can be
optional. Make pci_epf_driver ops optional here.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add helper API to get the 'next' unreserved BAR
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:57 +0000 (16:42 +0530)]
PCI: endpoint: Add helper API to get the 'next' unreserved BAR

Add an API to get the next unreserved BAR starting from a given BAR
number that can be used by the endpoint function.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:56 +0000 (16:42 +0530)]
PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR

pci_epc_get_first_free_bar() uses only "reserved_bar" member in
epc_features to get the first unreserved BAR. However if the
reserved BAR is also a 64-bit BAR, then the next BAR shouldn't be
returned (since 64-bit BAR uses two BARs).

Make pci_epc_get_first_free_bar() take into account 64 bit BAR while
returning the first free unreserved BAR.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add "pci-epf-bus" driver
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:55 +0000 (16:42 +0530)]
PCI: endpoint: Add "pci-epf-bus" driver

Add "pci-epf-bus" driver that helps to create EPF device from
device tree. This is added in order to define an endpoint function
completely from device tree.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add API to create EPF device from device tree
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:54 +0000 (16:42 +0530)]
PCI: endpoint: Add API to create EPF device from device tree

Add API to create EPF device from device tree and the device managed
interface corresponding to it. This is added in order to define
an endpoint function completely from device tree.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoPCI: endpoint: Add API to get reference to EPC from device-tree
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:53 +0000 (16:42 +0530)]
PCI: endpoint: Add API to get reference to EPC from device-tree

Add of_pci_epc_get() and of_pci_epc_get_by_name() to get reference
to EPC from device-tree. This is added in preparation to define
an endpoint function from device tree.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoDocumentation: PCI: Add specification for the *PCI NTB* function device
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:52 +0000 (16:42 +0530)]
Documentation: PCI: Add specification for the *PCI NTB* function device

Add specification for the *PCI NTB* function device. The endpoint function
driver and the host PCI driver should be created based on this
specification.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF NTB Device
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:51 +0000 (16:42 +0530)]
dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF NTB Device

Add device tree bindings for PCI endpoint NTB function device.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF Device
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:50 +0000 (16:42 +0530)]
dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF Device

Add device tree bindings for PCI endpoint function device. The
nodes for PCI endpoint function device should be attached to
PCI endpoint function bus.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF Bus
Kishon Vijay Abraham I [Fri, 20 Sep 2019 11:12:49 +0000 (16:42 +0530)]
dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF Bus

Add device tree bindings for PCI endpoint function bus to which
endpoint function devices should be attached.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ethernet: ti: am65-cpsw: fix sw timestamping for non PTP packets
Ivan Khoronzhuk [Tue, 17 Sep 2019 23:52:43 +0000 (02:52 +0300)]
net: ethernet: ti: am65-cpsw: fix sw timestamping for non PTP packets

The cpts can timestmap only ptp packets at this moment, so driver
cannot mark every packet as though it's going to be timestamped,
only because h/w timestamping for given skb is enabled with
SKBTX_HW_TSTAMP. It doesn't allow to use sw timestamping, as result
outgoing packet is not timestamped at all if it's not PTP and h/w
timestamping is enabled. So, fix it by setting SKBTX_IN_PROGRESS
only for packets that can be timestamped. Also move this change to
cpts module it can be reused.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoHACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots
Suman Anna [Mon, 16 Sep 2019 23:59:03 +0000 (18:59 -0500)]
HACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots

The patch d1a42fca5944 ("TEMP: ARM: dts: dra7-ipu-common: Add a common
file for IPU early boots") converts the default CMA pools used in regular
remoteproc mode to carveouts/DMA pools for early-boot usage scenarios
using the "no-map" property to avoid the kernel from corrupting the
remoteproc firmware image sections.

The allocation scheme with DMA pools though is different than with CMA
pools, and this may cause some of the existing firmwares used in the
regular remoteproc mode with CMA to fail. The DMA pools may require a
number of changes in general:
 - Split the firmware RSC_CARVEOUT sections into better aligned memory
   regions conducive to the DMA pool allocation scheme.
 - Increase the vmalloc size, as the DMA pools are no longer mapped by
   default in kernel linear memory (for DDR < 2 GB) and needs to be
   mapped into vmalloc space to be accessed. This may depend on system
   configuration, number of remote cores using a DMA pool, and the sizes
   of the DMA pools.
 - Increase the size of the carveouts (last resort)

Revert back to CMA pools temporarily to make the current firmware images
be functional. A short-term fix would be to update the firmwares and the
long-term fix would be to eliminate the allocation logic altogether and
rely on fixed memory carveout support.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agoTEMP: ARM: dts: dra7-ipu-common: Add a common file for IPU early boots
Amarinder Bindra [Mon, 16 Sep 2019 23:00:40 +0000 (18:00 -0500)]
TEMP: ARM: dts: dra7-ipu-common: Add a common file for IPU early boots

The remoteproc 'late attach' functionality has the remote processors
configured, programmed and booted early even before the kernel is booted.
This includes loading the necessary firmware into memory, programming the
IOMMU, configuring the required timers, and programming the corresponding
device's clocks and resets.

The omap hwmod init sequence includes resetting all the hwmods and
idling them to put the devices in sane states to make them independent
of bootloader and corresponding drivers. The "ti,no-idle-on-init" and
"ti,no-reset-on-init" attributes are added to specific omap_hwmod's
associated with the IPU1 & IPU2 processor subsystems to support the
'late attach' feature on these devices, and change the omap hwmod init
behavior. The corresponding memory regions are also removed from the
default kernel memory map (DMA pools instead of CMA pools) so that the
kernel doesn't access anything in these regions until the remoteprocs
are booted.

The "ti,no-reset-on-init" attribute is needed to allow the omap_hwmod
layer to not perform a reset (and thereby reset the programming done
prior to kernel boot). The "ti,no-idle-on-init" is needed to leave the
modules/device in enabled state (and thereby avoid any disabling of the
clocks/modules).

These attributes are added in a new common dtsi file that should be
included into the corresponding TI DRA7xx and AM57xx boards that have
actually early-booted the IPU processors. This file _must_ be included
_only_ when both the IPU1 and IPU2 processors have been booted by
SPL/U-boot.

TODO:
Evaluate the approach where U-Boot can directly add/modify these required
properties using code. Such an approach would eliminate the need for
maintaining one or more dtsi files/overlays and make the support
self-contained within the bootloader.

Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Robert Tivy <rtivy@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agoTEMP: remoteproc/omap: add "late attach" support
Robert Tivy [Thu, 12 Sep 2019 17:45:10 +0000 (17:45 +0000)]
TEMP: remoteproc/omap: add "late attach" support

Add the necessary support in the OMAP remoteproc driver to enable the
"late attach" functionality. The 'late attach' functionality has the
processors already loaded and running by the time the kernel has booted.

The 'late attach' support in OMAP remoteproc driver is added through
minimal changes like skipping the releasing of the processor reset.
The processor reset is skipped as this relies on the omap_hwmod /
omap_device API which perform a module disable/enable sequence in
addition to the reset programming. Other required functionality is
achieved through the late attach support in the remoteproc driver core.

During late attach, we use non-zeroing dma ops to prevent the kernel
from overwriting already loaded code and data segments. When shutting
down the processor, we restore the normal zeroing dma ops.  This allows
the kernel to clear memory when loading a new remoteproc binary or
during error recovery with the current remoteproc binary.

The 'late attach' capability is determined through a .device_is_enabled
pdata ops. The rproc nodes along with the corresponding IOMMU and timer
nodes should all have the "ti,no-idle-on-init" and "ti,no-reset-on-init"
properties set to prevent omap_hwmod from resetting and idling these
devices on boot.

The .late_attach field in the rproc data structure is used to denote
the mode and differentiate a normal boot from a late-attach boot. The
late_attach functionality is relevant only for the first time boot of
the kernel, and will be reset for subsequent probes of the remoteproc
node. The flag is also reset during the stopping of the remoteproc,
so that any error recovery results in a regular boot.

TODO:
Move away from modifying the dma_ops for the device completely.

Signed-off-by: Robert Tivy <rtivy@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Shravan Karthik <shravan.karthik@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agoTEMP: iommu/omap: add support for performing a "late attach"
Venkateswara Rao Mandela [Mon, 16 Sep 2019 20:13:37 +0000 (20:13 +0000)]
TEMP: iommu/omap: add support for performing a "late attach"

The remoteproc module has a concept of "late attach" whereby a remote
core is loaded externally to remoteproc, for which remoteproc must
attach to the core without disrupting its existing state. Introduce an
iommu-based "late attach" model for the same use case.

In the "late attach" model, the iommu subsystem is mostly unused since
the external loader will have programmed the remote core's mmu, but
certain "attach" functionality must be performed so that subsequent
"detach" functionality can complete.

This logic is detected in the driver through a "ti,late-attach" property
set on the IOMMU node in the device tree. The IOMMU node should also have
the "ti,no-init-on-reset" and "ti,no-init-on-idle" so that the omap_hwmod
and omap_device layers do not reset and idle/disable the device during
the initial kernel boot. This "ti,late-attach" is therefore removed from
the device tree on the first probe so that further probes or remoteproc
recovery boots treat the IOMMU device normally.

Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Subash Lakkimsetti <x0091084@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Shravan Karthik <shravan.karthik@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agoARM: OMAP2+: pdata-quirks: Add device_is_enabled ops for IOMMUs and rprocs
Keerthy [Mon, 16 Sep 2019 20:13:36 +0000 (20:13 +0000)]
ARM: OMAP2+: pdata-quirks: Add device_is_enabled ops for IOMMUs and rprocs

Add a new .device_is_enabled() platform data callback ops to both
the OMAP IOMMU and remoteproc devices to check if the corresponding
omap_device/hwmod is already enabled. This helps the OMAP IOMMU and
remoteproc drivers to figure out if the corresponding processors
have already been loaded and booted by bootloaders.

Signed-off-by: Keerthy <j-keerthy@ti.com>
[s-anna@ti.com: minor cleanups]
Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoclocksource: timer-ti-dm: Add support to handle late attach of rproc timers
Venkateswara Rao Mandela [Thu, 12 Sep 2019 17:45:12 +0000 (17:45 +0000)]
clocksource: timer-ti-dm: Add support to handle late attach of rproc timers

During late attach, the dmtimers used by remote processors would already
have been configured and running. To prevent the kernel from resetting or
reconfiguring the timers,

- Set the late attach parameter if the timer is already running.
- If late attach flag is set, increment the dmtimer's usage counter
  immediately on probe and maintain this state until remoteproc starts
  the timer. This prevents kernel power management functionality from
  idling and disabling the dmtimers.
- If late attach flag is set, also prevent the dmtimer configuration
  code from modifying the dmtimer registers.

The late attach flag in the omap_dm_timer structure is cleared on timer
start to allow normal operation to resume.

Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Shravan Karthik <shravan.karthik@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agoTEMP: remoteproc: call the non-zeroing allocation function
Angela Stegmaier [Fri, 13 Sep 2019 19:47:09 +0000 (14:47 -0500)]
TEMP: remoteproc: call the non-zeroing allocation function

For DMA pool scenario the plugged in allocation ops are not
used for carveout allocation. It is necessary to call a differnt
function that does not zero the DMA pool memory gotten from
the call to dma_alloc_coherent.

Call the dma_malloc_coherent (non-zeroing) api in the case
of late attach to guarantee that the memory is not zero-ed for
either a CMA or DMA pool. The memory for virtio rings is not
used in U-Boot, so need not use the non-zeroing function.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Shravan Karthik <shravan.karthik@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTEMP: remoteproc: add "late attach" support
Robert Tivy [Thu, 12 Sep 2019 17:45:08 +0000 (17:45 +0000)]
TEMP: remoteproc: add "late attach" support

The remoteproc driver core is, in general, responsible for allocating
the memory for firmware segments, parsing and loading the firmware
segments into the allocated memory regions, mapping these memory
regions into associated IOMMUs, starting/releasing the processors
from reset, and finally establishing IPC between the host and the
remote processors.

The "late attach" feature refers to a model wherein a remote processor
has already been configured, loaded and started by some external entity
prior to kernel boot (u-boot, for example), and the remoteproc driver
needs to be configured to 'attach' or establish a connection with the
currently running code on the remote processor without resetting or
reconfiguring the device and associated peripherals. The feature is
being added to support specific use-cases (eg: "early camera" or "early
video"), requiring certain KPI criteria. The feature is currently based
on having a remote processor perform all the necessary activities to
achieve the required KPI in a stand-alone mode without having to rely
on communicating with the MPU or perform any IPC activities until the
remoteproc driver is up.

The "late attach" support in the remoteproc driver core is currently
designed to not perform the loading of the firmware segments, or
programming of the IOMMUs. The driver though still goes through the
sequence of processing the firmware to set up the correct virtio
based IPC transports, and allocating the required memory segments
to mark these memory regions as used/reserved from kernel in the
corresponding rproc device's CMA pools. The driver expects the
allocator to not perform any memory initialization, to avoid wiping
out the pre-loaded code. Virtio-based IPC with the remote processors
is established once the driver completes processing the firmware,
just as in a regular boot.

Signed-off-by: Robert Tivy <rtivy@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
4 years agoHACK: dma-mapping: add non-zeroing coherent alloc function
Angela Stegmaier [Thu, 12 Sep 2019 17:45:11 +0000 (17:45 +0000)]
HACK: dma-mapping: add non-zeroing coherent alloc function

Add a new function, dma_malloc_from_coherent(), which
takes a parameter that specifies if the allocated memory
should be zero-ed or not. Modify dma_alloc_from_coherent
to call dma_malloc_from_coherent with the flag set to
true in order to zero the memory. In this way
dma_alloc_from_coherent behaves the same as before.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoHACK: ARM: dma-mapping: create non-zeroing dma_map_ops
Martin Ambrose [Thu, 12 Sep 2019 17:45:07 +0000 (17:45 +0000)]
HACK: ARM: dma-mapping: create non-zeroing dma_map_ops

A new dma_ops, 'arm_dma_m_ops', is created from a copy of the
standard 'arm_dma_ops' but with a new non-zeroing .alloc method.

These ops are added mainly to support a 'late attach' feature in
the OMAP remoteproc driver. When remoteproc does a 'late attach'
to a remote processor, it does not load any firmware contents into
memory, but it still needs to allocate the processor's CMA memory
to mark the memory as reserved/used from the kernel. The standard
'arm_dma_ops' contains an .alloc method that zeroes out the memory,
thereby overwriting the firmware code/data in the memory that was
pre-loaded before the Linux kernel has booted.

This scenario is handled by adding a new non-zeroing allocation
function and using it as the .alloc method in a copy of the
'arm_dma_ops'. The so created 'arm_dma_m_ops' will be assigned
as the rproc device's dma_ops when supporting the 'late attach'
functionality.

Signed-off-by: Martin Ambrose <martin@ti.com>
Signed-off-by: Robert Tivy <rtivy@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agodrm/tidss: WB: fix nested redefinition of enum kbuild error
Benoit Parrot [Fri, 20 Sep 2019 21:08:22 +0000 (16:08 -0500)]
drm/tidss: WB: fix nested redefinition of enum kbuild error

Kbuild test robot reported the following issue:

   In file included from drivers/gpu/drm/tidss/tidss_wb.c:10:0:
>> drivers/gpu/drm/tidss/tidss_wb.h:77:6: error: nested redefinition
of 'enum wb_state'
    enum wb_state {
         ^~~~~~~~
>> drivers/gpu/drm/tidss/tidss_wb.h:77:6: error: redeclaration of
'enum wb_state'
   In file included from include/linux/writeback.h:12:0,
                    from include/linux/memcontrol.h:31,
                    from include/linux/swap.h:9,
                    from include/asm-generic/tlb.h:19,
                    from arch/m68k/include/asm/tlb.h:19,
                    from arch/m68k/include/asm/motorola_pgalloc.h:5,
                    from arch/m68k/include/asm/pgalloc.h:16,
                    from include/drm/drmP.h:62,
                    from drivers/gpu/drm/tidss/tidss_wb.h:15,
                    from drivers/gpu/drm/tidss/tidss_wb.c:10:
   include/linux/backing-dev-defs.h:24:6: note: originally defined here
    enum wb_state {
         ^~~~~~~~

fixed by renaming the enum to be more specific.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/tidss: WB: fix frame size kbuild warning
Benoit Parrot [Fri, 20 Sep 2019 18:47:35 +0000 (13:47 -0500)]
drm/tidss: WB: fix frame size kbuild warning

Kbuild test robot reported the following issue:

   drivers/gpu//drm/tidss/tidss_wb_m2m.c: In function 'device_run':
>> drivers/gpu//drm/tidss/tidss_wb_m2m.c:256:1: warning: the frame size
of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
    }
    ^

This is due to the fact that large struct variables were allocated on
the stack in device_run(). To fix this we moved the larger variables to
the wbm2m_ctx struct instead.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Benoit Parrot <bparrot@ti.com>
4 years agoMerged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y ti-rt-linux-4.19.y-next-20190921 ti-rt-linux-4.19.y-next-20190922 ti-rt-linux-4.19.y-next-20190923
LCPD Auto Merger [Fri, 20 Sep 2019 14:29:29 +0000 (09:29 -0500)]
Merged TI feature ti_linux_base_rt into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpub/ti-linux-kernel:
  arm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac
  serial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush
  serial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature connectivity into ti-linux-4.19.y
LCPD Auto Merger [Fri, 20 Sep 2019 13:35:58 +0000 (08:35 -0500)]
Merged TI feature connectivity into ti-linux-4.19.y

TI-Feature: connectivity
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/connectivity:
  arm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac
  serial: 8250: 8250_omap: Remove redundant call to omap_8250_rx_dma_flush
  serial: 8250: 8250_omap: Fix DMA teardown sequence during RX timeout

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'ti-linux-4.19.y-dp-fw-cleanup' into audio_display-ti-linux-4.19.y
Jyri Sarha [Fri, 20 Sep 2019 12:01:21 +0000 (15:01 +0300)]
Merge branch 'ti-linux-4.19.y-dp-fw-cleanup' into audio_display-ti-linux-4.19.y

drm/bridge: cdns-mhdp: Cleanup and async FW loading

* ti-linux-4.19.y-dp-fw-cleanup:
  drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
  drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
  drm/bridge: cdns-mhdp: Handle probe failures correctly
  drm/bridge: cdns-mhdp: Drop useless container structs
  drm/bridge: cdns-mhdp: Remove dependencies to cdns-mhdp-common
  drm/rockchip: Restore everything to what is there in v4.19.73
  drm/bridge: cdns-mhdp: Remove completely untested audio support

4 years agodrm/bridge: cdns-mhdp: Probe and add the bridge even without firmware
Jyri Sarha [Wed, 14 Aug 2019 11:02:58 +0000 (14:02 +0300)]
drm/bridge: cdns-mhdp: Probe and add the bridge even without firmware

Load the firmware asynchronously and probe and add the bridge even we
do not yet have it. This makes it possible to pull up the DRM device
and get the other displays working even if we still have to wait for
display port firmware. The display port is locked in disconnected
state until the firmware is loaded and the DP IP is properly enabled.

The patch adds one lock to protect hw_state and bridge_attached in
the driver data struct from from a race between the DRM operations and
the asynchronous FW loading.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
4 years agoMerge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into...
Jyri Sarha [Fri, 20 Sep 2019 11:50:08 +0000 (14:50 +0300)]
Merge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into audio_display-ti-linux-4.19.y

2019.04: minor sparse fixes

* 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux:
  drm/tidss: constify rpmsg ops structs
  drm/tidss: add missing static declarations in DSS sharing code

4 years agoMerge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio...
Jyri Sarha [Fri, 20 Sep 2019 11:48:43 +0000 (14:48 +0300)]
Merge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio into audio_display-ti-linux-4.19.y

2019.04 - Remove support for S32_LE for pcm3186a

* 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio:
  ASoC: pcm3168a: The codec does not support S32_LE

4 years agoarm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac
Grygorii Strashko [Thu, 19 Sep 2019 16:23:47 +0000 (19:23 +0300)]
arm64: dts: ti: k3-j721e-proc-board-tps65917: Sync cpsw-virt-mac

Sync cpsw-virt-mac node with k3-j721e-common-proc-board.dts

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoMerge branch 'rproc-linux-4.19.y' of git://git.ti.com/rpmsg/remoteproc into rpmsg...
Suman Anna [Thu, 19 Sep 2019 22:20:52 +0000 (17:20 -0500)]
Merge branch 'rproc-linux-4.19.y' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti-linux-4.19.y

Pull in the updated remoteproc feature branch that renames the node names
and labels for the reserved memory regions on DRA76 and DRA72 rev.C EVM
boards to not use the CMA terminology.

* 'rproc-linux-4.19.y' of git://git.ti.com/rpmsg/remoteproc:
  ARM: dts: dra76-evm: Fix rproc reserved-memory labels and node names
  ARM: dts: dra72-evm-revc: Fix rproc reserved-memory labels and node names

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agodrm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()
Jyri Sarha [Tue, 17 Sep 2019 05:37:36 +0000 (08:37 +0300)]
drm/bridge: cdns-mhdp: Call phy_exit() in mhdp_remove()

We should call phy_exit() when we stop using phy, so call it in
mhdp_remove().

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>