From patchwork Mon Nov 7 21:04:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serge Semin X-Patchwork-Id: 16698 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2296813wru; Mon, 7 Nov 2022 13:08:59 -0800 (PST) X-Google-Smtp-Source: AMsMyM4qKWLYSRketrAJRUFAHnA5xpvxtyW7oHdfZA5Tcw/LorGhA9u7bCmz3l0itFnjZKOeL97U X-Received: by 2002:a17:902:d503:b0:187:2294:d513 with SMTP id b3-20020a170902d50300b001872294d513mr43200908plg.54.1667855338781; Mon, 07 Nov 2022 13:08:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1667855338; cv=none; d=google.com; s=arc-20160816; b=viYLp3lUFNEmH3JnF6cHm8lfRCqT7+My7yKKdDL8DynzRAA45t9RtsKYX/9tGE9Q7z uwM53dtIwSoTA1/0jG8QQQ9yK7+1JniRsexx6jI4WbtzDTCircB+DGt9fiIJwSJOgIHN aEyrDa+yAghSuGBQQuomHJaD7Ax2Dg88neI8xKrfp9mPHO2u9C5ASGJWk2eJNyQ9s4JF kLBMYJogdAlprB1KBaQu2AiJREaXg609nlvWgymimWmUajspKU3GEk2NY4S8zI/EcvyQ gms8lCGQlR36ymLD7aGOYAHNIHJ56sybc8GxiEgnK12vhXV338WSr32oGaIAGSwrEkKU bIZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OjcAE39os71L8rrCRMf+k9/8tmBxrDb5+1JlnbAUiwM=; b=NjvWNye2hyPChFse3PSKpkzSSBmLY16YH0euXAoGMeIYd6fPPzhPNMV3Sxt3hIyA+d +nRo1TpaD2YiTov9H/xqKevJj5yjSPgypo2LQTaQ8CosiBhEMwoOhhXg539IQKRukKUk 8Ec15uWBbwbNhVEBNWpyDpyo+/d+bay5dLwYOL7A7AiZntJ+9CkPptbkugriyBkXE56C mdkHoHshKPpboLb/Od3AtQdxq61qldXNMW58mStCu0eKLA6MhB5VCAKFka3Cu1kDobZO HuHplBQsrsCBm2J7X8KlPqzJ6elxvHxAxEk8/B3x+IjOKyvcvsah+8RCGeImmox92/sA eRUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=post header.b="vIbtc/am"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=baikalelectronics.ru Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 18-20020a170902c25200b0018867e3182esi10325095plg.335.2022.11.07.13.08.45; Mon, 07 Nov 2022 13:08:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=post header.b="vIbtc/am"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=baikalelectronics.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232285AbiKGVGV (ORCPT + 99 others); Mon, 7 Nov 2022 16:06:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233267AbiKGVFS (ORCPT ); Mon, 7 Nov 2022 16:05:18 -0500 Received: from post.baikalelectronics.com (post.baikalelectronics.com [213.79.110.86]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 991182C66B; Mon, 7 Nov 2022 13:05:02 -0800 (PST) Received: from post.baikalelectronics.com (localhost.localdomain [127.0.0.1]) by post.baikalelectronics.com (Proxmox) with ESMTP id B2C55E0EDF; Tue, 8 Nov 2022 00:05:01 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= baikalelectronics.ru; h=cc:cc:content-transfer-encoding :content-type:content-type:date:from:from:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=post; bh=OjcAE39os71L8rrCRMf+k9/8tmBxrDb5+1JlnbAUiwM=; b=vIbtc/amgSvf LWPcZupKlsOZ+cPuhiN5XepbhoZDTWSWchl4uu2gJ2l4Gvq5A5jrRKrNLWW9S/NY nV3n9Bjc36B4YrHXdI2KlazjYHf/0cOT2p3dqIRXjuLmjGSFHMF9l5HfqIA5l+gX fffYeOEJVkioGmofb4JvDalt01Kd7aU= Received: from mail.baikal.int (mail.baikal.int [192.168.51.25]) by post.baikalelectronics.com (Proxmox) with ESMTP id A3032E0ED3; Tue, 8 Nov 2022 00:05:01 +0300 (MSK) Received: from localhost (192.168.168.10) by mail (192.168.51.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 8 Nov 2022 00:05:01 +0300 From: Serge Semin To: Gustavo Pimentel , Vinod Koul , Rob Herring , Bjorn Helgaas , Lorenzo Pieralisi , Cai Huoqing , Robin Murphy , Jingoo Han , Frank Li , Manivannan Sadhasivam CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , =?utf-8?q?Krzys?= =?utf-8?q?ztof_Wilczy=C5=84ski?= , caihuoqing , , , Subject: [PATCH v6 21/24] dmaengine: dw-edma: Replace chip ID number with device name Date: Tue, 8 Nov 2022 00:04:35 +0300 Message-ID: <20221107210438.1515-22-Sergey.Semin@baikalelectronics.ru> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221107210438.1515-1-Sergey.Semin@baikalelectronics.ru> References: <20221107210438.1515-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 X-Originating-IP: [192.168.168.10] X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748873079842070857?= X-GMAIL-MSGID: =?utf-8?q?1748873079842070857?= Using some abstract number as the DW eDMA chip identifier isn't really practical. First of all there can be more than one DW eDMA controller on the platform some of them can be detected as the PCIe end-points, some of them can be embedded into the DW PCIe Root Port/End-point controllers. Seeing some abstract number in for instance IRQ handlers list doesn't give a notion regarding their reference to the particular DMA controller. Secondly current DW eDMA chip id implementation doesn't provide the multi-eDMA platforms support for same reason of possibly having eDMA detected on different system buses. At the same time re-implementing something ida-based won't give much benefits especially seeing the DW eDMA chip ID is only used in the IRQ request procedure. So to speak in order to preserve the code simplicity and get to have the multi-eDMA platforms support let's just use the parental device name to create the DW eDMA controller name. Signed-off-by: Serge Semin Reviewed-by: Manivannan Sadhasivam Tested-by: Manivannan Sadhasivam Acked-by: Vinod Koul --- Changelog v2: - Slightly extend the eDMA name array. (@Manivannan) --- drivers/dma/dw-edma/dw-edma-core.c | 3 ++- drivers/dma/dw-edma/dw-edma-core.h | 2 +- drivers/dma/dw-edma/dw-edma-pcie.c | 1 - include/linux/dma/edma.h | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/dma/dw-edma/dw-edma-core.c b/drivers/dma/dw-edma/dw-edma-core.c index 040a88cfe070..e3671bfbe186 100644 --- a/drivers/dma/dw-edma/dw-edma-core.c +++ b/drivers/dma/dw-edma/dw-edma-core.c @@ -973,7 +973,8 @@ int dw_edma_probe(struct dw_edma_chip *chip) if (!dw->chan) return -ENOMEM; - snprintf(dw->name, sizeof(dw->name), "dw-edma-core:%d", chip->id); + snprintf(dw->name, sizeof(dw->name), "dw-edma-core:%s", + dev_name(chip->dev)); /* Disable eDMA, only to establish the ideal initial conditions */ dw_edma_v0_core_off(dw); diff --git a/drivers/dma/dw-edma/dw-edma-core.h b/drivers/dma/dw-edma/dw-edma-core.h index e3ad3e372b55..0ab2b6dba880 100644 --- a/drivers/dma/dw-edma/dw-edma-core.h +++ b/drivers/dma/dw-edma/dw-edma-core.h @@ -96,7 +96,7 @@ struct dw_edma_irq { }; struct dw_edma { - char name[20]; + char name[32]; struct dma_device dma; diff --git a/drivers/dma/dw-edma/dw-edma-pcie.c b/drivers/dma/dw-edma/dw-edma-pcie.c index f530bacfd716..3f9dadc73854 100644 --- a/drivers/dma/dw-edma/dw-edma-pcie.c +++ b/drivers/dma/dw-edma/dw-edma-pcie.c @@ -222,7 +222,6 @@ static int dw_edma_pcie_probe(struct pci_dev *pdev, /* Data structure initialization */ chip->dev = dev; - chip->id = pdev->devfn; chip->mf = vsec_data.mf; chip->nr_irqs = nr_irqs; diff --git a/include/linux/dma/edma.h b/include/linux/dma/edma.h index 380a0a3e251f..9d44da4aa59d 100644 --- a/include/linux/dma/edma.h +++ b/include/linux/dma/edma.h @@ -76,7 +76,6 @@ enum dw_edma_chip_flags { */ struct dw_edma_chip { struct device *dev; - int id; int nr_irqs; const struct dw_edma_core_ops *ops; u32 flags;