Removing the BROKEN condition on vc04_services/vchiq?

Michael Zoran mzoran at crowfest.net
Wed Oct 26 22:22:37 PDT 2016


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.

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.   The DEBUG_VALUE warning only
affects debug logging and probably doesn't have a decent fix without
modifying the firmware itself.

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.

Thanks.




More information about the linux-rpi-kernel mailing list