Re: [PATCH] staging: bcm2835: fix vchiq_mmal dependencies
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
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
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