From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.4 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59EDDC65BAF for ; Wed, 12 Dec 2018 14:50:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2935520672 for ; Wed, 12 Dec 2018 14:50:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2935520672 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=atomide.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727658AbeLLOu1 (ORCPT ); Wed, 12 Dec 2018 09:50:27 -0500 Received: from muru.com ([72.249.23.125]:57670 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726223AbeLLOu0 (ORCPT ); Wed, 12 Dec 2018 09:50:26 -0500 Received: from atomide.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTPS id EB4E9809F; Wed, 12 Dec 2018 14:50:28 +0000 (UTC) Date: Wed, 12 Dec 2018 06:50:22 -0800 From: Tony Lindgren To: Peter Ujfalusi Cc: Kuninori Morimoto , Mark Brown , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , "alsa-devel@alsa-project.org" , "linux-kernel@vger.kernel.org" , "linux-omap@vger.kernel.org" , Sebastian Reichel , Jarkko Nikula Subject: Re: [PATCH 0/2] Graph fixes for using multiple endpoints per port Message-ID: <20181212145022.GB6707@atomide.com> References: <20181211020557.61783-1-tony@atomide.com> <8736r4bvf3.wl-kuninori.morimoto.gx@renesas.com> <20181211045220.GI6707@atomide.com> <871s6obqkb.wl-kuninori.morimoto.gx@renesas.com> <20181211053536.GJ6707@atomide.com> <87wooga9an.wl-kuninori.morimoto.gx@renesas.com> <20181211141649.GL6707@atomide.com> <87ftv33bpg.wl-kuninori.morimoto.gx@renesas.com> <20181212001950.GX6707@atomide.com> <01e3f547-318e-8988-b48a-e10c0a2904d6@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01e3f547-318e-8988-b48a-e10c0a2904d6@ti.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Peter Ujfalusi [181212 13:03]: > On 12/12/2018 2.19, Tony Lindgren wrote: > > In my McBSP case there is only a single physical I2S port > > that can be TDM split into timeslots. > > So what is missing from the McBSP driver is to configure the TDM. We > never had a hardware which would require it so it is _not_ implemented. Curiously.. Nothing needs to be done in the McBSP driver for the droid 4 TDM configuration AFAIK. The CPCAP PMIC is the clock master, and only the PMIC registers need to be configured in this case for the timeslot to switch between codecs connected to McBSP3. > imho the 'only' thing is to implement the set_tdm_slot callback for the > McBSP DAI. In DT you would have single card with two dai_link section > and each section would set different tdm slots to use for the codecs > listening on different slots. > > There is one issue for sure with this setup: the two PCM can not be used > at the same time. But we have one DMA channel so if you would open both > the PCM stream need to be set up in a way to match with the HW or create > a asound.conf file to do some mapping. Yes in the droid 4 TDM case only one device can be used at a time and all that configuration is done in the PMIC codec .set_tdm_slot function. I think it's possible to do more complex configurations where McBSP is the master and would implement a .set_tdm_slot function. But I don't know anything about that and I'm not aware of any such use cases in the mainline kernel. Regards, Tony