From patchwork Mon Nov 27 12:47:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bard Liao X-Patchwork-Id: 170111 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3068283vqx; Mon, 27 Nov 2023 04:36:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IFYzrOz1C8/bdrOEtbBBL5GZKuQ37z1YQHBCYoNBwklCiONxxJ3ADonvUv1YO7nEECRdoNW X-Received: by 2002:a17:90b:1b09:b0:285:b97e:5dbf with SMTP id nu9-20020a17090b1b0900b00285b97e5dbfmr3773039pjb.10.1701088565479; Mon, 27 Nov 2023 04:36:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701088565; cv=none; d=google.com; s=arc-20160816; b=Th1eSDOmooW0CX9A7C6m9YWpeBTDriqc+DZIuT6uDXbuYmJm6lBbb0xu5xSBxpotCY RtolzDDcfTIZzcTVRsque5wHyt+cGSSs+oDn43R4FJsMbznJN470ebz5G1C1aJKCYGGE fsEJ2DKH5KzuneieBFMfLevw3n7U6Eqqopfor8FrqacMslnyIPmXrZBWnf3I2qZZVtVy /l6sLLz48pWiPpO4eQTAUARzJ/Z9ewNCWYvOVYqBzihsCeij+jmDhZdPZC2mIOC3Xkc2 oPQG/tvaTyyWgA7SEgSnZlD6a+SXfiOWMJxpAiX1HFekt6ba3xVjKiwhWfJlHmhmj/93 Z8TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=qes6G5oMWfq5sViRPC/KNgn8LgddIqm06F5Karq2r3U=; fh=DQfWcJ7a6lABpgAjlslbt+lALChD4jPOSQFW0XC7h54=; b=nryfJoSkUp0P1uWfS3ci/HF0ALuGhdnreuZ7Sb9NvOQvhrcwdR1QACFWvTOJVLVNdD DiGFp3seKoNt8ULDz+SspLD13KuBfHrlG6nmspsZhPNjcfq8D+7eYIzBb/ZyYgYmyn23 JQTi0yNPcgjOOZYEjDFPgQtx3Pp+IIonDVeEm+Fz0pP/qEaswGUs0FxaSnncGgLe32gA tQ2Sb75e2FvmYNvZuQjfYkATfTuBxKYWbbTA3Gg0Y6/AYBG7Fj4V/g/fDp3dR+xjmVfN KgQr1ApviQK5e2SbivS/gZEFm/WcQOmGzOlr3rZOEsJ4BERbub5s+epAPmMgR/Qag/W6 iqyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="ZgcmVlP/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id b22-20020a17090a489600b002839e1cb23csi9845010pjh.117.2023.11.27.04.36.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 04:36:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="ZgcmVlP/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 19B8A80842CF; Mon, 27 Nov 2023 04:35:59 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233276AbjK0Mfi (ORCPT + 99 others); Mon, 27 Nov 2023 07:35:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233351AbjK0Mfh (ORCPT ); Mon, 27 Nov 2023 07:35:37 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9293F18A; Mon, 27 Nov 2023 04:35:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701088543; x=1732624543; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=yp/ah/6UfzXck55VRxpB/2AJtviOqVShHgC1pzKlQDc=; b=ZgcmVlP/Cz54Mrei0r+T/O9KoOKlxaKSPkosK6JYb6b3Co4C30Ep4IGs 9UQsCH3JI/nNCrUL2Nqlpqmj+KQxw2H8W8S4JLPQa+OstA5bEHbhnaeTc a5Z3D4NO4cvBdNOMryNfoTA/ZV0GFqm18rg16LD1hUZlruYAOZlp4Fnke gsWcHADFTIPX7QWqZ6dWnsWNolZTlHOljMqm04Tl22QRZ1K8XH/mz8OOy Of3Vj+TIlM9ePk4scTY0Ou5CFn7Xmyi8WAL75d5ocy3U6nN8p1hf3OKny FZatHwLKmLcWd8D4PcxGRa5pPmJKo37RMn37VgU4cqByehgygAl/XhzSg Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10906"; a="5882343" X-IronPort-AV: E=Sophos;i="6.04,230,1695711600"; d="scan'208";a="5882343" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2023 04:35:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10906"; a="718021893" X-IronPort-AV: E=Sophos;i="6.04,230,1695711600"; d="scan'208";a="718021893" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2023 04:35:40 -0800 From: Bard Liao To: linux-sound@vger.kernel.org, vkoul@kernel.org Cc: vinod.koul@linaro.org, linux-kernel@vger.kernel.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH] soundwire: intel_ace2x: fix AC timing setting for ACE2.x Date: Mon, 27 Nov 2023 20:47:35 +0800 Message-Id: <20231127124735.2080562-1-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 27 Nov 2023 04:35:59 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783720643696661179 X-GMAIL-MSGID: 1783720643696661179 From: Chao Song Start from ACE1.x, DOAISE is added to AC timing control register bit 5, it combines with DOAIS to get effective timing, and has the default value 1. The current code fills DOAIS, DACTQE and DODS bits to a variable initialized to zero, and updates the variable to AC timing control register. With this operation, We change DOAISE to 0, and force a much more aggressive timing. The timing is even unable to form a working waveform on SDA pin. This patch uses read-modify-write operation for the AC timing control register access, thus makes sure those bits not supposed and intended to change are not touched. Signed-off-by: Chao Song Reviewed-by: Pierre-Louis Bossart Signed-off-by: Bard Liao --- drivers/soundwire/intel_ace2x.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/soundwire/intel_ace2x.c b/drivers/soundwire/intel_ace2x.c index 82672fcbc2aa..8280baa3254b 100644 --- a/drivers/soundwire/intel_ace2x.c +++ b/drivers/soundwire/intel_ace2x.c @@ -23,8 +23,9 @@ static void intel_shim_vs_init(struct sdw_intel *sdw) { void __iomem *shim_vs = sdw->link_res->shim_vs; - u16 act = 0; + u16 act; + act = intel_readw(shim_vs, SDW_SHIM2_INTEL_VS_ACTMCTL); u16p_replace_bits(&act, 0x1, SDW_SHIM2_INTEL_VS_ACTMCTL_DOAIS); act |= SDW_SHIM2_INTEL_VS_ACTMCTL_DACTQE; act |= SDW_SHIM2_INTEL_VS_ACTMCTL_DODS;