get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2228609,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2228609/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20260427061934.1489551-4-aaron.ma@canonical.com/",
    "project": {
        "id": 15,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/15/?format=api",
        "name": "Ubuntu Kernel",
        "link_name": "ubuntu-kernel",
        "list_id": "kernel-team.lists.ubuntu.com",
        "list_email": "kernel-team@lists.ubuntu.com",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260427061934.1489551-4-aaron.ma@canonical.com>",
    "date": "2026-04-27T06:19:34",
    "name": "[SRU,R,3/3] ASoC: sdw_utils: add rt1320 and rt1321 dmic dai in codec_info_list",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "80616e7e6978fc1a9171b5ed6f42cc12a2c5a3ed",
    "submitter": {
        "id": 72035,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/72035/?format=api",
        "name": "Aaron Ma",
        "email": "aaron.ma@canonical.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20260427061934.1489551-4-aaron.ma@canonical.com/mbox/",
    "series": [
        {
            "id": 501584,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501584/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/list/?series=501584",
            "date": "2026-04-27T06:19:31",
            "name": "ASoC: enable rt1320 speaker amp and DMIC on PTL SoundWire platforms",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/501584/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2228609/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2228609/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<kernel-team-bounces@lists.ubuntu.com>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (4096-bit key;\n unprotected) header.d=canonical.com header.i=@canonical.com\n header.a=rsa-sha256 header.s=20251003 header.b=n5wotYry;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com\n (client-ip=185.125.189.65; helo=lists.ubuntu.com;\n envelope-from=kernel-team-bounces@lists.ubuntu.com;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g3thZ5ZLQz1yJs\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 16:19:58 +1000 (AEST)",
            "from localhost ([127.0.0.1] helo=lists.ubuntu.com)\n\tby lists.ubuntu.com with esmtp (Exim 4.86_2)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1wHFJu-00073K-L9; Mon, 27 Apr 2026 06:19:50 +0000",
            "from smtp-relay-internal-0.internal ([10.131.114.225]\n helo=smtp-relay-internal-0.canonical.com)\n by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.86_2) (envelope-from <aaron.ma@canonical.com>)\n id 1wHFJt-00072L-Eg\n for kernel-team@lists.ubuntu.com; Mon, 27 Apr 2026 06:19:49 +0000",
            "from mail-pf1-f198.google.com (mail-pf1-f198.google.com\n [209.85.210.198])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 4928D3F071\n for <kernel-team@lists.ubuntu.com>; Mon, 27 Apr 2026 06:19:49 +0000 (UTC)",
            "by mail-pf1-f198.google.com with SMTP id\n d2e1a72fcca58-82f07078eaaso7513293b3a.0\n for <kernel-team@lists.ubuntu.com>; Sun, 26 Apr 2026 23:19:49 -0700 (PDT)",
            "from localhost.localdomain ([103.155.100.1])\n by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-82f97eb5ce8sm29098493b3a.61.2026.04.26.23.19.46\n for <kernel-team@lists.ubuntu.com>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 26 Apr 2026 23:19:47 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;\n s=20251003; t=1777270789;\n bh=MwMSREnOEu0foMOxdbsvoOOrw7072/3l05FXlmByBME=;\n h=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n MIME-Version;\n b=n5wotYryBKU5Kl8peIsuL5+gYbru8gj/fvttbMOsBzxDbSkTw3c7f9yJ2lOBaMpNB\n 3zQGvfWc36xfIzN3TxDwXSN3TyRiTwMK7N6c8ypIYMSJt+KMyVZTsQrqTXzESW4cXI\n PsP5aIDZKOTSsXo9HZsmrgb7Kx1h3AUaA7i1E36ejnL/2MGjOQ86bV3Io91ldZ/g1h\n 9MyBbjI47qdQsNjgzjDShRpxaVVXHQymvLW6+564jHh46fsEzz4FHu9/CMjboQ4W5F\n hy9iCd/cauSJ0DpCuYJNo6unJhcahLScm6ze5zih0Oiez77TI8EggSzz60BoktKM6+\n XAjSh9+daE8jbvee/zBtpqVe9JaXLd6mRi6Ad3NLAOM/7/EmAY/1ePWBVxoCpEYB1C\n 0izhCkTTzx+mKoYTzUYJQ4WxFpMye2N8HXMdKiJtmSc6NQ39JZUF35xtu2IVjB4H0E\n 0zJb2/PNS+SMC7JtZHVE1FjSUpcGFYjsNw/Id2YIQcVxUIksoIW3jQz9taH0UMB/jx\n AL7pMOfHePbwrkQCkSzlv2Dy+sn9Nx2O6NZxrKXAlaS7CAqSrKmpZaWsoiniZ4+2JN\n zYgnBA9KDLMec+OacoU1hyxPGjMSzUBFl+u6DdzcvqQp871u9cRZth4R2QbeSwgcKY\n d0AhZT0M1/3rpvOWR7b/cqlo=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777270788; x=1777875588;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=MwMSREnOEu0foMOxdbsvoOOrw7072/3l05FXlmByBME=;\n b=YFSAwIa+WFtntc/djRsFB6WixgZ2NjXVfOgJ25zUBTEL6hDNgtIz0rDT3B8OK1t2jY\n GtxP8tzyxfN6ba98LwBJ4gU0LDD23eH1idJRkd6RJEsXmIT6kKx8JN1M04R6gcB4rARi\n tsNfdCo7qb4A0Scyh4z982Q+2fedwP/affb1elb0GoIQaBgXMqah6zrDP4Wc5NjK2JPW\n LUIBIwazcf2EZ1NeUGAhkfJBOoCMKy8oYnYbAQmPY9Q+jqhifkO4Bz9aPxsgJd4puBF1\n YOYY+QxcYNStP3gXBD50OLCrqee+S7POkge4F/ivu6fVkmp5VQWZaTl6ZGLS470hlOwP\n 8lYQ==",
        "X-Gm-Message-State": "AOJu0Yzn2tR3sGLdZ5aYE7xyH4EYYbi8Ia1wG8/Vtp63YtngaIm8id/T\n ShUEssI8HoobGinjkMwQ/cAuU4CAv2CGg1U/5u69KbwfZa2dFe14aJWv4DYxgZt1vyjmS1IYPhB\n QfI4seSYYns5nIB3El2WaGvWKw9m+sx+PsYULUBTUZHOhBpL6VaXEDbFaB9RmBbkc2jGCSWIgVD\n unaWXlF8aLkgempksu",
        "X-Gm-Gg": "AeBDievh4qxudcn4XwXSw3nPZcGzzk/C5+AvmTEDde3LK+AHsWpy/kbmBBZb8YFd5sA\n OWyJ43mZgzmK8p/HVtT7sMpjbM3QzC0JA/RnH9P3UD5/XP2UmzvO6MJ4Da57FzQoeXdpVLxKvzl\n H135p9oGY1ghFzcOWMPY00BZEqRCS6IQzGGWe3r5n5pcb0OCQmJOWwY2SsT5OCMDqjUkUMLiYjf\n 1DPaf+WL/lVuTw2cIgdqONr1/0MGyDqW+ZaoOINNcoES9PaMECfNMzp2UrhJ0ARiKWEFbpguiHa\n ybXxeWR3H1okwBjBL9M32ezI+JxduDqq0mB7biOHX97KnrLEJZ+MSlxF/ZaYaW24H07+eX9nauI\n /cI3f0PZ6CEFCkWEc4nZKhZWRIkXDaIG3sxPe1jG7uJL+AMeC",
        "X-Received": [
            "by 2002:a05:6a00:14c2:b0:82f:44dc:f85c with SMTP id\n d2e1a72fcca58-82f8c8d6ac2mr43854585b3a.34.1777270787934;\n Sun, 26 Apr 2026 23:19:47 -0700 (PDT)",
            "by 2002:a05:6a00:14c2:b0:82f:44dc:f85c with SMTP id\n d2e1a72fcca58-82f8c8d6ac2mr43854564b3a.34.1777270787547;\n Sun, 26 Apr 2026 23:19:47 -0700 (PDT)"
        ],
        "From": "Aaron Ma <aaron.ma@canonical.com>",
        "To": "kernel-team@lists.ubuntu.com",
        "Subject": "[SRU][R][PATCH 3/3] ASoC: sdw_utils: add rt1320 and rt1321 dmic dai\n in codec_info_list",
        "Date": "Mon, 27 Apr 2026 14:19:34 +0800",
        "Message-ID": "<20260427061934.1489551-4-aaron.ma@canonical.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260427061934.1489551-1-aaron.ma@canonical.com>",
        "References": "<20260427061934.1489551-1-aaron.ma@canonical.com>",
        "MIME-Version": "1.0",
        "X-BeenThere": "kernel-team@lists.ubuntu.com",
        "X-Mailman-Version": "2.1.20",
        "Precedence": "list",
        "List-Id": "Kernel team discussions <kernel-team.lists.ubuntu.com>",
        "List-Unsubscribe": "<https://lists.ubuntu.com/mailman/options/kernel-team>,\n <mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>",
        "List-Archive": "<https://lists.ubuntu.com/archives/kernel-team>",
        "List-Post": "<mailto:kernel-team@lists.ubuntu.com>",
        "List-Help": "<mailto:kernel-team-request@lists.ubuntu.com?subject=help>",
        "List-Subscribe": "<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n <mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "kernel-team-bounces@lists.ubuntu.com",
        "Sender": "\"kernel-team\" <kernel-team-bounces@lists.ubuntu.com>"
    },
    "content": "From: Derek Fang <derek.fang@realtek.com>\n\nBugLink: https://bugs.launchpad.net/bugs/2150196\n\nAdd 'rt1320-aif2' dai infos for rt1320 and rt1321 dmic function.\n\nSigned-off-by: Derek Fang <derek.fang@realtek.com>\nSigned-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>\nLink: https://patch.msgid.link/20260326075303.1083567-4-yung-chuan.liao@linux.intel.com\nSigned-off-by: Mark Brown <broonie@kernel.org>\n(cherry picked from commit ae2cb3384337a556ce02e557fecd39db78c36e7d)\nSigned-off-by: Aaron Ma <aaron.ma@canonical.com>\n---\n sound/soc/sdw_utils/soc_sdw_rt_dmic.c | 46 +++++++++++++++++++++++++--\n sound/soc/sdw_utils/soc_sdw_utils.c   | 26 +++++++++++++--\n 2 files changed, 67 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/sound/soc/sdw_utils/soc_sdw_rt_dmic.c b/sound/soc/sdw_utils/soc_sdw_rt_dmic.c\nindex 97be110a59b63..fed85bad9e88c 100644\n--- a/sound/soc/sdw_utils/soc_sdw_rt_dmic.c\n+++ b/sound/soc/sdw_utils/soc_sdw_rt_dmic.c\n@@ -9,15 +9,20 @@\n \n #include <linux/device.h>\n #include <linux/errno.h>\n+#include <linux/soundwire/sdw.h>\n+#include <linux/soundwire/sdw_type.h>\n #include <sound/soc.h>\n #include <sound/soc-acpi.h>\n #include <sound/soc_sdw_utils.h>\n+#include <sound/sdca_function.h>\n \n int asoc_sdw_rt_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)\n {\n \tstruct snd_soc_card *card = rtd->card;\n \tstruct snd_soc_component *component;\n+\tstruct sdw_slave *sdw_peripheral = NULL;\n \tchar *mic_name;\n+\tint rt1320_dmic_num = 0, part_id, i;\n \n \tcomponent = dai->component;\n \n@@ -32,9 +37,44 @@ int asoc_sdw_rt_dmic_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_da\n \tif (!mic_name)\n \t\treturn -ENOMEM;\n \n-\tcard->components = devm_kasprintf(card->dev, GFP_KERNEL,\n-\t\t\t\t\t  \"%s mic:%s\", card->components,\n-\t\t\t\t\t  mic_name);\n+\t/*\n+\t * If there is any rt1320/rt1321 DMIC belonging to this card, try to count the `cfg-mics`\n+\t * to be used in card->components.\n+\t * Note: The rt1320 drivers register the peripheral dev to component->dev, so get the\n+\t * sdw_peripheral from component->dev.\n+\t */\n+\tif (is_sdw_slave(component->dev))\n+\t\tsdw_peripheral = dev_to_sdw_dev(component->dev);\n+\tif (sdw_peripheral &&\n+\t    (sdw_peripheral->id.part_id == 0x1320 || sdw_peripheral->id.part_id == 0x1321)) {\n+\t\tpart_id = sdw_peripheral->id.part_id;\n+\t\t/*\n+\t\t * This rtd init callback is called once, so count the rt1320/rt1321 with SDCA\n+\t\t * function SmartMic type in this card.\n+\t\t */\n+\t\tfor_each_card_components(card, component) {\n+\t\t\tif (!is_sdw_slave(component->dev))\n+\t\t\t\tcontinue;\n+\t\t\tsdw_peripheral = dev_to_sdw_dev(component->dev);\n+\t\t\tif (sdw_peripheral->id.part_id != part_id)\n+\t\t\t\tcontinue;\n+\t\t\tfor (i = 0; i < sdw_peripheral->sdca_data.num_functions; i++) {\n+\t\t\t\tif (sdw_peripheral->sdca_data.function[i].type ==\n+\t\t\t\t    SDCA_FUNCTION_TYPE_SMART_MIC) {\n+\t\t\t\t\trt1320_dmic_num++;\n+\t\t\t\t\tbreak;\n+\t\t\t\t}\n+\t\t\t}\n+\t\t}\n+\t\tcard->components = devm_kasprintf(card->dev, GFP_KERNEL,\n+\t\t\t\t\t\t  \"%s mic:%s cfg-mics:%d\", card->components,\n+\t\t\t\t\t\t  mic_name, rt1320_dmic_num);\n+\t} else {\n+\t\tcard->components = devm_kasprintf(card->dev, GFP_KERNEL,\n+\t\t\t\t\t\t  \"%s mic:%s\", card->components,\n+\t\t\t\t\t\t  mic_name);\n+\t}\n+\n \tif (!card->components)\n \t\treturn -ENOMEM;\n \ndiff --git a/sound/soc/sdw_utils/soc_sdw_utils.c b/sound/soc/sdw_utils/soc_sdw_utils.c\nindex 8f35fb0dfacff..52bfef9124275 100644\n--- a/sound/soc/sdw_utils/soc_sdw_utils.c\n+++ b/sound/soc/sdw_utils/soc_sdw_utils.c\n@@ -319,6 +319,7 @@ struct asoc_sdw_codec_info codec_info_list[] = {\n \t{\n \t\t.part_id = 0x1320,\n \t\t.name_prefix = \"rt1320\",\n+\t\t.is_amp = true,\n \t\t.dais = {\n \t\t\t{\n \t\t\t\t.direction = {true, false},\n@@ -334,12 +335,23 @@ struct asoc_sdw_codec_info codec_info_list[] = {\n \t\t\t\t.widgets = generic_spk_widgets,\n \t\t\t\t.num_widgets = ARRAY_SIZE(generic_spk_widgets),\n \t\t\t},\n+\t\t\t{\n+\t\t\t\t.direction = {false, true},\n+\t\t\t\t.dai_name = \"rt1320-aif2\",\n+\t\t\t\t.component_name = \"rt1320\",\n+\t\t\t\t.dai_type = SOC_SDW_DAI_TYPE_MIC,\n+\t\t\t\t.dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_DMIC_DAI_ID},\n+\t\t\t\t.rtd_init = asoc_sdw_rt_dmic_rtd_init,\n+\t\t\t\t.widgets = generic_dmic_widgets,\n+\t\t\t\t.num_widgets = ARRAY_SIZE(generic_dmic_widgets),\n+\t\t\t},\n \t\t},\n-\t\t.dai_num = 1,\n+\t\t.dai_num = 2,\n \t},\n \t{\n \t\t.part_id = 0x1321,\n \t\t.name_prefix = \"rt1320\",\n+\t\t.is_amp = true,\n \t\t.dais = {\n \t\t\t{\n \t\t\t\t.direction = {true, false},\n@@ -355,8 +367,18 @@ struct asoc_sdw_codec_info codec_info_list[] = {\n \t\t\t\t.widgets = generic_spk_widgets,\n \t\t\t\t.num_widgets = ARRAY_SIZE(generic_spk_widgets),\n \t\t\t},\n+\t\t\t{\n+\t\t\t\t.direction = {false, true},\n+\t\t\t\t.dai_name = \"rt1320-aif2\",\n+\t\t\t\t.component_name = \"rt1320\",\n+\t\t\t\t.dai_type = SOC_SDW_DAI_TYPE_MIC,\n+\t\t\t\t.dailink = {SOC_SDW_UNUSED_DAI_ID, SOC_SDW_DMIC_DAI_ID},\n+\t\t\t\t.rtd_init = asoc_sdw_rt_dmic_rtd_init,\n+\t\t\t\t.widgets = generic_dmic_widgets,\n+\t\t\t\t.num_widgets = ARRAY_SIZE(generic_dmic_widgets),\n+\t\t\t},\n \t\t},\n-\t\t.dai_num = 1,\n+\t\t.dai_num = 2,\n \t},\n \t{\n \t\t.part_id = 0x714,\n",
    "prefixes": [
        "SRU",
        "R",
        "3/3"
    ]
}