Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp3392320ybp; Sun, 6 Oct 2019 10:56:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqzz/fqmz9hYy1z2XMO5qwuefvYjXCugKQgM8eb/s4FSKD8Ba3KygFil/EB+9tuX2iOaGgsQ X-Received: by 2002:a17:906:9483:: with SMTP id t3mr202019ejx.319.1570384580027; Sun, 06 Oct 2019 10:56:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570384580; cv=none; d=google.com; s=arc-20160816; b=EAwC1IZFRMY+EV7IXUvJQqtwr2KbU+DyuZgsBs0r4l0MaSPE8c3eKeK+h+3Vdbd4tg MNF/xowDNNxBaEJPjcHGyxgf/Ja3FaNebUNj2CTLVTbprsWGbZD7Nc2bePPMOxXUNIrM 8wApWrIrgXZGl0F/x1fnHh0CwH/6cb9c8AWvSaUbKVg9Xz0sGqmLyrZ6/vDQnmoBHDbD t3MOpFWJ3VKyDAD4dAeCi1iYzDCOL7C6tNTeT4e6F46IFHN5cjGuPF1rtgJSvLMybKZZ 9Vr7htoEUGpntdiC+/E8BKmxmcRml63g2Ce5bZk9aqRI0dgQP1oPDrmHjBqNQXEvkEk/ NyBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Jx/K/5dye7BkTfx8JfySG2dlWRdqVYHeN3/mFsY48mo=; b=RFomx775TSMkwAaOVTjPOZib8YeAkI7MOFE5IWgQZjmHjFBzzWsipTuAQegC63Bgbk e4mKaRipIYUCw6yBxjgCFg5UHKACDrL+30AE+7JJ/X6pWfSlHqv8cnl2efIZ5TqkNgcl DmJZlSKZoXRMaWfRdsoINSURyS/ZkHwlkxnOqm3dS1mDGLYXkWmrWrYlULidH5+diov0 phdU7DvNS1pMNxVqcOEFYrAlEnnrvYi6PrtziCtKWMzeuuQrScLqfJziy+f90uCzir+S exT1Bp5ImFq4rztrNLjv11oLhRtYSc3yuZzVpmBPW7+2I1o/+7/l9yMatt9V1anQ5MuR sN+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rOOMYWIH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i24si7750505edj.207.2019.10.06.10.55.56; Sun, 06 Oct 2019 10:56:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rOOMYWIH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730404AbfJFRhR (ORCPT + 99 others); Sun, 6 Oct 2019 13:37:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:36222 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729505AbfJFRhQ (ORCPT ); Sun, 6 Oct 2019 13:37:16 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1C3B82080F; Sun, 6 Oct 2019 17:37:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570383435; bh=082BMeEI5De5r+ZXqfTJEGduL6z/t1hEjdp/Pelq80c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rOOMYWIH+Rr0o1f2FvBfxsfO35S72BSFRm5w5hWnE+3tNJ/AHFUoD7XPnsjRxrQHn dsQTGOTOfhIBENz63H/m5LW2gfLIRV3aQUX17ml1CWXVRsWW4xxmPuE4Wz36rMBsBI mPp4HmRev8HtPzleqwuB3aGcPvX6+/uDwo1yh8v8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pierre-Louis Bossart , Vinod Koul , Sasha Levin Subject: [PATCH 5.2 103/137] soundwire: intel: fix channel number reported by hardware Date: Sun, 6 Oct 2019 19:21:27 +0200 Message-Id: <20191006171217.508937732@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191006171209.403038733@linuxfoundation.org> References: <20191006171209.403038733@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pierre-Louis Bossart [ Upstream commit 18046335643de6d21327f5ae034c8fb8463f6715 ] On all released Intel controllers (CNL/CML/ICL), PDI2 reports an invalid count, force the correct hardware-supported value This may have to be revisited with platform-specific values if the hardware changes, but for now this is good enough. Signed-off-by: Pierre-Louis Bossart Link: https://lore.kernel.org/r/20190806005522.22642-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/soundwire/intel.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c index 60293a00a14ee..8a670bc86c0ce 100644 --- a/drivers/soundwire/intel.c +++ b/drivers/soundwire/intel.c @@ -283,6 +283,16 @@ intel_pdi_get_ch_cap(struct sdw_intel *sdw, unsigned int pdi_num, bool pcm) if (pcm) { count = intel_readw(shim, SDW_SHIM_PCMSYCHC(link_id, pdi_num)); + + /* + * WORKAROUND: on all existing Intel controllers, pdi + * number 2 reports channel count as 1 even though it + * supports 8 channels. Performing hardcoding for pdi + * number 2. + */ + if (pdi_num == 2) + count = 7; + } else { count = intel_readw(shim, SDW_SHIM_PDMSCAP(link_id)); count = ((count & SDW_SHIM_PDMSCAP_CPSS) >> -- 2.20.1