[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed88432c-e21c-b5fc-3abc-5f574769b722@linux.intel.com>
Date: Wed, 9 Sep 2020 12:00:57 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
vkoul@...nel.org, yung-chuan.liao@...ux.intel.com
Cc: sanyog.r.kale@...el.com, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] soundwire: bus: add enumerated slave to device list
On 9/9/20 10:54 AM, Srinivas Kandagatla wrote:
>
>
> On 09/09/2020 15:39, Pierre-Louis Bossart wrote:
>>
>>>>> Currently slave devices are only added either from device tree or acpi
>>>>> entries. However lets say, there is wrong or no entry of a slave
>>>>> device
>>>>> in DT that is enumerated, then there is no way for user to know all
>>>>> the enumerated devices on the bus.
>>>>
>>>> Sorry Srinivas, I don't understand your point.
>>>>
>>>> The sysfs entries will include all devices that are described in
>>>> platform firmware (be it DT or ACPI).
>>>
>>> yes that is true, but it will not include all the enumerated devices
>>> on the bus!
>>>
>>> In my case on a new board I was trying to figure out what devices are
>>> on the bus even before even adding any device tree entries!
>>
>> We've seen this before but dynamic debug provides all the information
>> you need. see e.g. the logs from
>> https://sof-ci.01.org/linuxpr/PR2425/build4447/devicetest/
>>
>> jf-cml-rvp-sdw-1 kernel: [ 289.751974] soundwire sdw-master-0: Slave
>> attached, programming device number
>> jf-cml-rvp-sdw-1 kernel: [ 289.752121] soundwire sdw-master-0: SDW
>> Slave Addr: 10025d070000 <<< HERE
>
> Yes, I have noticed this too! This will be printed for every call to
> sdw_extract_slave_id()!
>
> ...
>>
>> Now I get your point but
>> a) you already have a dynamic debug trace to list all devices
>> b) adding 'undeclared' devices would make things quite murky and is
>> only half of the solution. We already struggle because we already have
>> 'ghost' devices in sysfs that are not physically present, and no way
>> to differentiate between the two. If we did add those entries, then
>> we'd need two new sysfs attributes such as
>> 'declared' and 'enumerated'.
>
> I totally agree with you on dealing with the undeclared devices, which
> is unnecessary mess!
It's not necessarily that bad.
- if the intent is to have a single platform firmware that can deal with
different boards, it's a good thing.
- but if it's just sloppy platform firmware that just does copy-paste
from platform to platform then indeed it becomes a mess.
> May be we could make the enumerated devices discovery bit more verbose!
Maybe adding a device number sysfs entry would help, e.g. reporting
NotAttched or a value in [0,11] would tell you if the device is actually
present.
Powered by blists - more mailing lists