Removing the BROKEN condition on vc04_services/vchiq?

Greg KH gregkh at linuxfoundation.org
Wed Oct 26 22:36:13 PDT 2016


On Wed, Oct 26, 2016 at 10:22:37PM -0700, Michael Zoran wrote:
> I recompiled the staging branch + patch to replace dmac_map_area with
> dmac_map_sg for arm64 today.   Just to let you know, the tree builds
> without any errors and only a few warnings.   I'm wondering if/when the
> BROKEN condition on vc04_services/vchiq should be removed from the
> Kconfig.

I can try removing it and letting the 0-day bot run it through its build
tests and seeing what breaks :)

I'll do that in a day or so when I get these patches all applied.

> Here is the list of warning(no errors) I'm getting on arm64:
> 
> In file included from
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c:34:0:
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c: In
> function ‘parse_rx_slots’:
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c:1622:29:
> warning: cast from pointer to integer of different size [-Wpointer-to-
> int-cast]
>    DEBUG_VALUE(PARSE_HEADER, (int)header);
>                              ^
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:189:33:
> note: in definition of macro ‘DEBUG_VALUE’
>   do { debug_ptr[DEBUG_ ## d] = (v); dsb(sy); } while (0)
>                                  ^
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c: In
> function ‘vchiq_copy_from_user’:
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c:217:
> 6: warning: cast from pointer to integer of different size [-Wpointer-
> to-int-cast]
>   if ((uint32_t)src < TASK_SIZE) {
>       ^
> 
> The driver won't work correctly on arm64 of course because of the cast
> of src to a uint32_t, but it does build.

Yeah, that's some crazy code that needs to get fixed.

> The DEBUG_VALUE warning only affects debug logging and probably
> doesn't have a decent fix without modifying the firmware itself.

why does the firmware care or matter about this?

> Also, I'm wondering when the default config for bcm2835 should be added
> to arm64 and possibly any 64 bit specific device trees should be
> added/changed.
> 
> Copying the bcm2835_defconfig from arch/arm/configs to
> arch/arm64/configs works with almost no modifications.

I'll let the arm maintainers deal with that, it's outside of the staging
tree area for me to be messing with.

thanks,

greg k-h



More information about the linux-rpi-kernel mailing list