Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2225014/?format=api
{ "id": 2225014, "url": "http://patchwork.ozlabs.org/api/patches/2225014/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260420085344.2081805-1-shengjiu.wang@nxp.com/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api", "name": "Linux PPC development", "link_name": "linuxppc-dev", "list_id": "linuxppc-dev.lists.ozlabs.org", "list_email": "linuxppc-dev@lists.ozlabs.org", "web_url": "https://github.com/linuxppc/wiki/wiki", "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git", "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/", "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/", "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}" }, "msgid": "<20260420085344.2081805-1-shengjiu.wang@nxp.com>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260420085344.2081805-1-shengjiu.wang@nxp.com/", "date": "2026-04-20T08:53:44", "name": "ASoC: fsl_micfil: Add DC output remover control", "commit_ref": null, "pull_url": null, "state": "handled-elsewhere", "archived": false, "hash": "c63c6e3e290268e9f2fef5672e3873e1a9cbc2e0", "submitter": { "id": 75958, "url": "http://patchwork.ozlabs.org/api/people/75958/?format=api", "name": "Shengjiu Wang", "email": "shengjiu.wang@nxp.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260420085344.2081805-1-shengjiu.wang@nxp.com/mbox/", "series": [ { "id": 500571, "url": "http://patchwork.ozlabs.org/api/series/500571/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=500571", "date": "2026-04-20T08:53:44", "name": "ASoC: fsl_micfil: Add DC output remover control", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500571/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2225014/comments/", "check": "success", "checks": "http://patchwork.ozlabs.org/api/patches/2225014/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linuxppc-dev+bounces-19845-incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linuxppc-dev@lists.ozlabs.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=V519Cloj;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19845-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=pass smtp.remote-ip=\"2a01:111:f403:c20a::7\" arc.chain=microsoft.com", "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com", "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=V519Cloj;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=permerror (SPF Permanent Error: Void lookup limit of 2 exceeded)\n smtp.mailfrom=nxp.com (client-ip=2a01:111:f403:c20a::7;\n helo=pa4pr04cu001.outbound.protection.outlook.com;\n envelope-from=shengjiu.wang@nxp.com; receiver=lists.ozlabs.org)", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzfPQ2cNnz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 18:52:09 +1000 (AEST)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fzfPM6z7gz2yr0;\n\tMon, 20 Apr 2026 18:52:07 +1000 (AEST)", "from PA4PR04CU001.outbound.protection.outlook.com\n (mail-francecentralazlp170130007.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c20a::7])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange secp256r1 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fzfPK3C7Yz2ySf\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 20 Apr 2026 18:52:04 +1000 (AEST)", "from AM0PR04MB7044.eurprd04.prod.outlook.com (2603:10a6:208:191::20)\n by DU2PR04MB8838.eurprd04.prod.outlook.com (2603:10a6:10:2e1::16) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Mon, 20 Apr\n 2026 08:51:40 +0000", "from AM0PR04MB7044.eurprd04.prod.outlook.com\n ([fe80::bab2:d15c:fcf8:ef2b]) by AM0PR04MB7044.eurprd04.prod.outlook.com\n ([fe80::bab2:d15c:fcf8:ef2b%4]) with mapi id 15.20.9818.032; Mon, 20 Apr 2026\n 08:51:40 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776675127;\n\tcv=pass;\n b=eez52In1tMRU15Duiw1/ulNeUQ21JeYf8K07U0sUzjBhytrMiNpFmGKkFMgNwHvB1aun4AQYYzfzYbJminIe7AzIHUuyHYVe2eHRWs0zB3ososTo6dvFWKHPcTr05PPlTl4daugv+BQlhgHgHawhG/jjrDQVZVlDs75/szEwmclJpdrsLxQ9v2m9BvA2TgOpOodQAKQIiiDX3q7ZpYtRxGP2wNBJ40vBwePkf3BlxBu/fT3Nv/7mQ1R/eoJQ/STP7Qul41rlo64shVnkGyhXa/Zt6LYLEZ7GEcAzqBApWRXweidOLw8EzCASVLGKu9UaTh9RM9IYVgqEt7Fr87uEgg==", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=qSpSawofHsz6fgyFaLUXOva0DnefCTotZUaNNnKfmH7ovV6cqkgQyHvL/2rU2D0Sl/YBinzR9Zn5GV6PlFNzNkviAFtbj6cj1OpXehgN/PNjkbWLmRoRj5/jvloC6rKQXuqJHBF/gKKamxrXt44/dJwH6qqQQTEs7it7T31pK004fW80XrFE5SUlfKRrN/HO6FYvJ0mmXHJcyR7F4fj9AfJtulpY0f4iaMNC2oGNCwjfkMTjVEcxaYJbdg0/BSieBV03H+AXGrhzd25OFn3owjjhFQCi7UP+6hBVRCDo13JpXgKozOnc8NZp8tHPhVpoBtOlIHVVD2/Sn4HbCIn04A==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776675127; c=relaxed/relaxed;\n\tbh=T6emW6ddv4wDTyYDqA4vz94bIXT8T4uoqcpcgifKUQs=;\n\th=From:To:Subject:Date:Message-Id:Content-Type:MIME-Version;\n b=LgyGl86xXvUCObnAJCZZNNXk5DXlZArJqCpyQ3a7U7WI4IdQaLktkdXbv6nV5e3PbbhmIl9LUTthN9AOInCrHkj5A9cGoMDWXjc8UKEJJg+JZrYL98Ide70Bbal/Z2Met17445jVZuxG65fCv5DKUF1aU0xMr+k9Sd26KOyEIztRoc7xb+eNH/L8hZQXPjdsYu1pZBJbNVv1D2hJgg/U6R/Hdq/4uUdGN1kLLXDC2g01B8ipEjDdy6NFbJdYGQFlqtSIV5hn8EExfgA8VyW3RRY9l5IS7Bq4KFYHz3mjHGK1a5EVOmuaWQ0Su0aTVd0O86im5eivIEyMojJf9MaL5w==", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=T6emW6ddv4wDTyYDqA4vz94bIXT8T4uoqcpcgifKUQs=;\n b=Kd0b1Yz/S6shcHHCYcv5YAYeHIaNSaGX75ekP/sI3Ph6eSnOV+m5vGJgQ0tDlybnEYO9MUGnBe26GIlhwZEAZmC08RWk4WCr8/swTKlEeYh7WMfOJfhrMfM0bJBqTqnqKf7pzZiKsPscif5QvosebK15b3z3IV0cz/078/tJijduKjbXQ9t/hsmBEYZ6C1hp4UrjkFPw8lr3prKzaz+mudCRsz+vSgCopMXm0EsOl5FuhY9VhupiBOiEd13UK1KePFJKXPvZHo+b0E1pnhX1a/Y+c2eQWM5f33C8GMo6qMIXrVjJnUuRu/7ymhLH0uKgLRhk9GoKCqG7z+gCjGYa0A==" ], "ARC-Authentication-Results": [ "i=2; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com; dkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=V519Cloj; dkim-atps=neutral;\n spf=permerror (client-ip=2a01:111:f403:c20a::7;\n helo=pa4pr04cu001.outbound.protection.outlook.com;\n envelope-from=shengjiu.wang@nxp.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=nxp.com", "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=T6emW6ddv4wDTyYDqA4vz94bIXT8T4uoqcpcgifKUQs=;\n b=V519ClojMSnKDECMAxx4gh57OPNCYluMNw6RLBfNW/GHmr1rIFswPPrqNHVrIgce9V/ocWEj+Mdqmgyp0ZufVdKfl5WAQNOq1okJe6Pk3yz5YzRN3fwuFFxMo2lhTnuhdL061BnC6DIa6eR/5mmTU7x7vR72f2DSO19+6UEONukMANMU/5TJOVvGVN40Kw4DwMBsLVjDAgSGtCikOnI83p7N6mEN9LRlsNoaiOcQWB25ZsnrzIN1UE8gMB+ABnhHoIL78i9Q8q0poJppNM3zJy4R5yNZftYLwcJNlP8sZOVe6wx/1UPySlkZPwrVIRCU3ayh5Nwmbg8BrXuqQSpDwA==", "From": "Shengjiu Wang <shengjiu.wang@nxp.com>", "To": "shengjiu.wang@gmail.com,\n\tXiubo.Lee@gmail.com,\n\tfestevam@gmail.com,\n\tnicoleotsuka@gmail.com,\n\tlgirdwood@gmail.com,\n\tbroonie@kernel.org,\n\tperex@perex.cz,\n\ttiwai@suse.com,\n\tlinux-sound@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-kernel@vger.kernel.org", "Subject": "[PATCH] ASoC: fsl_micfil: Add DC output remover control", "Date": "Mon, 20 Apr 2026 16:53:44 +0800", "Message-Id": "<20260420085344.2081805-1-shengjiu.wang@nxp.com>", "X-Mailer": "git-send-email 2.37.1", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "MA5PR01CA0182.INDPRD01.PROD.OUTLOOK.COM\n (2603:1096:a01:1a9::8) To AM0PR04MB7044.eurprd04.prod.outlook.com\n (2603:10a6:208:191::20)", "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org", "List-Id": "<linuxppc-dev.lists.ozlabs.org>", "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>", "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>", "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>", "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n <https://lists.ozlabs.org/pipermail/linuxppc-dev/>", "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>", "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>", "Precedence": "list", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM0PR04MB7044:EE_|DU2PR04MB8838:EE_", "X-MS-Office365-Filtering-Correlation-Id": "46314302-c3b1-411f-a0e4-08de9eba09c0", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|366016|1800799024|376014|7416014|52116014|19092799006|921020|38350700014|56012099003|18002099003;", "X-Microsoft-Antispam-Message-Info": "\n\tMyoK0B028WYZxCc3hB2+zVHGK3rN5gLMrIaa7Q/lDXqSBdlPGxLm6wPWbXYF4/Kf1EUln1w30rqHlO6PbQIJ0vhPaTVyb0MJ+bX5pKKu/Qx+BWT3wgpBkwxQqOtu6XTQ0+IPHWgHnb5REj76wa3SL/pbuDAdRPmi3vZ9/5D19KcdruxX3GLehfXc4+JYuCK5bW2h8T7tsl2ioWI3CFTVYWP4L/gA+Vuotooa9YRMyjHqBFYPqYfIivLFTM1m9TD3h3g9bcV4Uz3gqkwwSEJ7qUcSemA9VPP4hd4wNh5L2Ml8pAusLpmVB4wEBQs2g206t7oj+zfbJE81QFuKANEzl6IIi6Fkg0t3y9zOYIz/ZtBmf+PYzotNwA8KvVMJTJb6Cf8UYJHe30QEUrsRNcHEefnNY4o0qB8iy7fKXblZ2v2poE/OZMaHnwKTJ8InBNgOMRTP/HSCu50bB929LlvN8QxBZZBenUz2EFRJBcdLtF0QyOjKWMhDk+rHED1QB6msKU8MjbkBdQOxUYXdpeWdn9gM9hgIUAguS12Zy0fP3PiMprt5iXhnfGl1DYC/sH1Dw1GwJH+hxX5JjHtc4SlQWn+OCEGeLbgFz+hx+D2RZlmaAtcupAIu31spYoE3szLZhiw7VCf9+t1af8JR/Hau99eCO2z3SmOzJ+M793bnS+JuqsfH9L3LMkSzMyucxXSEW3EXO8zGOhjgdMguRAdacDL5Om9+2hwI3PVeSDMyRF9QHzA/17DigiE5wAt4hu9woHiCpol+JWK4sofSnlYr6xOIUmr+UQQ8BnNtOkdycyxp3KR0FX/RkTd5XyXqrXoP", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB7044.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(52116014)(19092799006)(921020)(38350700014)(56012099003)(18002099003);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n 1OmqbM6jHPm+9a3Hw3XmminBQM43gy3Tis4px1Sb2l9MjucojHi7MtZDgah+LkHAJGVnAn/sdvJzCW6BumcE5Jfcj4eyZk+dEY/wWbCVKKWvDosRER9fVTVG6ScoqxlRki4V0hXjMYSfd7YHM1L+yLHyniSRPgT+fiy7PUOb9KqKsbxxhRLAIQaBnnyWrqK3ypJaOe4H3c+HjpOIFX7/u1qCYoNvr6v0hVVzrU5oRlIVqQms1TK6yA05rWWo+APCCemlTOriArXP+1Xd7blUKX35ZpHIsNQD9xp1LanOz0Lg0HhGY4AOJCvyV/JIflnfRo3UrEa5BwsyZuBPzmyoQMr4S7OlYBonuff3gLFYvL+7ttzVds3RRQ+bmYrJ3WFRDzEfHqKw5tikGgfLAFczTVNNF3wn0TOg4Dan7opODWX8xe6yPlJ30UIB9alKk37scrccAEzYe2dP6NGnayd6/gYjZSzUf/rqq9c0MwhbKSj67rCNq4B3jQlvN5iYGRilxFwvCSWWr07ewe7B5btE76YTOFMEyn1m/E1XbZ9R118/QnZikik1qz9EetaiCviPoqv9QMkQkrptIjj1Oc/8NHzFlaeMa9i/zqIH+nWUslS8R+XaqbocTazS8gx3SWlarmg22htViYbnDLoYdxPg9QdSZEgToy5692bqyfhxQjOzvr7i3JbTopauoR+2ud6xkrEd/l7dgiHqEQ0r9dMBB11F/knB/MC0zv6+v2CWDo1dSSenLOg3xNVOjsG5RAnHX+1sJRd80EraIQc7h5DFWE5dFRCsCwxG7RYB58pG2R33CN/tb+lR5rvHkWG+XckfzP58u2ATyaVSdmY6Onzv7ch6QB0GrgqPlRQs6iB/tUJrJ+czahaDh9yG8N6Fl3vnX9rkeIp4lGQqumBbv9jujLqel9wJmZlR4Fl//kkPH2/553beHAn642lvB/Jnsb2uoyW0SVySDx8I50itUVQzrwWytpmESaVneDk1h/wF4jnNks0B/iI8M1D/tY0J2JMToHjwFNwfiWNZOJ9aoS2GkTnu0conuu1R3iK9/yXvhQiQo5aa6hSm4l2yVFPoy73cUL0jjj7wHKq8pqMKadim5AKlVnNqgJ0eCDtdZMra6m7fSYQmDDKEqpVltyUjv4SgUnvbCB3sh//R3u/wLIhRNzUaTmCqWIvyeZhQHENavAHIfhl9Lun6eam2ZUgwq2ILpj1D+IUfRsgQZhRC7Wa2WUyNiAh/aUOUc3F7WR0Pqxj/uwHY60QBuN0F60twi6l5hgq/iOg6RvwMVbLxueBWSzxvW47ElZzsV1SOo0i+gzBzRxGoMVlodqrJzvCDIeYX3QNoaM+MV4hHN3iE7fp/UmsISKSzzKRtFHUArRqmmSkmv3+uwo4SHNVkmha5zfbd3BKFR3yy9u3kvhCPcAm8t4R0MX8eHvTkDIuvNTdqx+9GHsBsaB6N9hyvWikFUjL8tL9GBS1FhR8kOqbOlb30oJcKwjqFyvWVrKbY32TE1q+qp3RIcWnio/mgvUXzAKGbnqGzafmUofM5MFeBgrFSMFZgMRfpsQ4wOwIEFJfGG86Etn808KLZ1N3UbjMFSd3hqJ9eSPhsP4K/1bb+T6SUeFGhbaizJIV8unoW2XaUothvN53cmak6utNnlhYw6najglcpLj7UVzMA6kXbaV/yQiLaWvhnsS7AcuLGkQPrrpNtR3WELZ2mEI/rmqdBMGojs+WplSBimLC8e0P+QYs72w==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 46314302-c3b1-411f-a0e4-08de9eba09c0", "X-MS-Exchange-CrossTenant-AuthSource": "AM0PR04MB7044.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Apr 2026 08:51:40.0926\n (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n CWM2Wczm62bPe7dzfTnStcX/mWTxb2xAUx90MOa/YRad4UqvNqy0ehE0EryNwhUjxfLAkm5PTukBevR1lI+APQ==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DU2PR04MB8838", "X-Spam-Status": "No, score=0.8 required=3.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,\n\tRCVD_IN_DNSWL_NONE,SPF_HELO_PASS,T_SPF_PERMERROR autolearn=disabled\n\tversion=4.0.1 OzLabs 8", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "Add support for the DC output remover feature available on i.MX93 and\nnewer platforms. This allows users to configure the output DC removal\nfilter with cut-off frequencies of 20Hz, 13.3Hz, 40Hz, or bypass it\nentirely.\n\nThe control is exposed as an ALSA mixer control and defaults to bypass\nmode. It is only available on platforms with the use_verid flag set\n(i.MX93+).\n\nSigned-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>\n---\n sound/soc/fsl/fsl_micfil.c | 79 ++++++++++++++++++++++++++++++++++++++\n sound/soc/fsl/fsl_micfil.h | 1 +\n 2 files changed, 80 insertions(+)", "diff": "diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c\nindex 2e887f1f1f36..60ac8eabab9d 100644\n--- a/sound/soc/fsl/fsl_micfil.c\n+++ b/sound/soc/fsl/fsl_micfil.c\n@@ -74,6 +74,7 @@ struct fsl_micfil {\n \tint irq[MICFIL_IRQ_LINES];\n \tenum quality quality;\n \tint dc_remover;\n+\tint dc_out_remover;\n \tint vad_init_mode;\n \tint vad_enabled;\n \tint vad_detected;\n@@ -347,6 +348,11 @@ static const char * const micfil_dc_remover_texts[] = {\n \t\"Cut-off @152Hz\", \"Bypass\",\n };\n \n+static const char * const micfil_dc_out_remover_texts[] = {\n+\t\"Cut-off @20Hz\", \"Cut-off @13.3Hz\",\n+\t\"Cut-off @40Hz\", \"Bypass\",\n+};\n+\n static const struct soc_enum hwvad_enable_enum =\n \tSOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_hwvad_enable),\n \t\t\t micfil_hwvad_enable);\n@@ -360,6 +366,9 @@ static const struct soc_enum hwvad_hpf_enum =\n static const struct soc_enum fsl_micfil_dc_remover_enum =\n \tSOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_dc_remover_texts),\n \t\t\t micfil_dc_remover_texts);\n+static const struct soc_enum fsl_micfil_dc_out_remover_enum =\n+\tSOC_ENUM_SINGLE_EXT(ARRAY_SIZE(micfil_dc_out_remover_texts),\n+\t\t\t micfil_dc_out_remover_texts);\n \n static int micfil_put_dc_remover_state(struct snd_kcontrol *kcontrol,\n \t\t\t\t struct snd_ctl_elem_value *ucontrol)\n@@ -405,6 +414,50 @@ static int micfil_get_dc_remover_state(struct snd_kcontrol *kcontrol,\n \treturn 0;\n }\n \n+static int micfil_put_dc_out_remover_state(struct snd_kcontrol *kcontrol,\n+\t\t\t\t\t struct snd_ctl_elem_value *ucontrol)\n+{\n+\tstruct soc_enum *e = (struct soc_enum *)kcontrol->private_value;\n+\tstruct snd_soc_component *comp = snd_kcontrol_chip(kcontrol);\n+\tstruct fsl_micfil *micfil = snd_soc_component_get_drvdata(comp);\n+\tunsigned int *item = ucontrol->value.enumerated.item;\n+\tint val = snd_soc_enum_item_to_val(e, item[0]);\n+\tint i = 0, ret = 0;\n+\tu32 reg_val = 0;\n+\n+\tif (val < 0 || val > 3)\n+\t\treturn -EINVAL;\n+\n+\tret = pm_runtime_resume_and_get(comp->dev);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tmicfil->dc_out_remover = val;\n+\n+\t/* Calculate total value for all channels */\n+\tfor (i = 0; i < MICFIL_OUTPUT_CHANNELS; i++)\n+\t\treg_val |= val << MICFIL_DC_CHX_SHIFT(i);\n+\n+\t/* Update DC Remover mode for all channels */\n+\tret = snd_soc_component_update_bits(comp, REG_MICFIL_DC_OUT_CTRL,\n+\t\t\t\t\t MICFIL_DC_CTRL_CONFIG, reg_val);\n+\n+\tpm_runtime_put_autosuspend(comp->dev);\n+\n+\treturn ret;\n+}\n+\n+static int micfil_get_dc_out_remover_state(struct snd_kcontrol *kcontrol,\n+\t\t\t\t\t struct snd_ctl_elem_value *ucontrol)\n+{\n+\tstruct snd_soc_component *comp = snd_kcontrol_chip(kcontrol);\n+\tstruct fsl_micfil *micfil = snd_soc_component_get_drvdata(comp);\n+\n+\tucontrol->value.enumerated.item[0] = micfil->dc_out_remover;\n+\n+\treturn 0;\n+}\n+\n static int hwvad_put_enable(struct snd_kcontrol *kcontrol,\n \t\t\t struct snd_ctl_elem_value *ucontrol)\n {\n@@ -525,6 +578,11 @@ static const struct snd_kcontrol_new fsl_micfil_volume_sx_controls[] = {\n \t\t\t MICFIL_OUTGAIN_CHX_SHIFT(7), 0x8, 0xF, gain_tlv),\n };\n \n+static const struct snd_kcontrol_new fsl_micfil_dc_out_controls[] = {\n+\tSOC_ENUM_EXT(\"MICFIL DC Out Remover Control\", fsl_micfil_dc_out_remover_enum,\n+\t\t micfil_get_dc_out_remover_state, micfil_put_dc_out_remover_state),\n+};\n+\n static const struct snd_kcontrol_new fsl_micfil_snd_controls[] = {\n \tSOC_ENUM_EXT(\"MICFIL Quality Select\",\n \t\t fsl_micfil_quality_enum,\n@@ -1047,6 +1105,19 @@ static int fsl_micfil_dai_probe(struct snd_soc_dai *cpu_dai)\n \t}\n \tmicfil->dc_remover = MICFIL_DC_BYPASS;\n \n+\tif (micfil->soc->use_verid) {\n+\t\tval = 0;\n+\t\tfor (i = 0; i < MICFIL_OUTPUT_CHANNELS; i++)\n+\t\t\tval |= MICFIL_DC_BYPASS << MICFIL_DC_CHX_SHIFT(i);\n+\t\tret = regmap_update_bits(micfil->regmap, REG_MICFIL_DC_OUT_CTRL,\n+\t\t\t\t\t MICFIL_DC_CTRL_CONFIG, val);\n+\t\tif (ret) {\n+\t\t\tdev_err(dev, \"failed to set DC OUT Remover mode bits\\n\");\n+\t\t\treturn ret;\n+\t\t}\n+\t\tmicfil->dc_out_remover = MICFIL_DC_BYPASS;\n+\t}\n+\n \tsnd_soc_dai_init_dma_data(cpu_dai, NULL,\n \t\t\t\t &micfil->dma_params_rx);\n \n@@ -1071,6 +1142,10 @@ static int fsl_micfil_component_probe(struct snd_soc_component *component)\n \t\tsnd_soc_add_component_controls(component, fsl_micfil_range_controls,\n \t\t\t\t\t ARRAY_SIZE(fsl_micfil_range_controls));\n \n+\tif (micfil->soc->use_verid)\n+\t\tsnd_soc_add_component_controls(component, fsl_micfil_dc_out_controls,\n+\t\t\t\t\t ARRAY_SIZE(fsl_micfil_dc_out_controls));\n+\n \treturn 0;\n }\n \n@@ -1117,6 +1192,7 @@ static const struct reg_default fsl_micfil_reg_defaults[] = {\n \t{REG_MICFIL_DATACH6,\t\t0x00000000},\n \t{REG_MICFIL_DATACH7,\t\t0x00000000},\n \t{REG_MICFIL_DC_CTRL,\t\t0x00000000},\n+\t{REG_MICFIL_DC_OUT_CTRL,\t0x00000000},\n \t{REG_MICFIL_OUT_CTRL,\t\t0x00000000},\n \t{REG_MICFIL_OUT_STAT,\t\t0x00000000},\n \t{REG_MICFIL_VAD0_CTRL1,\t\t0x00000000},\n@@ -1143,6 +1219,7 @@ static const struct reg_default fsl_micfil_reg_defaults_v2[] = {\n \t{REG_MICFIL_DATACH6 - 0x4,\t0x00000000},\n \t{REG_MICFIL_DATACH7 - 0x4,\t0x00000000},\n \t{REG_MICFIL_DC_CTRL,\t\t0x00000000},\n+\t{REG_MICFIL_DC_OUT_CTRL,\t0x00000000},\n \t{REG_MICFIL_OUT_CTRL,\t\t0x00000000},\n \t{REG_MICFIL_OUT_STAT,\t\t0x00000000},\n \t{REG_MICFIL_VAD0_CTRL1,\t\t0x00000000},\n@@ -1179,6 +1256,7 @@ static bool fsl_micfil_readable_reg(struct device *dev, unsigned int reg)\n \tcase REG_MICFIL_VAD0_NDATA:\n \tcase REG_MICFIL_VAD0_ZCD:\n \t\treturn true;\n+\tcase REG_MICFIL_DC_OUT_CTRL:\n \tcase REG_MICFIL_FSYNC_CTRL:\n \tcase REG_MICFIL_VERID:\n \tcase REG_MICFIL_PARAM:\n@@ -1210,6 +1288,7 @@ static bool fsl_micfil_writeable_reg(struct device *dev, unsigned int reg)\n \tcase REG_MICFIL_VAD0_NCONFIG:\n \tcase REG_MICFIL_VAD0_ZCD:\n \t\treturn true;\n+\tcase REG_MICFIL_DC_OUT_CTRL:\n \tcase REG_MICFIL_FSYNC_CTRL:\n \t\tif (micfil->soc->use_verid)\n \t\t\treturn true;\ndiff --git a/sound/soc/fsl/fsl_micfil.h b/sound/soc/fsl/fsl_micfil.h\nindex fdfe4e7125bc..e271c6073f42 100644\n--- a/sound/soc/fsl/fsl_micfil.h\n+++ b/sound/soc/fsl/fsl_micfil.h\n@@ -22,6 +22,7 @@\n #define REG_MICFIL_DATACH6\t\t0x3C\n #define REG_MICFIL_DATACH7\t\t0x40\n #define REG_MICFIL_DC_CTRL\t\t0x64\n+#define REG_MICFIL_DC_OUT_CTRL\t\t0x68\n #define REG_MICFIL_OUT_CTRL\t\t0x74\n #define REG_MICFIL_OUT_STAT\t\t0x7C\n #define REG_MICFIL_FSYNC_CTRL\t\t0x80\n", "prefixes": [] }