Re: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies

2020-12-04 Thread Jacopo Mondi
Hi Arnd,

On Fri, Dec 04, 2020 at 01:49:39PM +0100, Arnd Bergmann wrote:
> On Fri, Dec 4, 2020 at 11:44 AM Jacopo Mondi  wrote:
> >
> > Hi Arnd,
> >
> > On Thu, Dec 03, 2020 at 11:38:30PM +0100, Arnd Bergmann wrote:
> > > From: Arnd Bergmann 
> > >
> > > When the MMAL code is built-in but the vchiq core config is
> > > set to =m, the mmal code never gets built, which in turn can
> > > lead to link errors:
> >
> > My bad, I repetedly ignored the error report received from the 'kernel
> > test robot' about this. Thanks for fixing.
> >
> > For my eduction, why would the vchiq-mmal code not get build if
> > vchiq-core is set to M ? I mean, that configuration is indeed wrong,
> > as vchiq-mmal uses symbols from vchiq-core and I would expect that to
> > fail when building the kernel image, not have the other modules (as
> > bcm2835-camera) fail as a consequence when building modules.
>
>
> drivers/staging/Makefile has this line:

My bad, I only looked into drivers/staging/vc04_services/

>
> obj-$(CONFIG_BCM2835_VCHIQ) += vc04_services/
>
> when CONFIG_BCM2835_VCHIQ=m, the kbuild infrastructure
> only enters the subdirectory while building modules, but a built-in
> mmal driver is not a loadable module, so it does not get built
> at that time. When compiling the built-in code, the subdirectory is
> not entered.

Thanks, all clear now!

>
> > > Fixes: b18ee53ad297 ("staging: bcm2835: Break MMAL support out from 
> > > camera")
> > > Signed-off-by: Arnd Bergmann 
> >
> > Acked-by: Jacopo Mondi 
> >
> > If you noticed this from the same error notification I recevied it
> > might be fair to report:
> > Reported-by: kernel test robot 
>
> I had not seen that report but found it during my own testing,
> thanks for adding.
>
>   Arnd
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies

2020-12-04 Thread Jacopo Mondi
Hi Arnd,

On Thu, Dec 03, 2020 at 11:38:30PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann 
>
> When the MMAL code is built-in but the vchiq core config is
> set to =m, the mmal code never gets built, which in turn can
> lead to link errors:

My bad, I repetedly ignored the error report received from the 'kernel
test robot' about this. Thanks for fixing.

For my eduction, why would the vchiq-mmal code not get build if
vchiq-core is set to M ? I mean, that configuration is indeed wrong,
as vchiq-mmal uses symbols from vchiq-core and I would expect that to
fail when building the kernel image, not have the other modules (as
bcm2835-camera) fail as a consequence when building modules.

>
> ERROR: modpost: "vchiq_mmal_port_set_format" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_disable" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_parameter_set" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_finalise" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_connect_tunnel" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_enable" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_finalise" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_init" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_component_disable" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "mmal_vchi_buffer_init" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_enable" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_version" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_submit_buffer" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_init" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "mmal_vchi_buffer_cleanup" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
> ERROR: modpost: "vchiq_mmal_port_parameter_get" 
> [drivers/staging/vc04_services/bcm2835-camera/bcm2835-v4l2.ko] undefined!
>
> Change the Kconfig to depend on BCM2835_VCHIQ like the other drivers,
> and remove the now redundant dependencies.
>
> Fixes: b18ee53ad297 ("staging: bcm2835: Break MMAL support out from camera")
> Signed-off-by: Arnd Bergmann 

Acked-by: Jacopo Mondi 

If you noticed this from the same error notification I recevied it
might be fair to report:
Reported-by: kernel test robot 

Thanks
   j

> ---
>  drivers/staging/vc04_services/vchiq-mmal/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/vc04_services/vchiq-mmal/Kconfig 
> b/drivers/staging/vc04_services/vchiq-mmal/Kconfig
> index 500c0d12e4ff..c99525a0bb45 100644
> --- a/drivers/staging/vc04_services/vchiq-mmal/Kconfig
> +++ b/drivers/staging/vc04_services/vchiq-mmal/Kconfig
> @@ -1,6 +1,6 @@
>  config BCM2835_VCHIQ_MMAL
>   tristate "BCM2835 MMAL VCHIQ service"
> - depends on (ARCH_BCM2835 || COMPILE_TEST)
> + depends on BCM2835_VCHIQ
>   help
> Enables the MMAL API over VCHIQ interface as used for the
> majority of the multimedia services on VideoCore.
> --
> 2.27.0
>
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v2 28/47] staging: vchi: Get rid of vchiq_shim's message callback

2020-08-28 Thread Jacopo Mondi
Hi Nicolas,

   I'm working on a v2 of the bcm2835-isp support which was sent along
with UNICAM v4l2 driver and some misc changes you have collected in
this series. Reference to v1:
https://lore.kernel.org/linux-media/20200504092611.9798-1-laurent.pinch...@ideasonboard.com/

On Mon, Jun 29, 2020 at 05:09:26PM +0200, Nicolas Saenz Julienne wrote:
> As vchiq_shim's callback does nothing aside from pushing messages into
> the service's queue, let's bypass it and jump directly to the service's
> callbacks, letting them choose whether to use the message queue.

I admit this patch caused me some pain, as after a few days chasing
why the ISP got stuck in importing buffers into the VPU through the vc-sm-cma
driver I realized that this patch removed a significant part of the
process..

>
> It turns out most services don't need to use the message queue, which
> makes for simpler code in the end.
>
> -
> - if (reason == VCHIQ_MESSAGE_AVAILABLE)
> - vchiq_msg_queue_push(service->handle, header);

This one '-.-

I wonder if this was intentional and it is expected all services now
handle the message queue (it seems so according to your commit
message).

Fair enough, I could add in the vc-sma-cma callback a call to
vchiq_msg_queue_push() but I wonder if it wouldn't be better to do so
in vchiq_core.c:parse_rx_slots(), just before calling the service's
callback, so that this has not to be re-implemented in all services.

What would you suggest ?

And by the way I see mmal-vchiq.c:service_callback() releasing
messages but never pushing them to the queue. Is this intended as well ?

Thanks
  j

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel