[alsa-devel] [PATCH 1/1] hdsp: allow firmware loading from inside the kernel

Raphaël Doursenaud rdoursenaud at free.fr
Tue May 12 10:01:20 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Takashi Iwai a écrit :
> At Tue, 12 May 2009 09:41:36 +0200,
> Raphaël Doursenaud wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Takashi Iwai a écrit :
>>> At Tue, 12 May 2009 09:25:27 +0200,
>>> Raphaël Doursenaud wrote:
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>>
>>>> Takashi Iwai a écrit :
>>>>> At Tue, 12 May 2009 09:05:19 +0200,
>>>>> Raphaël Doursenaud wrote:
>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>> Hash: SHA1
>>>>>>
>>>>>> Takashi Iwai a écrit :
>>>>>>> At Tue, 12 May 2009 08:47:29 +0200,
>>>>>>> Raphaël Doursenaud wrote:
>>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>>> Hash: SHA1
>>>>>>>>
>>>>>>>> Takashi Iwai a écrit :
>>>>>>>>> At Tue, 12 May 2009 08:16:08 +0200,
>>>>>>>>> Raphaël Doursenaud wrote:
>>>>>>>>>> From: Raphaël Doursenaud <rdoursenaud at free.fr>
>>>>>>>>>>
>>>>>>>>>> Allow the use of  the FIRMWARE_IN_KERNEL option with hdsp cards and
>>>>>>>>>> in-kernel driver.
>>>>>>>>> Did it really work without problems?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Takashi
>>>>>>>> Tested over the weekend with two multifaces in my DAW.
>>>>>>>> Got no problem.
>>>>>>> Interesting.
>>>>>>> Did you build the firmware file into the kernel, or not?
>>>>>>>
>>>>>>>
>>>>>>> Takashi
>>>>>> Yes I built all hdsp fimware files (multiface_firmware.bin
>>>>>> multiface_firmware_rev11.bin digiface_firmware.bin
>>>>>> digiface_firmware_rev11.bin) into the kernel.
>>>>>> It's the aim of this patch.
>>>>> Well, the problem I'm concerned is that the driver can be compiled
>>>>> in even if you have no built-in firmware.  And there is no restriction
>>>>> or dependency check in Kconfig, so far.
>>>>>
>>>>> Could you test how the kernel behaves without the built-in firmware?
>>>>> Does it hang or give any critical error?
>>>>>
>>>>>
>>>>> thanks,
>>>>>
>>>>> Takashi
>>>> Could you be more specific?
>>>> I'm not sure to understand why it could be a problem.
>>>> Do you think that if I set FIRMWARE_IN_KERNEL without compiling the
>>>> firmware(s) in-kernel the request_firmware() will not resolve and cause
>>>> an error?
>>> Yes, exactly.
>>> request_firmware() shall fail in that case likely after a long
>>> time-out (unless you have the firmware files in initrd) because there
>>> is really no file / data available at the time it's called.
>>> And I'm not sure whether this could lead to a fatal operation error.
>>>
>>>
>>> Takashi
>> AFAIK this is handled in the code (from line 5080) and should lead to
>> "Hammerfall-DSP: couldn't get firmware from userspace. try using hdsploader"
> 
> Yep, a fallback mechanism is found in hdsp driver itself.
> But the driver probe hangs for too long time, and I'm just worried
> about its influence on the whole kernel boot-up.
> 
>> I'm building a kernel to test that case.
> 
> Thanks.
> 
> 
> Takashi
Wow, you're right! Didn't think about that...

It hangs for about 45s on :
Hammerfall-DSP: wait for FIFO status <= 0 failed after 30 iterations
RME Hammerfall DSP 0000:05:02.0: firmware: requesting
multiface_firmware_rev11.bin

before going on with :
Hammerfall-DSP: cannot load firmware multiface_firmware_rev11.bin
Hammerfall-DSP: couldn't get firmware from userspace. try using hdsploader
Hammerfall-DSP: card initialization pending : waiting for firmware

I wonder what would be the best way to deal with that while still
enabling in-kernel firmware.
- --
Raphaël Doursenaud
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkoJLMwACgkQaZKmNAdXaVW94gCbBll+cHSt1/NhN7/g6UTsyb6N
y9QAniPLwniVOp5dxHGOl9pI9gTN+tdv
=5umi
-----END PGP SIGNATURE-----


More information about the Alsa-devel mailing list