Received: by 2002:a89:288:0:b0:1f7:eeee:6653 with SMTP id j8csp496380lqh; Tue, 7 May 2024 05:59:33 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVfWi95cAKJcyATw9c4F263vFK3TZeffpjLu0tdbAFKRKpj6DvVtBNCP8AEQVGlaXrUIxCaSFkUAX74Ht3QigGrMsgedjShlBjfSx3TwQ== X-Google-Smtp-Source: AGHT+IGz0PN7xaLNMmavt31GWyGXORMW4g6ASXi1Du0wOvASnWsDq2XrULdEykDi14OV2WGI7MAU X-Received: by 2002:a05:622a:55:b0:43a:dc6a:800c with SMTP id y21-20020a05622a005500b0043adc6a800cmr15051982qtw.61.1715086773455; Tue, 07 May 2024 05:59:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715086773; cv=pass; d=google.com; s=arc-20160816; b=btbzxe+qUaGovct8+iC24fD+eN5crAUsfzrnXogY4C6vQ22tZM3lwf9M+RHEpGv+DS gKYEuE+wYdmCEvmjAaYIt6Bs4SxJ1MQ5au2bUXCoq+NR6+09V6AXClpVDrNYJib6tGxY 6yiX8iEjH8rj7LQcTzGf1Y1Cd9684bmQsXuY2SG0p/oZ0IC6HYqh1aXXol6xqYv5al2d gY4J8Nh5ZQBEDFscMJNb8mYTSF8X+QWq11sS8I8jWIfngL5EJd1nKngThfr4yPuYq1Au FSkehnA5C30LyPB0M4w90FWY2S5Rbo6MBr+9yxkWcj0qvFkvMEzgXeG9PiFDotrIptVU 5LIg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=IOYWpx+7FTJlYFtMjUGlHKbBuJPgpevIoZcXKDKHnVE=; fh=GMVtMPLlwt/lj9i49KuTObjDq8olvs384ecnCjKLSCY=; b=QSnOiRvNkSahTMSpfquG9IDPe9vHQwtk0kadCyteoyIo3ljlFCznPCjM7YUbo8qrKN nYL7jIJuUx9hTf3QAyAKFQl1dwSh71Hmte0jD+2TTiCCyjZ4OXL4bhTyD7oO/8U1OSqM BqPVvLdHWbIE7QpiXG/P44gghpNvOLTym7KbANlBJRsTrW5MS2BzN7yi4VtDFfdr+WVA fIrE2FT948Io7UNn2uPDXgIEmsoYdXId1VIlobq9jbHqAriPvzamSl+dKTsCLMIIhAbK MsEN4FUt7K7AyL45+BPLbGbuPHCgyMp+gbY4j9IMa+76dKvQ6KQLCfWj7b622WcpRTAG Xplw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=OsgC3+o8; arc=pass (i=1 spf=pass spfdomain=foss.st.com dkim=pass dkdomain=foss.st.com dmarc=pass fromdomain=foss.st.com); spf=pass (google.com: domain of linux-kernel+bounces-171331-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-171331-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id u6-20020a05622a010600b0043a941cbc97si12059268qtw.176.2024.05.07.05.59.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 May 2024 05:59:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-171331-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=OsgC3+o8; arc=pass (i=1 spf=pass spfdomain=foss.st.com dkim=pass dkdomain=foss.st.com dmarc=pass fromdomain=foss.st.com); spf=pass (google.com: domain of linux-kernel+bounces-171331-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-171331-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 30DA91C214D2 for ; Tue, 7 May 2024 12:59:33 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EF09A15E202; Tue, 7 May 2024 12:58:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="OsgC3+o8" Received: from mx08-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F03315B992; Tue, 7 May 2024 12:58:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.93 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715086703; cv=none; b=dvfzbDfCyVRhwHWTz5RZO0cyEbAwBlImSMnmMrBWZTNvAxCCcfEYRiy6Qjecuh7dV6fDcgjwUvdi0fTGOmoCrAAf+JVty62tQZq0DIHznpYUjco1f+ERsSXBnvA1XyuRei4LwscG8H/+FnqgaSD2r4ItRBbrYutiAZVNgQF+0/w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715086703; c=relaxed/simple; bh=qad6qskwZYQn+D5N1xzwJq/c78GJYvm0C1sRMaB+DyM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=dYr6iixJjekuYn86hSpGSVkt2c2x9plJpPU8P/ksDVNTgOR+9jQs9dbprDmdVj/iJryFH1znueoZVle29enL/F4r7QKbC94tHPdqXeN52xSXwbT7euiMPtx4bxJwz9el9fJ3qzINJSKxG8pQhdVZXymYvmAijNJx/fAwRk1mSUI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=OsgC3+o8; arc=none smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Received: from pps.filterd (m0369457.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4479aUlk023705; Tue, 7 May 2024 14:57:59 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s= selector1; bh=IOYWpx+7FTJlYFtMjUGlHKbBuJPgpevIoZcXKDKHnVE=; b=Os gC3+o8MFDItTI4Ap6Oo4jaEz8M+wHrWN3OT+m1EERmsIy0HOZCUgU1rAtIsKqUxa IZMMRutLVn0QalGrjcJAN9362WMJX3fVUlfQ4vsGtpZtJqg1QnLpVGtoEC6gWc4i cxJaNMJymDkxd+Q64tmtELmwYsicg2npyW0IkL2gUDDL5HoaPsgr2yulr4FKDYsW UJeVeQSWXlUDxwjM0c+SqBc0GIG+u6KjhLMdNNY825X8xCowyEQhuxCa1x3k5c9z ifpPtU3CHltaMfhf/y+3D1gdeLw6++4xQiW1pZgg0H9EcX9a/uRQAhlRteqtfSj+ tJeZDO+AEHaa5qryi2Hw== Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3xwyyk9wk2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 May 2024 14:57:59 +0200 (MEST) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id D025B40044; Tue, 7 May 2024 14:57:54 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node3.st.com [10.75.129.71]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 79A83216ECE; Tue, 7 May 2024 14:57:09 +0200 (CEST) Received: from localhost (10.48.86.143) by SHFDAG1NODE3.st.com (10.75.129.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 7 May 2024 14:57:09 +0200 From: Amelie Delaunay To: Vinod Koul , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue CC: , , , , , , Amelie Delaunay Subject: [PATCH v2 10/12] dmaengine: add channel device name to channel registration Date: Tue, 7 May 2024 14:54:40 +0200 Message-ID: <20240507125442.3989284-11-amelie.delaunay@foss.st.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240507125442.3989284-1-amelie.delaunay@foss.st.com> References: <20240507125442.3989284-1-amelie.delaunay@foss.st.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE3.st.com (10.75.129.71) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-07_06,2024-05-06_02,2023-05-22_02 Channel device name is used for sysfs, but also by dmatest filter function. With dynamic channel registration, channels can be registered after dma controller registration. Users may want to have specific channel names. If name is NULL, the channel name relies on previous implementation, dmachan. Signed-off-by: Amelie Delaunay --- drivers/dma/dmaengine.c | 16 ++++++++++------ drivers/dma/idxd/dma.c | 2 +- include/linux/dmaengine.h | 3 ++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 491b22240221..c380a4dda77a 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -1037,7 +1037,8 @@ static int get_dma_id(struct dma_device *device) } static int __dma_async_device_channel_register(struct dma_device *device, - struct dma_chan *chan) + struct dma_chan *chan, + const char *name) { int rc; @@ -1066,8 +1067,10 @@ static int __dma_async_device_channel_register(struct dma_device *device, chan->dev->device.parent = device->dev; chan->dev->chan = chan; chan->dev->dev_id = device->dev_id; - dev_set_name(&chan->dev->device, "dma%dchan%d", - device->dev_id, chan->chan_id); + if (!name) + dev_set_name(&chan->dev->device, "dma%dchan%d", device->dev_id, chan->chan_id); + else + dev_set_name(&chan->dev->device, name); rc = device_register(&chan->dev->device); if (rc) goto err_out_ida; @@ -1087,11 +1090,12 @@ static int __dma_async_device_channel_register(struct dma_device *device, } int dma_async_device_channel_register(struct dma_device *device, - struct dma_chan *chan) + struct dma_chan *chan, + const char *name) { int rc; - rc = __dma_async_device_channel_register(device, chan); + rc = __dma_async_device_channel_register(device, chan, name); if (rc < 0) return rc; @@ -1203,7 +1207,7 @@ int dma_async_device_register(struct dma_device *device) /* represent channels in sysfs. Probably want devs too */ list_for_each_entry(chan, &device->channels, device_node) { - rc = __dma_async_device_channel_register(device, chan); + rc = __dma_async_device_channel_register(device, chan, NULL); if (rc < 0) goto err_out; } diff --git a/drivers/dma/idxd/dma.c b/drivers/dma/idxd/dma.c index cd835eabd31b..dbecd699237e 100644 --- a/drivers/dma/idxd/dma.c +++ b/drivers/dma/idxd/dma.c @@ -269,7 +269,7 @@ static int idxd_register_dma_channel(struct idxd_wq *wq) desc->txd.tx_submit = idxd_dma_tx_submit; } - rc = dma_async_device_channel_register(dma, chan); + rc = dma_async_device_channel_register(dma, chan, NULL); if (rc < 0) { kfree(idxd_chan); return rc; diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 752dbde4cec1..73537fddbb52 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -1575,7 +1575,8 @@ int dma_async_device_register(struct dma_device *device); int dmaenginem_async_device_register(struct dma_device *device); void dma_async_device_unregister(struct dma_device *device); int dma_async_device_channel_register(struct dma_device *device, - struct dma_chan *chan); + struct dma_chan *chan, + const char *name); void dma_async_device_channel_unregister(struct dma_device *device, struct dma_chan *chan); void dma_run_dependencies(struct dma_async_tx_descriptor *tx); -- 2.25.1