From patchwork Tue Jan 17 14:20:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alexandre Bailon X-Patchwork-Id: 91659 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp511797qgi; Tue, 17 Jan 2017 06:20:27 -0800 (PST) X-Received: by 10.84.149.139 with SMTP id m11mr59054616pla.38.1484662827239; Tue, 17 Jan 2017 06:20:27 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s23si25079431plk.205.2017.01.17.06.20.27; Tue, 17 Jan 2017 06:20:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@baylibre-com.20150623.gappssmtp.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751230AbdAQOU0 (ORCPT + 7 others); Tue, 17 Jan 2017 09:20:26 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:36533 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751037AbdAQOUY (ORCPT ); Tue, 17 Jan 2017 09:20:24 -0500 Received: by mail-wm0-f41.google.com with SMTP id c85so201976828wmi.1 for ; Tue, 17 Jan 2017 06:20:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i6rE//RXFh3MENaJmQQkBvOuWYh2rJxb1PX+oKl4NGQ=; b=NUqy7nzJOpMVVRipfOF5wVosQDlL8OArk17NFHMOmxGrehgbyXdRfzPbCHX+kcdt/P 04DpbmWqtueDBzSGkx4nHmwJlSUKEM2PhqjDpQqgmBklv9rdc46JpRnvqCGpb0ca96Is YE/LXxmngadYtS6/hErRpS3mmXwLrATiNwBCdItROTAHLon98RauViCn9/4eTh+a56Nz HpKhVxoMuk719BC7pbVAriuoU+PEJnirlHCx0aohF5zZXZNh0MOGwjVo8peU2gmpUPIA u5f5y9Z//OzpEP3AT1/cmskzIAaU0K0yNM25KnDAefcRrBkoKu0dViqEHUcvCtgRRk0B jEcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=i6rE//RXFh3MENaJmQQkBvOuWYh2rJxb1PX+oKl4NGQ=; b=Y/TkS9lgpatJLaFDGi1zne3QUvUuD5EPbJSQMoWQAJtmVbC1dLfdzUvXuppYxUdPuM XpFzPgFC6Ka+JeHj84bC4S0BN+Gy6MpXk7msI3X3I8FSO3WOJ2JobVS7BMbNtHF9IFFb 45WgtDs6tlkBrP6+C3pjNtnH1ofYP28T8x+TlkDNpXRk4t/5nkLT3QLQl7A0OuoP5flc 8XukNvKcpJnjt+eMzRct8oNV+fXRtFGnAnzl2HgwukJldFr+RsxhqFQJI7x6I6HrzZTW LEKDNqi12lMyR7rM3bSYbP90Zkdkd6hJag3ZdPNQS8FJJ5y0jJXsMTc8INDmTc7UWweQ 9NAg== X-Gm-Message-State: AIkVDXIJeUJSUVhgEjT28AFiJKGhANU19huZpIDKQWOlMXCw61jMFSMpJGCPzENx2uTJMLv4 X-Received: by 10.28.173.74 with SMTP id w71mr15567778wme.14.1484662823396; Tue, 17 Jan 2017 06:20:23 -0800 (PST) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id o132sm37203079wmo.17.2017.01.17.06.20.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jan 2017 06:20:22 -0800 (PST) From: Alexandre Bailon To: vinod.koul@intel.com, robh+dt@kernel.org Cc: dmaengine@vger.kernel.org, nsekhar@ti.com, khilman@baylibre.com, ptitiano@baylibre.com, tony@atomide.com, linux-omap@vger.kernel.org, b-liu@ti.com, sergei.shtylyov@cogentembedded.com, devicetree@vger.kernel.org, Alexandre Bailon Subject: [PATCH v2 1/3] dt/bindings: da8xx-usb: Add binding for the CPPI 4.1 DMA controller Date: Tue, 17 Jan 2017 15:20:14 +0100 Message-Id: <20170117142016.11163-2-abailon@baylibre.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170117142016.11163-1-abailon@baylibre.com> References: <20170117142016.11163-1-abailon@baylibre.com> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org DT binding for the TI DA8xx/OMAP-L1x/AM17xx/AM18xx cppi41 dma controller. Signed-off-by: Alexandre Bailon --- .../devicetree/bindings/usb/da8xx-usb.txt | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) -- 2.10.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/Documentation/devicetree/bindings/usb/da8xx-usb.txt b/Documentation/devicetree/bindings/usb/da8xx-usb.txt index ccb844a..aed3169 100644 --- a/Documentation/devicetree/bindings/usb/da8xx-usb.txt +++ b/Documentation/devicetree/bindings/usb/da8xx-usb.txt @@ -18,10 +18,26 @@ Required properties: - phy-names: Should be "usb-phy" + - dmas: specifies the dma channels + + - dma-names: specifies the names of the channels. Use "rxN" for receive + and "txN" for transmit endpoints. N specifies the endpoint number. + Optional properties: ~~~~~~~~~~~~~~~~~~~~ - vbus-supply: Phandle to a regulator providing the USB bus power. +DMA +~~~ +- compatible: ti,da8xx-cppi41 +- reg: offset and length of the following register spaces: CPPI DMA Controller, + CPPI DMA Scheduler, Queue Manager +- reg-names: "controller", "scheduler", "queuemgr" +- #dma-cells: should be set to 2. The first number represents the + channel number (0 … 3 for endpoints 1 … 4). + The second number is 0 for RX and 1 for TX transfers. +- #dma-channels: should be set to 4 representing the 4 endpoints. + Example: usb_phy: usb-phy { compatible = "ti,da830-usb-phy"; @@ -31,6 +47,9 @@ Example: usb0: usb@200000 { compatible = "ti,da830-musb"; reg = <0x00200000 0x10000>; + ranges; + #address-cells = <1>; + #size-cells = <1>; interrupts = <58>; interrupt-names = "mc"; @@ -39,5 +58,28 @@ Example: phys = <&usb_phy 0>; phy-names = "usb-phy"; + dmas = <&cppi41dma 0 0 &cppi41dma 1 0 + &cppi41dma 2 0 &cppi41dma 3 0 + &cppi41dma 0 1 &cppi41dma 1 1 + &cppi41dma 2 1 &cppi41dma 3 1>; + dma-names = + "rx1", "rx2", "rx3", "rx4", + "tx1", "tx2", "tx3", "tx4"; + status = "okay"; + + cppi41dma: dma-controller@201000 { + compatible = "ti,da8xx-cppi41"; + reg = <0x201000 0x1000 + 0x202000 0x1000 + 0x204000 0x4000>; + reg-names = "controller", "scheduler", "queuemgr"; + interrupts = <58>; + interrupt-names = "glue"; + #dma-cells = <2>; + #dma-channels = <4>; + #dma-requests = <256>; + status = "okay"; + }; + }; From patchwork Tue Jan 17 14:20:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Bailon X-Patchwork-Id: 91661 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp511837qgi; Tue, 17 Jan 2017 06:20:31 -0800 (PST) X-Received: by 10.84.208.102 with SMTP id f35mr58974572plh.137.1484662831464; Tue, 17 Jan 2017 06:20:31 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o33si25077113plb.300.2017.01.17.06.20.31; Tue, 17 Jan 2017 06:20:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@baylibre-com.20150623.gappssmtp.com; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751186AbdAQOU2 (ORCPT + 4 others); Tue, 17 Jan 2017 09:20:28 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:37702 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751228AbdAQOU0 (ORCPT ); Tue, 17 Jan 2017 09:20:26 -0500 Received: by mail-wm0-f53.google.com with SMTP id c206so225038039wme.0 for ; Tue, 17 Jan 2017 06:20:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=qNJKRmaVZQvfA/apZHsHwVWAs2lZPLblEY2H9P03Bo4=; b=LkCbhZOztsntAPwF0pNmV3+2y7X4UlS4b3vgkiBoX6tzmFDr7Vj/Jlp9T2GC6aecPJ zhNlto+2suha8JMQvleqt6zpg2BqSBIpAxwrIlGa9dOKP64UR1XoaIXomhcn/WkSs9/O Nk+tt7qw12gOSd/rwb2/bOUbcmZcU3K2FoIniKJ1DVw4j1C1k8t2l7nP4whiGMeH0Dza nDZMQylmTN7L29DhEbrGXr14C9pDKo2u23q++ClyRUcFwxbFThHDM/jArsGoO/pQBjyE ofdlzVGsHExvhXCqol1eU4RtcbwuqVR/HOxKdLiCiFyyDyxKE6N4tGZrkePJSGR4c1G5 vPMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=qNJKRmaVZQvfA/apZHsHwVWAs2lZPLblEY2H9P03Bo4=; b=ZagmIjw+8bdwrc598aSZalKIC8JWsTXTkTOmbwk/LextBWlcvDrQkkdtMvxhM9zPG3 m2Gii8wddWmJETGAAOUf98AecKrvV+Wck4G17eETh9Y0EcfKtz6HyZ2IwpRgJemP6+LJ FoEwIjLhqBTIzXdt8q6rNP6uKbMN4Ju0K94BlOhoO7ycebbhrbS7UHCFSWNbLgJh5M9k moQXDLXASq5CgQz+/I9SB7RcrwD6JGx/qWf4IWrFGpBIYr1ru/NHqr86UH9B4asqAn7s b2ih1xj8OpIQmrEh7OFTPOVvlh99SNRA/6kozZLbpOTYq8VnP5Yf6H2JmvQ7xl0Z6wOJ QL0A== X-Gm-Message-State: AIkVDXKs/g4VK5C3XX0HLPIUsDg1UNfpOhdp/dvEnAr/iJJWwH6GQ/yQt/Sb4hPcivg2jftu X-Received: by 10.28.15.138 with SMTP id 132mr15377031wmp.41.1484662824912; Tue, 17 Jan 2017 06:20:24 -0800 (PST) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id o132sm37203079wmo.17.2017.01.17.06.20.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jan 2017 06:20:24 -0800 (PST) From: Alexandre Bailon To: vinod.koul@intel.com, robh+dt@kernel.org Cc: dmaengine@vger.kernel.org, nsekhar@ti.com, khilman@baylibre.com, ptitiano@baylibre.com, tony@atomide.com, linux-omap@vger.kernel.org, b-liu@ti.com, sergei.shtylyov@cogentembedded.com, devicetree@vger.kernel.org, Alexandre Bailon Subject: [PATCH v2 2/3] dmaengine: cppi41: Implement the glue for DA8xx Date: Tue, 17 Jan 2017 15:20:15 +0100 Message-Id: <20170117142016.11163-3-abailon@baylibre.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170117142016.11163-1-abailon@baylibre.com> References: <20170117142016.11163-1-abailon@baylibre.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org The DA8xx has a CPPI 4.1 DMA controller. This is add the glue layer required to make it work on DA8xx. Signed-off-by: Alexandre Bailon --- drivers/dma/cppi41.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) -- 2.10.2 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/dma/cppi41.c b/drivers/dma/cppi41.c index 0bc4f1a..aab1e5a 100644 --- a/drivers/dma/cppi41.c +++ b/drivers/dma/cppi41.c @@ -221,6 +221,20 @@ static const struct chan_queues am335x_usb_queues_rx[] = { [29] = { .submit = 30, .complete = 155}, }; +static const struct chan_queues da8xx_usb_queues_tx[] = { + [0] = { .submit = 16, .complete = 24}, + [1] = { .submit = 18, .complete = 24}, + [2] = { .submit = 20, .complete = 24}, + [3] = { .submit = 22, .complete = 24}, +}; + +static const struct chan_queues da8xx_usb_queues_rx[] = { + [0] = { .submit = 1, .complete = 26}, + [1] = { .submit = 3, .complete = 26}, + [2] = { .submit = 5, .complete = 26}, + [3] = { .submit = 7, .complete = 26}, +}; + struct cppi_glue_infos { irqreturn_t (*isr)(int irq, void *data); const struct chan_queues *queues_rx; @@ -962,8 +976,18 @@ static const struct cppi_glue_infos am335x_usb_infos = { .qmgr_num_pend = 5, }; +static const struct cppi_glue_infos da8xx_usb_infos = { + .isr = cppi41_irq, + .queues_rx = da8xx_usb_queues_rx, + .queues_tx = da8xx_usb_queues_tx, + .td_queue = { .submit = 31, .complete = 0 }, + .first_completion_queue = 24, + .qmgr_num_pend = 2, +}; + static const struct of_device_id cppi41_dma_ids[] = { { .compatible = "ti,am3359-cppi41", .data = &am335x_usb_infos}, + { .compatible = "ti,da8xx-cppi41", .data = &da8xx_usb_infos}, {}, }; MODULE_DEVICE_TABLE(of, cppi41_dma_ids); From patchwork Tue Jan 17 14:20:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Bailon X-Patchwork-Id: 91660 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp511834qgi; Tue, 17 Jan 2017 06:20:31 -0800 (PST) X-Received: by 10.99.219.21 with SMTP id e21mr8030394pgg.29.1484662831275; Tue, 17 Jan 2017 06:20:31 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o33si25077113plb.300.2017.01.17.06.20.31; Tue, 17 Jan 2017 06:20:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@baylibre-com.20150623.gappssmtp.com; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750787AbdAQOU3 (ORCPT + 4 others); Tue, 17 Jan 2017 09:20:29 -0500 Received: from mail-wm0-f54.google.com ([74.125.82.54]:36576 "EHLO mail-wm0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751019AbdAQOU1 (ORCPT ); Tue, 17 Jan 2017 09:20:27 -0500 Received: by mail-wm0-f54.google.com with SMTP id c85so201978905wmi.1 for ; Tue, 17 Jan 2017 06:20:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NiOedfXOHwfqxlfAuZZDIbr3iF4zhpTfJ6BQHg4mxKk=; b=kOYmhxThkKpkjuVeaJ8H4CrhXezkPpR86v73T2NbYK8awtEjz4lrbImB3KtChaYkYV UGcBWRCnQA1IhAzQnqfFofCRNXxy3NblqBmut1AwN894rbFe3OK9qg0IrAp2qCFYNQrh TTIv00jYOv94QEDhfEYiAS6PqwcGUzIdX6o19OIzxMSNQ/7/lYEtHU+BSRMG0dQdsGtj mP9KqNaSeieHawE/3MzagJpcLFY+4GUrMS2Kkga6atMG+xyJb0nGmp6diwrdWAYhi9hJ KUjcUBaQtv8HqGnzvrF7gSOD/edEhouQTptPXVyBfFpcxqfplhpdQmE43r15LlEWGDIu 3J9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NiOedfXOHwfqxlfAuZZDIbr3iF4zhpTfJ6BQHg4mxKk=; b=V84GC8Xk4qUGYHBllYK18IKqqQ9+dRDBG+Fke1gR84wHJUIYWTRs8vsy9+bmaoASoS lH9qsviZXy2QcZF3zCoOcDcYpAVqms7e0GcIAJu821SGxuQsnldkOuPrqGaaQvnEWAAx HZT9S1BdSn8n0zyLJExgis8qs5ar3Ow6mGwHGfgCBS3UtPAoeoMfQ8GvTu91mafn7QIy P1rhT5fvIm5PyyQ79kTtT2mvs0KwPmiuq6psts7rd33D3EMz8SCNFBKsMP0qaEKLPLnu USwGxMzpYoHlqrXfLLExICQJMRmX9zW5Doj7wAq8ugfQc5c3rCT7O8qTOkZa2f4vkHws SkYg== X-Gm-Message-State: AIkVDXJ0fXu/YT4c5hL3GV0RWzoToJIXn1uimSgEvOihq8A52/bX77eJqOAKCYCXKMhgK8TX X-Received: by 10.28.189.134 with SMTP id n128mr15502779wmf.77.1484662826395; Tue, 17 Jan 2017 06:20:26 -0800 (PST) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id o132sm37203079wmo.17.2017.01.17.06.20.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Jan 2017 06:20:25 -0800 (PST) From: Alexandre Bailon To: vinod.koul@intel.com, robh+dt@kernel.org Cc: dmaengine@vger.kernel.org, nsekhar@ti.com, khilman@baylibre.com, ptitiano@baylibre.com, tony@atomide.com, linux-omap@vger.kernel.org, b-liu@ti.com, sergei.shtylyov@cogentembedded.com, devicetree@vger.kernel.org, Alexandre Bailon Subject: [PATCH v2 3/3] dmaengine: cppi41: Fix teardown warnings Date: Tue, 17 Jan 2017 15:20:16 +0100 Message-Id: <20170117142016.11163-4-abailon@baylibre.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170117142016.11163-1-abailon@baylibre.com> References: <20170117142016.11163-1-abailon@baylibre.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org During the teardown of a RX channel, because there is only one completion queue available for RX channel, descriptor of another channel may be popped which will cause 2 warnings: - the first one because we popped a wrong descriptor (neither the channel's descriptor, nor the teardown descriptor). - the second one happen during the teardown of another channel, because we can't find the channel descriptor (that is, the one that caused the first warning). To avoid that, use one free queue instead of a transmit completion queue. Note that fix doesn't fix all the teardown warnings: I still get some when I run some corner case. Signed-off-by: Alexandre Bailon --- drivers/dma/cppi41.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.10.2 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/dma/cppi41.c b/drivers/dma/cppi41.c index aab1e5a..aba741c 100644 --- a/drivers/dma/cppi41.c +++ b/drivers/dma/cppi41.c @@ -630,7 +630,7 @@ static int cppi41_tear_down_chan(struct cppi41_channel *c) if (!c->is_tx) { reg |= GCR_STARV_RETRY; reg |= GCR_DESC_TYPE_HOST; - reg |= c->q_comp_num; + reg |= cdd->td_queue.complete; } reg |= GCR_TEARDOWN; cppi_writel(reg, c->gcr_reg); @@ -641,7 +641,7 @@ static int cppi41_tear_down_chan(struct cppi41_channel *c) if (!c->td_seen || !c->td_desc_seen) { desc_phys = cppi41_pop_desc(cdd, cdd->td_queue.complete); - if (!desc_phys) + if (!desc_phys && c->is_tx) desc_phys = cppi41_pop_desc(cdd, c->q_comp_num); if (desc_phys == c->desc_phys) {