From nobody Sat Oct 11 00:29:01 2025 Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85789222581 for ; Thu, 12 Jun 2025 07:49:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714573; cv=none; b=qZSVoL8zKEcMqV9GQIMbbvaeIrM5EUcNUY5j/JZlmVi/+UugE1QTPzjwHtbgSXqI5rQjpwV76YghZsFFjlALQhXl06HpzwZIZK2Wc91fQYdobsfi6rfY89KUK4AmtqNr9EIkVv/RCQTnyfOUOOvheKigpFVxFO2oxexcSC2kMh8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714573; c=relaxed/simple; bh=Ie80HTTPb+7v61cu0NKdu4+VZ8h0CVPuFDYFuq8/l3c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=i4AiNpJAl2hHarIuJDpmxuRuMI6oXAuE0GtF+hFk2ThrZ+d1O2qoXtGsUYTDnuVOQrJj7eSN+tqNw2jAcitbVX8cd0fev/R5iaC1znuu7M/vVwTozKliv/vVHaJv3ZXhdlxEkfNhG4WmY4K+VyHXvJT5GyefyTpj2shCWIj94GQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=Mgz6KTxz; arc=none smtp.client-ip=209.85.167.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="Mgz6KTxz" Received: by mail-oi1-f178.google.com with SMTP id 5614622812f47-40669fd81b5so409507b6e.1 for ; Thu, 12 Jun 2025 00:49:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714570; x=1750319370; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7dZevLz3MchUHKLeflzToo/+N7rtScyOYND88JFbOUY=; b=Mgz6KTxzSWC5cH/BPVYyceX6i2J6/E7wwmffJyT3RVQXFseTv4MgTcqxj4n+6kxgoW aZ1yu8pTLoxKRA5tlEQLrAN8VC8+HFLgpU6xOVDSIU70fUAlZYB696erZlmR/Wrcos6t lNgHD+eBN+f9wk2cyt+iBuBJxbezVVs3EmIo4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714570; x=1750319370; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7dZevLz3MchUHKLeflzToo/+N7rtScyOYND88JFbOUY=; b=Q4CuYBuRE9LlDmFG6w1BG0rTTJWPyENH1iLgVXktbLZInsvbi0B/vKOmRo1AIpYPdW r1hllIXJO/CbsmW0ss5kF5bBV3+evaY/J94ac72zSHaqUedlrUAHH2a6hipvpciQn/Gf pl8uGIuNvO8L8qlubWlJ17WpWvfXycRrWefjZTwPhePcjwSUCW7FPCLNwi/KsU1PZgHT HtJpp/yRTCERhM9k1KPfvjRbiKcea3im+oe9IVIuntcZkDgHqv93xGosTfMaS9GS4rfu a3mA9nvNxTYMNH83vztnZr6xHl3yePEOd8Kg/dfny6cFLvCzP2U8/o1TC3wuxL9yfb2l axiw== X-Forwarded-Encrypted: i=1; AJvYcCVmOpgiagrmjz+5WNbn/nHAEdgrIG8cHlUAzxzpdvWNGcZCo7hqFa//JSagNhzpUa06/f3DygQpVi80Vqk=@vger.kernel.org X-Gm-Message-State: AOJu0YyhXYOtlxBXu/mNtVWnlN/4Azq+08LbLoAQNLu63T0wcMKPSVKd 2SiUY61qug2731ZyRQMAakvvJ1Mj9tbdtfELUhQewDQKZ1YJUBPcooX2qvcP0QjaU2ie+2whYa8 Yj/c= X-Gm-Gg: ASbGnctaOLDpn4f42ECLD1xrW87R1AL9H5kumN4I2lA8C+Zx5R72d5IPY4jL/ljHeX2 ktuyMIi3X7B48I0EVL4Z/ypxrvBH+AM8VpoIDjEjAYbhr7aCN13/Fysh/ggfz6oDRns1jnVNd8T HaH19ruvA+JV+Tq+M9n6L01TOBtrFM7Ga+D03zapaQCVXGJkiu5IBGhRcXKYZJ+40+i6noQKr8s cmXIJgM0kb39btgyrWl0LbP805DxvCDEg2KGo/ndMyNoyTqHbLzUHNoAFfUSqd60EeoAGdV8tmT ZPOJaGkmbejEv/RgNmCxS1dPpfH2+PuwW3wWN4GQU8xzMWcw46TAtz6bawSGpWJsVSv1HJEvEVN JOJ4= X-Google-Smtp-Source: AGHT+IHec1zUXIa5nP38bZlEL08BVN/XVUdoN70CGx527A+qcXzcKljkY/6lP9dS1yxTSifW5ZVikg== X-Received: by 2002:a17:902:ccc8:b0:234:e7aa:5d9b with SMTP id d9443c01a7336-2364d676a85mr32691565ad.23.1749714557205; Thu, 12 Jun 2025 00:49:17 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:16 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Trevor Wu , Krzysztof Kozlowski Subject: [PATCH v3 1/9] ASoC: dt-bindings: Convert MT8173 AFE binding to dt-schema Date: Thu, 12 Jun 2025 15:48:52 +0800 Message-ID: <20250612074901.4023253-2-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert the MT8173 AFE (audio frontend) binding from text to dt-schema in YAML. "clocks" is added to the list of required properties to match "clock-names". And the example was slightly fixed up in style. Otherwise everything is as before. A contributer and maintainer for a recently added MediaTek audio binding was chosen instead of the original submitter. Cc: Trevor Wu Reviewed-by: Krzysztof Kozlowski Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- .../sound/mediatek,mt8173-afe-pcm.yaml | 87 +++++++++++++++++++ .../devicetree/bindings/sound/mtk-afe-pcm.txt | 45 ---------- 2 files changed, 87 insertions(+), 45 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8173= -afe-pcm.yaml delete mode 100644 Documentation/devicetree/bindings/sound/mtk-afe-pcm.txt diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pc= m.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.ya= ml new file mode 100644 index 000000000000..a95215ba6361 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/mediatek,mt8173-afe-pcm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mediatek AFE PCM controller for MT8173 + +maintainers: + - Trevor Wu + +properties: + compatible: + const: mediatek,mt8173-afe-pcm + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + items: + - description: audio infra sys clock + - description: audio top mux + - description: audio intbus mux + - description: apll1 clock + - description: apll2 clock + - description: i2s0 mclk mux + - description: i2s1 mclk mux + - description: i2s2 mclk mux + - description: i2s3 mclk mux + - description: i2s3 bclk mux + + clock-names: + items: + - const: infra_sys_audio_clk + - const: top_pdn_audio + - const: top_pdn_aud_intbus + - const: bck0 + - const: bck1 + - const: i2s0_m + - const: i2s1_m + - const: i2s2_m + - const: i2s3_m + - const: i2s3_b + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + #include + #include + #include + + mt8173-afe-pcm@11220000 { + compatible =3D "mediatek,mt8173-afe-pcm"; + reg =3D <0x11220000 0x1000>; + interrupts =3D ; + clocks =3D <&infracfg CLK_INFRA_AUDIO>, + <&topckgen CLK_TOP_AUDIO_SEL>, + <&topckgen CLK_TOP_AUD_INTBUS_SEL>, + <&topckgen CLK_TOP_APLL1_DIV0>, + <&topckgen CLK_TOP_APLL2_DIV0>, + <&topckgen CLK_TOP_I2S0_M_SEL>, + <&topckgen CLK_TOP_I2S1_M_SEL>, + <&topckgen CLK_TOP_I2S2_M_SEL>, + <&topckgen CLK_TOP_I2S3_M_SEL>, + <&topckgen CLK_TOP_I2S3_B_SEL>; + clock-names =3D "infra_sys_audio_clk", + "top_pdn_audio", + "top_pdn_aud_intbus", + "bck0", + "bck1", + "i2s0_m", + "i2s1_m", + "i2s2_m", + "i2s3_m", + "i2s3_b"; + }; diff --git a/Documentation/devicetree/bindings/sound/mtk-afe-pcm.txt b/Docu= mentation/devicetree/bindings/sound/mtk-afe-pcm.txt deleted file mode 100644 index e302c7f43b95..000000000000 --- a/Documentation/devicetree/bindings/sound/mtk-afe-pcm.txt +++ /dev/null @@ -1,45 +0,0 @@ -Mediatek AFE PCM controller - -Required properties: -- compatible =3D "mediatek,mt8173-afe-pcm"; -- reg: register location and size -- interrupts: Should contain AFE interrupt -- clock-names: should have these clock names: - "infra_sys_audio_clk", - "top_pdn_audio", - "top_pdn_aud_intbus", - "bck0", - "bck1", - "i2s0_m", - "i2s1_m", - "i2s2_m", - "i2s3_m", - "i2s3_b"; - -Example: - - afe: mt8173-afe-pcm@11220000 { - compatible =3D "mediatek,mt8173-afe-pcm"; - reg =3D <0 0x11220000 0 0x1000>; - interrupts =3D ; - clocks =3D <&infracfg INFRA_AUDIO>, - <&topckgen TOP_AUDIO_SEL>, - <&topckgen TOP_AUD_INTBUS_SEL>, - <&topckgen TOP_APLL1_DIV0>, - <&topckgen TOP_APLL2_DIV0>, - <&topckgen TOP_I2S0_M_CK_SEL>, - <&topckgen TOP_I2S1_M_CK_SEL>, - <&topckgen TOP_I2S2_M_CK_SEL>, - <&topckgen TOP_I2S3_M_CK_SEL>, - <&topckgen TOP_I2S3_B_CK_SEL>; - clock-names =3D "infra_sys_audio_clk", - "top_pdn_audio", - "top_pdn_aud_intbus", - "bck0", - "bck1", - "i2s0_m", - "i2s1_m", - "i2s2_m", - "i2s3_m", - "i2s3_b"; - }; --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00974220F50 for ; Thu, 12 Jun 2025 07:49:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714562; cv=none; b=HbER1Ae83TDp2SvRB6GX1ie3eI3OwOHFPoR2cZgbvmSpYknSnz70zbsHn698zPNDJSE9x7XIyktNg1oKnoW40wCFBdUytDUNNekLae3JGA3yl1iZ16cwLiYWf996/xdqebqBcGF25MJduAZJGjWe4sShDDFBpUFTk1sH4IWDgmA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714562; c=relaxed/simple; bh=M6CossAzrTItIWAzn1A9+kxxQ8xCK/jJ8XqU64/5Zf8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rCFrL+HZrlgdORo1G98khmQXIDJXWyPRobhjFBHfezDxuvQPSCaUk+wed0qRRx6Re2jAjU6S5crR5E0Szz3xSf7GMA27tCakc2I5Av2TABQXxJcGgo4kfxyTY2qWmFBGjfZkcdHeAQa0UeQjP7HQ4Nkds4MP2RsQn/3arv/LA4E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=QpMq05/2; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="QpMq05/2" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-23602481460so6727475ad.0 for ; Thu, 12 Jun 2025 00:49:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714560; x=1750319360; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hYQyoxfiAVqopjQvGW02GMsvVlG13E9Tz7Vl2Ymi3WE=; b=QpMq05/2z0Omoetd1k2lkYpR5mgNnSVKYnFD96tlVCx3UOsgllXd/gTeyw2iLXoGsg PQfj4eTdL0UiPNTFYIkujWcpQUV1SfJ9EdRsdSk9bKe9QeX8xqR0YTzTUJCiDiZ7mHqJ xUn9fp6+ytjSwG44KQ0/ve6hmOhsBzJw8UsoY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714560; x=1750319360; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hYQyoxfiAVqopjQvGW02GMsvVlG13E9Tz7Vl2Ymi3WE=; b=w8ntWw+Gf6fSfrTXwlM1xB7I5b+4+clOW0RnGGrfAqhTWV+q8SXBNnBYac9nBQUCN3 ncx+fNyzlpH/u1CRRznPdfgdvTZq44cjE13hZJGBtPKqgUAv5cK3ubvb2eeixzxng3/m dSv4RBeNc/rRGxg94UGqC+npmOUOswrCPgQFQRkOscDVs5Bsy48Mwc6t0vA+xydVuAeN oBjEwz/80R2x/QotCtAhDqWlsrH7NVco8TSKKzZEVmynvUZQ9LZlbmnNi+eepl4J+onD 6xqgGZvaSJ7zJsRvtblEs3c9J73ENx73Rfg79Xtgo9Vn/GYnSRi7k9DXTe1YX9zi7V5T r8Ww== X-Forwarded-Encrypted: i=1; AJvYcCUcC2szhxK3UDrX9zObWll9FbYMZcKGGNnnoOfaCo8vhWvH9rJ0aAmJ2PnUIcIXWTwKLq126xgJRfyDTI4=@vger.kernel.org X-Gm-Message-State: AOJu0Yxvaw+RmoxTvTjdk0ifpa2i2082r9bZiOmX/ZRD+HA2Br3unGAp XPI1uNfG5HBg7bGNPqgFpJVwqEClHb2Gz0CUA7x/nn6xg/pPgYGQPlNMi4NUUwF3xg== X-Gm-Gg: ASbGncu/ZjVOVV1Z3Ftn+0UivumTvJUTH1v0rzQGIyXUhE2qYYMFodG81OT6SSzoFC7 ghyiELi7ytIvT7NE67dWa8X0nl6GwaILhS3n+FhOZ+JohOYK4aR9g+spiT7g0Gygd46/yFLD3eZ fC9ICblXoy2HtgGiqaaduIfKxRsnD4YkODaCcx/+GYdMphAChurkEWsszlRFxCHaj1seaTo4QJ+ 36H/gMSD1OFwerIxymbKOZ6ScRPr0fqhiTIZBoorIafpdYP2ZOgNX8GQEsTY9Zl9Rk8O1U8pVl0 D7BV0qAeQ2D0KrPawfZnfH2Brotb0dSGASCiQu+fnbDd8WigDMBRrWcJEGAu/ucOIV1eMBKnl0M xLwg= X-Google-Smtp-Source: AGHT+IFaK/aSeTPU1FVSUiJwy75RRBlflMYnV4oLKYPHyMqt0+SId2lcqzKkgBqwPYhNLtKoxyy+Ag== X-Received: by 2002:a17:902:d60d:b0:223:4537:65b1 with SMTP id d9443c01a7336-23641b28de4mr102187465ad.36.1749714560273; Thu, 12 Jun 2025 00:49:20 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:19 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 2/9] ASoC: dt-bindings: mt8173-afe-pcm: Add power domain Date: Thu, 12 Jun 2025 15:48:53 +0800 Message-ID: <20250612074901.4023253-3-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The audio subsystem sits under a controllable power domain. Add it to the binding. Acked-by: Rob Herring (Arm) Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- .../devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pc= m.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.ya= ml index a95215ba6361..666408d32f5c 100644 --- a/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml @@ -45,12 +45,16 @@ properties: - const: i2s3_m - const: i2s3_b =20 + power-domains: + maxItems: 1 + required: - compatible - reg - interrupts - clocks - clock-names + - power-domains =20 additionalProperties: false =20 @@ -59,11 +63,13 @@ examples: #include #include #include + #include =20 mt8173-afe-pcm@11220000 { compatible =3D "mediatek,mt8173-afe-pcm"; reg =3D <0x11220000 0x1000>; interrupts =3D ; + power-domains =3D <&spm MT8173_POWER_DOMAIN_AUDIO>; clocks =3D <&infracfg CLK_INFRA_AUDIO>, <&topckgen CLK_TOP_AUDIO_SEL>, <&topckgen CLK_TOP_AUD_INTBUS_SEL>, --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 160E622156B for ; Thu, 12 Jun 2025 07:49:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714565; cv=none; b=o+1CUEZRYXqkbRjylzvCLR4h12WGFHRaLSRkA1gKGA4NgBLwEK+yk9pM5afENo3BrrRm+NL+Zr27oHU/PRp7fA7EZKLgquMeDzyXAjpFmnI41wAnKXIlGmDW6qEdqCrxu9nVqi5v51M/q+QnRwbx8loMqH1XNqJzsD0Y1is0x5A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714565; c=relaxed/simple; bh=lybc9W6Ru2g35FCl7tbh/0HER58S9785YR+C4VsyJks=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g+3uNkpcBHalVxYWPCR47zNA/v1BMjv23D7ZwrCfXFbPCNtLNVRaqkTs7Y1EMGyke3PfsA5fECBu+hcxbom330kip+9+DJMeKeGTszW06hZK2fPh1wiqvMPiiz3XRwBX12PddVi3ggz+2c5Ch2Bb3UsCEbHxnTjHjYFB8HDKjfA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=GqUHbFbl; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="GqUHbFbl" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-235f9ea8d08so6472015ad.1 for ; Thu, 12 Jun 2025 00:49:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714563; x=1750319363; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8rmXxgdE5Y76+Q2Sd3HDIMfBzQR9l3cd66jsguV0wzs=; b=GqUHbFblYGohkfQRjGfR1legR6wNquH5dFtmetAN1T8hhsJixH543l0elRO7f6XddV y35p95+H34d1gEabntLOoLL6w8U2ML6xVRgzeFglzCscq14KVLm6/JIfeYpWprji7NKO QI/QmhLmdzI4IHUC2gelYhP1rRxIk02b4yNUM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714563; x=1750319363; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8rmXxgdE5Y76+Q2Sd3HDIMfBzQR9l3cd66jsguV0wzs=; b=t+N3nkCvkaIXl3KHxabq5SuVti2QLczXMrDZkEq5Zc+vGc1dueRqTAJLg44N6rYVfT VcASqqv4bxLez3mbadvv2Knqp/uJLE/ud1nEkzgGakHj3zytV7A8jw3/0fmwmjMf4LY7 SHA6UPn93AqdxPyUSEQYsBtI9SF3JYsh+0wNUaRmAuvHxOAkH3eCPB7nC7b5SBSz76vO j6G6BXJ1NXF6q6WH62paAJICYcdZEPP7UwpaUUMxeTUJ6j+0EhfBkpu7Ahpp5VMJOgsa oGBQ323XrVsZDdaqCMTA4msWRfbAZqO8nnoo/VGjuuiqgoV8H/g8M6McR+4iNXvPCKoq sOAA== X-Forwarded-Encrypted: i=1; AJvYcCX5+wAz7GzEvX5+zJ3mUdc3YpzvH+RKB3EewW34mFgg2flLPjbIzzvJ+eFieS8o4kwYH4qVIXAprcwfOpQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0Lh1fHCCqpsDqrrWmJwtp0sL28SWFhWwLLYYo0Zs+x49nHsA7 OswMxCHKClG1NDcYQ2aumEKT7MXaTRe4gEwRg3xel8PFGh7q12zEUulPlwqd8JcvxA== X-Gm-Gg: ASbGncsBCkpngKbKf+z7EXuIgHkSoe/YlZx2SCXzMcPuMGsB5A68Aalyd6exsR/MGm9 WKL3BBQtm+ckv/3ML/VA68lxt6Rd2LsgtuFoab+p7D4ocDTG1eeYEcEi72ypUz+mZ0hLyQ7hmS2 BaPkIYM6laM7YgGINpmAwVWGe/zfwNYv2lqaNfv5cTbfKiqgQPz8nZFVgPVoLtI7U6a3bLW2H7l NSKi8/B4Oi9P6OyYRBs5GLp5hqkcY0EPtMtgsAhbFhO4AaRACGq4Z71kFRgDHpx4hklMKx1rMF5 spaGOvvENLrTbkibWOeR3u0k6eFAiPuJZF/aqbPaxHuTWeH9Oy7b3A+aaGwyMN+02x3rDq70RxZ +GfU= X-Google-Smtp-Source: AGHT+IETZGBfj/YzdDSsonxEfwWc/CcthND9zSTKGdklyqrJnMUaY4T2coeXgqpNXh9qqeHQt9lwGA== X-Received: by 2002:a17:902:d2c6:b0:234:c65f:6c0f with SMTP id d9443c01a7336-23641aa245dmr76936875ad.8.1749714563347; Thu, 12 Jun 2025 00:49:23 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:22 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 3/9] ASoC: dt-bindings: mt8173-afe-pcm: Allow specifying reserved memory region Date: Thu, 12 Jun 2025 15:48:54 +0800 Message-ID: <20250612074901.4023253-4-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It is desirable to reserve memory for the audio frontend. Allow the "memory-region" property, to be used to point to a reserved memory region. Acked-by: Rob Herring (Arm) Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- .../devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pc= m.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.ya= ml index 666408d32f5c..d8993b5d457a 100644 --- a/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml @@ -48,6 +48,10 @@ properties: power-domains: maxItems: 1 =20 + memory-region: + description: memory region for audio DMA buffers + maxItems: 1 + required: - compatible - reg @@ -90,4 +94,5 @@ examples: "i2s2_m", "i2s3_m", "i2s3_b"; + memory-region =3D <&afe_dma_mem>; }; --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17F48221F1A for ; Thu, 12 Jun 2025 07:49:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714568; cv=none; b=dOyMNdZVzFj1RKkMV3zczumAWIxRUXaY8Q8CBMzioT6CHYAYJU2IGBtbAcQkM3Tp3pOz7UyBSSFwDj1c+Owddv9xnE08OPp8TmXQwRqMBcmPnquGBjuaQvN8C2ZfHp1tlxC29fI/ZBxxeRrwtIGaXtJsHzYZpjKWDvfQg9HFKuc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714568; c=relaxed/simple; bh=GB/p/LNUInAZmB/jmWxOOXaF6ppDZpt2N2fwtIwapzc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=M7JIiJMWuWl1G2sn8KHiFoU+KNprEE39ZIRwYxSj7tbevPImf/8XTyJu+JKnr/DS8hgJSElmP/lxTtReJpNXgpE+E7POdNt1uDhuEbrEr8EcVN4D9UuFQ4dDlRustUHdOJNMgmzxGfnhIGnBO2YEV8C71/OVc84SJVNkznlWkc0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=gymkjwyh; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="gymkjwyh" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-23602481460so6728195ad.0 for ; Thu, 12 Jun 2025 00:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714566; x=1750319366; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qw5Lgt5fODmZWlZ1xq501GDoPtHJnRW5D55nCqbrfp4=; b=gymkjwyhy1Bb7Ebnb1EQ8Pm7FjBoDvQEMRQLvIB2zK0o6p7HSm42UPnPCdVXPlJ1eL 72YeODFwANy+sGp2O3Nt4nirVDNSO82Xch1x50A3V6ID28R4RRm3DNrOmMuQLofpigIO QEGVaug2vVsAT0vyTkxbX3uwG96bgcOHjkITc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714566; x=1750319366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qw5Lgt5fODmZWlZ1xq501GDoPtHJnRW5D55nCqbrfp4=; b=B9y/5fY1JnHo9tLj5JDNYtNkCeIn0K+EjoIKQpvjV6hJdwmo1up1xRa0flji9zXCki zLc7WVoU52TYct1mpKt7bsfDpKag2HLCFhDsRCCsiUUZ4t5I0jI06s6SokCx29sgiaLd o7ZHft5xNBgMnXi7bZ3EV8cobSh+bLVB2/h9RW0gHZ6HM6sCKhjFgnbPq/6GFvK3yAj3 P5hyebISHGxxkqeshxKgLe2ONUTaNyTOhwG30w4v3orFfoBQrs5f/621sen/6oWbS0yu PMvGFpgHxZ69IWg/8Hyur1sq4Z/Y2s7/vhb0c2FqlCc2tzTuE9x+0JvfxnZnzSfWTQjt NhCA== X-Forwarded-Encrypted: i=1; AJvYcCWc7EAom2hiuhsu222oSNeMJTnWlVlcG/+QsFgEKf+04vFx3zZgsrW/fhc6s3UhetayS/xsG0MmUsbxkow=@vger.kernel.org X-Gm-Message-State: AOJu0YwDMzd9iOPzb75+FYLWo9HG++nRRmvL45ie7IOTjDlu00Ani22i Qk9WTeAccYd++1yCxd7JHppKwwE3/Q9UDnp5MhiTI7KvpHmx5XjDRLDkqA8V3MpHMw== X-Gm-Gg: ASbGncsK3PXdsaGwE4+FiGz7yNyWQD98vU7MJXWtPEmQs14iqeHexNJTvLl9nX5hnaH M6M2FpQjAJja7hTlkddtWP6M9aK7B0GVF0I19mvwSnGxov5yBKqZwUVTSgYWpFey4VvW0vH2k3e vEeOsW6AeiwLl/ZM3OVirGI7FGKUoK9KrN69wkxph81nPA0a0cBIaI6Ix4YGIy4jDy5LcIXcNV+ nCBpThk39k/GCP5Ef26yEfkjWlXtl0RtiC3qZ9fWdffo1jt+xnv7gSR10A6AsQ6CF24mVug9GnZ kV2la6Xfr7OZz1DGrLROH0MzSY0PeiCm0r8UFx9iKB5RlDeWY43uMQTYkO9hbrs9XhlPA9ViOq/ JOPM= X-Google-Smtp-Source: AGHT+IGLmVy09OL49mJ9w79Slu0toVZtoekmlbumEh4gtf04pg2yxxSPvNOvb9XVQc/93dY7TLT9gg== X-Received: by 2002:a17:902:db08:b0:235:f632:a4d5 with SMTP id d9443c01a7336-23641aa22e5mr78622785ad.9.1749714566433; Thu, 12 Jun 2025 00:49:26 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:26 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 4/9] ASoC: dt-bindings: mt8186-afe-pcm: Allow specifying reserved memory region Date: Thu, 12 Jun 2025 15:48:55 +0800 Message-ID: <20250612074901.4023253-5-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It is desirable to reserve memory for the audio frontend. Allow the "memory-region" property, to be used to point to a reserved memory region. Acked-by: Rob Herring (Arm) Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- Documentation/devicetree/bindings/sound/mt8186-afe-pcm.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/mt8186-afe-pcm.yaml b/= Documentation/devicetree/bindings/sound/mt8186-afe-pcm.yaml index 7fe85b08f9df..f5af2cf18158 100644 --- a/Documentation/devicetree/bindings/sound/mt8186-afe-pcm.yaml +++ b/Documentation/devicetree/bindings/sound/mt8186-afe-pcm.yaml @@ -25,6 +25,10 @@ properties: reset-names: const: audiosys =20 + memory-region: + description: memory region for audio DMA buffers + maxItems: 1 + mediatek,apmixedsys: $ref: /schemas/types.yaml#/definitions/phandle description: The phandle of the mediatek apmixedsys controller @@ -170,6 +174,7 @@ examples: "top_apll12_div_tdm", "top_mux_audio_h", "top_clk26m_clk"; + memory-region =3D <&afe_dma_mem>; }; =20 ... --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F3C32222CC for ; Thu, 12 Jun 2025 07:49:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714571; cv=none; b=jO7R+bmDD/j9iN0Q4EO3ypXxhhfyEFzhFcOFUv1CowOpKR4006yjufBVNGXZfaBhuhCMPHYFzF+KAa7ry57OYvxvVDQUHXInMOGY5pArOWYX/v58gesySa3hj3r+m6kWUuTyV5vQ1IyVCoShUgiWK9XItQ9TO0W34G6+8KQ9Fyo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714571; c=relaxed/simple; bh=ulJwcQBy9dMgYWG+wUZv9LjO7oJNNwU+lvBcQcMNFb0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LTprbeyJ2iZ9Go11INgeUne2P9UextwlCGrYyHEU8XcQfCXIiudj5zHRZHZTVOyoAkdpmkW067Xqsi6cau0HJeXUU5GCaxtWvoFrMJ6XKMDbKzEfyMROct9/zGgzRXLgJt+xOArAx67KU6+Sd1YlWbD3iQGYG2SP2DtjsRWDZas= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=kI2y8v4P; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="kI2y8v4P" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-235ef62066eso8179245ad.3 for ; Thu, 12 Jun 2025 00:49:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714569; x=1750319369; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7XrR9Z799EQOitdhyIDhq08g/G4OghhPor0uKz260cg=; b=kI2y8v4Ptw5rXnR3ZiDliznPO1KWcegPU1dtOnbvcmkZqKy+v8Tt5ddGhahZP3xjPX zsJYZjhRDcF5XWpXNhX/uaIjUV3zmvzJENNKl3ThwQTv413VhZ7yOhLLNflC00S209az co2En4gSZPBj9Cbva8tYx8Cfr4qFFyvxjZqkw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714569; x=1750319369; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7XrR9Z799EQOitdhyIDhq08g/G4OghhPor0uKz260cg=; b=my1GUDDEZlAPFLqyXq8TSqGsA0sihNBznLr1ubRaghtls00/3lE6p53UPkDae7WPeY 4lfcvU91ZOmaVnAHPZAPP/Er384cv5ZNqaexxC3X0m2HnJz48sEN0xvNJqSjKofi1InY U+hiTCPUfSURtjBmdJVz+gX0G0aGMzAVILlCkpm3IAwIZhlS4Y8a/TYBQR07SYyzKxDs 3YEj3UD7+9BHkBEU2xxrIaj8yRUXaaL8xudrR3okWaYUSrFfZ50UHzxo4gHnMuP5ORz1 pwOSb7xSH/eXhS7VvSEBK7TlG2fUE4QUBSh0KXAC0TETO9lFX+wkkJNSVgPvg/Ur+1nn jOsg== X-Forwarded-Encrypted: i=1; AJvYcCVmQSoNlePl3o6Z3wJU0WTpyGH/Z8fLedRHXpv+fwzrGsTDHYu5bjtHQyqJOpFE/etE/W7GP+N9JggFfjg=@vger.kernel.org X-Gm-Message-State: AOJu0YwcNvx/l7plJWS9+9FUKeDCFTZxfdVPpiK6TbV41bNvTdg710eJ MFoDc+yYpJZVVtyuN2hBKX5glPYTv+/NBYUpc7c+iCeyaUEJriP/9ZMD3uKbQmLJcQ== X-Gm-Gg: ASbGnctW/exafaHAqilyN6cBbIJJ0y/ShmC/nn/Zc5jB0A6ZgdtcdO4NHWnQfPM7TJs 3YtpoSVXVkEaVC1NImwTC+GPQRG4yQ1Lul4loS9iFsmgL3unoNSPw+CdBDf1tq9udM9xC2oTfBl 9S+9KgKeK6yXrtBG0suG+UU3rCnkMlrBB4m4Jpq0QBQI6fWRi6xe1ZwW0DPd7b/bfRr3RYb1kSx jS3A3c+TC4wMfld1TwDMJWpqhsbnFHBo53SizbMnYP0MKhy8gzmWYxOXY/DLzQc2McmFPc13L1F G4i5bOv4ctXbWKHMgpyYPVKNcT128aRf5qMuwirwYvUqq9TwWWuVWdFOkLn1fsSLn91uijQ6rcg jLAOeyEx8AzDg1w== X-Google-Smtp-Source: AGHT+IFE5DvvPsxXV+bi1JEfMtSwm9K9UZ18IP94fohAyoCbLtffwhmgBBALXCfno10M7kxbt6Y0fw== X-Received: by 2002:a17:902:d54a:b0:233:ab04:27a with SMTP id d9443c01a7336-23641b3fa11mr102085905ad.53.1749714569502; Thu, 12 Jun 2025 00:49:29 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:29 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 5/9] ASoC: dt-bindings: mt8192-afe-pcm: Allow specifying reserved memory region Date: Thu, 12 Jun 2025 15:48:56 +0800 Message-ID: <20250612074901.4023253-6-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It is desirable to reserve memory for the audio frontend. Allow the "memory-region" property, to be used to point to a reserved memory region. Acked-by: Rob Herring (Arm) Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml b/= Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml index 064ef172bef4..8ddf49b0040d 100644 --- a/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml +++ b/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml @@ -23,6 +23,10 @@ properties: reset-names: const: audiosys =20 + memory-region: + description: memory region for audio DMA buffers + maxItems: 1 + mediatek,apmixedsys: $ref: /schemas/types.yaml#/definitions/phandle description: The phandle of the mediatek apmixedsys controller @@ -95,6 +99,7 @@ examples: "aud_dac_predis_clk", "aud_infra_clk", "aud_infra_26m_clk"; + memory-region =3D <&afe_dma_mem>; }; =20 ... --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58B2D223339 for ; Thu, 12 Jun 2025 07:49:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714574; cv=none; b=SAcikZINYZZ5rX9VMxTTw5gXNQ13TNv0K6VlCqZWh+85v3d8gEiGc9UmSn2xVTQ2kC2Wuwz+HRb3CIRtJ/ayLXgQkvUPWWMw0pBQDHg6ZbYTVDLu0/hWGYJh4Bzq4eD1J3+bJHeE7whl22F4FLHadQTGSXxmHRYdo1+eiOCvExc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714574; c=relaxed/simple; bh=vJU0lSRgVK0wAGWmZHwdmRtL/aFRS74afRHgWTg1wKs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DPDyeaxelq4Vd2N6ENW6ML8EQXT5WzBVp/6QPs+bdSksUO7pPexYaa8jq9wc6Y7F+0oROb5UwqC98tHvAmSATOOjoei6nYZ5S5wap2Vp78Uysl6mogiacC15xLFZu710/FFgarXcW9/GeH1W+1mBBfl5ptaDMhSowM33QXmf4+4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=QBlgkZQ+; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="QBlgkZQ+" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-235a3dd4f0dso4407105ad.0 for ; Thu, 12 Jun 2025 00:49:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714572; x=1750319372; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sbtP55NCyh4Df1vJCDqUAIM6R+yyfwut8FIK3Aq64wo=; b=QBlgkZQ+0zaOvA2lNogUqQaxIwNvvJ5OOY/g+nUoaEt4NWjaLATNT+C/qJlUl8JCNy FYm06PiqHVNu7syczoxcQpCKUpb8k84qc5+afquu/u947rwZOHxOVqqmpb6ZTNcpzr6Z 9ob80CO8EQNeKTzPsotEzPsDTcKejQmy7crIA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714572; x=1750319372; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sbtP55NCyh4Df1vJCDqUAIM6R+yyfwut8FIK3Aq64wo=; b=r5nDWcICO6H0YQxhLOJfNgTxXOzq89O/nwxUQmUQ9x6FIFGuIN+1WdoJZaIpnaC5fU LQbCKn8vAr0TC4MDvQ1XbdoTEta/0DzzC7ov2qgZR3Lplt5uXR2BVKXr3e6xnXKf9C72 r1l8I/05fr3nEFeRCJkIjNHeUcMhHgH6S/ELPYoj99JzF9hLyvKZxylJC8lywZt3o/b7 aKsvxFfBJxKtsebOFsT9ghoftsGJ9N4qlUAxvLAZ2JPMAFc1tcXiiOwRqd554XY8hw0g oqvDpnfV3z5o8dza9N0lER6Ul2xkQuwXQXOb0loKsprFAseWc5PIk8CN07hA5MXzqjQ+ Zlqg== X-Forwarded-Encrypted: i=1; AJvYcCVGLeY1F9eSoEkSQHS5+PccZgIG8ZXAuefbrH2/ViKLQ24rtHyslm3c4v5mRCk8wAd/V58REyqu9n6kVos=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+ZkPGMDRjWc32PilRl88aeK78lAt6wxU8hBTNuK0BYeiSxgm+ oITt7cikyfrDDNDIPvHxUVGlV5z5+mMSQii0i0d8gp9lGdpBxM5IHvWfwDY8ni5d5A== X-Gm-Gg: ASbGncsbKGHMhBsOu4jjwV1cokNYnBT4LKFk8rEQA+nRXsr9sY15TkFyXKhLVambxTc ddZnFjJ7TZS6OxY/ISV8qnNngVIRuGmKA4iuTL5tHk6dUdgsufpz08/Fg9r+dU2VWC4o2AnD4/z Rb0Ij1Ij/P/0L1ktjsL51w8bdHc0zAQRZlRbT1BZOmQ5XsWMSwCM7UMZ1En1VUOXNPp7QOAnTmG uRnDza2XjXA9ImFKTSCdp+p5c/XLzuS2B8fVYOgk4C8F8F/Q/K+m8ejGa8NOX+7wLn5wbXpDO3E P3diBWNn6Tz4Rs8aVKFkcyXwSs5rK6CNsw6TGiKwB4/RUTvxJ02JiRg1vcbqzUqGfVhbtm2PVFY MD6g= X-Google-Smtp-Source: AGHT+IHaJlXxYg2mu49lXSk0cZU/cv8JMuXBWfPAapKkAyg9tvhMsqA+YooEcad1wogppx7rwBhFeA== X-Received: by 2002:a17:903:1b10:b0:234:d2fb:2d28 with SMTP id d9443c01a7336-23641aa2385mr85824375ad.2.1749714572600; Thu, 12 Jun 2025 00:49:32 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:32 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 6/9] ASoC: mediatek: use reserved memory or enable buffer pre-allocation Date: Thu, 12 Jun 2025 15:48:57 +0800 Message-ID: <20250612074901.4023253-7-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In commit 32c9c06adb5b ("ASoC: mediatek: disable buffer pre-allocation") buffer pre-allocation was disabled to accommodate newer platforms that have a limited reserved memory region for the audio frontend. Turns out disabling pre-allocation across the board impacts platforms that don't have this reserved memory region. Buffer allocation failures have been observed on MT8173 and MT8183 based Chromebooks under low memory conditions, which results in no audio playback for the user. Since some MediaTek platforms already have dedicated reserved memory pools for the audio frontend, the plan is to enable this for all of them. This requires device tree changes. As a fallback, reinstate the original policy of pre-allocating audio buffers at probe time of the reserved memory pool cannot be found or used. This patch covers the MT8173, MT8183, MT8186 and MT8192 platforms for now, the reason being that existing MediaTek platform drivers that supported reserved memory were all platforms that mainly supported ChromeOS, and is also the set of devices that I can verify. Fixes: 32c9c06adb5b ("ASoC: mediatek: disable buffer pre-allocation") Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- sound/soc/mediatek/common/mtk-afe-platform-driver.c | 4 +++- sound/soc/mediatek/common/mtk-base-afe.h | 1 + sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 7 +++++++ sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 7 +++++++ sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 7 +++++++ sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 7 +++++++ 6 files changed, 32 insertions(+), 1 deletion(-) diff --git a/sound/soc/mediatek/common/mtk-afe-platform-driver.c b/sound/so= c/mediatek/common/mtk-afe-platform-driver.c index 6b6330583941..70fd05d5ff48 100644 --- a/sound/soc/mediatek/common/mtk-afe-platform-driver.c +++ b/sound/soc/mediatek/common/mtk-afe-platform-driver.c @@ -120,7 +120,9 @@ int mtk_afe_pcm_new(struct snd_soc_component *component, struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(component); =20 size =3D afe->mtk_afe_hardware->buffer_bytes_max; - snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, afe->dev, 0, size= ); + snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, afe->dev, + afe->preallocate_buffers ? size : 0, + size); =20 return 0; } diff --git a/sound/soc/mediatek/common/mtk-base-afe.h b/sound/soc/mediatek/= common/mtk-base-afe.h index f51578b6c50a..a406f2e3e7a8 100644 --- a/sound/soc/mediatek/common/mtk-base-afe.h +++ b/sound/soc/mediatek/common/mtk-base-afe.h @@ -117,6 +117,7 @@ struct mtk_base_afe { struct mtk_base_afe_irq *irqs; int irqs_size; int memif_32bit_supported; + bool preallocate_buffers; =20 struct list_head sub_dais; struct snd_soc_dai_driver *dai_drivers; diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediate= k/mt8173/mt8173-afe-pcm.c index 04ed0cfec174..f93d6348fdf8 100644 --- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c +++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -1070,6 +1071,12 @@ static int mt8173_afe_pcm_dev_probe(struct platform_= device *pdev) =20 afe->dev =3D &pdev->dev; =20 + ret =3D of_reserved_mem_device_init(&pdev->dev); + if (ret) { + dev_info(&pdev->dev, "no reserved memory found, pre-allocating buffers i= nstead\n"); + afe->preallocate_buffers =3D true; + } + irq_id =3D platform_get_irq(pdev, 0); if (irq_id <=3D 0) return irq_id < 0 ? irq_id : -ENXIO; diff --git a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c b/sound/soc/mediate= k/mt8183/mt8183-afe-pcm.c index e8884354995c..9b6b45c646e6 100644 --- a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c +++ b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include =20 @@ -777,6 +778,12 @@ static int mt8183_afe_pcm_dev_probe(struct platform_de= vice *pdev) afe->dev =3D &pdev->dev; dev =3D afe->dev; =20 + ret =3D of_reserved_mem_device_init(dev); + if (ret) { + dev_info(dev, "no reserved memory found, pre-allocating buffers instead\= n"); + afe->preallocate_buffers =3D true; + } + /* initial audio related clock */ ret =3D mt8183_init_clock(afe); if (ret) { diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c b/sound/soc/mediate= k/mt8186/mt8186-afe-pcm.c index db7c93401bee..c73b4664e53e 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -2835,6 +2836,12 @@ static int mt8186_afe_pcm_dev_probe(struct platform_= device *pdev) afe_priv =3D afe->platform_priv; afe->dev =3D &pdev->dev; =20 + ret =3D of_reserved_mem_device_init(dev); + if (ret) { + dev_info(dev, "no reserved memory found, pre-allocating buffers instead\= n"); + afe->preallocate_buffers =3D true; + } + afe->base_addr =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(afe->base_addr)) return PTR_ERR(afe->base_addr); diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c b/sound/soc/mediate= k/mt8192/mt8192-afe-pcm.c index fd6af74d7995..3d32fe46118e 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -2179,6 +2180,12 @@ static int mt8192_afe_pcm_dev_probe(struct platform_= device *pdev) =20 afe->dev =3D dev; =20 + ret =3D of_reserved_mem_device_init(dev); + if (ret) { + dev_info(dev, "no reserved memory found, pre-allocating buffers instead\= n"); + afe->preallocate_buffers =3D true; + } + /* init audio related clock */ ret =3D mt8192_init_clock(afe); if (ret) { --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 793722248B5 for ; Thu, 12 Jun 2025 07:49:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714578; cv=none; b=cBvojIvvn5Dx4xQltGoZOOMLlRvGChy9QQKuMbKUG+aG9rckxW+zQxp3a6g3Q+LBzTbMu0wklZIdVFVE2RkMCBns0bE/xHLrIsDxPi3gvaKdBUfOeU0Iuslp9hSRd/OhmlN88SKtOh1QMMvj8d5wCRNknVXadwoSmSKywArjXs8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714578; c=relaxed/simple; bh=7lBuRSPEgmZ9a+/jESzGhJRmqNmmVg//QwiKc44LjWo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZTF1FD5ioA3ao2oNCCfxT4X1iKZ9wRHO040EjeQTnlH5L2h6Ner3OrRUO4RbTaXV76kY09UwoFXYL4sh8dZkGvQYdSW1DsJeCNDuQdioW9mBjgixxJspNumZbfqEtshq35mGzWBY/88b2hTJp/vMcuNKsh08ZXsj8rnanNcaUUI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=YplBsCRS; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="YplBsCRS" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2363e973db1so14810265ad.0 for ; Thu, 12 Jun 2025 00:49:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714576; x=1750319376; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Kzq7pTlEyk3DwCXw2bvXC8EVAUqzh3hKoNDLtBSSl4A=; b=YplBsCRSsrSQcYtlzVGkTI8xVSm9k97MBTbxpd33Uh09r2IGzZcEiuwjMWj5WnML5P WsptQaVwVFgp/K/tK41NgIZrqp49XrsP+Z6SatnbU5fo63mE9ZkgjdY/5/Hm7z9sqGiA u0z5QQS78a2nGr0NRRjQiNsgIn+ihhEzwVSXU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714576; x=1750319376; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Kzq7pTlEyk3DwCXw2bvXC8EVAUqzh3hKoNDLtBSSl4A=; b=hOskLl4V7ZT8VA4mEbumbZsa2p1ilZBgKHZ2SAIWLk6lZEa+Zd2jUilASWTZ0j8Aqw ZwX2wgJjxiMPF5BMX9Zx5HnIxGq3z24eWsXLa5YiTEkV/FaRAx28szo9vvd0cFSgiSuE xIOo3SbNHGkoqObNvJvG1A3eh/9FKni7NAGV1DikwsguapbioAU8IZf6u5PwZmftLXn1 5KgyOFc+M4aczijn8kVzGOACrrThuDC9RV7/R4A2/6z44Gh4X1DsDqafsblrpXWFHGXV QzZRHKGuuqjgpf3li1BsY0HH/ECs+O4r95oLsUwRaJ6FsDEMwwmMldaejkzqE0CkKH0Y FQqg== X-Forwarded-Encrypted: i=1; AJvYcCWobTN3rdjSSjolChPsxd+5MguC532QOL0xokj1hd3dMgWCjK8/4tCMU3Gp3na3VLdbIUtychT5kcdYUT8=@vger.kernel.org X-Gm-Message-State: AOJu0YwrVqAYBSwNEhLxsc33n1KpAM0NxsNzf1uH+AuECFdBfnica7L/ 3+CXnDxrjHlS6eTI1/EOQIOC7r55ZjlFB2DlMUelmnuqnNscGG+h4/6l33W8ZgUFXw== X-Gm-Gg: ASbGnctdF6Fuk2lyimvKKjx6mBx3tFH/qar1C8X1ifXcymM93xs2sHYDYKA6ph5P+/A zQeUqbvmF0RXXlAGCbWobAHGvvV3sg0SeT76Mw3JhBNIQF/M4jlcBe5NQnunoJEW95ae3uYAI22 aLVmIH5n5/KPx4LwwKWp6Pmujvoj0JwtTqIwF6x/ILNJz2cYZUNd3bbFh3JBIZ1q0DbqBLeTJPB dyvyx/GFsOKCGLwWJYGwFIZH2+hBuMeQ+SxN4yffmAbSWfFby9SofpbDHhziK4BijLpBfFMK//H mko8JIS8ERCWhTUouB3F/qdTGSxbbnNt1Ver4q8UBbfSvcQ2NlZg4ncHovB743b1H8kwOi2kqyE +kWQ= X-Google-Smtp-Source: AGHT+IEN7g9Kd2emZe+eC0bnFztivo7RuDUPLjNRq7/X/nnou4s5GK5KxWmXAWf3A6OG+nnmmIHeYQ== X-Received: by 2002:a17:902:c941:b0:232:59b:5923 with SMTP id d9443c01a7336-2364cf36e59mr38491355ad.23.1749714575691; Thu, 12 Jun 2025 00:49:35 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:35 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 7/9] ASoC: mediatek: mt8183-afe-pcm: Support >32 bit DMA addresses Date: Thu, 12 Jun 2025 15:48:58 +0800 Message-ID: <20250612074901.4023253-8-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The AFE DMA hardware supports up to 34 bits for DMA addresses. This is missing from the driver and prevents reserved memory regions from working properly when the allocated region is above the 4GB line. Fill in the related register offsets for each DAI, and also set the DMA mask. Also fill in the LSB end register offsets for completeness. Fixes: a94aec035a12 ("ASoC: mediatek: mt8183: add platform driver") Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- Changes in v3: - Rebased on top of "mt8183-afe-pcm: Shorten source code" --- sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c b/sound/soc/mediate= k/mt8183/mt8183-afe-pcm.c index 9b6b45c646e6..7383184097a4 100644 --- a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c +++ b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c @@ -6,6 +6,7 @@ // Author: KaiChieh Chuang =20 #include +#include #include #include #include @@ -432,6 +433,9 @@ static const struct snd_soc_component_driver mt8183_afe= _pcm_dai_component =3D { .reg_ofs_base =3D AFE_##_id##_BASE, \ .reg_ofs_cur =3D AFE_##_id##_CUR, \ .reg_ofs_end =3D AFE_##_id##_END, \ + .reg_ofs_base_msb =3D AFE_##_id##_BASE_MSB, \ + .reg_ofs_cur_msb =3D AFE_##_id##_CUR_MSB, \ + .reg_ofs_end_msb =3D AFE_##_id##_END_MSB, \ .fs_reg =3D (_fs_reg), \ .fs_shift =3D _id##_MODE_SFT, \ .fs_maskbit =3D _id##_MODE_MASK, \ @@ -463,11 +467,17 @@ static const struct snd_soc_component_driver mt8183_a= fe_pcm_dai_component =3D { #define AFE_VUL12_BASE AFE_VUL_D2_BASE #define AFE_VUL12_CUR AFE_VUL_D2_CUR #define AFE_VUL12_END AFE_VUL_D2_END +#define AFE_VUL12_BASE_MSB AFE_VUL_D2_BASE_MSB +#define AFE_VUL12_CUR_MSB AFE_VUL_D2_CUR_MSB +#define AFE_VUL12_END_MSB AFE_VUL_D2_END_MSB #define AWB2_HD_ALIGN_SFT AWB2_ALIGN_SFT #define VUL12_DATA_SFT VUL12_MONO_SFT #define AFE_HDMI_BASE AFE_HDMI_OUT_BASE #define AFE_HDMI_CUR AFE_HDMI_OUT_CUR #define AFE_HDMI_END AFE_HDMI_OUT_END +#define AFE_HDMI_BASE_MSB AFE_HDMI_OUT_BASE_MSB +#define AFE_HDMI_CUR_MSB AFE_HDMI_OUT_CUR_MSB +#define AFE_HDMI_END_MSB AFE_HDMI_OUT_END_MSB =20 static const struct mtk_base_memif_data memif_data[MT8183_MEMIF_NUM] =3D { MT8183_MEMIF(DL1, AFE_DAC_CON1, AFE_DAC_CON1), @@ -764,6 +774,10 @@ static int mt8183_afe_pcm_dev_probe(struct platform_de= vice *pdev) struct reset_control *rstc; int i, irq_id, ret; =20 + ret =3D dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(34)); + if (ret) + return ret; + afe =3D devm_kzalloc(&pdev->dev, sizeof(*afe), GFP_KERNEL); if (!afe) return -ENOMEM; --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4A3A22541B for ; Thu, 12 Jun 2025 07:49:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714581; cv=none; b=dScpEqPIRgP7QTUgNIljwIWomdWMR38MT4d5eCgyBEtxT+jlqtmkl1Fiy1+djWL3l34YO6AocjucWKSZ5G9W4KEhg8QRJOL7OXsXhtmx5GxIHTdO8wfcsQyj7FNofQEL/PTU6jIfJSfvFUuMp+xyJBEVOMDDmzt8rvFKD1es3IA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714581; c=relaxed/simple; bh=buSIZ3mUEgzHTw13z6E0J1/Ujd8OUrdascAOzkTqqhI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rm/P1zGuKb93nNteglHStGiWI02qSEUKGFEsnDOUV8tSLjsMemMCLZzBLTQq0kY0BPplUjPOdmPA/6NI8U/RLanc9sWKqx9E7BR/82X99p3vPDU5meQS3Bojxxr2exeLAUXw2joJSggbME75qhZiOdCBo17P/EuNysMyCAt6io4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=i+vd/MFS; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="i+vd/MFS" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2350b1b9129so4873755ad.0 for ; Thu, 12 Jun 2025 00:49:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714579; x=1750319379; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iMKg3AJWHj8JObjZ77FIwuRQDDLq0jFSD2L3C+IDYm4=; b=i+vd/MFSZtba3F3E5NLPCBgK1kTXOAcpAlOo17hxTT2PGNnM/QjjVuPnl46Uwo4Qc5 gLqNVS1esdsUVJjIMIgx8S1N/OFeSb+tg/Jgd0iu9wDFTie3yuIBjfNFXp2Vc5O1+yIC dk9Tj8xno2oWx5DhfHTmEpuspzxdE4DeqoH1E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714579; x=1750319379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iMKg3AJWHj8JObjZ77FIwuRQDDLq0jFSD2L3C+IDYm4=; b=sjZkqfJ3mZNOyG7pDaeBraUPJTCocMkqAUwJfm/7DnCAHmoK6/T4mP/EB00OyvnpWM YgB7Bfz5ldghiNLQy9Y4XELrOT0h6pCgYOpIVriqUXH7vTtNKo7+sEEn1AY/supOM9ho jlfZswCBSRFiwDY4AbYTfsLggAfoCdEIC2lFZvcFDmTDLLM2tCoGjgUSKBBSKWToCgH2 aN92P9UoiDB5bGJbH1EnntU5xU20/9fQjMHgelaFp7VWOxIB5dNAZtIY6sAhROO55cP5 HjVuPcF+E5TeUm8b6rmuBpXATfuNBciz8m8X8in/JEZ9biXs406/JAPP4sXQL40Xc8Iy 7ouQ== X-Forwarded-Encrypted: i=1; AJvYcCXJV5s6rQEW8HgusCec0Oxu4SVdqDUa+b357V/FCLZeI1/yLSYlQynKJoGthJCXYlzJWPBM+MAoyxIof4M=@vger.kernel.org X-Gm-Message-State: AOJu0YwbnIjb7mepQkaljQDQM+qYwxliaVgzrfKnxjnkjiGUiDB0rawk FMC3NJvgJBfE7ULCtBZttuhOFfAPwBCFDa61J7OM5FWo8E6McZBVNVAUkG/Zl2i5Wg== X-Gm-Gg: ASbGncvYx7as9Y7dKpA4AhQPVsuYQPQ17v4OjFi0FxnvwDAtMIb16F6I7Eg2Qp5wKzN tugMOWAWL+3DzBBPsISYgYxyp+V6njyMuxfg9VdvhwdA+oqkNlQ+kLWLBbio7Kg4TWvJvC1+idJ Mn5hALvMB5Jl1QPywUo41uNRg8hQI+iXUw+AbupeFKSyWKYwYWeM5Tb7+BJmUP2T0ssRoaatD+8 WhTmYpsNF4rpJUx8ijX9zpZypG4Ebn0lvevBhWsXmaARPLYStY2riziGlsGbmK48Khdt48JDztE sb+ESr+NRt11Hw9EIkEOI6/Xtbuic42T0a+TcI80YeYjvI0SO+8p4fu93rtbGCRNPq92W8o3qsl r9WU= X-Google-Smtp-Source: AGHT+IFFR598oT7VAz4Mzmjghx/G16LP2D1CuewctVbUf6JSejNRvGbYfC7QtwuZY6nk2c5HrvbdeA== X-Received: by 2002:a17:902:ced0:b0:234:c549:da0e with SMTP id d9443c01a7336-2364ca8e826mr35303785ad.47.1749714578786; Thu, 12 Jun 2025 00:49:38 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:38 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 8/9] ASoC: mediatek: mt8173-afe-pcm: use local `dev` pointer in driver callbacks Date: Thu, 12 Jun 2025 15:48:59 +0800 Message-ID: <20250612074901.4023253-9-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The probe and remove functions in the mt8183-afe-pcm driver repeatedly uses `&pdev->dev` for |struct device *|, but then assigns this value to `afe->dev` and uses that in other places in the same function. Store `&pdev->dev` in a local pointer and use that exclusively to avoid the numerous dereferences and to make the code more consistent. Lines are reflowed where it makes sense. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 63 +++++++++++----------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediate= k/mt8173/mt8173-afe-pcm.c index f93d6348fdf8..c0fa623e0b17 100644 --- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c +++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c @@ -1054,26 +1054,26 @@ static int mt8173_afe_pcm_dev_probe(struct platform= _device *pdev) struct mtk_base_afe *afe; struct mt8173_afe_private *afe_priv; struct snd_soc_component *comp_pcm, *comp_hdmi; + struct device *dev =3D &pdev->dev; =20 - ret =3D dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(33)); + ret =3D dma_set_mask_and_coherent(dev, DMA_BIT_MASK(33)); if (ret) return ret; =20 - afe =3D devm_kzalloc(&pdev->dev, sizeof(*afe), GFP_KERNEL); + afe =3D devm_kzalloc(dev, sizeof(*afe), GFP_KERNEL); if (!afe) return -ENOMEM; =20 - afe->platform_priv =3D devm_kzalloc(&pdev->dev, sizeof(*afe_priv), - GFP_KERNEL); + afe->platform_priv =3D devm_kzalloc(dev, sizeof(*afe_priv), GFP_KERNEL); afe_priv =3D afe->platform_priv; if (!afe_priv) return -ENOMEM; =20 - afe->dev =3D &pdev->dev; + afe->dev =3D dev; =20 - ret =3D of_reserved_mem_device_init(&pdev->dev); + ret =3D of_reserved_mem_device_init(dev); if (ret) { - dev_info(&pdev->dev, "no reserved memory found, pre-allocating buffers i= nstead\n"); + dev_info(dev, "no reserved memory found, pre-allocating buffers instead\= n"); afe->preallocate_buffers =3D true; } =20 @@ -1085,27 +1085,27 @@ static int mt8173_afe_pcm_dev_probe(struct platform= _device *pdev) if (IS_ERR(afe->base_addr)) return PTR_ERR(afe->base_addr); =20 - afe->regmap =3D devm_regmap_init_mmio(&pdev->dev, afe->base_addr, - &mt8173_afe_regmap_config); + afe->regmap =3D devm_regmap_init_mmio(dev, afe->base_addr, + &mt8173_afe_regmap_config); if (IS_ERR(afe->regmap)) return PTR_ERR(afe->regmap); =20 /* initial audio related clock */ ret =3D mt8173_afe_init_audio_clk(afe); if (ret) { - dev_err(afe->dev, "mt8173_afe_init_audio_clk fail\n"); + dev_err(dev, "mt8173_afe_init_audio_clk fail\n"); return ret; } =20 /* memif % irq initialize*/ afe->memif_size =3D MT8173_AFE_MEMIF_NUM; - afe->memif =3D devm_kcalloc(afe->dev, afe->memif_size, + afe->memif =3D devm_kcalloc(dev, afe->memif_size, sizeof(*afe->memif), GFP_KERNEL); if (!afe->memif) return -ENOMEM; =20 afe->irqs_size =3D MT8173_AFE_IRQ_NUM; - afe->irqs =3D devm_kcalloc(afe->dev, afe->irqs_size, + afe->irqs =3D devm_kcalloc(dev, afe->irqs_size, sizeof(*afe->irqs), GFP_KERNEL); if (!afe->irqs) return -ENOMEM; @@ -1124,9 +1124,9 @@ static int mt8173_afe_pcm_dev_probe(struct platform_d= evice *pdev) =20 platform_set_drvdata(pdev, afe); =20 - pm_runtime_enable(&pdev->dev); - if (!pm_runtime_enabled(&pdev->dev)) { - ret =3D mt8173_afe_runtime_resume(&pdev->dev); + pm_runtime_enable(dev); + if (!pm_runtime_enabled(dev)) { + ret =3D mt8173_afe_runtime_resume(dev); if (ret) goto err_pm_disable; } @@ -1136,13 +1136,12 @@ static int mt8173_afe_pcm_dev_probe(struct platform= _device *pdev) afe->runtime_resume =3D mt8173_afe_runtime_resume; afe->runtime_suspend =3D mt8173_afe_runtime_suspend; =20 - ret =3D devm_snd_soc_register_component(&pdev->dev, - &mtk_afe_pcm_platform, - NULL, 0); + ret =3D devm_snd_soc_register_component(dev, &mtk_afe_pcm_platform, + NULL, 0); if (ret) goto err_pm_disable; =20 - comp_pcm =3D devm_kzalloc(&pdev->dev, sizeof(*comp_pcm), GFP_KERNEL); + comp_pcm =3D devm_kzalloc(dev, sizeof(*comp_pcm), GFP_KERNEL); if (!comp_pcm) { ret =3D -ENOMEM; goto err_pm_disable; @@ -1150,7 +1149,7 @@ static int mt8173_afe_pcm_dev_probe(struct platform_d= evice *pdev) =20 ret =3D snd_soc_component_initialize(comp_pcm, &mt8173_afe_pcm_dai_component, - &pdev->dev); + dev); if (ret) goto err_pm_disable; =20 @@ -1164,7 +1163,7 @@ static int mt8173_afe_pcm_dev_probe(struct platform_d= evice *pdev) if (ret) goto err_pm_disable; =20 - comp_hdmi =3D devm_kzalloc(&pdev->dev, sizeof(*comp_hdmi), GFP_KERNEL); + comp_hdmi =3D devm_kzalloc(dev, sizeof(*comp_hdmi), GFP_KERNEL); if (!comp_hdmi) { ret =3D -ENOMEM; goto err_cleanup_components; @@ -1172,7 +1171,7 @@ static int mt8173_afe_pcm_dev_probe(struct platform_d= evice *pdev) =20 ret =3D snd_soc_component_initialize(comp_hdmi, &mt8173_afe_hdmi_dai_component, - &pdev->dev); + dev); if (ret) goto err_cleanup_components; =20 @@ -1186,30 +1185,32 @@ static int mt8173_afe_pcm_dev_probe(struct platform= _device *pdev) if (ret) goto err_cleanup_components; =20 - ret =3D devm_request_irq(afe->dev, irq_id, mt8173_afe_irq_handler, + ret =3D devm_request_irq(dev, irq_id, mt8173_afe_irq_handler, 0, "Afe_ISR_Handle", (void *)afe); if (ret) { - dev_err(afe->dev, "could not request_irq\n"); + dev_err(dev, "could not request_irq\n"); goto err_cleanup_components; } =20 - dev_info(&pdev->dev, "MT8173 AFE driver initialized.\n"); + dev_info(dev, "MT8173 AFE driver initialized.\n"); return 0; =20 err_cleanup_components: - snd_soc_unregister_component(&pdev->dev); + snd_soc_unregister_component(dev); err_pm_disable: - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); return ret; } =20 static void mt8173_afe_pcm_dev_remove(struct platform_device *pdev) { - snd_soc_unregister_component(&pdev->dev); + struct device *dev =3D &pdev->dev; =20 - pm_runtime_disable(&pdev->dev); - if (!pm_runtime_status_suspended(&pdev->dev)) - mt8173_afe_runtime_suspend(&pdev->dev); + snd_soc_unregister_component(dev); + + pm_runtime_disable(dev); + if (!pm_runtime_status_suspended(dev)) + mt8173_afe_runtime_suspend(dev); } =20 static const struct of_device_id mt8173_afe_pcm_dt_match[] =3D { --=20 2.50.0.rc1.591.g9c95f17f64-goog From nobody Sat Oct 11 00:29:01 2025 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B615B221572 for ; Thu, 12 Jun 2025 07:49:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714584; cv=none; b=Npd8BbUAQVsjyTSH7SJPQcLlRTIqHDZEMCTXLDbhhKOGjqhLbEReWYmg5oVWytQ/KI3AbU7mWbrog/vLpMI/UIXUYk6AeZ/M/gkpsmQh+hBuOK4j67MNrpSiQ+ANS+4zBBPUXB7cWprZZrxi8qEVHJoM7Hv6a1ezvGtMGC5b1xI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749714584; c=relaxed/simple; bh=mgKRPAxHp5lw/IYW6/80BbNLOKQ1CXL+sHNydAPoR2M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jZZ+ycWxwOQJ+ygKVKZeQiVcq1rIDYJ2lafumE1aHrt9VVbgmY2lvy1M1VXl24N7gBC3loXRkTHl31UfKpJ4Qi+RRF2zxLNVUoACGaJgYEFKk8y7NZnTAIKiXGbiq8doyTKhJhOoTA/GgIRnejSmuxzl8ks60ugB4vkKgJj4p1Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=QPt4ys4Q; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="QPt4ys4Q" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-23602481460so6730035ad.0 for ; Thu, 12 Jun 2025 00:49:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1749714582; x=1750319382; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ddcn6csaeeV+h8a6qan45mbc5QA320UytwqG7KT7p5k=; b=QPt4ys4QNYwt3/Sh66gUaxGP1JRYAyslYTdNE+iyZdAmRIMMLVBo3dCrDQ8A0Ax6MJ VNZ59azg0FB5MMBBaH6Kp0XtIgSPXw0cqsIcszhTtwBVNUJKDWBtvzeoX4tWWcc21Piw aF6fltV3kQuEZbFmnpfb1qFCvBN7Lgy3b6448= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749714582; x=1750319382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ddcn6csaeeV+h8a6qan45mbc5QA320UytwqG7KT7p5k=; b=Ao7dhjm/NjUMzZ7rTfDG5lPLWIpyJHdVi0oRUwPblbudLjWErdqGKf/UDJNWHl04P9 nupsCNfA4v2VilW21R3pk2WJ590v9ITEnQM3XgpbApaAOZDXSC8+Cc8oGazVn6YyP8M3 e/MrMKc/9k90KCBqmqll+uXWk2O1wXIWzFp/bpPyvWdTgFpOl7hhsbZ+FijO0bUBOAZ4 8Z8tI5eSzOZCtypv9hJxVEjBhuL8/yfW4cJ+I/XSP//XRh5PKnHUAutawmofcVDvxloe CemKjs6EQXI9Y+mP/exr0iD1pLVbT9sjd42PICJmZKHazS0H36RhClqDJR3r4sW2kD9e EDfw== X-Forwarded-Encrypted: i=1; AJvYcCXlcSPxTLdVxG11RtvuNKyXFw46BDSrU9DCazEMp1OhkAD0DTjepoX/WBJdvew3LHgjQsIw3989T0d5KGw=@vger.kernel.org X-Gm-Message-State: AOJu0YxAIz5fW+R/1HJnZTtx29+yNd29RaGuTcUiUUFlG7QNN3ptQIVK wweIclqZ0QjBCQdFz+2m1f8OxeqWtDwejO1doWOAbRNhAzguPPHDYLO7bnW9glu4nQ== X-Gm-Gg: ASbGncvQ4xo0tAt+yZg8J+xe4qIcsAp/gRcY+XuQUSyaT0IjUwieAFgV69rnfUWl3Qb IwRhp460w+AaKfprmk7/uzssM1Y1xchRfVkjJUpwKs3VGxLFQFeGmgAmN68QMih/TbRwqqATNV7 6HKYrtu6fUapuRyqe+SqkEyXpgiluHB3kPogg7sCKxeJy1JhqajKDthV/2R6roF42Iu/UlldO6m Qu9tyS2Wck9O5Nu5XC5kRvrl1gh76HYOpjeIfm5EYcxB5Grm4p2XtxZ6yMWEHr7pidF7n1aTISh 9je0DBifNcvk/Lx2um+RX5FNi8Xpx31nYCs9VXubo0r2Fv57uO9zsS5CnTE5uF6Vd4ETtt69X64 hpTQ= X-Google-Smtp-Source: AGHT+IGBp6g9KafxxLhpwpCbKXrP6FojB0bp0d+xTc5kKarZApwn/2KeJhM/CNXIUtiGxu8HhD0Ecw== X-Received: by 2002:a17:902:f684:b0:234:b41e:37a2 with SMTP id d9443c01a7336-23641aa223amr95318655ad.11.1749714581947; Thu, 12 Jun 2025 00:49:41 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:5b9:e73a:2e58:5a47]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2364e63d42esm7893295ad.74.2025.06.12.00.49.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 00:49:41 -0700 (PDT) From: Chen-Yu Tsai To: Liam Girdwood , Mark Brown Cc: Chen-Yu Tsai , Jaroslav Kysela , Takashi Iwai , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jiaxin Yu , linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 9/9] ASoC: mediatek: mt8183-afe-pcm: use local `dev` pointer in driver callbacks Date: Thu, 12 Jun 2025 15:49:00 +0800 Message-ID: <20250612074901.4023253-10-wenst@chromium.org> X-Mailer: git-send-email 2.50.0.rc1.591.g9c95f17f64-goog In-Reply-To: <20250612074901.4023253-1-wenst@chromium.org> References: <20250612074901.4023253-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The probe and remove functions in the mt8183-afe-pcm driver repeatedly uses `&pdev->dev` for |struct device *|, but then assigns this value to `afe->dev` and uses that in other places in the same function. Store `&pdev->dev` in a local pointer and use that exclusively to avoid the numerous dereferences and to make the code more consistent. Lines are reflowed where it makes sense. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Chen-Yu Tsai --- sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 37 ++++++++++------------ 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c b/sound/soc/mediate= k/mt8183/mt8183-afe-pcm.c index 7383184097a4..a7fef772760a 100644 --- a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c +++ b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c @@ -770,27 +770,25 @@ static int mt8183_afe_pcm_dev_probe(struct platform_d= evice *pdev) { struct mtk_base_afe *afe; struct mt8183_afe_private *afe_priv; - struct device *dev; + struct device *dev =3D &pdev->dev; struct reset_control *rstc; int i, irq_id, ret; =20 - ret =3D dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(34)); + ret =3D dma_set_mask_and_coherent(dev, DMA_BIT_MASK(34)); if (ret) return ret; =20 - afe =3D devm_kzalloc(&pdev->dev, sizeof(*afe), GFP_KERNEL); + afe =3D devm_kzalloc(dev, sizeof(*afe), GFP_KERNEL); if (!afe) return -ENOMEM; platform_set_drvdata(pdev, afe); =20 - afe->platform_priv =3D devm_kzalloc(&pdev->dev, sizeof(*afe_priv), - GFP_KERNEL); + afe->platform_priv =3D devm_kzalloc(dev, sizeof(*afe_priv), GFP_KERNEL); if (!afe->platform_priv) return -ENOMEM; =20 afe_priv =3D afe->platform_priv; - afe->dev =3D &pdev->dev; - dev =3D afe->dev; + afe->dev =3D dev; =20 ret =3D of_reserved_mem_device_init(dev); if (ret) { @@ -835,7 +833,7 @@ static int mt8183_afe_pcm_dev_probe(struct platform_dev= ice *pdev) =20 /* enable clock for regcache get default value from hw */ afe_priv->pm_runtime_bypass_reg_ctl =3D true; - pm_runtime_get_sync(&pdev->dev); + pm_runtime_get_sync(dev); =20 ret =3D regmap_reinit_cache(afe->regmap, &mt8183_afe_regmap_config); if (ret) { @@ -843,7 +841,7 @@ static int mt8183_afe_pcm_dev_probe(struct platform_dev= ice *pdev) goto err_pm_disable; } =20 - pm_runtime_put_sync(&pdev->dev); + pm_runtime_put_sync(dev); afe_priv->pm_runtime_bypass_reg_ctl =3D false; =20 regcache_cache_only(afe->regmap, true); @@ -901,7 +899,7 @@ static int mt8183_afe_pcm_dev_probe(struct platform_dev= ice *pdev) for (i =3D 0; i < ARRAY_SIZE(dai_register_cbs); i++) { ret =3D dai_register_cbs[i](afe); if (ret) { - dev_warn(afe->dev, "dai register i %d fail, ret %d\n", + dev_warn(dev, "dai register i %d fail, ret %d\n", i, ret); goto err_pm_disable; } @@ -910,8 +908,7 @@ static int mt8183_afe_pcm_dev_probe(struct platform_dev= ice *pdev) /* init dai_driver and component_driver */ ret =3D mtk_afe_combine_sub_dai(afe); if (ret) { - dev_warn(afe->dev, "mtk_afe_combine_sub_dai fail, ret %d\n", - ret); + dev_warn(dev, "mtk_afe_combine_sub_dai fail, ret %d\n", ret); goto err_pm_disable; } =20 @@ -923,16 +920,14 @@ static int mt8183_afe_pcm_dev_probe(struct platform_d= evice *pdev) afe->runtime_suspend =3D mt8183_afe_runtime_suspend; =20 /* register component */ - ret =3D devm_snd_soc_register_component(&pdev->dev, - &mtk_afe_pcm_platform, + ret =3D devm_snd_soc_register_component(dev, &mtk_afe_pcm_platform, NULL, 0); if (ret) { dev_warn(dev, "err_platform\n"); goto err_pm_disable; } =20 - ret =3D devm_snd_soc_register_component(afe->dev, - &mt8183_afe_pcm_dai_component, + ret =3D devm_snd_soc_register_component(dev, &mt8183_afe_pcm_dai_componen= t, afe->dai_drivers, afe->num_dai_drivers); if (ret) { @@ -943,15 +938,17 @@ static int mt8183_afe_pcm_dev_probe(struct platform_d= evice *pdev) return ret; =20 err_pm_disable: - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); return ret; } =20 static void mt8183_afe_pcm_dev_remove(struct platform_device *pdev) { - pm_runtime_disable(&pdev->dev); - if (!pm_runtime_status_suspended(&pdev->dev)) - mt8183_afe_runtime_suspend(&pdev->dev); + struct device *dev =3D &pdev->dev; + + pm_runtime_disable(dev); + if (!pm_runtime_status_suspended(dev)) + mt8183_afe_runtime_suspend(dev); } =20 static const struct of_device_id mt8183_afe_pcm_dt_match[] =3D { --=20 2.50.0.rc1.591.g9c95f17f64-goog