get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/812764/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 812764,
    "url": "http://patchwork.ozlabs.org/api/patches/812764/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-imx/patch/20170912104424.18495-4-peter.ujfalusi@ti.com/",
    "project": {
        "id": 19,
        "url": "http://patchwork.ozlabs.org/api/projects/19/?format=api",
        "name": "Linux IMX development",
        "link_name": "linux-imx",
        "list_id": "linux-imx-kernel.lists.patchwork.ozlabs.org",
        "list_email": "linux-imx-kernel@lists.patchwork.ozlabs.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170912104424.18495-4-peter.ujfalusi@ti.com>",
    "list_archive_url": null,
    "date": "2017-09-12T10:44:22",
    "name": "[3/5] dmaengine: Support for querying maximum trasnfer length (of an SG element)",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "c0175e080161bf018cfc3bea4c60196bf61c8191",
    "submitter": {
        "id": 9142,
        "url": "http://patchwork.ozlabs.org/api/people/9142/?format=api",
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-imx/patch/20170912104424.18495-4-peter.ujfalusi@ti.com/mbox/",
    "series": [
        {
            "id": 2660,
            "url": "http://patchwork.ozlabs.org/api/series/2660/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-imx/list/?series=2660",
            "date": "2017-09-12T10:44:20",
            "name": "dmaengine: core/edma/omap-dma: maximum SG len reporting",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/2660/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/812764/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/812764/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>",
        "X-Original-To": "incoming-imx@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming-imx@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"AnWZJI8e\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ti.com header.i=@ti.com header.b=\"ieo5D2BP\"; \n\tdkim-atps=neutral"
        ],
        "Received": [
            "from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xs1gH1fjSz9s7g\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 20:46:19 +1000 (AEST)",
            "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drihr-0002RD-6n; Tue, 12 Sep 2017 10:46:15 +0000",
            "from lelnx194.ext.ti.com ([198.47.27.80])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drigZ-0000LD-AJ for linux-arm-kernel@lists.infradead.org;\n\tTue, 12 Sep 2017 10:45:01 +0000",
            "from dflxv15.itg.ti.com ([128.247.5.124])\n\tby lelnx194.ext.ti.com (8.15.1/8.15.1) with ESMTP id v8CAiYhR016602; \n\tTue, 12 Sep 2017 05:44:34 -0500",
            "from DLEE102.ent.ti.com (dlee102.ent.ti.com [157.170.170.32])\n\tby dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id v8CAiYFK032350;\n\tTue, 12 Sep 2017 05:44:34 -0500",
            "from DLEE112.ent.ti.com (157.170.170.23) by DLEE102.ent.ti.com\n\t(157.170.170.32) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.845.34;\n\tTue, 12 Sep 2017 05:44:33 -0500",
            "from dlep32.itg.ti.com (157.170.170.100) by DLEE112.ent.ti.com\n\t(157.170.170.23) with Microsoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.845.34 via Frontend\n\tTransport; Tue, 12 Sep 2017 05:44:33 -0500",
            "from feketebors.ti.com (ileax41-snat.itg.ti.com [10.172.224.153])\n\tby dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id v8CAiOu4007788; \n\tTue, 12 Sep 2017 05:44:31 -0500"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:\n\tMessage-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=slnz1nYfS4s7Z2dlQGr56IVkrZOu6Yhz1xTGYLJQ7Hs=;\n\tb=AnWZJI8eYm3J1z\n\t9m+X/RlRcMSGNLTV2J/zndSL1QxhPKZ1ggDTmU2XxOu0FNL4G7jbNadUUsjvDsBEg8vNd2+Sk53dk\n\tka7DNRvoXisSdB6DeetDauA+1yDoAQ75DwMlGou9B0urLLZ0DejRvFf+6hDjmlUM5uNgeAB38SM52\n\tzZYEdGnfzvB6P4tYwN+Di2UQufSJqvhYbhW9beZ88ba8nz6fKEuS8IiAJg+iu+bYIE/J1iNqrwCaE\n\tGvbntc1H3aI9SlVAm6bImyiD2lzdN20muezoNB1QfKbYq7bTzNA3Bu0FalWEwY0LJje8F+LZscZkR\n\t1X5SvU3jvBMfbIOkmuVw==;",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com;\n\ts=ti-com-17Q1; t=1505213074;\n\tbh=e1qO2uS0sbFXRdqboLwk6OSJ4UvLUwxAA6JQwLv5dDc=;\n\th=From:To:CC:Subject:Date:In-Reply-To:References;\n\tb=ieo5D2BPIH12j04DIAsccZb2xofVjNzi5ky59vxMrckcYwALVAoxlF+6nGty6oLqR\n\tibAfaIqwAZycqmF5c7arGp2phH8F0+mxtt/1qP/6s3VlJ/hl1EgKql06HGBd1VP2e7\n\tFKfIsrCccDURemFpxQtIQtGTz7AajlCg2gaG2hYI="
        ],
        "From": "Peter Ujfalusi <peter.ujfalusi@ti.com>",
        "To": "<vinod.koul@intel.com>, <dan.j.williams@intel.com>",
        "Subject": "[PATCH 3/5] dmaengine: Support for querying maximum trasnfer length\n\t(of an SG element)",
        "Date": "Tue, 12 Sep 2017 13:44:22 +0300",
        "Message-ID": "<20170912104424.18495-4-peter.ujfalusi@ti.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170912104424.18495-1-peter.ujfalusi@ti.com>",
        "References": "<20170912104424.18495-1-peter.ujfalusi@ti.com>",
        "MIME-Version": "1.0",
        "X-EXCLAIMER-MD-CONFIG": "e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20170912_034455_545181_6C38262C ",
        "X-CRM114-Status": "GOOD (  10.49  )",
        "X-Spam-Score": "-2.0 (--)",
        "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [198.47.27.80 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain",
        "X-BeenThere": "linux-arm-kernel@lists.infradead.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.infradead.org/pipermail/linux-arm-kernel/>",
        "List-Post": "<mailto:linux-arm-kernel@lists.infradead.org>",
        "List-Help": "<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>",
        "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>",
        "Cc": "dmaengine@vger.kernel.org, t-kristo@ti.com, linux-omap@vger.kernel.org, \n\tlinux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Sender": "\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>",
        "Errors-To": "linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org",
        "List-Id": "linux-imx-kernel.lists.patchwork.ozlabs.org"
    },
    "content": "Certain DMA engines have limitation on the maximum size of a transfer they\ncan support. This size limitation is per SG element or for period length in\ncyclic transfers.\nIn TI's eDMA and sDMA this limitation is not really a length limit, but it\nis the number of bursts that we can support in one transfer.\n\nWith this callback the DMA drivers can provide hints to clients on how they\nshould set up their buffers (sglist, cyclic buffer). Without this the\nclients must have open coded workarounds in place for each and every DMA\nengine they might be interfacing with to have correct length for the\ntransfers.\n\nSigned-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>\n---\n include/linux/dmaengine.h | 14 ++++++++++++++\n 1 file changed, 14 insertions(+)",
    "diff": "diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h\nindex 8319101170fc..739824b94c1b 100644\n--- a/include/linux/dmaengine.h\n+++ b/include/linux/dmaengine.h\n@@ -705,6 +705,9 @@ struct dma_filter {\n  * @device_prep_dma_imm_data: DMA's 8 byte immediate data to the dst address\n  * @device_config: Pushes a new configuration to a channel, return 0 or an error\n  *\tcode\n+ * @device_get_max_len: Get the maximum supported length in bytes of a slave\n+ *\ttransfer based on the set dma_slave_config. The length limitation\n+ *\tapplies to each SG element's length.\n  * @device_pause: Pauses any transfer happening on a channel. Returns\n  *\t0 or an error code\n  * @device_resume: Resumes any transfer on a channel previously\n@@ -792,6 +795,8 @@ struct dma_device {\n \n \tint (*device_config)(struct dma_chan *chan,\n \t\t\t     struct dma_slave_config *config);\n+\tu32 (*device_get_max_len)(struct dma_chan *chan,\n+\t\t\t\t  enum dma_transfer_direction dir);\n \tint (*device_pause)(struct dma_chan *chan);\n \tint (*device_resume)(struct dma_chan *chan);\n \tint (*device_terminate_all)(struct dma_chan *chan);\n@@ -812,6 +817,15 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,\n \treturn -ENOSYS;\n }\n \n+static inline u32 dmaengine_slave_get_max_len(struct dma_chan *chan,\n+\t\t\t\t\t      enum dma_transfer_direction dir)\n+{\n+\tif (chan->device->device_get_max_len)\n+\t\treturn chan->device->device_get_max_len(chan, dir);\n+\n+\treturn 0;\n+}\n+\n static inline bool is_slave_direction(enum dma_transfer_direction direction)\n {\n \treturn (direction == DMA_MEM_TO_DEV) || (direction == DMA_DEV_TO_MEM);\n",
    "prefixes": [
        "3/5"
    ]
}