2021-08-02 17:44:16

by Ojaswin Mujoo

[permalink] [raw]
Subject: [PATCH v2 0/2] staging: vchiq: Fixups to Kconfig

Hi everyone,

This patchset performs some minor fixups to the config options defined in
/staging/vc04_services/Kconfig.

Summary of the patches:

Patch 1: Makes BCM2835_VCHIQ imply VCHIQ_CDEV to make the behavior more
compatible to how it was before VCHIQ_CDEV was introduced (in
[1]).
Patch 2: Add some more details to the configs' help texts


Changes since v1 [2]:

* As pre discussion with Greg and Stefan, used "imply" in BCM2835_VCHIQ
instead of "default y" in VCHIQ_CDEV.
* Added some more info in help texts of both the config options.

In patch 2, although the resources on VideoCore and vchiq are really
scattered around the internet, I've tried to keep the help text as
accurate as possible, as per my knowledge.
Please do let me know if anything is off in it and I'll fix it.

Thank you!
Ojaswin

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/patch/?id=2b5930fb3dc06d86149071f9dc8b6992cac1c3aa

[2] https://lore.kernel.org/patchwork/cover/1469192/

Ojaswin Mujoo (2):
staging: vchiq: Set $CONFIG_BCM2835_VCHIQ to imply $CONFIG_VCHIQ_CDEV
staging: vchiq: Add details to Kconfig help texts

drivers/staging/vc04_services/Kconfig | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)

--
2.25.1



2021-08-02 17:44:33

by Ojaswin Mujoo

[permalink] [raw]
Subject: [PATCH v2 1/2] staging: vchiq: Set $CONFIG_BCM2835_VCHIQ to imply $CONFIG_VCHIQ_CDEV

Before $CONFIG_VCHIQ_CDEV was defined, the vchiq cdev used to be created
unconditionally when CONFIG_BCM2835_VCHIQ=y. When an earlier commit
introduced the new config, its default behavior was set to disabled,
which might surprise some unsuspecting users. Hence, modify
CONFIG_BCM2835_VCHIQ to imply CONFIG_VCHIQ_CDEV

Signed-off-by: Ojaswin Mujoo <[email protected]>
---
drivers/staging/vc04_services/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/staging/vc04_services/Kconfig b/drivers/staging/vc04_services/Kconfig
index 63caa6818d37..ad44b80f13ca 100644
--- a/drivers/staging/vc04_services/Kconfig
+++ b/drivers/staging/vc04_services/Kconfig
@@ -13,6 +13,7 @@ if BCM_VIDEOCORE

config BCM2835_VCHIQ
tristate "BCM2835 VCHIQ"
+ imply VCHIQ_CDEV
help
Kernel to VideoCore communication interface for the
BCM2835 family of products.
--
2.25.1


2021-08-02 17:47:24

by Ojaswin Mujoo

[permalink] [raw]
Subject: [PATCH v2 2/2] staging: vchiq: Add details to Kconfig help texts

Add some details to the Kconfig definitions of $CONFIG_VCHIQ_CDEV and
$CONFIG_BCM2835_VCHIQ to help make the motive behind the configs a bit
more clear.

Signed-off-by: Ojaswin Mujoo <[email protected]>
---
drivers/staging/vc04_services/Kconfig | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/vc04_services/Kconfig b/drivers/staging/vc04_services/Kconfig
index ad44b80f13ca..cb7c82403dbf 100644
--- a/drivers/staging/vc04_services/Kconfig
+++ b/drivers/staging/vc04_services/Kconfig
@@ -15,18 +15,27 @@ config BCM2835_VCHIQ
tristate "BCM2835 VCHIQ"
imply VCHIQ_CDEV
help
- Kernel to VideoCore communication interface for the
- BCM2835 family of products.
- Defaults to Y when the Broadcom Videocore services
- are included in the build, N otherwise.
+ Broadcom BCM2835 and similar SoCs have a VPU called VideoCore. This config
+ enables the VCHIQ driver, which implements a messaging interface between
+ the kernel and the firmware running on VideoCore. Other drivers use this
+ interface to communicate to the VPU. More specifically, the VCHIQ driver is
+ used by audio/video and camera drivers as well as for implementing MMAL
+ API, which is in turn used by several multimedia services on the BCM2835
+ family of SoCs.
+ Defaults to Y when the Broadcom Videocore services are included in
+ the build, N otherwise.

if BCM2835_VCHIQ

config VCHIQ_CDEV
bool "VCHIQ Character Driver"
help
- Enable the creation of VCHIQ character driver to help
- communicate with the Videocore platform.
+ Enable the creation of VCHIQ character driver. The cdev exposes ioctls used
+ by userspace libraries and testing tools to interact with VideoCore, via
+ the VCHIQ core driver (Check BCM2835_VCHIQ for more info).
+ This can be set to 'N' if the VideoCore communication is not needed by
+ userspace but only by other kernel modules (like bcm2835-audio). If not
+ sure, set this to 'Y'.

endif

--
2.25.1


2021-08-08 08:02:04

by Stefan Wahren

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] staging: vchiq: Fixups to Kconfig

Am 02.08.21 um 19:42 schrieb Ojaswin Mujoo:
> Hi everyone,
>
> This patchset performs some minor fixups to the config options defined in
> /staging/vc04_services/Kconfig.
>
> Summary of the patches:
>
> Patch 1: Makes BCM2835_VCHIQ imply VCHIQ_CDEV to make the behavior more
> compatible to how it was before VCHIQ_CDEV was introduced (in
> [1]).
> Patch 2: Add some more details to the configs' help texts
>
>
> Changes since v1 [2]:
>
> * As pre discussion with Greg and Stefan, used "imply" in BCM2835_VCHIQ
> instead of "default y" in VCHIQ_CDEV.
> * Added some more info in help texts of both the config options.
>
> In patch 2, although the resources on VideoCore and vchiq are really
> scattered around the internet, I've tried to keep the help text as
> accurate as possible, as per my knowledge.
> Please do let me know if anything is off in it and I'll fix it.

The whole series is:

Reviewed-by: Stefan Wahren <[email protected]>

Thanks