]> 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 multimedia_next into ti-linux-4.19.y-next ti-linux-4.19.y-next-20190909
LCPD Auto Merger [Mon, 9 Sep 2019 07:23:32 +0000 (02:23 -0500)]
Merged TI feature multimedia_next into ti-linux-4.19.y-next

TI-Feature: multimedia_next
TI-Tree: ssh://git@bitbucket.itg.ti.com/lcpdpublicdom/multimedia.git
TI-Branch: multimedia-ti-linux-4.19.y-next

* 'multimedia-ti-linux-4.19.y-next' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/multimedia:
  ti_config_fragments: multimedia.cfg: Add video encode configuration
  drivers: media: platorm: Kconfig: Add Video encoder kconfig entries
  arm64: dts: ti: k3-j721e-main.dtsi: Add VXE384 node
  dt-bindings: Add binding for img,vxe384 for J721E

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature rpmsg_next into ti-linux-4.19.y-next
LCPD Auto Merger [Mon, 9 Sep 2019 07:23:24 +0000 (02:23 -0500)]
Merged TI feature rpmsg_next into ti-linux-4.19.y-next

TI-Feature: rpmsg_next
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-4.19.y-next

* 'rpmsg-ti-linux-4.19.y-next' of git://git.ti.com/rpmsg/rpmsg:
  soc: ti: pruss: update pruss_get() to retrieve a PRUSS id
  soc: ti: pruss: store the pruss instance id

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerged TI feature connectivity_next into ti-linux-4.19.y-next
LCPD Auto Merger [Mon, 9 Sep 2019 07:23:22 +0000 (02:23 -0500)]
Merged TI feature connectivity_next into ti-linux-4.19.y-next

TI-Feature: connectivity_next
TI-Tree: ssh://git@bitbucket.itg.ti.com/~a0875516/ti-linux-kernel.git
TI-Branch: connectivity-next

* 'connectivity-next' of ssh://bitbucket.itg.ti.com/~a0875516/ti-linux-kernel:
  Revert "HACK: arm64: dts: ti: k3-j721e-main: Drop dma-coherent for usb0"
  arm64: dts: ti: k3-j721e: usb: Sync with driver changes
  usb: cdns3: gadget: Fix full-speed mode
  usb: cdns3: fix cdns3_core_init_role()
  usb: cdns3: Add TI specific wrapper driver
  usb:cdns3 Fix for stuck packets in on-chip OUT buffer.
  usb:cdns3 Add Cadence USB3 DRD Driver
  usb:common Simplify usb_decode_get_set_descriptor function.
  usb:common Patch simplify usb_decode_set_clear_feature function.
  usb:common Separated decoding functions from dwc3 driver.
  dt-bindings: add binding for USBSS-DRD controller.
  usb: cdns3: Remove Cadence usb driver
  Revert "usb:common Separated decoding functions from dwc3 driver."
  Revert "usb:common Patch simplify usb_decode_set_clear_feature function."
  Revert "usb:common Simplify usb_decode_get_set_descriptor function."
  Revert "usb: cdns3: Add TI specific wrapper driver"

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

TI-Feature: platform_next
TI-Tree: ssh://git@bitbucket.itg.ti.com/lcpdpublicdom/platform.git
TI-Branch: platform-ti-linux-4.19.y-next

* 'platform-ti-linux-4.19.y-next' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/platform:
  HACK: ti_config_fragments: v8_baseport: Enable DMA-BUF export driver
  HACK: ti_config_fragments: baseport: Enable DMA-BUF export driver
  HACK: misc: Add dma-buf to physical address exporter
  HACK: dt-bindings: misc: Add ti,dma_buf_phys binding doc
  ti_config_fragments: v8_baseport: Enable PAT driver
  soc: ti: Add Support for the TI Page-based Address Translator (PAT)
  arm64: dts: ti: k3-j721e-main: Add MAIN domain PAT nodes
  dt-bindings: soc: ti: Add TI PAT bindings
  dma-buf: Make mmap callback actually optional
  dma-buf: Remove requirement for ops->map() from dma_buf_export
  crypto: sa2ul: Correct the length of payload that is transferred to rx_chan2
  crypto: sa2ul: Add support for basic sha1/sha256 algorithms
  crypto: tcrypt: Fix speed test case for hash to set up sg buffer size equal to payload
  crypto: sa2ul: Add software fallback support

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoHACK: ti_config_fragments: v8_baseport: Enable DMA-BUF export driver
Andrew F. Davis [Thu, 5 Sep 2019 13:09:18 +0000 (09:09 -0400)]
HACK: ti_config_fragments: v8_baseport: Enable DMA-BUF export driver

Enable DMA-BUF export driver used by OpenCL/OpenVX usecases.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoHACK: ti_config_fragments: baseport: Enable DMA-BUF export driver
Andrew F. Davis [Thu, 5 Sep 2019 13:09:17 +0000 (09:09 -0400)]
HACK: ti_config_fragments: baseport: Enable DMA-BUF export driver

Enable DMA-BUF export driver used by OpenCL/OpenVX usecases.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoHACK: misc: Add dma-buf to physical address exporter
Andrew F. Davis [Thu, 5 Sep 2019 13:09:16 +0000 (09:09 -0400)]
HACK: misc: Add dma-buf to physical address exporter

This is driver allows user-space to attach a DMA-BUF and
receive back its CPU physical address. This is a temporary
solution to allow CMEM like functionality from ION allocated
buffers. This is a hack and this will be removed when proper
solutions are implemented.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoHACK: dt-bindings: misc: Add ti,dma_buf_phys binding doc
Andrew F. Davis [Thu, 5 Sep 2019 13:09:15 +0000 (09:09 -0400)]
HACK: dt-bindings: misc: Add ti,dma_buf_phys binding doc

Driver allowing user-space attaching of DMA-BUFs returning CPU physical
addresses. The reasoning for making this act like a regular device
described by DT is so the virtual device that binds the buffer can be
made to act as if it is out on a bus or behind an IOMMU, for example.

Add this binding here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoti_config_fragments: v8_baseport: Enable PAT driver
Andrew F. Davis [Wed, 7 Aug 2019 19:17:12 +0000 (15:17 -0400)]
ti_config_fragments: v8_baseport: Enable PAT driver

Enable PAT in v8 config.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agosoc: ti: Add Support for the TI Page-based Address Translator (PAT)
Andrew F. Davis [Wed, 7 Aug 2019 19:17:11 +0000 (15:17 -0400)]
soc: ti: Add Support for the TI Page-based Address Translator (PAT)

This patch adds a driver for the Page-based Address Translator (PAT)
present on various TI SoCs. A PAT device performs address translation
using tables stored in an internal SRAM. Each PAT supports a set number
of pages, each occupying a programmable 4KB, 16KB, 64KB, or 1MB of
addresses in a window for which an incoming transaction will be
translated.

Signed-off-by: Andrew F. Davis <afd@ti.com>
[t-kristo@ti.com: added depends on ARCH_K3 to Kconfig]
Signed-off-by: Tero Kristo <t-kristo@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add MAIN domain PAT nodes
Andrew F. Davis [Wed, 7 Aug 2019 19:17:10 +0000 (15:17 -0400)]
arm64: dts: ti: k3-j721e-main: Add MAIN domain PAT nodes

The NAVSS may contain page-based address translators (PAT) that perform
address translation using tables stored in an internal SRAM. Each PAT
supports a set number of pages, each occupying a programmable 4KB, 16KB,
64KB, or 1MB address window for which an incoming transaction will be
translated. J721E MAIN domain NAVSS contains 5 PAT instances, add DT
nodes for this here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agodt-bindings: soc: ti: Add TI PAT bindings
Andrew F. Davis [Wed, 7 Aug 2019 19:17:09 +0000 (15:17 -0400)]
dt-bindings: soc: ti: Add TI PAT bindings

This patch adds the bindings for the Page-based Address Translator (PAT)
present on various TI SoCs. A Page-based Address Translator (PAT) device
performs address translation using tables stored in an internal SRAM.
Each PAT supports a set number of pages, each occupying a programmable
4KB, 16KB, 64KB, or 1MB of addresses in a window for which an incoming
transaction will be translated.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agodma-buf: Make mmap callback actually optional
Andrew F. Davis [Wed, 7 Aug 2019 19:17:08 +0000 (15:17 -0400)]
dma-buf: Make mmap callback actually optional

commit e3a9d6c53195591303b7f165f3bb0226741f911e upstream.

The docs state the callback is optional but it is not, make it optional.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190329165201.16233-1-afd@ti.com
4 years agodma-buf: Remove requirement for ops->map() from dma_buf_export
Chris Wilson [Wed, 7 Aug 2019 19:17:07 +0000 (15:17 -0400)]
dma-buf: Remove requirement for ops->map() from dma_buf_export

commit f82aab2d521e4c1d4f9f98450b4a9a8abeaff1c4 upstream.

Since commit 9ea0dfbf972 ("dma-buf: make map_atomic and map function
pointers optional"), the core provides the no-op functions when map and
map_atomic are not provided, so we no longer need assert that are
supplied by a dma-buf exporter.

Fixes: 09ea0dfbf972 ("dma-buf: make map_atomic and map function pointers optional")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20180807183647.22626-1-chris@chris-wilson.co.uk
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
4 years agoti_config_fragments: multimedia.cfg: Add video encode configuration
Angela Stegmaier [Thu, 5 Sep 2019 23:13:30 +0000 (23:13 +0000)]
ti_config_fragments: multimedia.cfg: Add video encode configuration

Add vxe384 vxe_enc configurations to multimedia.cfg

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
4 years agodrivers: media: platorm: Kconfig: Add Video encoder kconfig entries
Angela Stegmaier [Thu, 5 Sep 2019 23:13:29 +0000 (23:13 +0000)]
drivers: media: platorm: Kconfig: Add Video encoder kconfig entries

Add video encoder basic config to Kconfig and select the required V4L2 modules.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main.dtsi: Add VXE384 node
Angela Stegmaier [Thu, 5 Sep 2019 23:13:28 +0000 (23:13 +0000)]
arm64: dts: ti: k3-j721e-main.dtsi: Add VXE384 node

Add VXE384 video encoder node for J721E.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
4 years agodt-bindings: Add binding for img,vxe384 for J721E
Angela Stegmaier [Thu, 5 Sep 2019 23:13:27 +0000 (23:13 +0000)]
dt-bindings: Add binding for img,vxe384 for J721E

Add the dt-binding for the img,vxe384 node for J721E.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
4 years agoMerged TI feature audio-display into ti-linux-4.19.y
LCPD Auto Merger [Thu, 5 Sep 2019 11:28:55 +0000 (06:28 -0500)]
Merged TI feature audio-display into ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree: (22 commits)
  phy: ti: j721e-wiz: Fix "warning: unused variable ‘reg’"
  drm/bridge: cdns-mhdp-common: remove unneeded semicolons
  drm/bridge: cdns-mhdp: Do not pack the scrambler and SSC to lane count
  drm/bridge: cdns-mhdp: Use new detect_ctx() instead of obsolete detect() cb
  drm/bridge: cdns-mhdp: fail if fast LT is used
  drm/bridge: cdns-mhdp: clean up debug prints
  drm/bridge: cdns-mhdp-j721e: remove useless debug prints
  drm/bridge: cdns-mhdp: drop uses of cdns_mhdp_set_video_status
  phy: phy-cadence-dp: fix typo
  drm/bridge: cdns-mhdp: disable framer on bridge_disable
  drm/bridge: cdns-mhdp: enable/disable VIF clk/rst
  drm/bridge: cdns-mhdp: fix h/v sync polarities
  drm/bridge: cdns-mhdp: fix CDNS_DP_FRAMER_GLOBAL_CONFIG handling
  drm/bridge: cdns-mhdp: remove CDNS_DP_SW_RESET (unused)
  drm/omap: hdmi5: automatically choose limited/full range output
  arm64: dts: ti: k3-j721e-common-proc-board: Switch to custom audio support
  ti_config_fragments: audio_display.cfg: Enable custom audio driver for j721e-evm
  ASoC: ti: Add custom machine driver for j721e Common Processor Board
  bindings: sound: Add documentation for TI j721e Common Processor Board
  ASoC: pcm3168a: Allow reconfiguration of tdm_slots and slot_width
  ...

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into...
Jyri Sarha [Thu, 5 Sep 2019 10:16:55 +0000 (13: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

DP patches for .04

* 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux:
  phy: ti: j721e-wiz: Fix "warning: unused variable ‘reg’"
  drm/bridge: cdns-mhdp-common: remove unneeded semicolons
  drm/bridge: cdns-mhdp: Do not pack the scrambler and SSC to lane count
  drm/bridge: cdns-mhdp: Use new detect_ctx() instead of obsolete detect() cb
  drm/bridge: cdns-mhdp: fail if fast LT is used
  drm/bridge: cdns-mhdp: clean up debug prints
  drm/bridge: cdns-mhdp-j721e: remove useless debug prints
  drm/bridge: cdns-mhdp: drop uses of cdns_mhdp_set_video_status
  phy: phy-cadence-dp: fix typo
  drm/bridge: cdns-mhdp: disable framer on bridge_disable
  drm/bridge: cdns-mhdp: enable/disable VIF clk/rst
  drm/bridge: cdns-mhdp: fix h/v sync polarities
  drm/bridge: cdns-mhdp: fix CDNS_DP_FRAMER_GLOBAL_CONFIG handling
  drm/bridge: cdns-mhdp: remove CDNS_DP_SW_RESET (unused)

4 years agoMerge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio...
Jyri Sarha [Thu, 5 Sep 2019 10:15:22 +0000 (13:15 +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

new ASoC machine driver for j721e CPB

* 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio:
  arm64: dts: ti: k3-j721e-common-proc-board: Switch to custom audio support
  ti_config_fragments: audio_display.cfg: Enable custom audio driver for j721e-evm
  ASoC: ti: Add custom machine driver for j721e Common Processor Board
  bindings: sound: Add documentation for TI j721e Common Processor Board
  ASoC: pcm3168a: Allow reconfiguration of tdm_slots and slot_width
  ASoC: pcm3168a: Retain the independence of DAC and ADC side of the codec
  ASoC: core: Move pcm_mutex up to card level from snd_soc_pcm_runtime

4 years agocrypto: sa2ul: Correct the length of payload that is transferred to rx_chan2
Keerthy [Tue, 3 Sep 2019 05:30:42 +0000 (11:00 +0530)]
crypto: sa2ul: Correct the length of payload that is transferred to rx_chan2

The rx channel 2 becomes active as soon as the payload is greater
than or equal to 256 bytes so correct that.

Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agocrypto: sa2ul: Add support for basic sha1/sha256 algorithms
Keerthy [Tue, 3 Sep 2019 05:30:41 +0000 (11:00 +0530)]
crypto: sa2ul: Add support for basic sha1/sha256 algorithms

Add support for HW supported sha1/sha256 algorithms.
The HMAC basedsha1/sha256 are already supported.

Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agocrypto: tcrypt: Fix speed test case for hash to set up sg buffer size equal to payload
Keerthy [Tue, 3 Sep 2019 05:30:40 +0000 (11:00 +0530)]
crypto: tcrypt: Fix speed test case for hash to set up sg buffer size equal to payload

Fix speed test case to set up sg buffer size equal to payload.

Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agocrypto: sa2ul: Add software fallback support
Keerthy [Tue, 3 Sep 2019 05:30:39 +0000 (11:00 +0530)]
crypto: sa2ul: Add software fallback support

The sa2ul hardware mandates upfront knowledge of the total
number of bytes that will be hashed. This causes cases like
partial update to fail. Hence add software fallback.

So all the finup, final, update cases go via software hashing
utilizing cpu cycles.

Signed-off-by: Keerthy <j-keerthy@ti.com>
4 years agoRevert "HACK: arm64: dts: ti: k3-j721e-main: Drop dma-coherent for usb0"
Roger Quadros [Wed, 4 Sep 2019 11:42:56 +0000 (14:42 +0300)]
Revert "HACK: arm64: dts: ti: k3-j721e-main: Drop dma-coherent for usb0"

This reverts commit def54d782c324d7d6b5e972e9c368fd74ef483b8.
This is no longer required as driver has been fixed.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e: usb: Sync with driver changes
Roger Quadros [Wed, 4 Sep 2019 11:42:55 +0000 (14:42 +0300)]
arm64: dts: ti: k3-j721e: usb: Sync with driver changes

Adapt to changes in V10 of the cdns3 USB driver.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: gadget: Fix full-speed mode
Roger Quadros [Wed, 4 Sep 2019 11:42:54 +0000 (14:42 +0300)]
usb: cdns3: gadget: Fix full-speed mode

We need to disable USB3 PHY for full-speed mode else
gadget mode is broken.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: fix cdns3_core_init_role()
Roger Quadros [Wed, 4 Sep 2019 11:42:53 +0000 (14:42 +0300)]
usb: cdns3: fix cdns3_core_init_role()

At startup we should trigger the HW state machine
only if it is OTG mode. Otherwise we should just
start the respective role.

Initialize idle role by default. If we don't do this then
cdns3_idle_role_stop() is not called when switching to
host/device role and so lane switch mechanism
doesn't work. This results to super-speed device not working
in one orientation if it was plugged before driver probe.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: Add TI specific wrapper driver
Roger Quadros [Wed, 4 Sep 2019 11:42:52 +0000 (14:42 +0300)]
usb: cdns3: Add TI specific wrapper driver

The J721e platform comes with 2 Cadence USB3 controller
instances. This driver supports the TI specific wrapper
on this platform.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:cdns3 Fix for stuck packets in on-chip OUT buffer.
Pawel Laszczak [Wed, 4 Sep 2019 11:42:51 +0000 (14:42 +0300)]
usb:cdns3 Fix for stuck packets in on-chip OUT buffer.

Controller for OUT endpoints has shared on-chip buffers for all incoming
packets, including ep0out. It's FIFO buffer, so packets must be handled
by DMA in correct order. If the first packet in the buffer will not be
handled, then the following packets directed for other endpoints and
functions will be blocked.

Additionally the packets directed to one endpoint can block entire on-chip
buffers. In this case transfer to other endpoints also will blocked.

To resolve this issue after raising the descriptor missing interrupt
driver prepares internal usb_request object and use it to arm DMA
transfer.

The problematic situation was observed in case when endpoint has
been enabled but no usb_request were queued. Driver try detects
such endpoints and will use this workaround only for these endpoint.

Driver use limited number of buffer. This number can be set by macro
CDNS_WA2_NUM_BUFFERS.

Such blocking situation was observed on ACM gadget. For this function
host send OUT data packet but ACM function is not prepared for
this packet. It's cause that buffer placed in on chip memory block
transfer to other endpoints.

Issue has been fixed for DEV_VER_V2 version of controller.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:cdns3 Add Cadence USB3 DRD Driver
Pawel Laszczak [Wed, 4 Sep 2019 11:42:50 +0000 (14:42 +0300)]
usb:cdns3 Add Cadence USB3 DRD Driver

This patch introduce new Cadence USBSS DRD driver to Linux kernel.

The Cadence USBSS DRD Controller is a highly configurable IP Core which
can be instantiated as Dual-Role Device (DRD), Peripheral Only and
Host Only (XHCI)configurations.

The current driver has been validated with FPGA platform. We have
support for PCIe bus, which is used on FPGA prototyping.

The host side of USBSS-DRD controller is compliant with XHCI
specification, so it works with standard XHCI Linux driver.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:common Simplify usb_decode_get_set_descriptor function.
Pawel Laszczak [Wed, 4 Sep 2019 11:42:49 +0000 (14:42 +0300)]
usb:common Simplify usb_decode_get_set_descriptor function.

Patch moves switch responsible for decoding descriptor type
outside snprintf. It improves code readability a little.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:common Patch simplify usb_decode_set_clear_feature function.
Pawel Laszczak [Wed, 4 Sep 2019 11:42:48 +0000 (14:42 +0300)]
usb:common Patch simplify usb_decode_set_clear_feature function.

Patch adds usb_decode_test_mode and usb_decode_device_feature functions,
which allow to make more readable and simplify the
usb_decode_set_clear_feature function.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:common Separated decoding functions from dwc3 driver.
Pawel Laszczak [Wed, 4 Sep 2019 11:42:47 +0000 (14:42 +0300)]
usb:common Separated decoding functions from dwc3 driver.

Patch moves some decoding functions from driver/usb/dwc3/debug.h driver
to driver/usb/common/debug.c file. These moved functions include:
    dwc3_decode_get_status
    dwc3_decode_set_clear_feature
    dwc3_decode_set_address
    dwc3_decode_get_set_descriptor
    dwc3_decode_get_configuration
    dwc3_decode_set_configuration
    dwc3_decode_get_intf
    dwc3_decode_set_intf
    dwc3_decode_synch_frame
    dwc3_decode_set_sel
    dwc3_decode_set_isoch_delay
    dwc3_decode_ctrl

These functions are used also in inroduced cdns3 driver.

All functions prefixes were changed from dwc3 to usb.
Also, function's parameters has been extended according to the name
of fields in standard SETUP packet.
Additionally, patch adds usb_decode_ctrl function to
include/linux/usb/ch9.h file.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: add binding for USBSS-DRD controller.
Pawel Laszczak [Wed, 4 Sep 2019 11:42:46 +0000 (14:42 +0300)]
dt-bindings: add binding for USBSS-DRD controller.

This patch aim at documenting USB related dt-bindings for the
Cadence USBSS-DRD controller.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: Remove Cadence usb driver
Roger Quadros [Wed, 4 Sep 2019 11:42:45 +0000 (14:42 +0300)]
usb: cdns3: Remove Cadence usb driver

This is to prepare for upgrade to v11 of the driver.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoRevert "usb:common Separated decoding functions from dwc3 driver."
Roger Quadros [Wed, 4 Sep 2019 11:42:44 +0000 (14:42 +0300)]
Revert "usb:common Separated decoding functions from dwc3 driver."

This reverts commit 191b62b8537ab55a9de324e8c256b933b0f69f20.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoRevert "usb:common Patch simplify usb_decode_set_clear_feature function."
Roger Quadros [Wed, 4 Sep 2019 11:42:43 +0000 (14:42 +0300)]
Revert "usb:common Patch simplify usb_decode_set_clear_feature function."

This reverts commit b93c0c91de5ac4025917dcad3b830aba2b808e22.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoRevert "usb:common Simplify usb_decode_get_set_descriptor function."
Roger Quadros [Wed, 4 Sep 2019 11:42:42 +0000 (14:42 +0300)]
Revert "usb:common Simplify usb_decode_get_set_descriptor function."

This reverts commit c2852d4cd9af909aef47df9c1f390a663d112462.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoRevert "usb: cdns3: Add TI specific wrapper driver"
Roger Quadros [Wed, 4 Sep 2019 11:42:41 +0000 (14:42 +0300)]
Revert "usb: cdns3: Add TI specific wrapper driver"

This reverts commit d9b9925c0235166f284051ecac9bef53c22218f2.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agosoc: ti: pruss: update pruss_get() to retrieve a PRUSS id
Suman Anna [Mon, 17 Jun 2019 21:15:41 +0000 (16:15 -0500)]
soc: ti: pruss: update pruss_get() to retrieve a PRUSS id

Update the pruss_get() function to take in an additional integer
pointer argument in which the PRUSS instance id is filled in and
provided back to the callers. This allows the drivers to add some
instance-specific logic/customization in their code, as the PRUSS
handle is not useful to build this logic.

The already existing usage within both the regular PRU Ethernet
and the ICSSG PRU Ethernet drivers have also been updated accordingly,
and this will cater to its need for supporting switching between
different Ethernet protocols dynamically per instance. The invocation
within the PRU Soft UART driver has also been updated, with this
driver not needing the PRUSS instance id at present.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosoc: ti: pruss: store the pruss instance id
Suman Anna [Thu, 2 May 2019 22:18:05 +0000 (17:18 -0500)]
soc: ti: pruss: store the pruss instance id

Add logic to the PRUSS platform driver to store the instance id
of a PRUSS instance. This is being added to enable support for
the PRU Ethernet driver to be able to switch between different
Ethernet protocols dynamically per instance.

The values for instance ids are not always zero-indexed on all
SoCs, they were chosen to match the numbering used in the TRMs.
The instance ids are computed assigned using the PRUSS memory
region base address lookup table. The base address matching
logic is not robust for long-term for newer SoCs, but is okay
for currently supported SoCs as all the addresses are unique.
This is done this way to retain the current usage of minimal
static data and to avoid having to introduce the instance
specific static data just for the instance id data.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerged TI feature rpmsg into ti-linux-4.19.y
LCPD Auto Merger [Wed, 4 Sep 2019 21:21:12 +0000 (16:21 -0500)]
Merged TI feature rpmsg into ti-linux-4.19.y

* 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg:
  remoteproc: Add a sysfs interface for name
  rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"
  rpmsg: core: fix comments
  samples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti...
Suman Anna [Wed, 4 Sep 2019 20:02:30 +0000 (15:02 -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 'rproc-linux-4.19.y' of git://git.ti.com/rpmsg/remoteproc into rpmsg...
Suman Anna [Wed, 4 Sep 2019 19:32:26 +0000 (14:32 -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 adds a new sysfs
file 'name' to allow userspace to easily identify a remoteproc. An
equivalent file was already present in debugfs as well, but sysfs
provides a more standardized userspace interface since debugfs is
optional.

* 'rproc-linux-4.19.y' of git://git.ti.com/rpmsg/remoteproc:
  remoteproc: Add a sysfs interface for name

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'rpmsg-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti-linux...
Suman Anna [Wed, 4 Sep 2019 19:26:36 +0000 (14:26 -0500)]
Merge branch 'rpmsg-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti-linux-4.19.y

Pull in the updated rpmsg base feature branch that includes minor
typo fixes in the rpmsg core and minor dynamic-debug related printk
improvements to the virtio_rpmsg_bus and rpmsg_client_sample drivers.

* 'rpmsg-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg:
  rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"
  rpmsg: core: fix comments
  samples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerged TI feature connectivity into ti-linux-4.19.y
LCPD Auto Merger [Wed, 4 Sep 2019 16:39:43 +0000 (11:39 -0500)]
Merged TI feature connectivity into ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/connectivity:
  ARM: dts: k3-j721e-common-proc-board: Update MMC1 pinmux from the latest pinmux tool
  phy: ti: j721e-wiz: Fix build warning
  phy: cadence: Sierra: Fix build warning

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

* 'platform-ti-linux-4.19.y' of ssh://bitbucket.itg.ti.com/lcpdpublicdom/platform:
  arm64: dts: ti: k3-j721e-main: Add ti,notdpkt flag to sa2ul psil-config
  arm64: dts: ti: k3-am65-main: Add ti,notdpkt flag to sa2ul psil-config
  crypto: sa2ul: Export function to enable trng
  crypto: sa2ul: Add a member to store base address
  char: hw_random: Kconfig: For ARCH_K3 add a dependency on SA2UL
  dmaengine: ti: k3-udma: Add support for suppressing TDC message
  dt-bindings: dma: ti: k3-udma: Add option to suppress TDCM
  dmaengine: ti: k3-udma: Helper function to reset udma_chan parameters
  dmaengine: ti: k3-udma: Use different byte counters in tx_status
  dmaengine: ti: k3-udma: In case of error in filter_fn, reset the direction
  dmaengine: ti: k3-udma: rework rflow management code
  dmaengine: ti: k3-navss-udma: drop skip_psil cfg option
  dmaengine: ti: k3-udma: print board res ranges
  dmaengine: ti: k3-navss-udma: improve err print on rflow reservation
  soc: ti: k3-ringacc: fix k3_ringacc_ring_reset_dma
  arm64: dts: k3-j721e: jailhouse: Disable SW10 from root cell
  arm64: dts: k3-j721e: Add gpio-keys on common processor board

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agophy: ti: j721e-wiz: Fix "warning: unused variable ‘reg’"
Jyri Sarha [Thu, 29 Aug 2019 07:21:48 +0000 (10:21 +0300)]
phy: ti: j721e-wiz: Fix "warning: unused variable ‘reg’"

There is an unused varaiable in wiz_phy_reset_deassert() that causes:
drivers/phy/ti/phy-j721e-wiz.c:692:7: warning: unused variable ‘reg’

Fixes: fa06d29814d07 ("phy: ti: j721e-wiz: Manage typec-gpio-dir")
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp-common: remove unneeded semicolons
Tomi Valkeinen [Mon, 2 Sep 2019 06:51:41 +0000 (09:51 +0300)]
drm/bridge: cdns-mhdp-common: remove unneeded semicolons

Fix coccinelle warnings:

drivers/gpu/drm/bridge/cdns-mhdp-common.c:789:2-3: Unneeded semicolon
drivers/gpu/drm/bridge/cdns-mhdp-common.c:689:2-3: Unneeded semicolon
drivers/gpu/drm/bridge/cdns-mhdp-common.c:707:2-3: Unneeded semicolon

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: Do not pack the scrambler and SSC to lane count
Jyri Sarha [Wed, 21 Aug 2019 13:46:08 +0000 (16:46 +0300)]
drm/bridge: cdns-mhdp: Do not pack the scrambler and SSC to lane count

There is no need to pack scrambler and Spread Spectrum Clock setting
to lane_cnt data member in struct cdns_mhdp_host. Add separate
bit-fields for those and change the other true/false values to
bit-fields too.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: Use new detect_ctx() instead of obsolete detect() cb
Jyri Sarha [Wed, 21 Aug 2019 13:46:07 +0000 (16:46 +0300)]
drm/bridge: cdns-mhdp: Use new detect_ctx() instead of obsolete detect() cb

The atomic DRM driver are supposed use drm_connector_helper_funcs
detect_ctx() call back instead of the old drm_connector_funcs detect()
cb.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: fail if fast LT is used
Tomi Valkeinen [Wed, 28 Aug 2019 10:45:35 +0000 (13:45 +0300)]
drm/bridge: cdns-mhdp: fail if fast LT is used

Print an error and fail if fast LT is used. This should not happen as
fast LT is not supported, but it's better to fail than silently proceed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: clean up debug prints
Tomi Valkeinen [Wed, 28 Aug 2019 10:44:33 +0000 (13:44 +0300)]
drm/bridge: cdns-mhdp: clean up debug prints

Minor cleanups to debug prints.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp-j721e: remove useless debug prints
Tomi Valkeinen [Wed, 28 Aug 2019 10:33:24 +0000 (13:33 +0300)]
drm/bridge: cdns-mhdp-j721e: remove useless debug prints

Remove slightly spammy debug prints that provide little value.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: drop uses of cdns_mhdp_set_video_status
Tomi Valkeinen [Wed, 28 Aug 2019 09:50:35 +0000 (12:50 +0300)]
drm/bridge: cdns-mhdp: drop uses of cdns_mhdp_set_video_status

cdns_mhdp_set_video_status() is not needed with the current FW, and not
supported in future FW. So drop the calls.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agophy: phy-cadence-dp: fix typo
Tomi Valkeinen [Wed, 28 Aug 2019 06:18:19 +0000 (09:18 +0300)]
phy: phy-cadence-dp: fix typo

Rename cdns_dp_phy_set_ppl_en to  cdns_dp_phy_set_pll_en.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: disable framer on bridge_disable
Tomi Valkeinen [Thu, 22 Aug 2019 10:45:50 +0000 (13:45 +0300)]
drm/bridge: cdns-mhdp: disable framer on bridge_disable

Disable the DP framer at bridge_disable.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: enable/disable VIF clk/rst
Tomi Valkeinen [Thu, 22 Aug 2019 10:07:09 +0000 (13:07 +0300)]
drm/bridge: cdns-mhdp: enable/disable VIF clk/rst

Currently the driver enables VIF stream 0 clk and deasserts reset at
probe time.

Improve the code to enable VIF stream 0 at bridge_enable, and disable it
at bridge disable.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodrm/bridge: cdns-mhdp: fix h/v sync polarities
Tomi Valkeinen [Fri, 16 Aug 2019 08:13:01 +0000 (11:13 +0300)]
drm/bridge: cdns-mhdp: fix h/v sync polarities

CDNS_DP_FRAMER_SP address was wrong, and things worked by luck. Fixing
the register offset caused sync polarities to go wrong.

Drop the mode_fixup altogether, as we don't need to use hardcoded sync
polarities. It makes the code simpler if the input and output syncs are
the same.

Fix the code to write correct polarities to CDNS_HSYNC2VSYNC_POL_CTRL.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: Subhajit Paul <subhajit_paul@ti.com>
4 years agodrm/bridge: cdns-mhdp: fix CDNS_DP_FRAMER_GLOBAL_CONFIG handling
Tomi Valkeinen [Fri, 16 Aug 2019 06:44:27 +0000 (09:44 +0300)]
drm/bridge: cdns-mhdp: fix CDNS_DP_FRAMER_GLOBAL_CONFIG handling

Fix multiple issues with CDNS_DP_FRAMER_GLOBAL_CONFIG handling:

- be32_to_cpu() was used in one place to read the register, resulting in
always reading 0, and writing that 0 back to the register.
- CDNS_DP_WR_FAILING_EDGE_VSYNC is a debug feature per documentation,
but the driver was always setting it.
- CDNS_DP_NO_VIDEO_MODE was cleared accidentally due to the first issue,
but never cleared intentionally.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: Subhajit Paul <subhajit_paul@ti.com>
4 years agodrm/bridge: cdns-mhdp: remove CDNS_DP_SW_RESET (unused)
Tomi Valkeinen [Fri, 16 Aug 2019 06:24:10 +0000 (09:24 +0300)]
drm/bridge: cdns-mhdp: remove CDNS_DP_SW_RESET (unused)

The register is marked unused, we should not touch it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add ti,notdpkt flag to sa2ul psil-config
Peter Ujfalusi [Tue, 27 Aug 2019 09:11:39 +0000 (12:11 +0300)]
arm64: dts: ti: k3-j721e-main: Add ti,notdpkt flag to sa2ul psil-config

SA2UL can not handle the teardown completion message, UDMA should suppress
sending it after the teardown completed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Keerthy <j-keerthy@ti.com>
4 years agoarm64: dts: ti: k3-am65-main: Add ti,notdpkt flag to sa2ul psil-config
Peter Ujfalusi [Tue, 27 Aug 2019 09:11:38 +0000 (12:11 +0300)]
arm64: dts: ti: k3-am65-main: Add ti,notdpkt flag to sa2ul psil-config

SA2UL can not handle the teardown completion message, UDMA should suppress
sending it after the teardown completed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Keerthy <j-keerthy@ti.com>
4 years agocrypto: sa2ul: Export function to enable trng
Keerthy [Wed, 28 Aug 2019 08:33:33 +0000 (14:03 +0530)]
crypto: sa2ul: Export function to enable trng

The trng module has enable bit in the sa2ul register
space. Hence Export a function for trng driver to enable
the trng module.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agocrypto: sa2ul: Add a member to store base address
Keerthy [Wed, 28 Aug 2019 08:33:32 +0000 (14:03 +0530)]
crypto: sa2ul: Add a member to store base address

Add a member to store base address of sa2ul in the
sa_crypto_data struct.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agochar: hw_random: Kconfig: For ARCH_K3 add a dependency on SA2UL
Keerthy [Wed, 28 Aug 2019 08:33:31 +0000 (14:03 +0530)]
char: hw_random: Kconfig: For ARCH_K3 add a dependency on SA2UL

The enable bit is the sa2ul crypto module register space.
Hence add a dependency for K3 family.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-udma: Add support for suppressing TDC message
Peter Ujfalusi [Tue, 3 Sep 2019 11:29:52 +0000 (14:29 +0300)]
dmaengine: ti: k3-udma: Add support for suppressing TDC message

Some PSI-L peripheral can not or have identified issue with sending
Teardown Completion Message. For these threads adding ti,notdpkt will make
sure that it is suppressed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
4 years agoremoteproc: Add a sysfs interface for name
Suman Anna [Fri, 9 Aug 2019 22:20:57 +0000 (17:20 -0500)]
remoteproc: Add a sysfs interface for name

[ Upstream commit 6ed756aa0148a5ad0dbdced6f14f22e2f5748d35 ]

This patch adds a sysfs interface that provides the name of the
remote processor to userspace. This allows the userspace to identify
a remote processor as the remoteproc devices themselves are created
based on probe order and can change from one boot to another or
at runtime.

The name is made available in debugfs originally, and is being
retained for now. This can be cleaned up after couple of releases
once users get familiar with the new interface.

[s-anna@ti.com: cherry-pick commit '6ed756aa0148' from v5.4]
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agorpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"
Suman Anna [Wed, 24 Oct 2018 01:19:09 +0000 (20:19 -0500)]
rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"

[ Upstream commit de4064af76537f13d74a814a962f4524e81436ac ]

The virtio_rpmsg_bus driver uses the "%p" format-specifier for
printing the vring buffer address. This prints only a hashed
pointer even for previliged users. Use "%pK" instead so that
the address can be printed during debug using kptr_restrict
sysctl.

[s-anna@ti.com: cherry-pick commit 'de4064af7653' from v5.4]
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agorpmsg: core: fix comments
Pierre-Louis Bossart [Sat, 23 Feb 2019 04:20:17 +0000 (22:20 -0600)]
rpmsg: core: fix comments

[ Upstream commit 9ff166def8c1f5759555c2c94ddd0fef11a18c2b ]

Minor typos, grammar and copy/paste issues. Fix for consistency. No
functional or semantic change.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
[s-anna@ti.com: cherry-pick commit '9ff166def8c1' from v5.4]
Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosamples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()
Suman Anna [Fri, 9 Aug 2019 16:27:09 +0000 (11:27 -0500)]
samples/rpmsg: Replace print_hex_dump() with print_hex_dump_debug()

[ Upstream commit 2519fbb39711e5e6696685f29fe049af93c5987c ]

Replace the raw print_hex_dump() call in the rpmsg_sample_cb() function
with the equivalent print_hex_dump_debug() better suited for dynamic
debug. This switch allows flexibility of controlling this trace through
dynamic debug when enabled.

[s-anna@ti.com: cherry-pick commit '2519fbb39711' from v5.4]
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agoARM: dts: k3-j721e-common-proc-board: Update MMC1 pinmux from the latest pinmux tool
Faiz Abbas [Wed, 7 Aug 2019 12:44:28 +0000 (18:14 +0530)]
ARM: dts: k3-j721e-common-proc-board: Update MMC1 pinmux from the latest pinmux tool

Update the MMC1 pinmux to match the output of the latest pinmux tool.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agophy: ti: j721e-wiz: Fix build warning
Roger Quadros [Mon, 2 Sep 2019 13:31:25 +0000 (16:31 +0300)]
phy: ti: j721e-wiz: Fix build warning

Variable "reg" is not used, remove it.

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 agophy: cadence: Sierra: Fix build warning
Roger Quadros [Mon, 2 Sep 2019 13:31:24 +0000 (16:31 +0300)]
phy: cadence: Sierra: Fix build warning

Variable "sp" is not used so remove it.

Fixes: 5311ca8aa824 ("phy: cadence: Sierra: add phy_reset hook")
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodrm/omap: hdmi5: automatically choose limited/full range output
Tomi Valkeinen [Mon, 2 Sep 2019 09:04:48 +0000 (12:04 +0300)]
drm/omap: hdmi5: automatically choose limited/full range output

Currently the HDMI driver uses always limited range RGB output. This
patch improves the behavior by using limited range only if the output is
identified as a HDMI display, and VIC > 1.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agodt-bindings: dma: ti: k3-udma: Add option to suppress TDCM
Peter Ujfalusi [Wed, 28 Aug 2019 10:25:02 +0000 (13:25 +0300)]
dt-bindings: dma: ti: k3-udma: Add option to suppress TDCM

Some PSI-L peripherals can not generate or have identified issue with
sending Teardown Complete Message.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
4 years agodmaengine: ti: k3-udma: Helper function to reset udma_chan parameters
Peter Ujfalusi [Wed, 28 Aug 2019 10:25:01 +0000 (13:25 +0300)]
dmaengine: ti: k3-udma: Helper function to reset udma_chan parameters

Instead open coding the parameter reset in various places, use single
helper function to reset the parameters to their default.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
4 years agodmaengine: ti: k3-udma: Use different byte counters in tx_status
Peter Ujfalusi [Wed, 28 Aug 2019 10:25:00 +0000 (13:25 +0300)]
dmaengine: ti: k3-udma: Use different byte counters in tx_status

Swap the byte counters we use in UDMAP for position calculation:
MEM_TO_DEV - SBCNT (started byte counter)
DEV_TO_MEM - BCNT (completed byte counter)
MEM_TO_MEM - BCNT (completed byte counter)

In hw I have never seen a case when SBCNT != BCNT, but to be sure we are
reading the logically correct counter for the transfer direction.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
4 years agodmaengine: ti: k3-udma: In case of error in filter_fn, reset the direction
Peter Ujfalusi [Wed, 28 Aug 2019 10:24:59 +0000 (13:24 +0300)]
dmaengine: ti: k3-udma: In case of error in filter_fn, reset the direction

Fixes possible issue when after a failed slave channel request the same
channel is reused for memcpy.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
4 years agodmaengine: ti: k3-udma: rework rflow management code
Grygorii Strashko [Thu, 22 Aug 2019 18:07:09 +0000 (21:07 +0300)]
dmaengine: ti: k3-udma: rework rflow management code

Now the K3 UDMA rflow management code is a little bit entangled an and uses
one bitmask rflow_map as to specify available UDMA RX Flows as RX Flows
which are in use.
It also doesn't allow to request remote RX Flows which are owned by FW
running on Remote Processor Cores (RPC). In such cases, FW owns RX UDMA
channel and provides Linux with set of RX Flow ID which can be used for
ingress traffic processing which designed for Linux only. Many RPCs can be
clients of the same RX UDMA channel. In this case TI-SCI resource
management provides access to the same range of resources (RX flows) to all
CPU Cores uses RX UDMA channel (including Linux Core), but, unfortunately,
there is no way now to specify such configuration in board config file and
to make TI SCI API to return proper resource's ranges to the Linux. The DT
also can't be used as this is SW configuration.

This patch introduces solution for the above by allowing to request any
RX Flow by ID in the following way:
- add rflow_in_use and use it exclusively to mark RX flows which are in use
  now by Linux. This mask is updated by __udma_get/put_rflow() API.

- change meaning of rflow_map and rename it to rflow_gp_map: it defines now
  the ranges of generic purpose RX flows which exclusively assigned and
  managed by Linux (0 bits).
  This range is provided by TI-SCI FW.

- rename xxx_reserve/free_rflow_range() to xxx_alloc/free_gp_rflow_range()
  as they are actually performing allocation of GP RX UDMA Flows.

- add requirement that GP RX Flow(s) should always be allocated first,
  before usage. Hence update the UDMA glue layer:
  -- introduce new K3 UDMA private API xudma_rflow_is_gp() to check is RX
     flow belongs to the GP RX Flows range
  -- perform RX flows allocation in case flow_id_base belongs to GP RX
     Flows range or -1 (dynamic allocation), or use RX flows IDs directly
     if provided by caller.

- change _udma_get_rflow() logic, so the RX flow can be requested by RX
  Flow ID only and if:
  -- RX Flow ID fits K3 UDMA HW RX Flow range;
  -- it is not in "in use" state;
  -- it is GP RX Flow ID and this RX Flow was previously allocated by
     __udma_alloc_gp_rflow_range() API.

The above approach is overall safe from user mistakes as TI-SCI FW will
perform additional permission checks and prohibit HW access for RX flows
which this CPU core is not allowed to access.

After this change the UDMA glue layer clients will be able:
 - request set of GP RX Flows dynamically
 - request set of GP RX Flows statically by specifying
   struct k3_nav_udmax_rx_channel_cfg->flow_id_base
 - request default RX Flow by setting
   struct k3_nav_udmax_rx_channel_cfg->flow_id_use_rxchan_id = true
 - request any other flows by ID

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-navss-udma: drop skip_psil cfg option
Grygorii Strashko [Thu, 22 Aug 2019 18:07:08 +0000 (21:07 +0300)]
dmaengine: ti: k3-navss-udma: drop skip_psil cfg option

The skip_psil RX UDMA channel cfg option was added for debug/testing
purposes. Hence, it can be safely dropped.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-udma: print board res ranges
Grygorii Strashko [Mon, 19 Aug 2019 14:43:28 +0000 (17:43 +0300)]
dmaengine: ti: k3-udma: print board res ranges

Add debug prints for UDMA resource ranges retrieved from TI-SCI firmware.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-navss-udma: improve err print on rflow reservation
Grygorii Strashko [Mon, 19 Aug 2019 14:43:27 +0000 (17:43 +0300)]
dmaengine: ti: k3-navss-udma: improve err print on rflow reservation

Improve err print on rflow reservation xudma_reserve_rflow_range() failure.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agosoc: ti: k3-ringacc: fix k3_ringacc_ring_reset_dma
Grygorii Strashko [Mon, 19 Aug 2019 14:43:26 +0000 (17:43 +0300)]
soc: ti: k3-ringacc: fix k3_ringacc_ring_reset_dma

In case dma_ring_reset_quirk is not set the k3_ringacc_ring_reset_dma will
just exit without ring reset. Fix it, by adding ring reset call in case
dma_ring_reset_quirk is not.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoarm64: dts: k3-j721e: jailhouse: Disable SW10 from root cell
Nikhil Devshatwar [Thu, 8 Aug 2019 10:05:22 +0000 (15:35 +0530)]
arm64: dts: k3-j721e: jailhouse: Disable SW10 from root cell

Partition the switches on the board between two VMs
Disable the SW10 from root cell so that it can be used from inmate cell.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
4 years agoarm64: dts: k3-j721e: Add gpio-keys on common processor board
Nikhil Devshatwar [Thu, 8 Aug 2019 10:05:21 +0000 (15:35 +0530)]
arm64: dts: k3-j721e: Add gpio-keys on common processor board

Common processor board for K3 J721E platform has two push buttons
namely SW10 and SW11.
Add a gpio-keys device node to model them as input keys in Linux.
Add required pinmux nodes to set GPIO pins as input.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoMerged TI feature connectivity into ti-linux-4.19.y
LCPD Auto Merger [Wed, 28 Aug 2019 14:52:52 +0000 (09:52 -0500)]
Merged TI feature connectivity into ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  Revert "arm64: dts: k3-j721e-main: Add Support for UHS modes"
  net: ti: icssg_prueth: Reduce verbosity of some debug messages
  net: ti: icssg_classifier: Keep FT1 disabled for default and disabled
  net: ti: icssg_prueth: Fix bug at ifdown under high ingress traffic
  net: ti: prueth: Hook up net device's ioctl to phy_mii_ioctl()
  net: ti: icssg_prueth: Hook up net device's ioctl to phy_mii_ioctl()

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoRevert "arm64: dts: k3-j721e-main: Add Support for UHS modes"
Faiz Abbas [Wed, 28 Aug 2019 09:59:20 +0000 (15:29 +0530)]
Revert "arm64: dts: k3-j721e-main: Add Support for UHS modes"

This reverts commit 9d3fa7a802e14b79d42bf1ae4acded9b1b176b0b.

Failures after voltage switching have been observed with some Sandisk
SD cards with the latest recommended PHY values. Disable UHS modes until
this has been debugged.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ti: icssg_prueth: Reduce verbosity of some debug messages
Roger Quadros [Tue, 27 Aug 2019 11:40:24 +0000 (14:40 +0300)]
net: ti: icssg_prueth: Reduce verbosity of some debug messages

Users don't really need to know the flow id base of the
RX channels. Use netdev_dbg() for those messages.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ti: icssg_classifier: Keep FT1 disabled for default and disabled
Roger Quadros [Tue, 27 Aug 2019 11:40:23 +0000 (14:40 +0300)]
net: ti: icssg_classifier: Keep FT1 disabled for default and disabled

We don't need FT1 for default and disabled cases so keep
it disabled.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ti: icssg_prueth: Fix bug at ifdown under high ingress traffic
Roger Quadros [Tue, 27 Aug 2019 11:40:22 +0000 (14:40 +0300)]
net: ti: icssg_prueth: Fix bug at ifdown under high ingress traffic

NOTE: I can still reproduce the bug. but more harder to reproduce
than before.

Now that PHY state machine is fixed at phy_stop
we can rely on that to stop traffic on wire.

The other option was to implement the shutdown command so
firmware stops processing packets but that is still TBD.

Fixes the following bug.

On EVM:
- iperf3 -s -D
On PC:
- iperf3 -c <evm ip> -u -b0 -i1 -t300
On EVM:
-[1] ifdown eth5
- ifup eth5
- sleep 5 (wait till link up)
- goto [1]

[   50.534182] ------------[ cut here ]------------
[   50.538828] k3_knav_desc_pool size 65536 != avail 65280
[   50.538890] WARNING: CPU: 2 PID: 1082 at drivers/soc/ti/k3-navss-desc-pool.c:33 k3_knav_pool_destroy+0x11c/0x130
[   50.554252] Modules linked in: rpmsg_proto ti_am335x_adc kfifo_buf icssg_prueth dwc3 omap_rng rng_core udc_core pru_rproc crc32_ce crct10dif_ce pruss irq_pruss_intc ti_k3_r5_remoteproc virtio_rpmsg_bus remot6
[   50.592783] CPU: 2 PID: 1082 Comm: ifconfig Not tainted 4.19.59-00001-ge47dda560c33 #167
[   50.600856] Hardware name: Texas Instruments AM654 Base Board (DT)
[   50.607025] pstate: 40000005 (nZcv daif -PAN -UAO)
[   50.611809] pc : k3_knav_pool_destroy+0x11c/0x130
[   50.616503] lr : k3_knav_pool_destroy+0x11c/0x130
[   50.621194] sp : ffff000012baf9f0
[   50.624499] x29: ffff000012baf9f0 x28: ffff800845610000
[   50.629803] x27: ffff800846b85e00 x26: ffff800841198000
[   50.635107] x25: 0000000000001042 x24: 0000000000000000
[   50.640411] x23: ffff800841198cf0 x22: ffff000002210058
[   50.645715] x21: ffff800841198000 x20: 0000000000010000
[   50.651018] x19: ffff800842609780 x18: 0000000000000000
[   50.656322] x17: 0000000000000001 x16: 0000000000000007
[   50.661625] x15: ffffffffffffffff x14: ffff000008c93648
[   50.666929] x13: ffff000008d570d0 x12: ffff000008d56d16
[   50.672232] x11: ffff000008ca9000 x10: ffff000012baf670
[   50.677535] x9 : ffff000012baf9f0 x8 : 203d212036333535
[   50.682839] x7 : ffff000008d56000 x6 : 00000000000001b7
[   50.688142] x5 : 0000000000000000 x4 : ffff80087fad17e0
[   50.693446] x3 : ffff80087fad17e0 x2 : 0000000000000007
[   50.698749] x1 : b4f05b6436ac2100 x0 : 0000000000000000
[   50.704053] Call trace:
[   50.706494]  k3_knav_pool_destroy+0x11c/0x130
[   50.710853]  prueth_cleanup_tx_chns+0x30/0x48 [icssg_prueth]
[   50.716506]  emac_ndo_stop+0x190/0x1f0 [icssg_prueth]
[   50.721552]  __dev_close_many+0x9c/0x118
[   50.725469]  __dev_change_flags+0xa8/0x1b8
[   50.729556]  dev_change_flags+0x20/0x60
[   50.733386]  devinet_ioctl+0x3f4/0x730
[   50.737127]  inet_ioctl+0xf8/0x268
[   50.740526]  sock_do_ioctl+0x48/0x1f8
[   50.744181]  sock_ioctl+0x1c0/0x3b8
[   50.747666]  do_vfs_ioctl+0xb8/0x890
[   50.751233]  ksys_ioctl+0x78/0xa8
[   50.754541]  __arm64_sys_ioctl+0x1c/0x28
[   50.758457]  el0_svc_common+0x90/0x158
[   50.762198]  el0_svc_handler+0x2c/0x80
[   50.765939]  el0_svc+0x8/0xc
[   50.768811] ---[ end trace 3ff26d234f6778ad ]---
[   50.773518] ------------[ cut here ]------------
[   50.778130] kernel BUG at lib/genalloc.c:252!

Suggested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ti: prueth: Hook up net device's ioctl to phy_mii_ioctl()
Roger Quadros [Tue, 27 Aug 2019 13:58:00 +0000 (16:58 +0300)]
net: ti: prueth: Hook up net device's ioctl to phy_mii_ioctl()

If user space wants to read/write to PHY it should be possible
from now.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ti: icssg_prueth: Hook up net device's ioctl to phy_mii_ioctl()
Roger Quadros [Tue, 27 Aug 2019 13:57:59 +0000 (16:57 +0300)]
net: ti: icssg_prueth: Hook up net device's ioctl to phy_mii_ioctl()

If user space wants to read/write to PHY it should be possible
from now.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoMerged TI feature connectivity into ti-linux-4.19.y
LCPD Auto Merger [Tue, 27 Aug 2019 14:15:42 +0000 (09:15 -0500)]
Merged TI feature connectivity into ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  usb: dwc3: don't set gadget->is_otg flag
  ARM: dts: dra74x: Fix iodelay configuration for mmc3
  usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING
  usb: dwc3: gadget: early giveback if End Transfer already completed
  usb: dwc3: gadget: don't use resource_index as a flag
  usb: dwc3: gadget: clear DWC3_EP_TRANSFER_STARTED on cmd complete
  misc: pci_endpoint_test: Use full pci-endpoint-test name in request irq
  misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices
  tools: PCI: Add 'e' to clear IRQ
  misc: pci_endpoint_test: Add ioctl to clear IRQ
  misc: pci_endpoint_test: Do not request or allocate IRQs in probe
  usb: gadget: udc: core: Fix segfault if udc_bind_to_driver() for pending driver fails

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agousb: dwc3: don't set gadget->is_otg flag
Roger Quadros [Mon, 26 Aug 2019 11:56:22 +0000 (14:56 +0300)]
usb: dwc3: don't set gadget->is_otg flag

This reverts commit
6a4290cc28be1 ("usb: dwc3: gadget: set the OTG flag in dwc3 gadget driver.")

We don't yet support any of the OTG mechanisms (HNP/SRP/ADP)
and are not setting gadget->otg_caps, so don't set gadget->is_otg
flag.

If we do then we end up publishing a OTG1.0 descriptor in
the gadget descriptor which causes device enumeration to fail
if we are connected to a host with CONFIG_USB_OTG enabled.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoARM: dts: dra74x: Fix iodelay configuration for mmc3
Faiz Abbas [Tue, 27 Aug 2019 08:00:49 +0000 (13:30 +0530)]
ARM: dts: dra74x: Fix iodelay configuration for mmc3

commit 07f9a8be66a9bd86f9eaedf8f8aeb416195adab8 upstream.

According to the latest am572x[1] and dra74x[2] data manuals, mmc3
default, hs, sdr12 and sdr25 modes use iodelay values given in
MMC3_MANUAL1. Set the MODE_SELECT bit for these so that manual mode is
selected and correct iodelay values are configured.

[1] http://www.ti.com/lit/ds/symlink/am5728.pdf
[2] http://www.ti.com/lit/ds/symlink/dra746.pdf

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING
Felipe Balbi [Mon, 26 Aug 2019 10:34:52 +0000 (13:34 +0300)]
usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING

commit 3aec99154db3a95572bb92aa470589585e37df06 upstream.

Now that we modified the code to fix a race condition, it's clear that
DWC3_EP_END_TRANSFER_PENDING is unnecessary, considering that
DWC3_EP_TRANSFER_STARTED will remain set until End Transfer completes.

Tested-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: dwc3: gadget: early giveback if End Transfer already completed
Felipe Balbi [Mon, 26 Aug 2019 10:34:51 +0000 (13:34 +0300)]
usb: dwc3: gadget: early giveback if End Transfer already completed

commit 9f45581f5eec6786c6eded2b3c85345d82a910c9 upstream.

There is a rare race condition that may happen during a Disconnect
Interrupt if we have a started request that happens to be
dequeued *after* completion of End Transfer command. If that happens,
that request will be left waiting for completion of an End Transfer
command that will never happen.

If End Transfer command has already completed before, we are safe to
giveback the request straight away.

Tested-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>