Hi, On Sat, Jan 12, 2013 at 9:07 PM, Alexander Nestorov <alexandernst@xxxxxxxxx> wrote: > Hi, > > it's finally working! :) > > This is my entire diff: http://pastie.org/5674242 (note: it doesn't include > sound/soc/samsung/mini6410_wm9713.c file, which is a copy of the > smdk6410_wm9713.c file) > Here's the mini6410_wm9713.c file: http://pastie.org/5674322 > > > This is what I'm getting from boot: > > soc-audio soc-audio: ASoC machine SMDK WM9713 should use snd_soc_register_card() > soc-audio soc-audio: wm9713-hifi <-> samsung-ac97 mapping ok > ALSA device list: > #0: MINI6410 > > which is what I was expecting (at least that's what I get booting the > FriendlyARM kernel). > > I had to unmute everything because everything was muted by default, > but that really doesn't bother me. > > The bad part is that, as Andrey told us, the filter hack is necessary. > If I remove it, I can't get any sound working. > Even further, if I try to run some amixer sset commands to unmute a > control, I get a few printfs with > "ac97: req addr = 12, rep addr = 00". The error occurs if the record occurred in the wrong register, which was expected. Code of s3c_ac97_read s3c_ac97_write and s3c_ac97_irq looks dirty. May be it some kind of workaround of some undocumented bug. The only one restriction I found is: "AC_CODEC_CMD ... When the commands are written on the AC_CODDEC_CMD register, It is recommended to have the delay time between the command and the next command is more than 1 / 48kHz.". But it keeped and should not lead to this error. I tried to rework this functions, remove delays, but error still happens. > Also, there is one strange compile warning which I'm not able to > understand where is coming from: > > WARNING: vmlinux.o(.data+0x6a78): Section mismatch in reference from > the variable smdk6410_b_pwr_5v_data to the (unknown reference) > .init.data:(unknown) > The variable smdk6410_b_pwr_5v_data references > the (unknown reference) __initdata (unknown) > If the reference is valid then annotate the > variable with __init* or __refdata (see linux/init.h) or name the variable: > *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console > > I do know that it came right after adding the mini6410_wm9713.c to the > Makefile but that really shouldn't make it bug. Also, it has nothing > to do with SMDK, which > is what this warning is suggesting. I'm not using > smdk6410_b_pwr_5v_data in my mach-mini6410.c so... > > Sylwester, I can start sending you well-formated patches now or I can > wait for the filter hack to be fixed first, just say :) > > Regards all and thank you for your help! > > -- > alexandernst -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html