misc: mods: Drop DMAENGINE slave_id support

Only Tegra234+ devices are currently supported and for these devices the
only DMA drivers that are supported for Linux are the Tegra210 ADMA and
Tegra186 GPCDMA drivers. Neither of these drivers ever supported the
'slave_id' parameter for configuring the DMA request ID for a given
channel. These drivers have always used device-tree to retrieve this
information. Only the Tegra20 APBDMA controller supported the 'slave_id'
field and this was dropped in Linux v5.17. The Tegra20 APBDMA driver was
supported in Tegra devices up until Tegra210, but starting with Tegra186
it is no longer supported.

Given that this is a legacy feature only supported for legacy Tegra
devices and drivers, drop the 'slave_id' support completely.

Bug 4425688

Change-Id: Id9bb6440805826dfb0cf0d862d6b15fd856e61ff
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3038964
(cherry picked from commit c87f90c7b8)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3058562
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Jon Hunter
2023-12-20 15:07:42 +00:00
committed by mobile promotions
parent 7635873f3d
commit 26e357d588

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* SPDX-FileCopyrightText: Copyright (c) 2017-2023, NVIDIA CORPORATION. All rights reserved. */ /* SPDX-FileCopyrightText: Copyright (c) 2017-2024, NVIDIA CORPORATION. All rights reserved. */
#include <linux/device.h> #include <linux/device.h>
#include <linux/dmaengine.h> #include <linux/dmaengine.h>
@@ -279,9 +279,6 @@ int esc_mods_dma_set_config(struct mods_client *client,
config.src_maxburst = p_config->src_maxburst; config.src_maxburst = p_config->src_maxburst;
config.dst_maxburst = p_config->dst_maxburst; config.dst_maxburst = p_config->dst_maxburst;
config.device_fc = (p_config->device_fc == 0) ? false : true; config.device_fc = (p_config->device_fc == 0) ? false : true;
#if KERNEL_VERSION(5, 17, 0) > MODS_KERNEL_VERSION
config.slave_id = p_config->slave_id;
#endif
cl_debug(DEBUG_TEGRADMA, cl_debug(DEBUG_TEGRADMA,
"ch: %d dir [%d], addr[%p -> %p], burst [%d %d] width [%d %d]\n", "ch: %d dir [%d], addr[%p -> %p], burst [%d %d] width [%d %d]\n",
@@ -291,12 +288,6 @@ int esc_mods_dma_set_config(struct mods_client *client,
config.src_maxburst, config.dst_maxburst, config.src_maxburst, config.dst_maxburst,
config.src_addr_width, config.dst_addr_width); config.src_addr_width, config.dst_addr_width);
#if KERNEL_VERSION(5, 17, 0) > MODS_KERNEL_VERSION
cl_debug(DEBUG_TEGRADMA,
"slave id %d\n",
config.slave_id);
#endif
write_lock(&(p_mods_chan->lock)); write_lock(&(p_mods_chan->lock));
err = dmaengine_slave_config(p_mods_chan->pch, &config); err = dmaengine_slave_config(p_mods_chan->pch, &config);
write_unlock(&(p_mods_chan->lock)); write_unlock(&(p_mods_chan->lock));