Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp620261pxb; Tue, 2 Feb 2021 13:26:09 -0800 (PST) X-Google-Smtp-Source: ABdhPJzFYSUzwFMme+81LKhj4x6jWMsqiAJygE5hiD3jI+UgtbIKZIW+vHm5jTJUEuukNECSJGsm X-Received: by 2002:aa7:d401:: with SMTP id z1mr37885edq.213.1612301169192; Tue, 02 Feb 2021 13:26:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612301169; cv=none; d=google.com; s=arc-20160816; b=TlBakMNIOW/ScErrgsgFZMEzCLuT6gdYMcyBoIwVSYGPrSxWV+gA07pnJZAkCFxQmm RTfZc0CuRnHLE1fTX55/M0JAuwhBdWFFczQvR2dF17G6MFxMk4VBE/tl0kMHE6Q+bxAw q/XajN7HOwxuZYW1QBZjfI7rP7aaopA8tz5VVwp7qpqCbsLsUksHpivUVuHuCAwNWzLJ JOt6gpRhUakklqYi3xzb2WC09wFN5lQDjunDNI7U4ks7M19G6P40wgJePGzpQyyL3v7w uiRjNmNqnuNu71SiJ1EIp8TlibwKpIwxj9zWp074IDlYReEWH+2WIFUpJgqtib39KyVB 6OAA== 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=O9LR8Wq4ab2Dmxxq5IUmiL0xVpPcZavbihXm+Ac4hJo=; b=k/JZqKHqCUEGCsZaiSCTp8c8NJ/OG/jKc3JzPBoFokjRaCHdavPTRMTOuKFKS4MFwd us0XN/iwe5keM5ER7PH0225bLfCoi0sHG+3ECIa9GKRH/HPNoo8IgZcZxavrZPQsWW33 64IafM496WlvEUDBy62C7vpjN4LMloj/tDNV3F/rmPslHt0ZzFVPtNEDp/FN2AN9E9VF QD98XoF3xZW0LbYPwTSIHfS06EQ05uj1BD/4XrKAYOaYlZUCpdpkySmR9E9jwy38vWTp rN3JCxfY2AqKhvoZvZzC8p3WHVp9gDG4fYXL2crRA9IJb25SHyH7BsJEAyftKBUpUT73 I0sQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=BEx2vTwM; 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 zn8si56713ejb.60.2021.02.02.13.25.43; Tue, 02 Feb 2021 13:26:09 -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=BEx2vTwM; 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 S231896AbhBBMm0 (ORCPT + 99 others); Tue, 2 Feb 2021 07:42:26 -0500 Received: from smtprelay-out1.synopsys.com ([149.117.87.133]:56096 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231628AbhBBMlt (ORCPT ); Tue, 2 Feb 2021 07:41:49 -0500 Received: from mailhost.synopsys.com (mdc-mailhost1.synopsys.com [10.225.0.209]) (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 D1C7CC00AD; Tue, 2 Feb 2021 12:40:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1612269646; bh=8mgn4YgoiuCWn9IVu0KCglq4i/YbiTIVBIKPedOF7mE=; h=From:To:Cc:Subject:Date:From; b=BEx2vTwMd1JbmM89JG0l1+/nWR74ys64DPpnMEojBpmYBlzXVxlyhVqfNsEai1X9f zEfPql221OeJv/2aGziKk967MylyLr9A6R/EzC7SQyvQUY56LF7rXtNARF97Vw4SDU rDgiNOJXexWtw25yvtjNgs5lmQlApsANIb1giIViD+IL0ISIejY6EJzSa8eMnHVDwb ihmmpzZczaI4jVUzP5TnUgPwk5uHFdhKfmhAJF5/hr3MeovgjJUIl2kZv3TOPdQSqF SUmLnOckgdwBZf7QHnjGyWNzKrJmL0t+0wk70mjQCpNwjUtFgifuRh/GSkis2LLWRi IqPeXCRLX/YXA== Received: from de02dwia024.internal.synopsys.com (de02dwia024.internal.synopsys.com [10.225.19.81]) by mailhost.synopsys.com (Postfix) with ESMTP id 15E6FA0249; Tue, 2 Feb 2021 12:40:44 +0000 (UTC) X-SNPS-Relay: synopsys.com From: Gustavo Pimentel To: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org Cc: Gustavo Pimentel , Vinod Koul , Dan Williams , Bjorn Helgaas Subject: [PATCH v2 00/15] dmaengine: dw-edma: HDMA support Date: Tue, 2 Feb 2021 13:40:14 +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 Change log: From V1 to V2 - Applied changes based on Bjorn Helgaas' review - Rebased patches on top of v5.11-rc1 version Cc: Vinod Koul Cc: Dan Williams Cc: Bjorn Helgaas Cc: dmaengine@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-pci@vger.kernel.org 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 checker 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 | 29 +++ include/linux/pci.h | 2 + include/uapi/linux/pci_regs.h | 6 + 11 files changed, 846 insertions(+), 355 deletions(-) -- 2.7.4