Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2006405pxb; Thu, 11 Feb 2021 01:37:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJwvzafjW4tY9SvYce6fWE2AFCabz7ueyLyFP6f5fuO1vPyUYRyPoENJX0ozjiBpkEepf9Ui X-Received: by 2002:a17:906:cc49:: with SMTP id mm9mr7505515ejb.450.1613036231507; Thu, 11 Feb 2021 01:37:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613036231; cv=none; d=google.com; s=arc-20160816; b=OOxskSVzXgl/a04zVwHUl7FytH51QZrdNfRzrqWlAf3ej4fUBNtBsNhWqfi3hZqUGV LxRIM0h0humn6Ud2zxbInkSHtLP/BqOQRFuSeLGTsBKcYsTqm5G0HvuiYgYxrmdsKj56 Yu3sx9RtQpvuiIRU7kn6g1+VSNJcfq/U/nVVFedH0vD38K25+9C03C9WSIQUV872NAFG 3s+8lGudptgvmyMcgUkJx08BIsIcTtZ/64e3s7l8IEOXa2WJmJZsN1A0GiTx2KZSMbK8 pnm51YlHk0BGwNN8PEc5mUo8J6BeDWPOkKaxD3qTw4SgKgZuE8m7hfr4TAVVzIKlnXYs sEjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=7VGRPvJXq8SC79exEEmhiqb1SbimejZWS3hEkNk913U=; b=yKS9GHDvSSall/e8MXhkbMe54pIZJcDQ3doRLpcv01H2opQqpRcHTrVbKokWCdcVDa vTlSken3kWaTueV9jH318u8Ms9UfMfB47jy+e7gQTUfSk3WM6vVEoxiZDg1Nhai5sWMc 4lyzk0o2S4jjCfiXhoZdvrGSBMb/Dm7NJ8zkVbjkLie6fc4PPEjoxYoLGBwhSqY1nVmv PvUATeNsK1jE4z6sg4arEaVLkoBgEhYBigCzWLlef0YHxlF2sauHWOkMnN7B4LK5URkC dcU/2EDFwxSkiY6UGzrmaQvDpC7cghnWdV5HWr629vRPToAm39GxJCUAIjSv1ysJR9Ki Cijw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b="fHkDL/OP"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p5si3097741ejo.398.2021.02.11.01.36.22; Thu, 11 Feb 2021 01:37:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b="fHkDL/OP"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230038AbhBKJcc (ORCPT + 99 others); Thu, 11 Feb 2021 04:32:32 -0500 Received: from smtprelay-out1.synopsys.com ([149.117.87.133]:56762 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230103AbhBKJON (ORCPT ); Thu, 11 Feb 2021 04:14:13 -0500 Received: from mailhost.synopsys.com (mdc-mailhost2.synopsys.com [10.225.0.210]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id 5C08EC00B8; Thu, 11 Feb 2021 09:12:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1613034774; bh=XVY3C5tM44biaeLPnPeGD6yk38dcUlFr4a1J9QvrIv4=; h=From:To:Cc:Subject:Date:From; b=fHkDL/OPWc1PdlaKLb411a7JUM4XgYHY7JVrpi7vZDIwj9HlTihoEjhQmxwavmRWm RRtzlul5Wv35NQQwD1GS4RGbmmUDpMSKEbqCkIvLUl/rTVbgHw5tCT1i+fOtd7OWk9 Z7KDbkgffvwhV4UmjjdWafcHW8+YyF7+ayEcScIsq4jdRAn3B5vmWDcEHe9Xt6j/d/ cqIfOg/Vng8kcxM/Mri5rE6dhe11lX2hnDaV7FAfNnc9aqzlXYXQUSaDToNpvh5oJ2 ZJa7TUcg8UfpvguZy7tqYNXQvNWdavNkfKceIVFI2X1WWDiL+ivLPDBwlA+j4Ze73S rZS1jrhB1YRfw== Received: from de02dwia024.internal.synopsys.com (de02dwia024.internal.synopsys.com [10.225.19.81]) by mailhost.synopsys.com (Postfix) with ESMTP id D1894A0061; Thu, 11 Feb 2021 09:12:52 +0000 (UTC) X-SNPS-Relay: synopsys.com From: Gustavo Pimentel To: dmaengine@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Vinod Koul , Dan Williams , Bjorn Helgaas Cc: Gustavo Pimentel Subject: [PATCH v5 00/15] dmaengine: dw-edma: HDMA support Date: Thu, 11 Feb 2021 10:12:33 +0100 Message-Id: X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series adds the HDMA support, as long the IP design has set the compatible register map parameter, which allows compatibility at some degree for the existing Synopsys DesignWare eDMA driver that is already available on the Kernel. The HDMA "Hyper-DMA" IP is an enhancement of the eDMA "embedded-DMA" IP. This new improvement comes with a PCI DVSEC that allows to the driver recognize and switch behavior if it's an eDMA or an HDMA, becoming retrocompatible, in the absence of this DVSEC, the driver will assume that is an eDMA IP. It also adds the interleaved support, since it will be similar to the current scatter-gather implementation. As well fixes/improves some abnormal behaviors not detected before, such as: - crash on loading/unloading driver - memory space definition for the data area and for the linked list space - scatter-gather address calculation on 32 bits platforms - minor comment and variable reordering Changes: V2: Applied changes based on Bjorn Helgaas' review Rebased patches on top of v5.11-rc1 version V3: Applied changes based on Lukas Wunner' review V4: Fix a typo detected by kernel test robot V5: Rework driver accordingly to Bjorn Helgaas's feedback Gustavo Pimentel (15): dmaengine: dw-edma: Add writeq() and readq() for 64 bits architectures dmaengine: dw-edma: Fix comments offset characters' alignment dmaengine: dw-edma: Add support for the HDMA feature PCI: Add pci_find_vsec_capability() to find a specific VSEC dmaengine: dw-edma: Add PCIe VSEC data retrieval support dmaengine: dw-edma: Add device_prep_interleave_dma() support dmaengine: dw-edma: Improve number of channels check dmaengine: dw-edma: Reorder variables to keep consistency dmaengine: dw-edma: Improve the linked list and data blocks definition dmaengine: dw-edma: Change linked list and data blocks offset and sizes dmaengine: dw-edma: Move struct dentry variable from static definition into dw_edma struct dmaengine: dw-edma: Fix crash on loading/unloading driver dmaengine: dw-edma: Change DMA abreviation from lower into upper case dmaengine: dw-edma: Revert fix scatter-gather address calculation dmaengine: dw-edma: Add pcim_iomap_table return check drivers/dma/dw-edma/dw-edma-core.c | 178 +++++++++++------- drivers/dma/dw-edma/dw-edma-core.h | 37 ++-- drivers/dma/dw-edma/dw-edma-pcie.c | 275 +++++++++++++++++++++------- drivers/dma/dw-edma/dw-edma-v0-core.c | 300 ++++++++++++++++++++++++------- drivers/dma/dw-edma/dw-edma-v0-core.h | 2 +- drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 77 ++++---- drivers/dma/dw-edma/dw-edma-v0-debugfs.h | 4 +- drivers/dma/dw-edma/dw-edma-v0-regs.h | 291 +++++++++++++++++++----------- drivers/pci/pci.c | 34 ++++ include/linux/pci.h | 2 + include/uapi/linux/pci_regs.h | 6 + 11 files changed, 851 insertions(+), 355 deletions(-) -- 2.7.4