From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6473042A7BA for ; Mon, 27 Jul 2026 20:36:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785184571; cv=none; b=HMWPpvL7NY0AjcdltN6IHKHjeNLq7LwaahO2BjZxflfva60oSf7MJjG0m72FtvFy4ZlAIWLSPyk1xbfVqVch9mxb6Y9hZizHTTyiS5NteFgXzUt58SuoaCs1PQY9mg8WXN9ITRwOcyOP06BR44iCvYmB1FGCXcxGCjEwpcXOaJ8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785184571; c=relaxed/simple; bh=ySUgCrwg0RgrM1DYS+FFgWxsZGG3GkFuI60i50bKR5c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FK/WthbDfONPReFiQsjBia8YgbqKRjUyRakvObDKIOF/Ins1sTC+kCce29EAoUWU6CvJzzCZghj9PX1/grRLjTOMWN5RWKK4Fym0rnZoNaNQWXcPeXaTJVg7q/zFukNxlA+fE6OGdVcKvgga5HfJmp3QSGu+i7LCYArUkAQq3r4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MU5JSsDy; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MU5JSsDy" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2ceae1ed204so34213845ad.0 for ; Mon, 27 Jul 2026 13:36:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785184569; x=1785789369; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=zcheLO8orK20PUIiz96mnTxc+cc7vg3DtEUqjIvWtQU=; b=MU5JSsDytA9BFEg3o22qhQc9eobqhzhP6nViVQhsk0jQEyOfgBjJsyIAYtQrYTWMVc mVhvLzJNgVdK3V7WumJ2H0pJgnQuqsXAggXxDZIoSWOmTipbaFK48lRF9Wqmi4Aisgi5 sw3J8ZB3xCpSc0fI43vRHtkiC8vC9OPEUJzM8VAv1jMbPkA7DqTp+vLffa7bkQnuRIpK SARMlyONi3HgW4Ygf9raVPca4FWJcWkCP2LoJhjq/YJDKdGrw2WpdvnqBhLsjJ9jIzef /+snParr4BvYQ3aY0eUGzIUN1n03FALpzhrb3zwKVRSoYMqqW/JxSsQ+E/tXlEOvzmPn F5PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785184569; x=1785789369; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=zcheLO8orK20PUIiz96mnTxc+cc7vg3DtEUqjIvWtQU=; b=HvVRQR2fa+mDP04VSwdlTfooC0wBmFfdytYcdvdYRMcLHTS7oU9ACPhlEL2l1lgizl OBwBgLsy5MW13HxIQGE6vAa1gxOQAKJZdC5uKo/VNCWh+Q6TlIxukfWMFyoRvqd2h9Gq GhVshZ6yVyoa+sKnOh0vSKnfFcIK14Zt204VP8w5rbsdx4ddF/Te7mF/eeRg8IJoObzp jXm0aDry34oD5MaQ7W2QlagAvgKk/N+LL2vtQ784xG6FKpXzA/KBTIDeNpHmHO04ma/Z jTV4fETlvQe320mWcYcgpc4JI8ZqLNADqOLpbik01WutOo8KoDzkhUCnEPget1cSrmF7 WKmA== X-Forwarded-Encrypted: i=1; AHgh+RpFy1kvm3WyY22Kj36hqYel6qIVR8LrYy6z5/++5oTLd3v3xZLtQMOr33TLDa4lkvfhvJxwgXXXPU8m5rI=@vger.kernel.org X-Gm-Message-State: AOJu0YyZ3r6fJMckWqnArPd8dG1EhTm9gmrLpIxL0JQ6lc3aTMbqO66N wDSQ/vK6jLiagb0UJJgL1YYUvVKHRS6qHMEd3bYMMQC4TbHNZ8InQSAkI/lIFQ== X-Gm-Gg: AR+sD12cUpN03YCfz7ebBsyWfHOJuP8MQvIEFE/igNJ1TAUUQcUA2imlni8qAzr3fEi mEKiZoPm63oFoyYPoJ0yC4isIZ7H/geHv9wYNolaqB7AGGUUoGKw6wXsdwEDS29OetlfRNKVJWb GBKi6LlyGH14rYCnyikLC8IMuxC8kMUxjFCmJ8zjf3KrT4XhKbWPszq5HkXg6x44xYrb9r4uQOk 5YvaLLBOgtDmk1vzBhU8hu9PjeKo662Ev8unNhU2+11rz7ptg69Js3+2Hr+WfZgPJfUyC6fveRp 3f6Oehz1mJRPkkdtE/Q5HWwN5cdQ1YUS/CCVQFVD4cB5leoPvDF4DIZP1/K2Rz8Hmv23crDfvt7 bs0xTqO4UXQr6I7wr0CfCyT7UnfWC+fs+HAa8J9UqKJdabx4xcGbzNPHbXQCddWn+yXnTjna63X 7Hgwgg X-Received: by 2002:a17:903:22cc:b0:2c9:97a7:f543 with SMTP id d9443c01a7336-2cfde885feamr96333925ad.41.1785184569566; Mon, 27 Jul 2026 13:36:09 -0700 (PDT) Received: from cryptic.lan ([2001:569:7fab:e200:3789:64f9:8855:c0af]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cfde5c8337sm41681885ad.20.2026.07.27.13.36.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2026 13:36:08 -0700 (PDT) From: Allen Pais To: Vinod Koul , Frank Li Cc: Allen Pais , dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Arnd Bergmann , Kees Cook , Vignesh Raghavendra Subject: [PATCH v2 32/64] dmaengine: k3-udma: use channel BH for vchan completions Date: Mon, 27 Jul 2026 13:34:54 -0700 Message-ID: <590639c835c2926e2ff26d803f1282a27b147555.1785183549.git.allen.lkml@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: <20260108080332.2341725-1-allen.lkml@gmail.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 Use the per-channel BH mechanism for custom vchan completion handling and clean up via dma_chan_kill_bh(). Signed-off-by: Allen Pais --- drivers/dma/ti/k3-udma.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index 1cf158eb7bdb..12b8a9caf4d2 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -4042,12 +4042,12 @@ static void udma_desc_pre_callback(struct virt_dma_chan *vc, } /* - * This tasklet handles the completion of a DMA descriptor by + * This BH handles the completion of a DMA descriptor by * calling its callback and freeing it. */ -static void udma_vchan_complete(struct tasklet_struct *t) +static void udma_vchan_complete(struct dma_chan *chan) { - struct virt_dma_chan *vc = from_tasklet(vc, t, task); + struct virt_dma_chan *vc = to_virt_chan(chan); struct virt_dma_desc *vd, *_vd; struct dmaengine_desc_callback cb; LIST_HEAD(head); @@ -4112,7 +4112,7 @@ static void udma_free_chan_resources(struct dma_chan *chan) } vchan_free_chan_resources(&uc->vc); - tasklet_kill(&uc->vc.task); + dma_chan_kill_bh(&uc->vc.chan); bcdma_free_bchan_resources(uc); udma_free_tx_resources(uc); @@ -5627,8 +5627,8 @@ static int udma_probe(struct platform_device *pdev) if (!uc->name) return -ENOMEM; vchan_init(&uc->vc, &ud->ddev); - /* Use custom vchan completion handling */ - tasklet_setup(&uc->vc.task, udma_vchan_complete); + /* Override the default vchan completion handler */ + uc->vc.chan.bh_work_fn = udma_vchan_complete; init_completion(&uc->teardown_completed); INIT_DELAYED_WORK(&uc->tx_drain.work, udma_check_tx_completion); } -- 2.43.0