From 06eb84fe4abbe4853db929ffd2b43d9f0cac2550 Mon Sep 17 00:00:00 2001 From: Akhil R Date: Wed, 16 Aug 2023 09:44:52 +0530 Subject: [PATCH] NVIDIA: SAUCE: dmaengine: tegra: Remove reset control The reset is expected to be controlled from the bootloader and should be done by the time it reaches kernel. Therefore a reset in the driver is redundant. Also, Linux does not have access to this reset in the upcoming chips. To keep the drive agnostic, removing all the reset functionality from the driver. Signed-off-by: Akhil R Signed-off-by: Laxman Dewangan Acked-by: Noah Wager Acked-by: Jacob Martin Signed-off-by: Noah Wager --- drivers/dma/tegra186-gpc-dma.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/dma/tegra186-gpc-dma.c b/drivers/dma/tegra186-gpc-dma.c index 428827a5c539..79f0b35cda90 100644 --- a/drivers/dma/tegra186-gpc-dma.c +++ b/drivers/dma/tegra186-gpc-dma.c @@ -2,7 +2,7 @@ /* * DMA driver for NVIDIA Tegra GPC DMA controller. * - * Copyright (c) 2014-2022, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2023, NVIDIA CORPORATION. All rights reserved. */ #include @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include "virt-dma.h" @@ -247,7 +246,6 @@ struct tegra_dma { void __iomem *base_addr; struct device *dev; struct dma_device dma_dev; - struct reset_control *rst; const struct tegra_dma_chip_data *chip_data; struct tegra_dma_channel channels[]; }; @@ -1487,13 +1485,6 @@ static int tegra_dma_probe(struct platform_device *pdev) if (IS_ERR(tdma->base_addr)) return PTR_ERR(tdma->base_addr); - tdma->rst = devm_reset_control_get_exclusive(&pdev->dev, "gpcdma"); - if (IS_ERR(tdma->rst)) { - return dev_err_probe(&pdev->dev, PTR_ERR(tdma->rst), - "Missing controller reset\n"); - } - reset_control_reset(tdma->rst); - tdma->dma_dev.dev = &pdev->dev; if (!tegra_dev_iommu_get_stream_id(&pdev->dev, &stream_id)) { @@ -1623,8 +1614,6 @@ static int __maybe_unused tegra_dma_pm_resume(struct device *dev) struct tegra_dma *tdma = dev_get_drvdata(dev); unsigned int i; - reset_control_reset(tdma->rst); - for (i = 0; i < tdma->chip_data->nr_channels; i++) { struct tegra_dma_channel *tdc = &tdma->channels[i];