get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1821147,
    "url": "http://patchwork.ozlabs.org/api/patches/1821147/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20230814215457.4075025-11-bhupesh.sharma@linaro.org/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20230814215457.4075025-11-bhupesh.sharma@linaro.org>",
    "list_archive_url": null,
    "date": "2023-08-14T21:54:50",
    "name": "[10/17] ufs: Add missing memory barriers",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "0529f5397fea252a1fca5ffa866b4e223fc20efb",
    "submitter": {
        "id": 81316,
        "url": "http://patchwork.ozlabs.org/api/people/81316/?format=api",
        "name": "Bhupesh Sharma",
        "email": "bhupesh.sharma@linaro.org"
    },
    "delegate": {
        "id": 3651,
        "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api",
        "username": "trini",
        "first_name": "Tom",
        "last_name": "Rini",
        "email": "trini@ti.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20230814215457.4075025-11-bhupesh.sharma@linaro.org/mbox/",
    "series": [
        {
            "id": 368803,
            "url": "http://patchwork.ozlabs.org/api/series/368803/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=368803",
            "date": "2023-08-14T21:54:40",
            "name": "Enable UFS on DragonBoard845c",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/368803/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1821147/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1821147/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)",
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=CkPKQiQ8;\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.b=\"CkPKQiQ8\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=bhupesh.sharma@linaro.org"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (P-384))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4RPpCG5kNRz1yfS\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 15 Aug 2023 07:56:58 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id E479B869B6;\n\tMon, 14 Aug 2023 23:55:59 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 8060B86993; Mon, 14 Aug 2023 23:55:58 +0200 (CEST)",
            "from mail-pg1-x531.google.com (mail-pg1-x531.google.com\n [IPv6:2607:f8b0:4864:20::531])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 072F086989\n for <u-boot@lists.denx.de>; Mon, 14 Aug 2023 23:55:55 +0200 (CEST)",
            "by mail-pg1-x531.google.com with SMTP id\n 41be03b00d2f7-5657add1073so2122494a12.0\n for <u-boot@lists.denx.de>; Mon, 14 Aug 2023 14:55:54 -0700 (PDT)",
            "from localhost.localdomain\n ([2401:4900:1f3b:3924:6581:8508:2ecb:b5dd])\n by smtp.gmail.com with ESMTPSA id\n n4-20020a170903110400b001bba373919bsm9872075plh.261.2023.08.14.14.55.48\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 14 Aug 2023 14:55:52 -0700 (PDT)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n autolearn=ham autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1692050153; x=1692654953;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=I2cNB02Pa6jyuBJ45ecjofX2UZ2ZIVJf6N1cut4RTFA=;\n b=CkPKQiQ8k3y4aVhSTHMRhwA1gDomPkLUKzN8P3Ua76w97yS5rSH9Whe1VpJArW1Kaz\n qX4i02x7R48wF4kq7pGQA79A1df5RO1JBgwpDDeVCkSbBlEgGvbsGJQmLA+RPWTJcjP4\n uRm9aKPVfYIEMn0iSlh1EqiqTkpPaFoBz/GzCR9h9NZnpi+rZJtxAflhq65lrRaI4Ssn\n EVo2Cp/DQauDUOEzt/MV9KXZM7G+gW90FiYH49fF1v3XDku+ZA2tD0O9gfdNAY6JcpoZ\n /lvt4JbBp2ZCDtRqvY9S74haCPXcNJBuABLxbORM2vzxXPmbWsv6FA1+KJdmESVZpDHG\n joZg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20221208; t=1692050153; x=1692654953;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=I2cNB02Pa6jyuBJ45ecjofX2UZ2ZIVJf6N1cut4RTFA=;\n b=mGwZ/ia3CFzBTCaFEEY5WE5QsNhbObvzMe7qOkhbQEoyFv64f3mwR1wzgC0RvxCYjY\n XiNtlCwoE9QOfC1L8o76j/JsM+IQQHNRw0O0ZRTMg2f0uV3Yz640sFCmeYlkHj+VFRSe\n jId7bAz2nmOWiRSn79/uWdv6D2ZhpJr7fcPg7IApoericYu+n4wCh3SiM6WOVXY/dU8l\n FJNRX2as0dirnIatC6Jt6vIsFuZ1hvk8+Xf2Nxi0UgWJmO4EXVQXDdR8XokuI+IxyGfg\n aMaDXPPeINNMaZS/jOERd6GYvfq2+sBdHerQIUzpRDEk/E1By3hvMWV3SAMgyo2WgJAj\n fLqg==",
        "X-Gm-Message-State": "AOJu0YwRJ5Imr8ItCMoU/esApl9KrWF0c1eKGFFdALMOr00ypRNie4Ol\n 5ETKqrJ40vmT5O/6LymDrQCZkCDc1H/vO8Yd/WI=",
        "X-Google-Smtp-Source": "\n AGHT+IGu3d3WBZu6JzegtwO2yUkn4wY6i/1z3C/YAKXDOkkAYncD4fKYlNep7oGhM2dZJ4FRYM3wmw==",
        "X-Received": "by 2002:a17:90a:644f:b0:268:220a:7080 with SMTP id\n y15-20020a17090a644f00b00268220a7080mr261768pjm.2.1692050152868;\n Mon, 14 Aug 2023 14:55:52 -0700 (PDT)",
        "From": "Bhupesh Sharma <bhupesh.sharma@linaro.org>",
        "To": "u-boot@lists.denx.de",
        "Cc": "sjg@chromium.org, trini@konsulko.com, bhupesh.sharma@linaro.org,\n bhupesh.linux@gmail.com, marek.vasut+renesas@mailbox.org,\n sumit.garg@linaro.org, rfried.dev@gmail.com, patrice.chotard@foss.st.com,\n jbx6244@gmail.com, kever.yang@rock-chips.com, eugen.hristev@collabora.com",
        "Subject": "[PATCH 10/17] ufs: Add missing memory barriers",
        "Date": "Tue, 15 Aug 2023 03:24:50 +0530",
        "Message-Id": "<20230814215457.4075025-11-bhupesh.sharma@linaro.org>",
        "X-Mailer": "git-send-email 2.38.1",
        "In-Reply-To": "<20230814215457.4075025-1-bhupesh.sharma@linaro.org>",
        "References": "<20230814215457.4075025-1-bhupesh.sharma@linaro.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "Add missing wmb() and mb() barriers in the u-boot UFS core\nframework driver to allow registers updates to happen before\nfollow-up read operations.\n\nThis makes the barrier placement similar to the Linux UFS driver.\n\nSigned-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>\n---\n drivers/ufs/ufs.c | 11 +++++++++++\n 1 file changed, 11 insertions(+)",
    "diff": "diff --git a/drivers/ufs/ufs.c b/drivers/ufs/ufs.c\nindex 15fa3832b9..a97c45a530 100644\n--- a/drivers/ufs/ufs.c\n+++ b/drivers/ufs/ufs.c\n@@ -503,6 +503,12 @@ static int ufshcd_make_hba_operational(struct ufs_hba *hba)\n \tufshcd_writel(hba, upper_32_bits((dma_addr_t)hba->utmrdl),\n \t\t      REG_UTP_TASK_REQ_LIST_BASE_H);\n \n+\t/*\n+\t * Make sure base address and interrupt setup are updated before\n+\t * enabling the run/stop registers below.\n+\t */\n+\twmb();\n+\n \t/*\n \t * UCRDY, UTMRLDY and UTRLRDY bits must be 1\n \t */\n@@ -892,6 +898,9 @@ static int ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag)\n \n \tufshcd_writel(hba, 1 << task_tag, REG_UTP_TRANSFER_REQ_DOOR_BELL);\n \n+\t/* Make sure doorbell reg is updated before reading interrupt status */\n+\twmb();\n+\n \tstart = get_timer(0);\n \tdo {\n \t\tintr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS);\n@@ -1989,6 +1998,8 @@ int ufshcd_probe(struct udevice *ufs_dev, struct ufs_hba_ops *hba_ops)\n \t\t      REG_INTERRUPT_STATUS);\n \tufshcd_writel(hba, 0, REG_INTERRUPT_ENABLE);\n \n+\tmb();\n+\n \terr = ufshcd_hba_enable(hba);\n \tif (err) {\n \t\tdev_err(hba->dev, \"Host controller enable failed\\n\");\n",
    "prefixes": [
        "10/17"
    ]
}