]> 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
5 years agoMerge branch 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti... ti-linux-4.19.y-next-20190412
LCPD Auto Merger [Fri, 12 Apr 2019 07:26:35 +0000 (02:26 -0500)]
Merge branch 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti-linux-kernel into ti-linux-4.19.y-next

TI-Feature: kishon_next
TI-Tree: git://git.ti.com/linux-phy/kishons-ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y-for-next

* 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti-linux-kernel:
  ARM: dts: k2e-evm: enable PCIe on port 1
  ARM: dts: keystone-k2e: Use the updated binding to describe PCIe in k2e
  ARM: keystone: dts: add PCI serdes driver bindings

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoMerge branch 'rpmsg-ti-linux-4.19.y-next' of git://git.ti.com/rpmsg/rpmsg into ti...
LCPD Auto Merger [Fri, 12 Apr 2019 07:26:32 +0000 (02:26 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y-next' of git://git.ti.com/rpmsg/rpmsg 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:
  remoteproc: Add a sysfs interface for name

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Thu, 11 Apr 2019 18:42:48 +0000 (13:42 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-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:
  arm64: dts: Add k3-am654-evm-hdmi.dtso
  drm/bridge: ti-tfp410: Fall back to HPD polling if HPD irq is not available
  drm/bridge: ti-tfp410: Set the bus_format
  dt-bindings: display: tfp410: Add bus-width parameter property

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoMerge branch 'peter/ti-linux-4.19.y/topic/display' of https://github.com/omap-audio...
Jyri Sarha [Thu, 11 Apr 2019 17:46:01 +0000 (20:46 +0300)]
Merge branch 'peter/ti-linux-4.19.y/topic/display' of https://github.com/omap-audio/linux-audio into audio_display-ti-linux-4.19.y

HDMI (tfp410) addon card support for am6

* 'peter/ti-linux-4.19.y/topic/display' of https://github.com/omap-audio/linux-audio:
  arm64: dts: Add k3-am654-evm-hdmi.dtso
  drm/bridge: ti-tfp410: Fall back to HPD polling if HPD irq is not available
  drm/bridge: ti-tfp410: Set the bus_format
  dt-bindings: display: tfp410: Add bus-width parameter property

5 years agoarm64: dts: Add k3-am654-evm-hdmi.dtso
Tomi Valkeinen [Thu, 9 Aug 2018 11:24:18 +0000 (14:24 +0300)]
arm64: dts: Add k3-am654-evm-hdmi.dtso

Add support for J6 PLUS HDMI DISPLAY ADAPTER (connected to J36).

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodrm/bridge: ti-tfp410: Fall back to HPD polling if HPD irq is not available
Peter Ujfalusi [Wed, 6 Feb 2019 13:45:26 +0000 (15:45 +0200)]
drm/bridge: ti-tfp410: Fall back to HPD polling if HPD irq is not available

In case either the HPD gpio is not specified or when the HPD gpio can not
be used as interrupt we should tell the core that the HPD needs to be
polled for detecting hotplug.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodrm/bridge: ti-tfp410: Set the bus_format
Peter Ujfalusi [Wed, 13 Mar 2019 13:34:05 +0000 (15:34 +0200)]
drm/bridge: ti-tfp410: Set the bus_format

The TFP410 supports 24 bit, single-edge and 12 bit, dual-edge modes.
Depending on how many wires are used (24/12) the driver can set the correct
bus_format.

If the information is not available in DT then assume 24 bit, single-edge
setup.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodt-bindings: display: tfp410: Add bus-width parameter property
Peter Ujfalusi [Thu, 14 Mar 2019 11:47:35 +0000 (13:47 +0200)]
dt-bindings: display: tfp410: Add bus-width parameter property

tfp410 can be connect to host processor in 24bit, single-edge (24 lines) or
12bit, dual-edge (12 lines).

Add bus-width to the documentation so it can be used to select between the
two connection scheme.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Thu, 11 Apr 2019 08:42:31 +0000 (03:42 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-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: (26 commits)
  ti_config_fragments: arm64_prune: Disable DEBUG_INFO
  ARM: dts: ti: Add overlay for CSI2 ov5640 camera
  ARM: dts: ti: dra76-evm: Move ov490 nodes to its own overlay
  ARM: dts: ti: Add support for dra76-evm variants
  ARM64: dts: ti: Add overlay for CSI2 OV5640 camera
  ti_config_fragments: Add OV5640 to audio_display.cfg
  media: ti-vpe: cal: Fix a WARN issued when start streaming fails
  media: ti-vpe: cal: Properly calculate max resolution boundary
  media: ti-vpe: cal: Add subdev s_power hooks
  media: ov5640: Make 2592x1944 mode only available at 15 fps
  media: ov5640: Fix 1920x1080 mode to remove extra enable/disable
  media: ov5640: add PIXEL_RATE control
  media: ov5640: Remove duplicate auto-exposure setup
  media: ov5640: Add 60 fps support
  media: ov5640: Make the FPS clamping / rounding more extendable
  media: ov5640: Make the return rate type more explicit
  media: ov5640: Enhance FPS handling
  media: ov5640: Remove pixel clock rates
  media: ov5640: Compute the clock rate at runtime
  media: ov5640: Remove redundant register setup
  ...

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoMerge branch 'for19.01.00' of git.ti.com:~bparrot/ti-linux-kernel/bp-ti-linux into...
Jyri Sarha [Thu, 11 Apr 2019 07:29:36 +0000 (10:29 +0300)]
Merge branch 'for19.01.00' of git.ti.com:~bparrot/ti-linux-kernel/bp-ti-linux into audio_display-ti-linux-4.19.y

2019.01 OV5640 support

* 'for19.01.00' of git.ti.com:~bparrot/ti-linux-kernel/bp-ti-linux: (26 commits)
  ti_config_fragments: arm64_prune: Disable DEBUG_INFO
  ARM: dts: ti: Add overlay for CSI2 ov5640 camera
  ARM: dts: ti: dra76-evm: Move ov490 nodes to its own overlay
  ARM: dts: ti: Add support for dra76-evm variants
  ARM64: dts: ti: Add overlay for CSI2 OV5640 camera
  ti_config_fragments: Add OV5640 to audio_display.cfg
  media: ti-vpe: cal: Fix a WARN issued when start streaming fails
  media: ti-vpe: cal: Properly calculate max resolution boundary
  media: ti-vpe: cal: Add subdev s_power hooks
  media: ov5640: Make 2592x1944 mode only available at 15 fps
  media: ov5640: Fix 1920x1080 mode to remove extra enable/disable
  media: ov5640: add PIXEL_RATE control
  media: ov5640: Remove duplicate auto-exposure setup
  media: ov5640: Add 60 fps support
  media: ov5640: Make the FPS clamping / rounding more extendable
  media: ov5640: Make the return rate type more explicit
  media: ov5640: Enhance FPS handling
  media: ov5640: Remove pixel clock rates
  media: ov5640: Compute the clock rate at runtime
  media: ov5640: Remove redundant register setup
  ...

5 years agoti_config_fragments: arm64_prune: Disable DEBUG_INFO
Benoit Parrot [Wed, 3 Apr 2019 23:49:14 +0000 (18:49 -0500)]
ti_config_fragments: arm64_prune: Disable DEBUG_INFO

CONFIG_DEBUG_INFO is enabled in arch/arm64/configs/defconfig.

Let's disable it so our "Release" build does not have all debug info
with it.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
5 years agoARM: dts: ti: Add overlay for CSI2 ov5640 camera
Benoit Parrot [Tue, 2 Apr 2019 23:29:56 +0000 (18:29 -0500)]
ARM: dts: ti: Add overlay for CSI2 ov5640 camera

Create an OV5640 overlay and CAL linkage nodes.

Add support for it into the FIT image for dra76-evm.

Use dtb-merge to create the following files:
dra76-evm-ov5640.dtb
dra76-evm-tfp410-ov5640.dtb

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agoARM: dts: ti: dra76-evm: Move ov490 nodes to its own overlay
Benoit Parrot [Tue, 2 Apr 2019 21:32:16 +0000 (16:32 -0500)]
ARM: dts: ti: dra76-evm: Move ov490 nodes to its own overlay

Move ov490 sensor support from the main dra76-evm.dts file into an
overlay (dra7x-evm-ov490.dtso).

Add support for it into the FIT image for dra76-evm.

Use dtb-merge to create the following files:
dra76-evm-ov490.dtb
dra76-evm-tfp410-ov490.dtb

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agoARM: dts: ti: Add support for dra76-evm variants
Benoit Parrot [Tue, 2 Apr 2019 21:24:29 +0000 (16:24 -0500)]
ARM: dts: ti: Add support for dra76-evm variants

Add support for building FIT image for dra76-evm.

Convert dra76-evm-tfp410.dts into an overlay.

Use dtb-merge to create the following files:
    dra76-evm-tfp410.dtb

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agoARM64: dts: ti: Add overlay for CSI2 OV5640 camera
Benoit Parrot [Mon, 1 Apr 2019 18:44:44 +0000 (13:44 -0500)]
ARM64: dts: ti: Add overlay for CSI2 OV5640 camera

Create an overlay for the OV5640 CSI camera:
- add the OV5640 nodes
- add the CAL node linkage
- enable CAL node

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agoti_config_fragments: Add OV5640 to audio_display.cfg
Benoit Parrot [Fri, 1 Mar 2019 23:02:04 +0000 (17:02 -0600)]
ti_config_fragments: Add OV5640 to audio_display.cfg

Add OV5640 config item to audio_display.cfg.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ti-vpe: cal: Fix a WARN issued when start streaming fails
Benoit Parrot [Thu, 28 Feb 2019 21:22:58 +0000 (15:22 -0600)]
media: ti-vpe: cal: Fix a WARN issued when start streaming fails

When start_streaming fails after the buffers have been queued we have to
make sure all buffers are returned to user-space properly otherwise a
v4l2 level WARN is generated.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ti-vpe: cal: Properly calculate max resolution boundary
Benoit Parrot [Thu, 28 Feb 2019 16:40:03 +0000 (10:40 -0600)]
media: ti-vpe: cal: Properly calculate max resolution boundary

Currently we were using an arbitrarily small maximum resolution mostly
based on available sensor capabilities. However the hardware DMA limits
are much higher than the statically define maximum resolution we were
using.

There we rework the boundary check code to handle the maximum width and
height based on the maximum line width in bytes and re-calculating the
pixel width based on the given pixel format.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ti-vpe: cal: Add subdev s_power hooks
Benoit Parrot [Mon, 25 Feb 2019 21:26:13 +0000 (15:26 -0600)]
media: ti-vpe: cal: Add subdev s_power hooks

Based on V4L2 documentations bridge driver must power on and off sub
device explicitly if media-controller mode is not used.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ov5640: Make 2592x1944 mode only available at 15 fps
Benoit Parrot [Fri, 1 Mar 2019 22:44:06 +0000 (16:44 -0600)]
media: ov5640: Make 2592x1944 mode only available at 15 fps

The sensor data sheet clearly state that 2592x1944 only works at 15 fps
make sure we don't try to miss configure the pll out of acceptable
range.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ov5640: Fix 1920x1080 mode to remove extra enable/disable
Benoit Parrot [Fri, 1 Mar 2019 22:40:48 +0000 (16:40 -0600)]
media: ov5640: Fix 1920x1080 mode to remove extra enable/disable

In the 1920x1080 register array an extra pair of reset ctrl disable
re-enable was causing unwanted init delays.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ov5640: add PIXEL_RATE control
Benoit Parrot [Tue, 26 Feb 2019 16:10:39 +0000 (10:10 -0600)]
media: ov5640: add PIXEL_RATE control

Add v4l2 controls to report the pixel rates of each mode. This is
needed by some CSI2 receiver in order to perform proper DPHY
configuration.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
5 years agomedia: ov5640: Remove duplicate auto-exposure setup
Maxime Ripard [Mon, 3 Dec 2018 08:44:27 +0000 (03:44 -0500)]
media: ov5640: Remove duplicate auto-exposure setup

commit 1da3afb58cd15764da92da68e2d999abc303f6fd upstream.

The autoexposure setup in the 1080p init array is redundant with the
default value of the sensor.

Remove it.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Add 60 fps support
Maxime Ripard [Mon, 3 Dec 2018 08:44:26 +0000 (03:44 -0500)]
media: ov5640: Add 60 fps support

commit e823fb165b763bf0e42bceb9ab45cb9f7589d871 upstream.

Now that we have everything in place to compute the clock rate at runtime,
we can enable the 60fps framerate for the mode we tested it with.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Make the FPS clamping / rounding more extendable
Maxime Ripard [Mon, 3 Dec 2018 08:44:25 +0000 (03:44 -0500)]
media: ov5640: Make the FPS clamping / rounding more extendable

commit f6cc192fbf0892047f28626f2a989400453fd699 upstream.

The current code uses an algorithm to clamp the FPS values and round them
to the closest supported one that isn't really allows to be extended to
more than two values.

Rework it a bit to make it much easier to extend the amount of FPS options
we support.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Make the return rate type more explicit
Maxime Ripard [Mon, 3 Dec 2018 08:44:24 +0000 (03:44 -0500)]
media: ov5640: Make the return rate type more explicit

commit 5a3ad937bc784d44259860196ec987949348b83d upstream.

In the ov5640_try_frame_interval function, the ret variable actually holds
the frame rate index to use, which is represented by the enum
ov5640_frame_rate in the driver.

Make it more obvious.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Enhance FPS handling
Maxime Ripard [Mon, 3 Dec 2018 08:44:23 +0000 (03:44 -0500)]
media: ov5640: Enhance FPS handling

commit 086c25f8fef9ce659fd898670ab7ba3c39552224 upstream.

Now that we have moved the clock generation logic out of the bytes array,
these arrays are identical between the 15fps and 30fps variants.

Remove the duplicate entries, and convert the code accordingly.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Remove pixel clock rates
Maxime Ripard [Mon, 3 Dec 2018 08:44:22 +0000 (03:44 -0500)]
media: ov5640: Remove pixel clock rates

commit 86d81ad9dd1b9eccad99d011439df84156abe34e upstream.

The pixel clock rates were introduced to report the initially static clock
rate.

Since this is now handled dynamically, we can remove them entirely.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Compute the clock rate at runtime
Maxime Ripard [Mon, 3 Dec 2018 08:44:21 +0000 (03:44 -0500)]
media: ov5640: Compute the clock rate at runtime

commit dfbfb7aa832cdbce54dc4c7694522dca011bfe7a upstream.

The clock rate, while hardcoded until now, is actually a function of the
resolution, framerate and bytes per pixel. Now that we have an algorithm to
adjust our clock rate, we can select it dynamically when we change the
mode.

This changes a bit the clock rate being used, with the following effect:

+------+------+------+------+-----+-----------------+----------------+-----------+
| Hact | Vact | Htot | Vtot | FPS | Hardcoded clock | Computed clock | Deviation |
+------+------+------+------+-----+-----------------+----------------+-----------+
|  640 |  480 | 1896 | 1080 |  15 |        56000000 |       61430400 | 8.84 %    |
|  640 |  480 | 1896 | 1080 |  30 |       112000000 |      122860800 | 8.84 %    |
| 1024 |  768 | 1896 | 1080 |  15 |        56000000 |       61430400 | 8.84 %    |
| 1024 |  768 | 1896 | 1080 |  30 |       112000000 |      122860800 | 8.84 %    |
|  320 |  240 | 1896 |  984 |  15 |        56000000 |       55969920 | 0.05 %    |
|  320 |  240 | 1896 |  984 |  30 |       112000000 |      111939840 | 0.05 %    |
|  176 |  144 | 1896 |  984 |  15 |        56000000 |       55969920 | 0.05 %    |
|  176 |  144 | 1896 |  984 |  30 |       112000000 |      111939840 | 0.05 %    |
|  720 |  480 | 1896 |  984 |  15 |        56000000 |       55969920 | 0.05 %    |
|  720 |  480 | 1896 |  984 |  30 |       112000000 |      111939840 | 0.05 %    |
|  720 |  576 | 1896 |  984 |  15 |        56000000 |       55969920 | 0.05 %    |
|  720 |  576 | 1896 |  984 |  30 |       112000000 |      111939840 | 0.05 %    |
| 1280 |  720 | 1892 |  740 |  15 |        42000000 |       42002400 | 0.01 %    |
| 1280 |  720 | 1892 |  740 |  30 |        84000000 |       84004800 | 0.01 %    |
| 1920 | 1080 | 2500 | 1120 |  15 |        84000000 |       84000000 | 0.00 %    |
| 1920 | 1080 | 2500 | 1120 |  30 |       168000000 |      168000000 | 0.00 %    |
| 2592 | 1944 | 2844 | 1944 |  15 |        84000000 |      165862080 | 49.36 %   |
+------+------+------+------+-----+-----------------+----------------+-----------+

Only the 640x480, 1024x768 and 2592x1944 modes are significantly affected
by the new formula.

In this case, 640x480 and 1024x768 are actually fixed by this change.
Indeed, the sensor was sending data at, for example, 27.33fps instead of
30fps. This is -9%, which is roughly what we're seeing in the array.
Testing these modes with the new clock setup actually fix that error, and
data are now sent at around 30fps.

2592x1944, on the other hand, is probably due to the fact that this mode
can only be used using MIPI-CSI2, in a two lane mode, and never really
tested with a DVP bus.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Remove redundant register setup
Maxime Ripard [Mon, 3 Dec 2018 08:44:20 +0000 (03:44 -0500)]
media: ov5640: Remove redundant register setup

commit a9e17125a568f47934534b0d725d5234c686b8b8 upstream.

The MIPI divider is also cleared as part of the clock setup sequence, so we
can remove that code.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Remove redundant defines
Maxime Ripard [Mon, 3 Dec 2018 08:44:19 +0000 (03:44 -0500)]
media: ov5640: Remove redundant defines

commit 7851fe7ad4d950dbb295b35e675820eaaf087b1c upstream.

The OV5640_SCLK2X_ROOT_DIVIDER_DEFAULT and OV5640_SCLK_ROOT_DIVIDER_DEFAULT
defines represent exactly the same setup, and are at the same value, than
the more consistent with the rest of the driver OV5640_SCLK2X_ROOT_DIV and
OV5640_SCLK_ROOT_DIV.

Remove them.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Remove the clocks registers initialization
Maxime Ripard [Mon, 3 Dec 2018 08:44:18 +0000 (03:44 -0500)]
media: ov5640: Remove the clocks registers initialization

commit c14d107e74178e5e4c4b4fd0302ce0f8851abe8b upstream.

Part of the hardcoded initialization sequence is to set up the proper clock
dividers. However, this is now done dynamically through proper code and as
such, the static one is now redundant.

Let's remove it.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: Adjust the clock based on the expected rate
Maxime Ripard [Mon, 3 Dec 2018 08:44:17 +0000 (03:44 -0500)]
media: ov5640: Adjust the clock based on the expected rate

commit aa2882481cadaaf1e91236e43d700717cbe68712 upstream.

The clock structure for the PCLK is quite obscure in the documentation, and
was hardcoded through the bytes array of each and every mode.

This is troublesome, since we cannot adjust it at runtime based on other
parameters (such as the number of bytes per pixel), and we can't support
either framerates that have not been used by the various vendors, since we
don't have the needed initialization sequence.

We can however understand how the clock tree works, and then implement some
functions to derive the various parameters from a given rate. And now that
those parameters are calculated at runtime, we can remove them from the
initialization sequence.

The modes also gained a new parameter which is the clock that they are
running at, from the register writes they were doing, so for now the switch
to the new algorithm should be transparent.

Co-Developed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Tested-by: Adam Ford <aford173@gmail.com> #imx6dq
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: support log_status ioctl and event interface
Akinobu Mita [Mon, 12 Nov 2018 16:00:52 +0000 (11:00 -0500)]
media: ov5640: support log_status ioctl and event interface

commit 2d18fbc5518f051718ce7d54bba1e2665921aa1d upstream.

This adds log_status ioctl and event interface for ov5640's v4l2 controls.

Cc: Steve Longerbeam <slongerbeam@gmail.com>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: fix framerate update
Hugues Fruchet [Thu, 4 Oct 2018 11:21:57 +0000 (07:21 -0400)]
media: ov5640: fix framerate update

commit 0929983e49c81c1d413702cd9b83bb06c4a2555c upstream.

Changing framerate right before streamon had no effect,
the new framerate value was taken into account only at
next streamon, fix this.

Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agomedia: ov5640: use JPEG mode 3 for 720p
Hugues Fruchet [Mon, 24 Sep 2018 13:33:27 +0000 (09:33 -0400)]
media: ov5640: use JPEG mode 3 for 720p

commit b791187b0080e963d0498a6c6fe6050acd7d2cc2 upstream.

Change 720p JPEG mode to mode 3 as per other resolutions.

Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
5 years agoMerge tag 'v4.19.31' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux...
Dan Murphy [Wed, 10 Apr 2019 15:19:41 +0000 (10:19 -0500)]
Merge tag 'v4.19.31' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into ti-linux-4.19.y

This is the 4.19.31 stable release

* tag 'v4.19.31' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (785 commits)
  Linux 4.19.31
  s390/setup: fix boot crash for machine without EDAT-1
  bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata
  KVM: nVMX: Ignore limit checks on VMX instructions using flat segments
  KVM: nVMX: Apply addr size mask to effective address for VMX instructions
  KVM: nVMX: Sign extend displacements of VMX instr's mem operands
  KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux
  KVM: x86/mmu: Detect MMIO generation wrap in any address space
  KVM: Call kvm_arch_memslots_updated() before updating memslots
  drm/amd/display: don't call dm_pp_ function from an fpu block
  drm/amd/powerplay: correct power reading on fiji
  drm/radeon/evergreen_cs: fix missing break in switch statement
  drm/fb-helper: generic: Fix drm_fbdev_client_restore()
  media: imx: csi: Stop upstream before disabling IDMA channel
  media: imx: csi: Disable CSI immediately after last EOF
  media: vimc: Add vimc-streamer for stream control
  media: uvcvideo: Avoid NULL pointer dereference at the end of streaming
  media: lgdt330x: fix lock status reporting
  media: imx: prpencvf: Stop upstream before disabling IDMA channel
  rcu: Do RCU GP kthread self-wakeup from softirq and interrupt
  ...

Signed-off-by: Dan Murphy <dmurphy@ti.com>
# Conflicts:
# drivers/clocksource/timer-ti-dm.c

5 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Wed, 10 Apr 2019 09:44:18 +0000 (04:44 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-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: (26 commits)
  drm/tidss: remove wrong pixel formats
  drm/tidss: encoder: Take bus_flags from bridge timings if defined
  drm/tidss: dispc7: Allow full 48bit DMA addressing
  arm64: dts: k3-am654-evm-tc358876: HPD support
  dt-bindings: tc358767: add HPD support
  drm/bridge: tc358767: add IRQ and HPD support
  drm/bridge: tc358767: copy the mode data, instead of storing the pointer
  drm/bridge: tc358767: remove tc_connector_best_encoder
  drm/bridge: tc358767: use bridge mode_valid
  drm/bridge: tc358767: remove check for video mode in link enable
  drm/bridge: tc358767: clean-up link training
  drm/bridge: tc358767: cleanup LT result check
  drm/bridge: tc358767: use more reliable seq when finishing LT
  drm/bridge: tc358767: remove unnecessary msleep
  drm/bridge: tc358767: ensure DP is disabled before LT
  drm/bridge: tc358767: add link disable function
  drm/bridge: tc358767: move PXL PLL enable/disable to stream enable/disable
  drm/bridge: tc358767: split stream enable/disable
  drm/bridge: tc358767: move video stream setup to tc_main_link_stream
  drm/bridge: tc358767: cleanup aux_link_setup
  ...

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agodrm/tidss: remove wrong pixel formats
Tomi Valkeinen [Tue, 9 Apr 2019 13:40:14 +0000 (13:40 +0000)]
drm/tidss: remove wrong pixel formats

The hardware does not support DRM_FORMAT_RGBA1010102,
DRM_FORMAT_BGRA1010102, DRM_FORMAT_RGBX1010102, DRM_FORMAT_BGRX1010102
formats, but we have them in the driver, assigned to codes which are
actually 64-bit pixel formats.

Drop the wrong pixel formats.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
5 years agodrm/tidss: encoder: Take bus_flags from bridge timings if defined
Jyri Sarha [Sun, 17 Mar 2019 22:17:46 +0000 (22:17 +0000)]
drm/tidss: encoder: Take bus_flags from bridge timings if defined

Take the bus_flags from the first bridge that defines bridge timings,
or from the connector's display_info if no brige defines the timings.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
5 years agoMerge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into...
Jyri Sarha [Wed, 10 Apr 2019 07:31:48 +0000 (10:31 +0300)]
Merge branch 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux into audio_display-ti-linux-4.19.y

AM6 DP work

* 'ti/4.19-pull' of https://bitbucket.itg.ti.com/scm/~a0400822/linux: (23 commits)
  arm64: dts: k3-am654-evm-tc358876: HPD support
  dt-bindings: tc358767: add HPD support
  drm/bridge: tc358767: add IRQ and HPD support
  drm/bridge: tc358767: copy the mode data, instead of storing the pointer
  drm/bridge: tc358767: remove tc_connector_best_encoder
  drm/bridge: tc358767: use bridge mode_valid
  drm/bridge: tc358767: remove check for video mode in link enable
  drm/bridge: tc358767: clean-up link training
  drm/bridge: tc358767: cleanup LT result check
  drm/bridge: tc358767: use more reliable seq when finishing LT
  drm/bridge: tc358767: remove unnecessary msleep
  drm/bridge: tc358767: ensure DP is disabled before LT
  drm/bridge: tc358767: add link disable function
  drm/bridge: tc358767: move PXL PLL enable/disable to stream enable/disable
  drm/bridge: tc358767: split stream enable/disable
  drm/bridge: tc358767: move video stream setup to tc_main_link_stream
  drm/bridge: tc358767: cleanup aux_link_setup
  drm/bridge: tc358767: remove unused swing & preemp
  drm/bridge: tc358767: cleanup spread & scrambler_dis
  drm/bridge: tc358767: fix ansi 8b10b use
  ...

5 years agodrm/tidss: dispc7: Allow full 48bit DMA addressing
Andrew F. Davis [Wed, 3 Apr 2019 17:06:36 +0000 (12:06 -0500)]
drm/tidss: dispc7: Allow full 48bit DMA addressing

The DMA in the DISPC can use 48bits of address lines, set
the dma and coherent masks for this. This failing is not
fatal but bounce-buffers will be used for addresses above
32bits which will greatly affect performance.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
5 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Tue, 9 Apr 2019 11:41:49 +0000 (06:41 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

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

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  PCI: dra7xx: Clear PCIe wrapper's MSI INT status before dwc's MSI INT STATUS
  ARM: dts: am57xx-beagle-x15-revb1: Fix ddr pinmux names for mmc2
  ARM: dts: am57xx-beagle-x15-revc: Fix ddr pinmux names for mmc2
  arm64: dts: ti: k3-am65-mcu: add cpsw-phy-sel node
  arm64: dts: ti: k3-am65-mcu: add scm node
  arm64: dts: k3-am6: Add "dma-coherent" property to PCIe DT nodes

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoPCI: dra7xx: Clear PCIe wrapper's MSI INT status before dwc's MSI INT STATUS
Kishon Vijay Abraham I [Wed, 3 Apr 2019 10:29:55 +0000 (15:59 +0530)]
PCI: dra7xx: Clear PCIe wrapper's MSI INT status before dwc's MSI INT STATUS

commit 87263c04ec46afb9c664b ("pci: dwc: pci-dra7xx: Improve MSI IRQ
handling") while improving MSI IRQ handling, missed to clear
PCIECTRL_DRA7XX_CONF_IRQSTATUS_MSI before handling and clearing
PCIE_MSI_INTR0_STATUS resulting in interrupt to be not triggered.
Fix it here.

Fixes: 87263c04ec46af ("pci: dwc: pci-dra7xx: Improve MSI IRQ handling")
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoARM: dts: am57xx-beagle-x15-revb1: Fix ddr pinmux names for mmc2
Faiz Abbas [Wed, 3 Apr 2019 13:28:19 +0000 (18:58 +0530)]
ARM: dts: am57xx-beagle-x15-revb1: Fix ddr pinmux names for mmc2

am57xx-beagle-x15-revb1 has 3.3V connected to the eMMC I/O lines.
Also, the MMC core uses both MM_CAP_1_8_V_DDR and MMC_CAP_3_3V_DDR
as an indicator that the host supports DDR52 speed mode.

Since commit c16bc9a7678a ("mmc: sdhci: Disable 1.8v modes
(HS200/HS400/UHS) if controller can't support 1.8v"), a "no-1-8v"
dt property disables MMC_CAP_1_8V_DDR. Also since commit 3f4028780287
("mmc: sdhci-omap: Get IODelay values for 3.3v DDR mode") the absence of
a pinmux entry of ddr_3_3v disables MMC_CAP_3_3V_DDR in sdhci-omap
driver. Because of these two changes, the device was coming up in high
speed mode instead of DDR52 mode.

Fix the above by replacing ddr_1_8v with ddr_3_3v in the mmc2 pinmux.

Fixes: c16bc9a7678a ("mmc: sdhci: Disable 1.8v modes (HS200/HS400/UHS)
if controller can't support 1.8v"), a "no-1-8v"
Fixes: 3f4028780287 ("mmc: sdhci-omap: Get IODelay values for 3.3v DDR
mode")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoARM: dts: am57xx-beagle-x15-revc: Fix ddr pinmux names for mmc2
Faiz Abbas [Wed, 3 Apr 2019 13:28:18 +0000 (18:58 +0530)]
ARM: dts: am57xx-beagle-x15-revc: Fix ddr pinmux names for mmc2

am57xx-beagle-x15-revc and its derivatives have 3.3V connected to the
eMMC I/O lines. Also, the MMC core uses both MM_CAP_1_8_V_DDR and
MMC_CAP_3_3V_DDR as an indicator that the host supports DDR52 speed
mode.

Since commit c16bc9a7678a ("mmc: sdhci: Disable 1.8v modes
(HS200/HS400/UHS) if controller can't support 1.8v"), a "no-1-8v"
dt property disables MMC_CAP_1_8V_DDR. Also since commit 3f4028780287
("mmc: sdhci-omap: Get IODelay values for 3.3v DDR mode") the absence of
a pinmux entry of ddr_3_3v disables MMC_CAP_3_3V_DDR in sdhci-omap
driver. Because of these two changes, the device was coming up in high
speed mode instead of DDR52 mode.

Fix the above by replacing ddr_1_8v with ddr_3_3v in the mmc2 pinmux.

Fixes: c16bc9a7678a ("mmc: sdhci: Disable 1.8v modes (HS200/HS400/UHS)
if controller can't support 1.8v"), a "no-1-8v"
Fixes: 3f4028780287 ("mmc: sdhci-omap: Get IODelay values for 3.3v DDR
mode")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoarm64: dts: ti: k3-am65-mcu: add cpsw-phy-sel node
Grygorii Strashko [Wed, 3 Apr 2019 15:07:29 +0000 (18:07 +0300)]
arm64: dts: ti: k3-am65-mcu: add cpsw-phy-sel node

Add missed definition for cpsw-phy-sel DT node, so kernel will be able to
initialize AM65x MCU CPSW NUSS ports properly even without bootloader.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoarm64: dts: ti: k3-am65-mcu: add scm node
Grygorii Strashko [Wed, 3 Apr 2019 15:07:28 +0000 (18:07 +0300)]
arm64: dts: ti: k3-am65-mcu: add scm node

Add DT node for AM65x MCU System Control module.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoarm64: dts: k3-am6: Add "dma-coherent" property to PCIe DT nodes
Kishon Vijay Abraham I [Tue, 2 Apr 2019 11:09:55 +0000 (16:39 +0530)]
arm64: dts: k3-am6: Add "dma-coherent" property to PCIe DT nodes

AM654x ensures that data in the CPU cache is identical to data
in main memory. Add "dma-coherent" property in PCIe DT nodes
to prevent driver from performing undesired cache flush/invalidate
operations.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoarm64: dts: k3-am654-evm-tc358876: HPD support
Tomi Valkeinen [Mon, 25 Mar 2019 13:18:26 +0000 (15:18 +0200)]
arm64: dts: k3-am654-evm-tc358876: HPD support

Add 'hpd-num' property to indicate the tc358876 pin to which HPD is
connected to.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodt-bindings: tc358767: add HPD support
Tomi Valkeinen [Tue, 26 Mar 2019 09:09:00 +0000 (11:09 +0200)]
dt-bindings: tc358767: add HPD support

Add DT property for defining the pin used for HPD.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: devicetree@vger.kernel.org
Cc: Rob Herring <robh@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
5 years agodrm/bridge: tc358767: add IRQ and HPD support
Tomi Valkeinen [Tue, 26 Mar 2019 08:50:47 +0000 (10:50 +0200)]
drm/bridge: tc358767: add IRQ and HPD support

Add support for interrupt and hotplug handling. Both are optional.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Fri, 5 Apr 2019 15:44:11 +0000 (10:44 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

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

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  mmc: sdhci_am654: Clear HISPD_ENA in some lower speed modes
  mmc: sdhci-omap: Don't finish_mrq() on a command error during tuning

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agommc: sdhci_am654: Clear HISPD_ENA in some lower speed modes
Faiz Abbas [Mon, 1 Apr 2019 13:17:02 +0000 (18:47 +0530)]
mmc: sdhci_am654: Clear HISPD_ENA in some lower speed modes

According to the AM654x Data Manual[1], the setup timing in lower speed
modes can only be met if the controller uses a falling edge data launch.

To ensure this, the HIGH_SPEED_ENA (HOST_CONTROL[2]) bit should be
cleared in default speed, SD high speed, MMC high speed, SDR12 and SDR25
speed modes.

Use the writeb callback to implement this condition.

[1] http://www.ti.com/lit/gpn/am6546 Section 5.10.5.16.1

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agommc: sdhci-omap: Don't finish_mrq() on a command error during tuning
Faiz Abbas [Fri, 29 Mar 2019 14:08:49 +0000 (19:38 +0530)]
mmc: sdhci-omap: Don't finish_mrq() on a command error during tuning

commit 5b0d62108b46 ("mmc: sdhci-omap: Add platform specific reset
callback") skips data resets during tuning operation. Because of this,
a data error or data finish interrupt might still arrive after a command
error has been handled and the mrq ended. This ends up with a "mmc0: Got
data interrupt 0x00000002 even though no data operation was in progress"
error message.

Fix this by adding a platform specific callback for sdhci_irq. Mark the
mrq as a failure but wait for a data interrupt instead of calling
finish_mrq().

Fixes: 5b0d62108b46 ("mmc: sdhci-omap: Add platform specific reset
callback")
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Mon, 1 Apr 2019 16:21:11 +0000 (11:21 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-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:
  drm/omap: Fix display ordering

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Mon, 1 Apr 2019 13:44:58 +0000 (08:44 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

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

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  arm64: dts: ti:k3-am6: Add DMA entries for UART nodes
  serial: 8250_omap: Add DMA support for UARTs on AM654 SoC
  serial: 8250_omap: Extend driver data to pass FIFO trigger info
  serial: 8250_omap: Account for data in flight during DMA teardown
  serial: 8250_omap: Terminate DMA before pushing data on RX timeout
  serial: 8250_omap: Work around errata spurious IRQs with DMA

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agodrm/bridge: tc358767: copy the mode data, instead of storing the pointer
Tomi Valkeinen [Thu, 14 Mar 2019 09:08:07 +0000 (11:08 +0200)]
drm/bridge: tc358767: copy the mode data, instead of storing the pointer

In tc_bridge_mode_set callback, we store the pointer to the given
drm_display_mode, and use the mode later. Storing a pointer in such a
way looks very suspicious to me, and I have observed odd issues where
the timings were apparently (at least mostly) zero.

Do a copy of the drm_display_mode instead to ensure we don't refer to
freed/modified data.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: remove tc_connector_best_encoder
Tomi Valkeinen [Thu, 14 Mar 2019 08:03:16 +0000 (10:03 +0200)]
drm/bridge: tc358767: remove tc_connector_best_encoder

As far as I know, drm_connector_helper_funcs.best_encoder is not needed
in a trivial case as we have here. So remove tc_connector_best_encoder.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: use bridge mode_valid
Tomi Valkeinen [Thu, 14 Mar 2019 07:58:48 +0000 (09:58 +0200)]
drm/bridge: tc358767: use bridge mode_valid

We have tc_connector_mode_valid() to filter out videomdoes that the
tc358767 cannot support. As it is a bridge limitation, change the code
to use drm_bridge_funcs's mode_valid instead.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: remove check for video mode in link enable
Tomi Valkeinen [Wed, 13 Mar 2019 13:30:42 +0000 (15:30 +0200)]
drm/bridge: tc358767: remove check for video mode in link enable

tc_main_link_enable() checks if videomode has been set, and fails if
there's no videomode. As tc_main_link_enable() no longer depends on the
videomode, we can drop the check.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: clean-up link training
Tomi Valkeinen [Wed, 13 Mar 2019 13:14:14 +0000 (15:14 +0200)]
drm/bridge: tc358767: clean-up link training

The current link training code does unnecessary retry-loops, and does
extra writes to the registers. It is easier to follow the flow and
ensure it's similar to Toshiba's documentation if we deal with LT inside
tc_main_link_enable() function.

This patch adds tc_wait_link_training() which handles waiting for the LT
phase to finish, and does the necessary LT register setups in
tc_main_link_enable, without extra loops.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: cleanup LT result check
Tomi Valkeinen [Wed, 13 Mar 2019 13:03:57 +0000 (15:03 +0200)]
drm/bridge: tc358767: cleanup LT result check

The driver has a loop after ending link training, where it reads the
DPCD link status and prints an error if that status is not ok.

The loop is unnecessary, as far as I can understand from DP specs, so
let's remove it. We can also print the more specific errors to help
debugging.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: use more reliable seq when finishing LT
Tomi Valkeinen [Wed, 13 Mar 2019 13:01:22 +0000 (15:01 +0200)]
drm/bridge: tc358767: use more reliable seq when finishing LT

At the end of the link training, two steps have to be taken: 1)
tc358767's LT mode is disabled by a write to DP0_SRCCTRL, and 2) Remove
LT flag in DPCD 0x102.

Toshiba's documentation tells to first write the DPCD, then modify
DP0_SRCCTRL. In my testing this often causes issues, and the link
disconnects right after those steps.

If I reverse the steps, it works every time. There's a chance that this
is DP sink specific, though, but as my testing shows this sequence to be
much more reliable, let's change it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: remove unnecessary msleep
Tomi Valkeinen [Wed, 13 Mar 2019 12:56:29 +0000 (14:56 +0200)]
drm/bridge: tc358767: remove unnecessary msleep

For some reason the driver has a msleep(100) after writing to
DP_PHY_CTRL. Toshiba's documentation doesn't suggest any delay is
needed, and I have not seen any issues with the sleep removed.

Drop it, as msleep(100) is a rather big one.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: ensure DP is disabled before LT
Tomi Valkeinen [Wed, 13 Mar 2019 12:54:16 +0000 (14:54 +0200)]
drm/bridge: tc358767: ensure DP is disabled before LT

Link training will sometimes fail if the DP link is, for some whatever
reason, enabled when tc_main_link_enable() is called.

Ensure that the DP link is disabled by setting DP0CTL to 0 as the first
thing.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: add link disable function
Tomi Valkeinen [Wed, 13 Mar 2019 12:31:10 +0000 (14:31 +0200)]
drm/bridge: tc358767: add link disable function

Currently we have tc_main_link_setup(), which configures and enabled the
link, but we have no counter-part for disabling the link.

Add tc_main_link_disable, and rename tc_main_link_setup to
tc_main_link_enable.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: move PXL PLL enable/disable to stream enable/disable
Tomi Valkeinen [Wed, 13 Mar 2019 13:30:22 +0000 (15:30 +0200)]
drm/bridge: tc358767: move PXL PLL enable/disable to stream enable/disable

We set up the PXL PLL inside tc_main_link_setup. This is unnecessary,
and makes tc_main_link_setup depend on the video-mode, which should not
be the case. As PXL PLL is used only for the video stream (and only when
using the HW test pattern), let's move the PXL PLL setup into
tc_stream_enable.

Also, currently the PXL PLL is only disabled if the driver if removed.
Let's disable the PXL PLL when the stream is disabled.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: split stream enable/disable
Tomi Valkeinen [Wed, 13 Mar 2019 12:10:07 +0000 (14:10 +0200)]
drm/bridge: tc358767: split stream enable/disable

It is nicer to have enable/disable functions instead of set(bool enable)
style function.

Split tc_main_link_stream into tc_stream_enable and tc_stream_disable.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: move video stream setup to tc_main_link_stream
Tomi Valkeinen [Wed, 13 Mar 2019 07:32:52 +0000 (09:32 +0200)]
drm/bridge: tc358767: move video stream setup to tc_main_link_stream

The driver currently sets the video stream registers in
tc_main_link_setup. One should be able to establish the DP link without
any video stream, so a more logical place is to configure the stream in
the tc_main_link_stream. So move them there.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: cleanup aux_link_setup
Tomi Valkeinen [Wed, 13 Mar 2019 07:30:43 +0000 (09:30 +0200)]
drm/bridge: tc358767: cleanup aux_link_setup

Modify aux_link_setup so that it does not use tc->link, and thus makes
aux setup independent of the link probing.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: remove unused swing & preemp
Tomi Valkeinen [Wed, 13 Mar 2019 07:24:52 +0000 (09:24 +0200)]
drm/bridge: tc358767: remove unused swing & preemp

swing and preemp fields are not used. Remove them.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: cleanup spread & scrambler_dis
Tomi Valkeinen [Wed, 13 Mar 2019 07:24:24 +0000 (09:24 +0200)]
drm/bridge: tc358767: cleanup spread & scrambler_dis

Minor cleanups:
- Use bool for boolean fields
- Use DP_MAX_DOWNSPREAD_0_5 instead of BIT(0)
- debug print down-spread and scrambler status

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: fix ansi 8b10b use
Tomi Valkeinen [Wed, 13 Mar 2019 06:52:02 +0000 (08:52 +0200)]
drm/bridge: tc358767: fix ansi 8b10b use

DP always uses ANSI 8B10B encoding. Some monitors (old?) may not have
the ANSI 8B10B bit set in DPCD, even if it should always be set.

The tc358767 driver currently respects that flag, and turns the encoding
off if the monitor does not have the bit set, which then results in the
monitor not working.

This patch makes the driver to always use ANSI 8B10B encoding, and drops
the 'coding8b10b' field which is no longer used.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: reset voltage-swing & pre-emphasis
Tomi Valkeinen [Mon, 11 Mar 2019 11:03:59 +0000 (13:03 +0200)]
drm/bridge: tc358767: reset voltage-swing & pre-emphasis

We need to reset DPCD voltage-swing & pre-emphasis before starting the
link training, as otherwise tc358767 will use the previous values as
minimums.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: fix tc_aux_get_status error handling
Tomi Valkeinen [Mon, 11 Mar 2019 10:34:55 +0000 (12:34 +0200)]
drm/bridge: tc358767: fix tc_aux_get_status error handling

tc_aux_get_status() does not report AUX_TIMEOUT correctly, as it only
checks the AUX_TIMEOUT if aux is still busy. Fix this by always checking
for AUX_TIMEOUT.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/bridge: tc358767: constify drm_display_mode
Tomi Valkeinen [Wed, 20 Mar 2019 07:13:36 +0000 (09:13 +0200)]
drm/bridge: tc358767: constify drm_display_mode

We can constify drm_display_mode, there's no need to change it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
5 years agodrm/omap: Fix display ordering
Peter Ujfalusi [Thu, 28 Mar 2019 07:46:50 +0000 (09:46 +0200)]
drm/omap: Fix display ordering

The move of the sort() for the pipelines based on DT alias caused displays
to be not ordered correctly as the alias_id for the pipes are created
_after_ we do the sort after I have moved it to omap_connect_pipelines().

Move the sorting and re-ordering code to a new function and call it where
the sort() was originally called.

Fixes: 6f6059ed3c87 ("drm/omap: Move pipe sorting to omap_connect_pipelines()")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
5 years agoarm64: dts: ti:k3-am6: Add DMA entries for UART nodes
Vignesh Raghavendra [Thu, 21 Mar 2019 05:21:47 +0000 (10:51 +0530)]
arm64: dts: ti:k3-am6: Add DMA entries for UART nodes

Add DMA entries for MCU UART0, MAIN UART0,1,2.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoserial: 8250_omap: Add DMA support for UARTs on AM654 SoC
Vignesh Raghavendra [Thu, 21 Mar 2019 05:21:46 +0000 (10:51 +0530)]
serial: 8250_omap: Add DMA support for UARTs on AM654 SoC

Unlike, older OMAP SoCs, AM654 SoC has configurable RX timeout behavior
(controlled via EFR2) and better DMA integration. This allows to
transfer as larger amount data per DMA transfer compared to older SoC.
Add support for the same.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoserial: 8250_omap: Extend driver data to pass FIFO trigger info
Vignesh Raghavendra [Thu, 21 Mar 2019 05:21:45 +0000 (10:51 +0530)]
serial: 8250_omap: Extend driver data to pass FIFO trigger info

Although same 8250 compliant UART IP is reused across different SoC,
their integration wrt DMA varies greatly across SoCs. Therefore,
different SoC may need to use different FIFO trigger level for DMA
event and DMA configuration parameters. Provide a way to pass this
information via driver data. This is required to support UART DMA on
AM654 SoC.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoserial: 8250_omap: Account for data in flight during DMA teardown
Vignesh Raghavendra [Thu, 21 Mar 2019 05:21:44 +0000 (10:51 +0530)]
serial: 8250_omap: Account for data in flight during DMA teardown

Take into account data stuck in DMA internal buffers before pushing data to
higher layer. dma_tx_state has "in_flight_bytes" member that provides this
information.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoserial: 8250_omap: Terminate DMA before pushing data on RX timeout
Vignesh Raghavendra [Thu, 21 Mar 2019 05:21:43 +0000 (10:51 +0530)]
serial: 8250_omap: Terminate DMA before pushing data on RX timeout

Terminate and flush DMA internal buffers, before pushing RX data to
higher layer. Otherwise, this will lead to data corruption, as driver
would end up pushing stale buffer data to higher layer while actual data
is still stuck inside DMA hardware and has yet not arrived at the
memory.
While at that, replace deprecated dmaengine_terminate_all() with
dmaengine_terminate_async().

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoserial: 8250_omap: Work around errata spurious IRQs with DMA
Vignesh Raghavendra [Thu, 21 Mar 2019 05:21:42 +0000 (10:51 +0530)]
serial: 8250_omap: Work around errata spurious IRQs with DMA

As per Advisory 27 of AM437x Silicon errata document, Spurious UART
interrupts may occur when DMA mode (FCR.DMA_MODE) is enabled. The
Interrupt Controller flags that a UART interrupt has occurred; however,
the associated IT_PENDING bit remains set to 1, indicating that no
interrupt is pending. Acknowledge the spurious interrupts for every
occurrence as workaround.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoMerge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
LCPD Auto Merger [Wed, 27 Mar 2019 08:43:59 +0000 (03:43 -0500)]
Merge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y

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

* 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  dma: ti: k3-udma: Fix static checker warnings
  dma: ti: k3-udma: Fix DMA completion status reporting
  dma: ti: k3-udma: Fix tx residue calculation
  dma: ti: k3-udma: Don't reconfigure RX PDMA static TR always

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Tue, 26 Mar 2019 17:41:12 +0000 (12:41 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-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:
  drm/omap: Add kernel parameter to specify the desired display order
  drm/omap: Move pipe sorting to omap_connect_pipelines()

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agoremoteproc: Add a sysfs interface for name
Suman Anna [Wed, 13 Mar 2019 19:13:31 +0000 (14:13 -0500)]
remoteproc: Add a sysfs interface for name

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.

Signed-off-by: Suman Anna <s-anna@ti.com>
5 years agoMerge branch 'peter/ti-linux-4.19.y/topic/display' of https://github.com/omap-audio...
Jyri Sarha [Tue, 26 Mar 2019 13:25:10 +0000 (15:25 +0200)]
Merge branch 'peter/ti-linux-4.19.y/topic/display' of https://github.com/omap-audio/linux-audio into audio_display-ti-linux-4.19.y

* 'peter/ti-linux-4.19.y/topic/display' of https://github.com/omap-audio/linux-audio:
  drm/omap: Add kernel parameter to specify the desired display order
  drm/omap: Move pipe sorting to omap_connect_pipelines()

5 years agodrm/omap: Add kernel parameter to specify the desired display order
Peter Ujfalusi [Mon, 25 Mar 2019 09:50:56 +0000 (11:50 +0200)]
drm/omap: Add kernel parameter to specify the desired display order

The displays (pipes) currently ordered by alias or in case no alias is
defined in DT then their order will be based on the probe order.

This patch adds support for changing the display order without the need to
recompile the kernel/DTB.

omapdrm.displays (int array) can be used to reorder the displays by id if
needed. It can be also used to disable display.

If the board have two active displays:
0 - LCD
1 - HDMI
then:
omapdrm.displays=0,1 - represents the original order (LCD, HDMI)
omapdrm.displays=1,0 - represents reverse order (HDMI, LCD)
omapdrm.displays=0 - only the LCD is enabled
omapdrm.displays=1 - only the HDMI is enabled
omapdrm.displays=-1 - disable all displays

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodrm/omap: Move pipe sorting to omap_connect_pipelines()
Peter Ujfalusi [Thu, 21 Mar 2019 10:44:57 +0000 (12:44 +0200)]
drm/omap: Move pipe sorting to omap_connect_pipelines()

Do the sorting of pipes based on the DT alias so when
omap_connect_pipelines() is completed the pipes are already sorted.

With the relocated sort() the display ordering can be done in the same
function, containing all pipe order manipulation in one place.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Tue, 26 Mar 2019 09:42:42 +0000 (04:42 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

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

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  ARM: dts: k2e-evm: enable PCIe on port 1
  ARM: dts: keystone-k2e: Use the updated binding to describe PCIe in k2e
  ARM: keystone: dts: add PCI serdes driver bindings
  phy: ti-pipe3: Fix PCIe power up sequence

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
5 years agodma: ti: k3-udma: Fix static checker warnings
Vignesh Raghavendra [Thu, 21 Mar 2019 09:03:08 +0000 (14:33 +0530)]
dma: ti: k3-udma: Fix static checker warnings

Fix below sparse warnings:

drivers/dma/ti/k3-udma.c:3013:24: warning: symbol 'am654_main_data' was not declared. Should it be static?
drivers/dma/ti/k3-udma.c:3022:24: warning: symbol 'am654_mcu_data' was not declared. Should it be static?

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodma: ti: k3-udma: Fix DMA completion status reporting
Vignesh Raghavendra [Thu, 21 Mar 2019 09:03:07 +0000 (14:33 +0530)]
dma: ti: k3-udma: Fix DMA completion status reporting

In case of streaming peripheral like UART, channel is not actually
stopped b/w queuing RX DMA descriptors. Querying for status in such
cases would report DMA_IN_PROGRESS even when transfer is finished for
current descriptor.
Fix this by reporting DMA_COMPLETE when residue turns out be 0 in case
of RX for current descriptor (which means DMA has transferred all the
data). For TX, in addition to above, make sure there is no data in
flight and all data has reached the remote client.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodma: ti: k3-udma: Fix tx residue calculation
Vignesh Raghavendra [Thu, 21 Mar 2019 09:03:06 +0000 (14:33 +0530)]
dma: ti: k3-udma: Fix tx residue calculation

Number of bytes pending to be transferred by DMA is currently calculated
as:
residue -= ((bcnt - uc->bcnt) % uc->desc->residue);

In case the entire transfer is complete, above calculation gives residue
equal to requested transfer size which is wrong.
Fix by setting residue to 0 in that case and make sure cyclic mode
is not broken.

Suggested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agodma: ti: k3-udma: Don't reconfigure RX PDMA static TR always
Vignesh Raghavendra [Thu, 21 Mar 2019 09:03:05 +0000 (14:33 +0530)]
dma: ti: k3-udma: Don't reconfigure RX PDMA static TR always

In case of streaming peripherals such as UART, PDMA is continuously
draining data from client FIFO, reconfiguring PDMA static TR or
resetting UDMA channel in the middle of transfer will result in data
loss. Therefore don't reconfigure static TR unless there is a change.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
5 years agoARM: dts: k2e-evm: enable PCIe on port 1
Murali Karicheri [Wed, 20 Mar 2019 08:52:24 +0000 (14:22 +0530)]
ARM: dts: k2e-evm: enable PCIe on port 1

PCIe is disabled in the SoC specific DTS file. K2E EVM has Marvell SATA
controller connected to port1. To enable SATA over PCIe, set the status to
"okay" in K2E EVM dts file.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
5 years agoARM: dts: keystone-k2e: Use the updated binding to describe PCIe in k2e
Kishon Vijay Abraham I [Wed, 20 Mar 2019 08:52:23 +0000 (14:22 +0530)]
ARM: dts: keystone-k2e: Use the updated binding to describe PCIe in k2e

Use the updated binding to describe PCIe in k2e. (The older binding has
never worked in upstream kernel since serdes driver was never upstreamed).

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoARM: keystone: dts: add PCI serdes driver bindings
WingMan Kwok [Wed, 20 Mar 2019 08:52:22 +0000 (14:22 +0530)]
ARM: keystone: dts: add PCI serdes driver bindings

This patch adds the serdes phy driver dts bindings
for the keystone PCIe host driver.

Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
5 years agophy: ti-pipe3: Fix PCIe power up sequence
Roger Quadros [Thu, 21 Mar 2019 10:55:04 +0000 (12:55 +0200)]
phy: ti-pipe3: Fix PCIe power up sequence

TRM [1] mentions that we need to power up
PCIESS_PHY_TX and PCIESS_PHY_RX before configuring
PCIe_PHY_RX SCP settings.

See "Table 26-81. PCIePHY Subsystem Low-Level Programming Sequence".

[1] DRA75x, DRA74x TRM - http://www.ti.com/lit/ug/sprui30f/sprui30f.pdf

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
5 years agoLinux 4.19.31
Greg Kroah-Hartman [Sat, 23 Mar 2019 19:10:14 +0000 (20:10 +0100)]
Linux 4.19.31