[alsa-devel] [PATCH] ALSA: ASoC: cs4720: use snd_soc_cache_sync()

Daniel Mack zonque at gmail.com
Tue Nov 22 16:57:30 CET 2011


On 11/22/2011 04:47 PM, Timur Tabi wrote:
> Daniel Mack wrote:
>> The code is so simple that I'm starting to suspect 
>> i2c_smbus_write_byte_data() is doing something very wrong, but I
>> can't trace it without a hardware I2C analyzer right now. The
>> i2c-regmap low-level implementation uses different access functions
>> under the hood, so maybe that's a regression.
> 
> What platform are you testing this on?

Some Raumfeld devices feature this codec, connected to an ARM PXA3xx.

> I never really understood the
> i2c vs. smbus thing (I can never tell which function an i2c device
> really needs), so I only know that the i2c code works on my PowerPC
> board.

Yes, that's a mess. SMBUS is a higher level protocol that is based in
I2C and adds an awareness of "registers" and "values". However, it
really just resembles to 2-byte instructions on the bus, which is what I
needed when I implemented the code some years ago.

> Also keep in mind that a patch that affects
> i2c_smbus_write_byte_data() on PowerPC was recently posted, but not
> approved yet.  Check the thread, "i2c/busses: (mpc) Add support for
> SMBUS_READ_BLOCK_DATA".

Well, we're on a different platform and we don't use BLOCK_DATA
transfers but single byte instructions. You still think it's related?


Daniel


More information about the Alsa-devel mailing list