All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
To: gregkh@linuxfoundation.org
Cc: kernel-list@raspberrypi.com, laurent.pinchart@ideasonboard.com,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Subject: [PATCH 00/50] staging: vchiq: Getting rid of the vchi/vchiq split
Date: Tue, 23 Jun 2020 18:41:46 +0200	[thread overview]
Message-ID: <20200623164235.29566-1-nsaenzjulienne@suse.de> (raw)

vchi acts as a mid layer between vchiq and its kernel services, while
arguably providing little to no benefit: half of the functions exposed
are a 1:1 copy of vchiq's, and the rest provide some functionality which
can be easly integrated into vchiq without all the churn. Moreover it
has been found in the past as a blockage to further fixes in vchiq as
every change needed its vchi counterpart, if even possible.

Hence this series, which merges all vchi functionality into vchiq and
provies a simpler and more concise API to services.

I'm aware that kernel's vchi API tries to mimic its userspace
counterpart (or vice versa). Obviously this breaks the parity, but I
don't think it's a sane goal to have. There is little sense or gain from
it, and adds impossible constraints to upstreaming the driver.

Overall this fall short of removing 1100 lines of code, which is pretty
neat on itself.

So far it has been tested trough bcm2835-camera, audio and vchiq-test. I
can't do much about vc-sm-cma for now as it's only available downstream,
but I made sure not to break anything and will provide some patches for
the RPi devs to pick-up, so as to make their life easier.

Note that in order to keep the divergence between the downstream and
upstream versions of this as small as possible I picked up some
mmal-vchiq patches that might not be absolutely necessary to the goal of
the series.

Regards,
Nicolas

Previous versions:
 RFC: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2174964.html

---

Dave Stevenson (8):
  staging: mmal-vchiq: Allocate and free components as required
  staging: mmal-vchiq: Avoid use of bool in structures
  staging: mmal-vchiq: Make timeout a defined parameter
  staging: mmal-vchiq: Make a mmal_buf struct for passing parameters
  staging: mmal-vchiq: Fixup vchiq-mmal include ordering
  staging: mmal-vchiq: Fix client_component for 64 bit kernel
  staging: mmal-vchiq: Always return the param size from param_get
  staging: mmal-vchiq: If the VPU returns an error, don't negate it

Jacopo Mondi (1):
  staging: bcm2835: Break MMAL support out from camera

Naushir Patuck (1):
  staging: mmal-vchiq: Fix formatting errors in mmal_parameters.h

Nicolas Saenz Julienne (39):
  staging: vchi: Get rid of all useless callback reasons
  staging: vchi: Get rid of vchi_msg_peek()
  staging: vchi: Get rid of struct vchi_instance_handle
  staging: vchi: Unify struct shim_service and struct
    vchi_service_handle
  staging: vc04_services: bcm2835-audio: Use vchi_msg_hold()
  staging: vchi: Get rid of vchi_msg_dequeue()
  staging: vchi_common: Get rid of all unused definitions
  staging: vchi: Get rid of unnecessary defines
  staging: vc04_services: Get rid of vchi_cfg.h
  staging: vchi: Get rid of flags argument in vchi_msg_hold()
  staging: vchi: Use enum vchiq_bulk_mode instead of vchi's transmission
    flags
  staging: vchi: Use vchiq's enum vchiq_reason
  staging: vchi: Get rid of effect less expression
  staging: vchiq: Introduce vchiq_validate_params()
  staging: vchiq: Move message queue into struct vchiq_service
  staging: vchiq: Get rid of vchiq_util.h
  staging: vchi: Expose struct vchi_service
  staging: vchiq: Export vchiq_get_service_userdata()
  staging: vchiq: Export vchiq_msg_queue_push
  staging: vchi: Get rid of vchiq_shim's message callback
  staging: vchiq: Don't use a typedef for vchiq_callback
  staging: vchi: Use struct vchiq_service_params
  staging: vchi: Get rid of struct vchi_service
  staging: vchiq: Pass vchiq's message when holding a message
  staging: vchi: Rework vchi_msg_hold() to match vchiq_msg_hold()
  staging: vchiq: Unify fourcc definition mechanisms
  staging: vchi: Get rid of struct vchiq_instance forward declaration
  staging: vchi: Don't include vchiq_core.h
  staging: vchiq: Get rid of unnecessary definitions in vchiq_if.h
  staging: vchiq: Make vchiq_add_service() local
  staging: vchiq: Move definitions only used by core into core header
  staging: vchi: Get rid of vchi_bulk_queue_receive()
  staging: vchi: Get rid of vchi_bulk_queue_transmit()
  staging: vchi: Move vchi_queue_kernel_message() into vchiq
  staging: vchiq: Get rid of vchi
  staging: vchiq: Move conditional barrier definition into vchiq_core.h
  staging: vchiq: Use vchiq.h as the main header file for services
  staging: vchiq: Move defines into core header
  staging: vchiq: Move vchiq.h into include directory

Phil Elwell (1):
  staging: vchiq_arm: Add a matching unregister call

 drivers/staging/vc04_services/Kconfig         |   2 +
 drivers/staging/vc04_services/Makefile        |   9 +-
 .../vc04_services/bcm2835-audio/Makefile      |   2 +-
 .../bcm2835-audio/bcm2835-vchiq.c             | 100 ++-
 .../vc04_services/bcm2835-audio/bcm2835.h     |   4 +-
 .../bcm2835-audio/vc_vchi_audioserv_defs.h    |   5 +-
 .../vc04_services/bcm2835-camera/Kconfig      |   1 +
 .../vc04_services/bcm2835-camera/Makefile     |   4 +-
 .../bcm2835-camera/bcm2835-camera.c           |  66 +-
 .../linux/raspberrypi/vchiq.h}                |  67 +-
 .../vc04_services/interface/{vchi => }/TODO   |   0
 .../vc04_services/interface/vchi/vchi.h       | 159 -----
 .../vc04_services/interface/vchi/vchi_cfg.h   | 238 -------
 .../interface/vchi/vchi_common.h              | 138 ----
 .../vc04_services/interface/vchiq_arm/vchiq.h |  21 -
 .../interface/vchiq_arm/vchiq_2835_arm.c      |   1 +
 .../interface/vchiq_arm/vchiq_arm.c           |  87 ++-
 .../interface/vchiq_arm/vchiq_core.c          |  97 ++-
 .../interface/vchiq_arm/vchiq_core.h          |  46 +-
 .../interface/vchiq_arm/vchiq_ioctl.h         |   2 +-
 .../interface/vchiq_arm/vchiq_shim.c          | 617 ------------------
 .../interface/vchiq_arm/vchiq_util.c          |  85 ---
 .../interface/vchiq_arm/vchiq_util.h          |  50 --
 .../staging/vc04_services/vchiq-mmal/Kconfig  |   7 +
 .../staging/vc04_services/vchiq-mmal/Makefile |   9 +
 .../mmal-common.h                             |   5 +
 .../mmal-encodings.h                          |   0
 .../mmal-msg-common.h                         |   0
 .../mmal-msg-format.h                         |   0
 .../mmal-msg-port.h                           |   0
 .../{bcm2835-camera => vchiq-mmal}/mmal-msg.h |   2 +-
 .../mmal-parameters.h                         |  32 +-
 .../mmal-vchiq.c                              | 277 ++++----
 .../mmal-vchiq.h                              |   6 +-
 34 files changed, 521 insertions(+), 1618 deletions(-)
 rename drivers/staging/vc04_services/{interface/vchiq_arm/vchiq_if.h => include/linux/raspberrypi/vchiq.h} (56%)
 rename drivers/staging/vc04_services/interface/{vchi => }/TODO (100%)
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi_cfg.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi_common.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.h
 create mode 100644 drivers/staging/vc04_services/vchiq-mmal/Kconfig
 create mode 100644 drivers/staging/vc04_services/vchiq-mmal/Makefile
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-common.h (96%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-encodings.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-common.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-format.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-port.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg.h (99%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-parameters.h (96%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-vchiq.c (88%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-vchiq.h (97%)

-- 
2.27.0


WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
To: gregkh@linuxfoundation.org
Cc: devel@driverdev.osuosl.org, kernel-list@raspberrypi.com,
	linux-kernel@vger.kernel.org,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
	laurent.pinchart@ideasonboard.com,
	linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org
Subject: [PATCH 00/50] staging: vchiq: Getting rid of the vchi/vchiq split
Date: Tue, 23 Jun 2020 18:41:46 +0200	[thread overview]
Message-ID: <20200623164235.29566-1-nsaenzjulienne@suse.de> (raw)

vchi acts as a mid layer between vchiq and its kernel services, while
arguably providing little to no benefit: half of the functions exposed
are a 1:1 copy of vchiq's, and the rest provide some functionality which
can be easly integrated into vchiq without all the churn. Moreover it
has been found in the past as a blockage to further fixes in vchiq as
every change needed its vchi counterpart, if even possible.

Hence this series, which merges all vchi functionality into vchiq and
provies a simpler and more concise API to services.

I'm aware that kernel's vchi API tries to mimic its userspace
counterpart (or vice versa). Obviously this breaks the parity, but I
don't think it's a sane goal to have. There is little sense or gain from
it, and adds impossible constraints to upstreaming the driver.

Overall this fall short of removing 1100 lines of code, which is pretty
neat on itself.

So far it has been tested trough bcm2835-camera, audio and vchiq-test. I
can't do much about vc-sm-cma for now as it's only available downstream,
but I made sure not to break anything and will provide some patches for
the RPi devs to pick-up, so as to make their life easier.

Note that in order to keep the divergence between the downstream and
upstream versions of this as small as possible I picked up some
mmal-vchiq patches that might not be absolutely necessary to the goal of
the series.

Regards,
Nicolas

Previous versions:
 RFC: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2174964.html

---

Dave Stevenson (8):
  staging: mmal-vchiq: Allocate and free components as required
  staging: mmal-vchiq: Avoid use of bool in structures
  staging: mmal-vchiq: Make timeout a defined parameter
  staging: mmal-vchiq: Make a mmal_buf struct for passing parameters
  staging: mmal-vchiq: Fixup vchiq-mmal include ordering
  staging: mmal-vchiq: Fix client_component for 64 bit kernel
  staging: mmal-vchiq: Always return the param size from param_get
  staging: mmal-vchiq: If the VPU returns an error, don't negate it

Jacopo Mondi (1):
  staging: bcm2835: Break MMAL support out from camera

Naushir Patuck (1):
  staging: mmal-vchiq: Fix formatting errors in mmal_parameters.h

Nicolas Saenz Julienne (39):
  staging: vchi: Get rid of all useless callback reasons
  staging: vchi: Get rid of vchi_msg_peek()
  staging: vchi: Get rid of struct vchi_instance_handle
  staging: vchi: Unify struct shim_service and struct
    vchi_service_handle
  staging: vc04_services: bcm2835-audio: Use vchi_msg_hold()
  staging: vchi: Get rid of vchi_msg_dequeue()
  staging: vchi_common: Get rid of all unused definitions
  staging: vchi: Get rid of unnecessary defines
  staging: vc04_services: Get rid of vchi_cfg.h
  staging: vchi: Get rid of flags argument in vchi_msg_hold()
  staging: vchi: Use enum vchiq_bulk_mode instead of vchi's transmission
    flags
  staging: vchi: Use vchiq's enum vchiq_reason
  staging: vchi: Get rid of effect less expression
  staging: vchiq: Introduce vchiq_validate_params()
  staging: vchiq: Move message queue into struct vchiq_service
  staging: vchiq: Get rid of vchiq_util.h
  staging: vchi: Expose struct vchi_service
  staging: vchiq: Export vchiq_get_service_userdata()
  staging: vchiq: Export vchiq_msg_queue_push
  staging: vchi: Get rid of vchiq_shim's message callback
  staging: vchiq: Don't use a typedef for vchiq_callback
  staging: vchi: Use struct vchiq_service_params
  staging: vchi: Get rid of struct vchi_service
  staging: vchiq: Pass vchiq's message when holding a message
  staging: vchi: Rework vchi_msg_hold() to match vchiq_msg_hold()
  staging: vchiq: Unify fourcc definition mechanisms
  staging: vchi: Get rid of struct vchiq_instance forward declaration
  staging: vchi: Don't include vchiq_core.h
  staging: vchiq: Get rid of unnecessary definitions in vchiq_if.h
  staging: vchiq: Make vchiq_add_service() local
  staging: vchiq: Move definitions only used by core into core header
  staging: vchi: Get rid of vchi_bulk_queue_receive()
  staging: vchi: Get rid of vchi_bulk_queue_transmit()
  staging: vchi: Move vchi_queue_kernel_message() into vchiq
  staging: vchiq: Get rid of vchi
  staging: vchiq: Move conditional barrier definition into vchiq_core.h
  staging: vchiq: Use vchiq.h as the main header file for services
  staging: vchiq: Move defines into core header
  staging: vchiq: Move vchiq.h into include directory

Phil Elwell (1):
  staging: vchiq_arm: Add a matching unregister call

 drivers/staging/vc04_services/Kconfig         |   2 +
 drivers/staging/vc04_services/Makefile        |   9 +-
 .../vc04_services/bcm2835-audio/Makefile      |   2 +-
 .../bcm2835-audio/bcm2835-vchiq.c             | 100 ++-
 .../vc04_services/bcm2835-audio/bcm2835.h     |   4 +-
 .../bcm2835-audio/vc_vchi_audioserv_defs.h    |   5 +-
 .../vc04_services/bcm2835-camera/Kconfig      |   1 +
 .../vc04_services/bcm2835-camera/Makefile     |   4 +-
 .../bcm2835-camera/bcm2835-camera.c           |  66 +-
 .../linux/raspberrypi/vchiq.h}                |  67 +-
 .../vc04_services/interface/{vchi => }/TODO   |   0
 .../vc04_services/interface/vchi/vchi.h       | 159 -----
 .../vc04_services/interface/vchi/vchi_cfg.h   | 238 -------
 .../interface/vchi/vchi_common.h              | 138 ----
 .../vc04_services/interface/vchiq_arm/vchiq.h |  21 -
 .../interface/vchiq_arm/vchiq_2835_arm.c      |   1 +
 .../interface/vchiq_arm/vchiq_arm.c           |  87 ++-
 .../interface/vchiq_arm/vchiq_core.c          |  97 ++-
 .../interface/vchiq_arm/vchiq_core.h          |  46 +-
 .../interface/vchiq_arm/vchiq_ioctl.h         |   2 +-
 .../interface/vchiq_arm/vchiq_shim.c          | 617 ------------------
 .../interface/vchiq_arm/vchiq_util.c          |  85 ---
 .../interface/vchiq_arm/vchiq_util.h          |  50 --
 .../staging/vc04_services/vchiq-mmal/Kconfig  |   7 +
 .../staging/vc04_services/vchiq-mmal/Makefile |   9 +
 .../mmal-common.h                             |   5 +
 .../mmal-encodings.h                          |   0
 .../mmal-msg-common.h                         |   0
 .../mmal-msg-format.h                         |   0
 .../mmal-msg-port.h                           |   0
 .../{bcm2835-camera => vchiq-mmal}/mmal-msg.h |   2 +-
 .../mmal-parameters.h                         |  32 +-
 .../mmal-vchiq.c                              | 277 ++++----
 .../mmal-vchiq.h                              |   6 +-
 34 files changed, 521 insertions(+), 1618 deletions(-)
 rename drivers/staging/vc04_services/{interface/vchiq_arm/vchiq_if.h => include/linux/raspberrypi/vchiq.h} (56%)
 rename drivers/staging/vc04_services/interface/{vchi => }/TODO (100%)
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi_cfg.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi_common.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.h
 create mode 100644 drivers/staging/vc04_services/vchiq-mmal/Kconfig
 create mode 100644 drivers/staging/vc04_services/vchiq-mmal/Makefile
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-common.h (96%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-encodings.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-common.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-format.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-port.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg.h (99%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-parameters.h (96%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-vchiq.c (88%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-vchiq.h (97%)

-- 
2.27.0

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

WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
To: gregkh@linuxfoundation.org
Cc: devel@driverdev.osuosl.org, kernel-list@raspberrypi.com,
	linux-kernel@vger.kernel.org,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
	laurent.pinchart@ideasonboard.com,
	linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org
Subject: [PATCH 00/50] staging: vchiq: Getting rid of the vchi/vchiq split
Date: Tue, 23 Jun 2020 18:41:46 +0200	[thread overview]
Message-ID: <20200623164235.29566-1-nsaenzjulienne@suse.de> (raw)

vchi acts as a mid layer between vchiq and its kernel services, while
arguably providing little to no benefit: half of the functions exposed
are a 1:1 copy of vchiq's, and the rest provide some functionality which
can be easly integrated into vchiq without all the churn. Moreover it
has been found in the past as a blockage to further fixes in vchiq as
every change needed its vchi counterpart, if even possible.

Hence this series, which merges all vchi functionality into vchiq and
provies a simpler and more concise API to services.

I'm aware that kernel's vchi API tries to mimic its userspace
counterpart (or vice versa). Obviously this breaks the parity, but I
don't think it's a sane goal to have. There is little sense or gain from
it, and adds impossible constraints to upstreaming the driver.

Overall this fall short of removing 1100 lines of code, which is pretty
neat on itself.

So far it has been tested trough bcm2835-camera, audio and vchiq-test. I
can't do much about vc-sm-cma for now as it's only available downstream,
but I made sure not to break anything and will provide some patches for
the RPi devs to pick-up, so as to make their life easier.

Note that in order to keep the divergence between the downstream and
upstream versions of this as small as possible I picked up some
mmal-vchiq patches that might not be absolutely necessary to the goal of
the series.

Regards,
Nicolas

Previous versions:
 RFC: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2174964.html

---

Dave Stevenson (8):
  staging: mmal-vchiq: Allocate and free components as required
  staging: mmal-vchiq: Avoid use of bool in structures
  staging: mmal-vchiq: Make timeout a defined parameter
  staging: mmal-vchiq: Make a mmal_buf struct for passing parameters
  staging: mmal-vchiq: Fixup vchiq-mmal include ordering
  staging: mmal-vchiq: Fix client_component for 64 bit kernel
  staging: mmal-vchiq: Always return the param size from param_get
  staging: mmal-vchiq: If the VPU returns an error, don't negate it

Jacopo Mondi (1):
  staging: bcm2835: Break MMAL support out from camera

Naushir Patuck (1):
  staging: mmal-vchiq: Fix formatting errors in mmal_parameters.h

Nicolas Saenz Julienne (39):
  staging: vchi: Get rid of all useless callback reasons
  staging: vchi: Get rid of vchi_msg_peek()
  staging: vchi: Get rid of struct vchi_instance_handle
  staging: vchi: Unify struct shim_service and struct
    vchi_service_handle
  staging: vc04_services: bcm2835-audio: Use vchi_msg_hold()
  staging: vchi: Get rid of vchi_msg_dequeue()
  staging: vchi_common: Get rid of all unused definitions
  staging: vchi: Get rid of unnecessary defines
  staging: vc04_services: Get rid of vchi_cfg.h
  staging: vchi: Get rid of flags argument in vchi_msg_hold()
  staging: vchi: Use enum vchiq_bulk_mode instead of vchi's transmission
    flags
  staging: vchi: Use vchiq's enum vchiq_reason
  staging: vchi: Get rid of effect less expression
  staging: vchiq: Introduce vchiq_validate_params()
  staging: vchiq: Move message queue into struct vchiq_service
  staging: vchiq: Get rid of vchiq_util.h
  staging: vchi: Expose struct vchi_service
  staging: vchiq: Export vchiq_get_service_userdata()
  staging: vchiq: Export vchiq_msg_queue_push
  staging: vchi: Get rid of vchiq_shim's message callback
  staging: vchiq: Don't use a typedef for vchiq_callback
  staging: vchi: Use struct vchiq_service_params
  staging: vchi: Get rid of struct vchi_service
  staging: vchiq: Pass vchiq's message when holding a message
  staging: vchi: Rework vchi_msg_hold() to match vchiq_msg_hold()
  staging: vchiq: Unify fourcc definition mechanisms
  staging: vchi: Get rid of struct vchiq_instance forward declaration
  staging: vchi: Don't include vchiq_core.h
  staging: vchiq: Get rid of unnecessary definitions in vchiq_if.h
  staging: vchiq: Make vchiq_add_service() local
  staging: vchiq: Move definitions only used by core into core header
  staging: vchi: Get rid of vchi_bulk_queue_receive()
  staging: vchi: Get rid of vchi_bulk_queue_transmit()
  staging: vchi: Move vchi_queue_kernel_message() into vchiq
  staging: vchiq: Get rid of vchi
  staging: vchiq: Move conditional barrier definition into vchiq_core.h
  staging: vchiq: Use vchiq.h as the main header file for services
  staging: vchiq: Move defines into core header
  staging: vchiq: Move vchiq.h into include directory

Phil Elwell (1):
  staging: vchiq_arm: Add a matching unregister call

 drivers/staging/vc04_services/Kconfig         |   2 +
 drivers/staging/vc04_services/Makefile        |   9 +-
 .../vc04_services/bcm2835-audio/Makefile      |   2 +-
 .../bcm2835-audio/bcm2835-vchiq.c             | 100 ++-
 .../vc04_services/bcm2835-audio/bcm2835.h     |   4 +-
 .../bcm2835-audio/vc_vchi_audioserv_defs.h    |   5 +-
 .../vc04_services/bcm2835-camera/Kconfig      |   1 +
 .../vc04_services/bcm2835-camera/Makefile     |   4 +-
 .../bcm2835-camera/bcm2835-camera.c           |  66 +-
 .../linux/raspberrypi/vchiq.h}                |  67 +-
 .../vc04_services/interface/{vchi => }/TODO   |   0
 .../vc04_services/interface/vchi/vchi.h       | 159 -----
 .../vc04_services/interface/vchi/vchi_cfg.h   | 238 -------
 .../interface/vchi/vchi_common.h              | 138 ----
 .../vc04_services/interface/vchiq_arm/vchiq.h |  21 -
 .../interface/vchiq_arm/vchiq_2835_arm.c      |   1 +
 .../interface/vchiq_arm/vchiq_arm.c           |  87 ++-
 .../interface/vchiq_arm/vchiq_core.c          |  97 ++-
 .../interface/vchiq_arm/vchiq_core.h          |  46 +-
 .../interface/vchiq_arm/vchiq_ioctl.h         |   2 +-
 .../interface/vchiq_arm/vchiq_shim.c          | 617 ------------------
 .../interface/vchiq_arm/vchiq_util.c          |  85 ---
 .../interface/vchiq_arm/vchiq_util.h          |  50 --
 .../staging/vc04_services/vchiq-mmal/Kconfig  |   7 +
 .../staging/vc04_services/vchiq-mmal/Makefile |   9 +
 .../mmal-common.h                             |   5 +
 .../mmal-encodings.h                          |   0
 .../mmal-msg-common.h                         |   0
 .../mmal-msg-format.h                         |   0
 .../mmal-msg-port.h                           |   0
 .../{bcm2835-camera => vchiq-mmal}/mmal-msg.h |   2 +-
 .../mmal-parameters.h                         |  32 +-
 .../mmal-vchiq.c                              | 277 ++++----
 .../mmal-vchiq.h                              |   6 +-
 34 files changed, 521 insertions(+), 1618 deletions(-)
 rename drivers/staging/vc04_services/{interface/vchiq_arm/vchiq_if.h => include/linux/raspberrypi/vchiq.h} (56%)
 rename drivers/staging/vc04_services/interface/{vchi => }/TODO (100%)
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi_cfg.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchi/vchi_common.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq.h
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.h
 create mode 100644 drivers/staging/vc04_services/vchiq-mmal/Kconfig
 create mode 100644 drivers/staging/vc04_services/vchiq-mmal/Makefile
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-common.h (96%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-encodings.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-common.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-format.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg-port.h (100%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-msg.h (99%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-parameters.h (96%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-vchiq.c (88%)
 rename drivers/staging/vc04_services/{bcm2835-camera => vchiq-mmal}/mmal-vchiq.h (97%)

-- 
2.27.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2020-06-23 16:48 UTC|newest]

Thread overview: 175+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23 16:41 Nicolas Saenz Julienne [this message]
2020-06-23 16:41 ` [PATCH 00/50] staging: vchiq: Getting rid of the vchi/vchiq split Nicolas Saenz Julienne
2020-06-23 16:41 ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 01/50] staging: bcm2835: Break MMAL support out from camera Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 19:20   ` kernel test robot
2020-06-23 19:20     ` kernel test robot
2020-06-23 19:20     ` kernel test robot
2020-06-23 19:20     ` kernel test robot
2020-06-23 16:41 ` [PATCH 02/50] staging: mmal-vchiq: Allocate and free components as required Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 03/50] staging: mmal-vchiq: Avoid use of bool in structures Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 22:11   ` Joe Perches
2020-06-23 22:11     ` Joe Perches
2020-06-23 22:11     ` Joe Perches
2020-06-24 10:26     ` Nicolas Saenz Julienne
2020-06-24 10:26       ` Nicolas Saenz Julienne
2020-06-24 10:26       ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 04/50] staging: mmal-vchiq: Make timeout a defined parameter Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 05/50] staging: mmal-vchiq: Make a mmal_buf struct for passing parameters Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 06/50] staging: mmal-vchiq: Fixup vchiq-mmal include ordering Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 07/50] staging: mmal-vchiq: Fix client_component for 64 bit kernel Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 08/50] staging: mmal-vchiq: Always return the param size from param_get Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 09/50] staging: mmal-vchiq: If the VPU returns an error, don't negate it Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 10/50] staging: mmal-vchiq: Fix formatting errors in mmal_parameters.h Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 11/50] staging: vchiq_arm: Add a matching unregister call Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 12/50] staging: vchi: Get rid of all useless callback reasons Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41 ` [PATCH 13/50] staging: vchi: Get rid of vchi_msg_peek() Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:41   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 14/50] staging: vchi: Get rid of struct vchi_instance_handle Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 15/50] staging: vchi: Unify struct shim_service and struct vchi_service_handle Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-24 14:11   ` Dan Carpenter
2020-06-24 14:11     ` Dan Carpenter
2020-06-24 14:11     ` Dan Carpenter
2020-06-24 14:13     ` Nicolas Saenz Julienne
2020-06-24 14:13       ` Nicolas Saenz Julienne
2020-06-24 14:13       ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 16/50] staging: vc04_services: bcm2835-audio: Use vchi_msg_hold() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 17/50] staging: vchi: Get rid of vchi_msg_dequeue() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 18/50] staging: vchi_common: Get rid of all unused definitions Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 19/50] staging: vchi: Get rid of unnecessary defines Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 20/50] staging: vc04_services: Get rid of vchi_cfg.h Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 21/50] staging: vchi: Get rid of flags argument in vchi_msg_hold() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 22/50] staging: vchi: Use enum vchiq_bulk_mode instead of vchi's transmission flags Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 23/50] staging: vchi: Use vchiq's enum vchiq_reason Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 24/50] staging: vchi: Get rid of effect less expression Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 25/50] staging: vchiq: Introduce vchiq_validate_params() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 26/50] staging: vchiq: Move message queue into struct vchiq_service Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 27/50] staging: vchiq: Get rid of vchiq_util.h Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 28/50] staging: vchi: Expose struct vchi_service Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 29/50] staging: vchiq: Export vchiq_get_service_userdata() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 30/50] staging: vchiq: Export vchiq_msg_queue_push Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 31/50] staging: vchi: Get rid of vchiq_shim's message callback Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 32/50] staging: vchiq: Don't use a typedef for vchiq_callback Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 33/50] staging: vchi: Use struct vchiq_service_params Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 34/50] staging: vchi: Get rid of struct vchi_service Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 35/50] staging: vchiq: Pass vchiq's message when holding a message Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 36/50] staging: vchi: Rework vchi_msg_hold() to match vchiq_msg_hold() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 37/50] staging: vchiq: Unify fourcc definition mechanisms Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 38/50] staging: vchi: Get rid of struct vchiq_instance forward declaration Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 39/50] staging: vchi: Don't include vchiq_core.h Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 40/50] staging: vchiq: Get rid of unnecessary definitions in vchiq_if.h Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 41/50] staging: vchiq: Make vchiq_add_service() local Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 42/50] staging: vchiq: Move definitions only used by core into core header Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 43/50] staging: vchi: Get rid of vchi_bulk_queue_receive() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 44/50] staging: vchi: Get rid of vchi_bulk_queue_transmit() Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 45/50] staging: vchi: Move vchi_queue_kernel_message() into vchiq Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 46/50] staging: vchiq: Get rid of vchi Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 47/50] staging: vchiq: Move conditional barrier definition into vchiq_core.h Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 48/50] staging: vchiq: Use vchiq.h as the main header file for services Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 49/50] staging: vchiq: Move defines into core header Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42 ` [PATCH 50/50] staging: vchiq: Move vchiq.h into include directory Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-23 16:42   ` Nicolas Saenz Julienne
2020-06-25  8:24   ` Nicolas Saenz Julienne
2020-06-25  8:24     ` Nicolas Saenz Julienne
2020-06-25  8:24     ` Nicolas Saenz Julienne
2020-06-25 14:34 ` [PATCH 00/50] staging: vchiq: Getting rid of the vchi/vchiq split Greg KH
2020-06-25 14:34   ` Greg KH
2020-06-25 14:34   ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200623164235.29566-1-nsaenzjulienne@suse.de \
    --to=nsaenzjulienne@suse.de \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel-list@raspberrypi.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.