Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp11443522ybi; Thu, 25 Jul 2019 16:41:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqx+pxDMeE5gHrqy8LBOPezRo/xIM6GF0+/LC6g8UBYaLjEYr7pPqdRvdFvdeONVfmT5SiAD X-Received: by 2002:a63:3805:: with SMTP id f5mr55355137pga.272.1564098113752; Thu, 25 Jul 2019 16:41:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564098113; cv=none; d=google.com; s=arc-20160816; b=DvUtjk375jSDqdRdEVN6ydHk/gXdVgMKC7o0chSdVSpw3h5RjolGFzqdAq3FqxromC YEmBPEjmr06cQnmC5SrCAIkX5HI7npqBFVssl49etJ/7yuaqpWx1YgNh6xG4sM47Q7LY zxs8JTYbmmubxOAOuRkLXU9R58msWKYmN86apgglwTv3u7iNDE1OqJw43EdVr4Y7bRGp rMfA1tCX2mekRv1FoPVF+Ntqpj0dJ6noOnebA6nqyQ3xl0b4gSGJd6BuWTz6Euvkp+8N mS/gG6kDxKEk1BkkHWwMzownSUmkq5B00JKyOie82AbDVHkg+UL/g1c9tG+LknsTMjKn PC7w== 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 :message-id:date:subject:cc:to:from; bh=tk3ukneNzHTUlgzuy97LfIe1kr7TFFGboCtA3qVmP1U=; b=uI+T1roMo3FSTf4RQn3vi+hi0ifAj6b9r568/U+cVJsakytf6dxNlseYCrUytrUJaI PE55l39H3V+jOnRz6nD8bbvN+V4gyDqwqivXvEFBOosyyqdjSxWfBLBzHUZEo9iCw96H 4jKsY3Seh72jim40Sj16k82+pvm3rXH+FN1pIXsReOyqYN61RZNOzlI86IY3iN0Ajvb4 tRWeUHZqFz8O9mtnVS0UmbkVs26a+r1ICLxOFRwKjzH4m5pLm0uH+U78TajJ2DdY3z0F MwdbMV1Dw8P4viAcFPW8JVBY8IvcUVV0gwf76IGx3obsJXK5Gh9pnEZHHzWgXuF9tFTV eJHw== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u123si20171979pgb.12.2019.07.25.16.41.39; Thu, 25 Jul 2019 16:41:53 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726958AbfGYXlA (ORCPT + 99 others); Thu, 25 Jul 2019 19:41:00 -0400 Received: from mga06.intel.com ([134.134.136.31]:51808 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726870AbfGYXk7 (ORCPT ); Thu, 25 Jul 2019 19:40:59 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jul 2019 16:40:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,308,1559545200"; d="scan'208";a="369874625" Received: from amrutaku-mobl1.amr.corp.intel.com (HELO pbossart-mobl3.intel.com) ([10.255.230.75]) by fmsmga006.fm.intel.com with ESMTP; 25 Jul 2019 16:40:56 -0700 From: Pierre-Louis Bossart To: alsa-devel@alsa-project.org Cc: linux-kernel@vger.kernel.org, tiwai@suse.de, broonie@kernel.org, vkoul@kernel.org, gregkh@linuxfoundation.org, jank@cadence.com, srinivas.kandagatla@linaro.org, slawomir.blauciak@intel.com, Pierre-Louis Bossart Subject: [RFC PATCH 00/40] soundwire: updates for 5.4 Date: Thu, 25 Jul 2019 18:39:52 -0500 Message-Id: <20190725234032.21152-1-pierre-louis.bossart@linux.intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The existing upstream code allows for SoundWire devices to be enumerated and managed by the bus, but streaming is not currently supported. Bard Liao, Rander Wang and I did quite a bit of integration/validation work to close this gap and we now have SoundWire streaming + basic power managemement on Intel CometLake and IceLake reference boards. These changes are still preliminary and should not be merged as is, but it's time to start reviews. While the number of patches is quite large, each of the changes is quite small. SOF driver changes will be submitted shortly as well but are still being validated. ClockStop modes and synchronized playback on multiple links are not supported for now and will likely be part of the next cycle (dependencies on codec drivers and multi-cpu DAI support). Acknowledgements: This work would not have been possible without the support of Slawomir Blauciak and Tomasz Lauda on the SOF side, currently being reviewed, see https://github.com/thesofproject/sof/pull/1638 Comments and feedback welcome! Bard liao (1): soundwire: include mod_devicetable.h to avoid compiling warnings Pierre-Louis Bossart (38): soundwire: add debugfs support soundwire: cadence_master: add debugfs register dump soundwire: cadence_master: align debugfs to 8 digits soundwire: intel: add debugfs register dump soundwire: intel: move interrupt enable after interrupt handler registration soundwire: intel: prevent possible dereference in hw_params soundwire: intel: fix channel number reported by hardware soundwire: intel: remove BIOS work-arounds soundwire: cadence_master: fix usage of CONFIG_UPDATE soundwire: cadence_master: remove useless wrapper soundwire: cadence_master: simplify bus clash interrupt clear soundwire: cadence_master: revisit interrupt settings soundwire: cadence_master: fix register definition for SLAVE_STATE soundwire: cadence_master: fix definitions for INTSTAT0/1 soundwire: cadence_master: handle multiple status reports per Slave soundwire: cadence_master: improve startup sequence with link hw_reset soundwire: bus: use runtime_pm_get_sync/pm when enabled soundwire: bus: split handling of Device0 events soundwire: bus: improve dynamic debug comments for enumeration soundwire: prototypes for suspend/resume soundwire: export helpers to find row and column values soundwire: stream: fix disable sequence soundwire: cadence_master: use BIOS defaults for frame shape soundwire: intel: use BIOS information to set clock dividers soundwire: Add Intel resource management algorithm soundwire: intel: handle disabled links soundwire: intel_init: add kernel module parameter to filter out links soundwire: cadence_master: add kernel parameter to override interrupt mask soundwire: intel: move shutdown() callback and don't export symbol soundwire: intel: add helper for initialization soundwire: intel: Add basic power management support soundwire: intel: ignore disabled links for suspend/resume soundwire: intel: export helper to exit reset soundwire: intel: disable interrupts on suspend soundwire: cadence_master: add hw_reset capability in debugfs soundwire: cadence_master: make clock stop exit configurable on init soundwire: intel: add pm_runtime support soundwire: intel: add delay on restart for enumeration Rander Wang (1): soundwire: cadence_master: fix divider setting in clock register drivers/soundwire/Makefile | 4 +- drivers/soundwire/algo_dynamic_allocation.c | 403 ++++++++++++++++++++ drivers/soundwire/bus.c | 44 ++- drivers/soundwire/bus.h | 77 +++- drivers/soundwire/bus_type.c | 3 + drivers/soundwire/cadence_master.c | 365 ++++++++++++++---- drivers/soundwire/cadence_master.h | 12 +- drivers/soundwire/debugfs.c | 156 ++++++++ drivers/soundwire/intel.c | 381 +++++++++++++++++- drivers/soundwire/intel_init.c | 14 + drivers/soundwire/slave.c | 1 + drivers/soundwire/stream.c | 53 ++- include/linux/soundwire/sdw.h | 15 + 13 files changed, 1414 insertions(+), 114 deletions(-) create mode 100644 drivers/soundwire/algo_dynamic_allocation.c create mode 100644 drivers/soundwire/debugfs.c -- 2.20.1