lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E4AFCC9.7020109@codeaurora.org>
Date:	Tue, 16 Aug 2011 17:27:05 -0600
From:	Kenneth Heitke <kheitke@...eaurora.org>
To:	Arnd Bergmann <arnd@...db.de>
CC:	sdharia@...eaurora.org, David Brown <davidb@...eaurora.org>,
	Mark Brown <broonie@...nsource.wolfsonmicro.com>,
	bryanh@...eaurora.org, linux-arm-msm@...r.kernel.org,
	rdunlap@...otime.net, rmk+kernel@....linux.org.uk,
	john.stultz@...aro.org, akpm@...ux-foundation.org, ohad@...ery.com,
	gregkh@...e.de, stefanr@...6.in-berlin.de, lethal@...ux-sh.org,
	linville@...driver.com, zajec5@...il.com,
	linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] slimbus: Linux driver framework for SLIMbus.

On 08/16/2011 01:49 PM, Arnd Bergmann wrote:
> On Tuesday 16 August 2011 10:44:35 sdharia@...eaurora.org wrote:
>>>
>>> SLIMbus is a MIPI standard bus primarily used for digital audio devices.
>>>    The devices on the bus SLIMbus enumerate themselves by sending an
>>> IDENTITY message.  I'll let Sagar clarify further.
>>
>> Thanks everyone for taking your time to review the RFC.
>> Regarding device discovery:
>> Every device sends a "PRESENT" message when it comes up. Every device has
>> 48-bit address like Ethernet and spec lets upto 256 devices (each getting
>> 8-bit logical address) on one bus.
>> The device can report anytime (when it's plugged in, when a dynamic module
>> powers it on etc.)
>> Typical use case will be to have it board-specific but as Mark
>> mentioned,we may have plug-in cards with slimbus devices so we want
>> dynamic support as well.
>
> Thanks for the info. The part that I still don't understand is how the
> 48-bit address and the 8 bit address are chosen. Do you mean that
> the 8-bit address identifies the location on the bus and is used
> when talking to the device locally while the 48-bit address is globally
> unique and different for each individual board?
>
> In that case, we would still not have any way to identify the type
> of device, other than using a look-up table of 8-bit addresses to
> device names (or numbers).
>
> Or does the 48-bit number actually tell us something about what
> device we're talking to, e.g. 24 bit vendor plus 24 bit device
> type and revision or such. If that's the case, the number needs
> to be the primary key that gets used to identify the driver,
> just like we do it in case of USB or PCI devices.
>
> 	Arnd
>

The 8-bit address is a logical address that is assigned by the SLIMbus 
framework.  The framework maintains the mapping of logical addresses to 
the 48-bit Enumeration Address (EA).  The 8-bit logical address is then 
used for any further SLIMbus device addressing.

The slim_get_logical_addr() API call is used by the client drivers to 
get the logical address that has been assigned to the device.

For the proposed implementation, the client drivers are probed before 
their devices are discovered because the client driver may need to 
power-up the device or pull it out of reset.  Once the device is powered 
up, the call to get_logical_address() will let the client know whether 
or not their device has enumerated.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ