summaryrefslogtreecommitdiff
path: root/drivers/staging/vc04_services/interface/TODO
blob: f6f24600aa86240fba77169f62f3e657e42727c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
* Import drivers using VCHI.

VCHI is just a tool to let drivers talk to the firmware.  Here are
some of the ones we want:

  - vc_mem (https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/char/broadcom/vc_mem.c)

  This driver is what the vcdbg userspace program uses to set up its
  requests to the firmware, which are transmitted across VCHIQ.  vcdbg
  is really useful for debugging firmware interactions.

  - VCSM (https://github.com/raspberrypi/linux/tree/rpi-4.4.y/drivers/char/broadcom/vc_sm)

  This driver is used for talking about regions of VC memory across
  firmware protocols including VCHI.  We'll want to extend this driver
  to manage these buffers as dmabufs so that we can zero-copy import
  camera images into vc4 for rendering/display.

* Documentation

A short top-down description of this driver's architecture (function of
kthreads, userspace, limitations) could be very helpful for reviewers.

* Reformat core code with more sane indentations

The code follows the 80 characters limitation yet tends to go 3 or 4 levels of
indentation deep making it very unpleasant to read. This is specially relevant
in the character driver ioctl code and in the core thread functions.