4 years agoMerged TI feature multimedia_next into ti-linux-4.19.y-next ti-linux-4.19.y-next-20190909
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>
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>
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>
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>
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>
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>
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>
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>
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>
Enable DMA-BUF export driver used by OpenCL/OpenVX usecases.
Signed-off-by: Andrew F. Davis <afd@ti.com>
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>
Enable DMA-BUF export driver used by OpenCL/OpenVX usecases.
Signed-off-by: Andrew F. Davis <afd@ti.com>
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>
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>
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>
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>
ti_config_fragments: v8_baseport: Enable PAT driver
Enable PAT in v8 config.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Enable PAT in v8 config.
Signed-off-by: Andrew F. Davis <afd@ti.com>
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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>
Add vxe384 vxe_enc configurations to multimedia.cfg
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
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>
Add video encoder basic config to Kconfig and select the required V4L2 modules.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
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>
Add VXE384 video encoder node for J721E.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
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>
Add the dt-binding for the img,vxe384 node for J721E.
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
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>
* '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>
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)
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)
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
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
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>
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>
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>
Add support for HW supported sha1/sha256 algorithms.
The HMAC basedsha1/sha256 are already supported.
Signed-off-by: Keerthy <j-keerthy@ti.com>
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>
Fix speed test case to set up sg buffer size equal to payload.
Signed-off-by: Keerthy <j-keerthy@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Revert "usb:common Separated decoding functions from dwc3 driver."
This reverts commit 191b62b8537ab55a9de324e8c256b933b0f69f20.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This reverts commit 191b62b8537ab55a9de324e8c256b933b0f69f20.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Revert "usb:common Patch simplify usb_decode_set_clear_feature function."
This reverts commit b93c0c91de5ac4025917dcad3b830aba2b808e22.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This reverts commit b93c0c91de5ac4025917dcad3b830aba2b808e22.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Revert "usb:common Simplify usb_decode_get_set_descriptor function."
This reverts commit c2852d4cd9af909aef47df9c1f390a663d112462.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This reverts commit c2852d4cd9af909aef47df9c1f390a663d112462.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
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>
This reverts commit d9b9925c0235166f284051ecac9bef53c22218f2.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
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>
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>
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>
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>
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>
* '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>
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>
Signed-off-by: Suman Anna <s-anna@ti.com>
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>
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>
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>
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>
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>
* '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>
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>
* '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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
drm/bridge: cdns-mhdp: clean up debug prints
Minor cleanups to debug prints.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Minor cleanups to debug prints.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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>
Remove slightly spammy debug prints that provide little value.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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>
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>
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>
Rename cdns_dp_phy_set_ppl_en to cdns_dp_phy_set_pll_en.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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>
Disable the DP framer at bridge_disable.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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>
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>
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>
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>
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>
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>
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>
The register is marked unused, we should not touch it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
[ 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>
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>
[ 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>
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>
[ 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>
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>
[ 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* '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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* '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>
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>
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>
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>
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>
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>
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>
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>
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>