>From Tegra186 onwards OUTSTANDING_REQUESTS field is added in channel
configuration register(bits 7:4) which defines the maximum number of reads
from the source and writes to the destination that may be outstanding at
any given point of time. This field must be programmed with a value
between 1 and 8. A value of 0 will prevent any transfers from happening.
Thus added 'has_outstanding_reqs' bool member in chip data structure and is
set to false for Tegra210, since the field is not applicable. For Tegra186
it is set to true and channel configuration is updated with maximum
outstanding requests.
Fixes: 433de642a76c ("dmaengine: tegra210-adma: add support for Tegra186/Tegra194")
Cc: stable(a)vger.kernel.org
Signed-off-by: Sameer Pujar <spujar(a)nvidia.com>
---
drivers/dma/tegra210-adma.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c
index 5f8adf5..e19732f 100644
--- a/drivers/dma/tegra210-adma.c
+++ b/drivers/dma/tegra210-adma.c
@@ -66,6 +66,8 @@
#define TEGRA186_FIFO_CTRL_DEFAULT (TEGRA186_ADMA_CH_FIFO_CTRL_TXSIZE(3) | \
TEGRA186_ADMA_CH_FIFO_CTRL_RXSIZE(3))
+#define TEGRA186_ADMA_CH_CONFIG_OUTSTANDING_REQS(reqs) (reqs << 4)
+
#define ADMA_CH_REG_FIELD_VAL(val, mask, shift) (((val) & mask) << shift)
struct tegra_adma;
@@ -77,6 +79,7 @@ struct tegra_adma;
* @ch_req_tx_shift: Register offset for AHUB transmit channel select.
* @ch_req_rx_shift: Register offset for AHUB receive channel select.
* @ch_base_offset: Register offset of DMA channel registers.
+ * @has_outstanding_reqs: If DMA channel can have outstanding requests.
* @ch_fifo_ctrl: Default value for channel FIFO CTRL register.
* @ch_req_mask: Mask for Tx or Rx channel select.
* @ch_req_max: Maximum number of Tx or Rx channels available.
@@ -95,6 +98,7 @@ struct tegra_adma_chip_data {
unsigned int ch_req_max;
unsigned int ch_reg_size;
unsigned int nr_channels;
+ bool has_outstanding_reqs;
};
/*
@@ -594,6 +598,8 @@ static int tegra_adma_set_xfer_params(struct tegra_adma_chan *tdc,
ADMA_CH_CTRL_FLOWCTRL_EN;
ch_regs->config |= cdata->adma_get_burst_config(burst_size);
ch_regs->config |= ADMA_CH_CONFIG_WEIGHT_FOR_WRR(1);
+ if (cdata->has_outstanding_reqs)
+ ch_regs->config |= TEGRA186_ADMA_CH_CONFIG_OUTSTANDING_REQS(8);
ch_regs->fifo_ctrl = cdata->ch_fifo_ctrl;
ch_regs->tc = desc->period_len & ADMA_CH_TC_COUNT_MASK;
@@ -778,6 +784,7 @@ static const struct tegra_adma_chip_data tegra210_chip_data = {
.ch_req_tx_shift = 28,
.ch_req_rx_shift = 24,
.ch_base_offset = 0,
+ .has_outstanding_reqs = false,
.ch_fifo_ctrl = TEGRA210_FIFO_CTRL_DEFAULT,
.ch_req_mask = 0xf,
.ch_req_max = 10,
@@ -792,6 +799,7 @@ static const struct tegra_adma_chip_data tegra186_chip_data = {
.ch_req_tx_shift = 27,
.ch_req_rx_shift = 22,
.ch_base_offset = 0x10000,
+ .has_outstanding_reqs = true,
.ch_fifo_ctrl = TEGRA186_FIFO_CTRL_DEFAULT,
.ch_req_mask = 0x1f,
.ch_req_max = 20,
--
2.7.4
This is the start of the stable review cycle for the 4.4.193 release.
There are 9 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun 15 Sep 2019 01:03:32 PM UTC.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.193-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.4.193-rc1
yongduan <yongduan(a)tencent.com>
vhost: make sure log_num < in_num
Dave Jones <davej(a)codemonkey.org.uk>
af_packet: tone down the Tx-ring unsupported spew.
Zhenzhong Duan <zhenzhong.duan(a)oracle.com>
x86, boot: Remove multiple copy of static function sanitize_boot_params()
Nathan Chancellor <natechancellor(a)gmail.com>
clk: s2mps11: Add used attribute to s2mps11_dt_match
Nicolas Boichat <drinkcat(a)chromium.org>
scripts/decode_stacktrace: match basepath using shell prefix operator, not regex
Tiwei Bie <tiwei.bie(a)intel.com>
vhost/test: fix build for vhost test
Cong Wang <xiyou.wangcong(a)gmail.com>
xfrm: clean up xfrm protocol checks
Takashi Iwai <tiwai(a)suse.de>
ALSA: hda/realtek - Fix overridden device-specific initialization
Takashi Iwai <tiwai(a)suse.de>
ALSA: hda - Fix potential endless loop at applying quirks
-------------
Diffstat:
Makefile | 4 ++--
arch/x86/boot/compressed/misc.c | 1 +
arch/x86/boot/compressed/misc.h | 1 -
drivers/clk/clk-s2mps11.c | 2 +-
drivers/vhost/test.c | 13 +++++++++----
drivers/vhost/vhost.c | 4 ++--
include/net/xfrm.h | 17 +++++++++++++++++
net/key/af_key.c | 4 +++-
net/packet/af_packet.c | 2 +-
net/xfrm/xfrm_state.c | 2 +-
net/xfrm/xfrm_user.c | 14 +-------------
scripts/decode_stacktrace.sh | 2 +-
sound/pci/hda/hda_auto_parser.c | 4 ++--
sound/pci/hda/hda_generic.c | 3 ++-
sound/pci/hda/hda_generic.h | 1 +
sound/pci/hda/patch_realtek.c | 2 ++
16 files changed, 46 insertions(+), 30 deletions(-)
Hello,
We ran automated tests on a patchset that was proposed for merging into this
kernel tree. The patches were applied to:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 997fee5473ce - Linux 5.2.14
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://artifacts.cki-project.org/pipelines/166424
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Merge testing
-------------
We cloned this repository and checked out the following commit:
Repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Commit: 997fee5473ce - Linux 5.2.14
We grabbed the 652de59d50b1 commit of the stable queue repository.
We then merged the patchset with `git am`:
gpio-pca953x-correct-type-of-reg_direction.patch
gpio-pca953x-use-pca953x_read_regs-instead-of-regmap_bulk_read.patch
alsa-hda-fix-potential-endless-loop-at-applying-quirks.patch
alsa-hda-realtek-fix-overridden-device-specific-initialization.patch
alsa-hda-realtek-add-quirk-for-hp-pavilion-15.patch
alsa-hda-realtek-enable-internal-speaker-headset-mic-of-asus-ux431fl.patch
alsa-hda-realtek-fix-the-problem-of-two-front-mics-on-a-thinkcentre.patch
sched-fair-don-t-assign-runtime-for-throttled-cfs_rq.patch
drm-vmwgfx-fix-double-free-in-vmw_recv_msg.patch
drm-nouveau-sec2-gp102-add-missing-module_firmwares.patch
vhost-test-fix-build-for-vhost-test.patch
vhost-test-fix-build-for-vhost-test-again.patch
powerpc-64e-drop-stale-call-to-smp_processor_id-which-hangs-smp-startup.patch
powerpc-tm-fix-fp-vmx-unavailable-exceptions-inside-a-transaction.patch
powerpc-tm-fix-restoring-fp-vmx-facility-incorrectly-on-interrupts.patch
batman-adv-fix-uninit-value-in-batadv_netlink_get_ifindex.patch
batman-adv-only-read-ogm-tvlv_len-after-buffer-len-check.patch
bcache-only-clear-btree_node_dirty-bit-when-it-is-se.patch
bcache-add-comments-for-mutex_lock-b-write_lock.patch
bcache-fix-race-in-btree_flush_write.patch
ib-rdmavt-add-new-completion-inline.patch
ib-rdmavt-qib-hfi1-convert-to-new-completion-api.patch
ib-hfi1-unreserve-a-flushed-opfn-request.patch
drm-i915-disable-sampler_state-prefetching-on-all-ge.patch
drm-i915-make-sure-cdclk-is-high-enough-for-dp-audio.patch
mmc-sdhci-sprd-fix-the-incorrect-soft-reset-operatio.patch
usb-chipidea-imx-add-imx7ulp-support.patch
usb-chipidea-imx-fix-eprobe_defer-support-during-dri.patch
virtio-s390-fix-race-on-airq_areas.patch
drm-i915-support-flags-in-whitlist-was.patch
drm-i915-support-whitelist-workarounds-on-all-engine.patch
drm-i915-whitelist-ps_-depth-invocation-_count.patch
drm-i915-add-whitelist-workarounds-for-icl.patch
drm-i915-icl-whitelist-ps_-depth-invocation-_count.patch
btrfs-fix-unwritten-extent-buffers-and-hangs-on-future-writeback-attempts.patch
vhost-make-sure-log_num-in_num.patch
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test [0]
✅ selinux-policy: serge-testsuite [1]
✅ storage: software RAID testing [2]
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test [0]
✅ Podman system integration test (as root) [3]
✅ Podman system integration test (as user) [3]
⚡⚡⚡ Loopdev Sanity [4]
✅ jvm test suite [5]
✅ AMTU (Abstract Machine Test Utility) [6]
✅ LTP: openposix test suite [7]
✅ Networking socket: fuzz [8]
✅ audit: audit testsuite test [9]
✅ httpd: mod_ssl smoke sanity [10]
✅ iotop: sanity [11]
✅ tuned: tune-processes-through-perf [12]
✅ Usex - version 1.9-29 [13]
✅ stress: stress-ng [14]
🚧 ✅ LTP lite [15]
🚧 ✅ ALSA PCM loopback test [16]
🚧 ✅ ALSA Control (mixer) Userspace Element test [17]
ppc64le:
Host 1:
✅ Boot test [0]
✅ selinux-policy: serge-testsuite [1]
✅ storage: software RAID testing [2]
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test [0]
✅ Podman system integration test (as root) [3]
✅ Podman system integration test (as user) [3]
⚡⚡⚡ Loopdev Sanity [4]
✅ jvm test suite [5]
✅ AMTU (Abstract Machine Test Utility) [6]
✅ LTP: openposix test suite [7]
✅ Networking socket: fuzz [8]
✅ audit: audit testsuite test [9]
✅ httpd: mod_ssl smoke sanity [10]
✅ iotop: sanity [11]
✅ tuned: tune-processes-through-perf [12]
✅ Usex - version 1.9-29 [13]
🚧 ✅ LTP lite [15]
🚧 ✅ ALSA PCM loopback test [16]
🚧 ✅ ALSA Control (mixer) Userspace Element test [17]
s390x:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
x86_64:
Host 1:
✅ Boot test [0]
✅ selinux-policy: serge-testsuite [1]
✅ storage: software RAID testing [2]
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test [0]
✅ Podman system integration test (as root) [3]
✅ Podman system integration test (as user) [3]
⚡⚡⚡ Loopdev Sanity [4]
✅ jvm test suite [5]
✅ AMTU (Abstract Machine Test Utility) [6]
✅ LTP: openposix test suite [7]
✅ Networking socket: fuzz [8]
✅ audit: audit testsuite test [9]
✅ httpd: mod_ssl smoke sanity [10]
✅ iotop: sanity [11]
✅ tuned: tune-processes-through-perf [12]
✅ pciutils: sanity smoke test [18]
✅ Usex - version 1.9-29 [13]
✅ stress: stress-ng [14]
🚧 ✅ LTP lite [15]
🚧 ✅ ALSA PCM loopback test [16]
🚧 ✅ ALSA Control (mixer) Userspace Element test [17]
Test source:
💚 Pull requests are welcome for new tests or improvements to existing tests!
[0]: https://github.com/CKI-project/tests-beaker/archive/master.zip#distribution…
[1]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/packages/se…
[2]: https://github.com/CKI-project/tests-beaker/archive/master.zip#storage/swra…
[3]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/container/p…
[4]: https://github.com/CKI-project/tests-beaker/archive/master.zip#filesystems/…
[5]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/jvm
[6]: https://github.com/CKI-project/tests-beaker/archive/master.zip#misc/amtu
[7]: https://github.com/CKI-project/tests-beaker/archive/master.zip#distribution…
[8]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/networking/…
[9]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/aud…
[10]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/htt…
[11]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/iot…
[12]: https://github.com/CKI-project/tests-beaker/archive/master.zip#packages/tun…
[13]: https://github.com/CKI-project/tests-beaker/archive/master.zip#standards/us…
[14]: https://github.com/CKI-project/tests-beaker/archive/master.zip#stress/stres…
[15]: https://github.com/CKI-project/tests-beaker/archive/master.zip#distribution…
[16]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/sound/aloop
[17]: https://github.com/CKI-project/tests-beaker/archive/master.zip#/sound/user-…
[18]: https://github.com/CKI-project/tests-beaker/archive/master.zip#pciutils/san…
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.