2017-08-17 14:04:30

by Gary Bisson

[permalink] [raw]
Subject: [PATCH] ARM: imx_v6_v7_defconfig: Add CONFIG_FW_LOADER_USER_HELPER_FALLBACK

Allows to load firmware files which aren't built inside the kernel.

Especially useful for CODA firmware (vpu_fw_imx6q.bin) which is usually
located in the rootfs.

Signed-off-by: Gary Bisson <[email protected]>
---
Hi Shawn,

I'm not sure if this patch is acceptable since I've noticed that no
configuration currently has that option enabled (why?).

As mentioned in the commit, I had to enable that in order to have CODA
load the VPU firmware properly.

Another option would be to make the CODA driver a module...

Let me know your thoughts.

Regards,
Gary
---
arch/arm/configs/imx_v6_v7_defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index e74de69caeab..6f571d8b5a7e 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -89,6 +89,7 @@ CONFIG_RFKILL_INPUT=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=64
CONFIG_IMX_WEIM=y
--
2.14.1


2017-08-17 14:14:29

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx_v6_v7_defconfig: Add CONFIG_FW_LOADER_USER_HELPER_FALLBACK

On Thu, Aug 17, 2017 at 04:04:24PM +0200, Gary Bisson wrote:
> Allows to load firmware files which aren't built inside the kernel.
>
> Especially useful for CODA firmware (vpu_fw_imx6q.bin) which is usually
> located in the rootfs.
>
> Signed-off-by: Gary Bisson <[email protected]>
> ---
> Hi Shawn,
>
> I'm not sure if this patch is acceptable since I've noticed that no
> configuration currently has that option enabled (why?).
>
> As mentioned in the commit, I had to enable that in order to have CODA
> load the VPU firmware properly.
>
> Another option would be to make the CODA driver a module...
>
> Let me know your thoughts.

@Philipp, do you have any comments on this?

>From reading of the option help text, I feel the option is not
recommended?

config FW_LOADER_USER_HELPER_FALLBACK

This option enables / disables the invocation of user-helper
(e.g. udev) for loading firmware files as a fallback after the
direct file loading in kernel fails. The user-mode helper is
no longer required unless you have a special firmware file that
resides in a non-standard path. Moreover, the udev support has
been deprecated upstream.

Shawn

2017-08-17 15:11:14

by Fabio Estevam

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx_v6_v7_defconfig: Add CONFIG_FW_LOADER_USER_HELPER_FALLBACK

Hi Gary,

On Thu, Aug 17, 2017 at 11:04 AM, Gary Bisson
<[email protected]> wrote:
> Allows to load firmware files which aren't built inside the kernel.
>
> Especially useful for CODA firmware (vpu_fw_imx6q.bin) which is usually
> located in the rootfs.
>
> Signed-off-by: Gary Bisson <[email protected]>
> ---
> Hi Shawn,
>
> I'm not sure if this patch is acceptable since I've noticed that no
> configuration currently has that option enabled (why?).
>
> As mentioned in the commit, I had to enable that in order to have CODA
> load the VPU firmware properly.
>
> Another option would be to make the CODA driver a module...

Yes, that's what we have currently:

commit a5a56f07c2726cc801efccd23f8df29af04d6d19
Author: Fabio Estevam <[email protected]>
Date: Fri Jul 7 12:06:45 2017 -0300

ARM: imx_v6_v7_defconfig: Select the coda driver as module

The coda driver may be probed prior to the rootfs being available, leading
to firmware loading failure.

To avoid such problem, select the coda driver as module.

Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Shawn Guo <[email protected]>

2017-08-17 15:18:04

by Gary Bisson

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx_v6_v7_defconfig: Add CONFIG_FW_LOADER_USER_HELPER_FALLBACK

Hi Fabio,

On Thu, Aug 17, 2017 at 5:11 PM, Fabio Estevam <[email protected]> wrote:
> Hi Gary,
>
> On Thu, Aug 17, 2017 at 11:04 AM, Gary Bisson
> <[email protected]> wrote:
>> Allows to load firmware files which aren't built inside the kernel.
>>
>> Especially useful for CODA firmware (vpu_fw_imx6q.bin) which is usually
>> located in the rootfs.
>>
>> Signed-off-by: Gary Bisson <[email protected]>
>> ---
>> Hi Shawn,
>>
>> I'm not sure if this patch is acceptable since I've noticed that no
>> configuration currently has that option enabled (why?).
>>
>> As mentioned in the commit, I had to enable that in order to have CODA
>> load the VPU firmware properly.
>>
>> Another option would be to make the CODA driver a module...
>
> Yes, that's what we have currently:
>
> commit a5a56f07c2726cc801efccd23f8df29af04d6d19
> Author: Fabio Estevam <[email protected]>
> Date: Fri Jul 7 12:06:45 2017 -0300
>
> ARM: imx_v6_v7_defconfig: Select the coda driver as module

Ok good, I tested on v4.13-rc5, that's why I had the problem.

I'll make sure to check Shawn's tree next time.

Regards,
Gary

2017-08-18 07:57:41

by Philipp Zabel

[permalink] [raw]
Subject: Re: [PATCH] ARM: imx_v6_v7_defconfig: Add CONFIG_FW_LOADER_USER_HELPER_FALLBACK

Hi Shawn,

On Thu, 2017-08-17 at 22:12 +0800, Shawn Guo wrote:
> On Thu, Aug 17, 2017 at 04:04:24PM +0200, Gary Bisson wrote:
> > Allows to load firmware files which aren't built inside the kernel.
> >
> > Especially useful for CODA firmware (vpu_fw_imx6q.bin) which is
> > usually
> > located in the rootfs.
> >
> > Signed-off-by: Gary Bisson <[email protected]>
> > ---
> > Hi Shawn,
> >
> > I'm not sure if this patch is acceptable since I've noticed that no
> > configuration currently has that option enabled (why?).
> >
> > As mentioned in the commit, I had to enable that in order to have
> > CODA
> > load the VPU firmware properly.
> >
> > Another option would be to make the CODA driver a module...
> >
> > Let me know your thoughts.
>
> @Philipp, do you have any comments on this?
>
> From reading of the option help text, I feel the option is not
> recommended?
>
> config FW_LOADER_USER_HELPER_FALLBACK
>
> This option enables / disables the invocation of user-helper
> (e.g. udev) for loading firmware files as a fallback after the
> direct file loading in kernel fails.  The user-mode helper is
> no longer required unless you have a special firmware file that
> resides in a non-standard path. Moreover, the udev support has
> been deprecated upstream.
>
> Shawn

Building coda as a module should work fine, so I'd say this is not
necessary.

regards
Philipp