Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp488101rwe; Wed, 19 Apr 2023 01:32:34 -0700 (PDT) X-Google-Smtp-Source: AKy350bxEnraeRc+YR0YvVr4rwMXhxed4L4wVdDuqCGW/doKUKk6w85CB+W9mpl2Yq+3ZUdDHEGK X-Received: by 2002:a05:6a00:1789:b0:63a:33d5:9224 with SMTP id s9-20020a056a00178900b0063a33d59224mr3683598pfg.18.1681893154284; Wed, 19 Apr 2023 01:32:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681893154; cv=none; d=google.com; s=arc-20160816; b=NkKa9/gUjcEuH3vXaAYVnARfjq2ztS/z89HOW7nrIEtYqgQGnpcrzBGRpS4lZndLv3 oyJKyuALdJ1HvhyIwQBAHf3M38aGm1OB16XZCH20g4ajVKyKsMK6kKyOC5j3C+fpSrbL MKZdxOhotGMqG4sXXdiwimFPamAivG46ShIX2ZushXxrKMz6JT2JbficyudA57tumMIh mYLCIHVnNNdfCvM2xhTwGDt/69VltwkxooG6CpWMt3GKdkL+Fp+jgCXpyOp2EpsYJukr TK9oLxMOwdRcN6rbA8kTBEl2i33tZRSS+PQ/7DrK4Uwz2/hCqv+8saiM+hgknJAxp4ga SEAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id :dkim-signature; bh=fpxwJ4UuCMRbCcS/k/rtxuIckU067HMuYB3fKrjP3yc=; b=LIQd9c7pF7zZOljONCP5PBYy/t5M/6aioa3VyT9rmBOeqCK+u070kvhyHpedWVUAYY Z51Pak1xEwu26FWFjXwqOqvcZ6aznGEZSNvt421VJ5FNZO8ZyQd2samjPaiayaD6WOtJ n4XgTbmx+7XFbxQV26LQP/aUJvUC6hK/Tt216Zz3Z9ABUwPimoAuxgWs+0KKOWL6KgJs 3Bpci6jIxeXjnQ6tRPIbke5v2EHGXYBB7A9mbAuuLqUcpwxgrChoq0L7Gzms/Nk4O8VB GkulGfN/a8GI0PRqAdzN1Tr32PNGVa+6oYUrl1NmI7+HuAPyrO6JAqJRD1b9aZCXlXJB OyBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=mL8Dy4ul; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o188-20020a6341c5000000b0050c0c9d2932si16235794pga.191.2023.04.19.01.32.21; Wed, 19 Apr 2023 01:32:34 -0700 (PDT) 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=@ti.com header.s=ti-com-17Q1 header.b=mL8Dy4ul; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232489AbjDSI1O (ORCPT + 99 others); Wed, 19 Apr 2023 04:27:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232460AbjDSI1M (ORCPT ); Wed, 19 Apr 2023 04:27:12 -0400 Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 61F30E51; Wed, 19 Apr 2023 01:27:11 -0700 (PDT) Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 33J8R6Ej028178; Wed, 19 Apr 2023 03:27:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1681892826; bh=fpxwJ4UuCMRbCcS/k/rtxuIckU067HMuYB3fKrjP3yc=; h=Date:To:CC:From:Subject; b=mL8Dy4ulpeN+pLr9vNqZNsgRC0yE11hf8R1fsONMiUgciDhgrA6l2Au4LrO02Pc/M MlphJdC7ERymUWdRboD79MyEymnXyCuhN5xBMv4QcV9BWg/0gw/r0N3G7VQrOFwYZU hpO9PK4CEHLle9XyBXxgS71pIeFwkxUQr0ivALTc= Received: from DFLE104.ent.ti.com (dfle104.ent.ti.com [10.64.6.25]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 33J8R6dw104653 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 19 Apr 2023 03:27:06 -0500 Received: from DFLE105.ent.ti.com (10.64.6.26) by DFLE104.ent.ti.com (10.64.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16; Wed, 19 Apr 2023 03:27:05 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DFLE105.ent.ti.com (10.64.6.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16 via Frontend Transport; Wed, 19 Apr 2023 03:27:05 -0500 Received: from [10.24.69.141] (ileaxei01-snat.itg.ti.com [10.180.69.5]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 33J8R2Sp017432; Wed, 19 Apr 2023 03:27:03 -0500 Message-ID: <291807c9-8d1c-56f0-ee39-4d221e18bd1a@ti.com> Date: Wed, 19 Apr 2023 13:57:02 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US To: , , , =?UTF-8?Q?P=c3=a9ter_Ujfalusi?= CC: Vignesh Raghavendra , "J, KEERTHY" , , Jayesh Choudhary , "Menon, Nishanth" From: Vaishnav Achath Subject: Question: dmaengine: dma_request_chan_by_mask() and DMA controller probe order Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Hi, In dma_request_chan_by_mask() , the probe defer logic returns -EPROBE_DEFER if there are no DMA devices registered yet. But in case of multiple DMA controllers in an SoC and when only one(or a subset) of the controllers have finished probe dma_request_chan_by_mask() can return -ENODEV incorrectly since the first DMA device probed might not support the particular mask requested. What is the recommended solution to avoid situation like these? Consider the following scenario for example: SoC has two DMA controllers, one instance of system DMA, one dedicated for Camera subsytem which does not support DMA_MEMCPY and has lesser number of channels. * Camera subsystem DMA is probed first. * Another peripheral requests dma_request_chan_by_mask(DMA_MEMCPY) * dmaengine returns -ENODEV for above as the controller with DMA_MEMCPY support is not ready yet. * System DMA is probed later but peripheral driver failed to start with DMA. -- Thanks and Regards, Vaishnav