From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751466AbdJVKOz (ORCPT ); Sun, 22 Oct 2017 06:14:55 -0400 Received: from mga03.intel.com ([134.134.136.65]:26043 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751351AbdJVKOx (ORCPT ); Sun, 22 Oct 2017 06:14:53 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,416,1503385200"; d="scan'208";a="1208608216" Subject: Re: [alsa-devel] [PATCH 04/14] soundwire: Add MIPI DisCo property helpers To: Vinod Koul , Mark Brown Cc: Greg Kroah-Hartman , LKML , ALSA , Takashi , Sanyog Kale , Shreyas NC , patches.audio@intel.com, alan@linux.intel.com, Charles Keepax , Sagar Dharia , srinivas.kandagatla@linaro.org, plai@codeaurora.org, Sudheer Papothi References: <1508382211-3154-1-git-send-email-vinod.koul@intel.com> <1508382211-3154-5-git-send-email-vinod.koul@intel.com> <20171021092046.p6wsssjkonjjdidt@sirena.org.uk> <20171021113718.GG30097@localhost> From: Pierre-Louis Bossart Message-ID: Date: Sun, 22 Oct 2017 15:44:47 +0530 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171021113718.GG30097@localhost> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/21/17 5:07 PM, Vinod Koul wrote: > On Sat, Oct 21, 2017 at 10:20:46AM +0100, Mark Brown wrote: >> On Thu, Oct 19, 2017 at 08:33:20AM +0530, Vinod Koul wrote: >> >>> + /* device is probed so let's read the properties now */ >>> + if (slave->ops && slave->ops->read_prop) >>> + slave->ops->read_prop(slave); >> >> Is it valid for us to not be able to read the properties? > > Practically no. Without the values bus wont work The notion of read is a bit overloaded here. What is needed is that the information is provided to the bus, whether you read it from firmware or a table in the codec driver is an implementation choice - see below. > >> >>> + fwnode_property_read_u32(node, "mipi-sdw-port-max-wordlength", >>> + &dpn[i].max_word); >>> + fwnode_property_read_u32(node, "mipi-sdw-port-min-wordlength", >>> + &dpn[i].min_word); >> >> Don't we know this stuff simply by virtue of knowing what device we're >> talking to (given that there aren't class devices)? > > Well I think the spec is midway to device class so they added it to make it > generic :) The properties are needed so that the bus can perform all the transport-related stuff. As explained in the patches, we are not making assumptions on how the codec driver is written, the implementation can either get the properties from firmware (DT or ACPI) or hard-code them in the driver. The only property that needs to be defined is for multi-lane setups, since the topology is not known to a codec driver.