diff options
Diffstat (limited to 'drivers/staging/vc04_services/interface/vchi/TODO')
-rw-r--r-- | drivers/staging/vc04_services/interface/vchi/TODO | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/drivers/staging/vc04_services/interface/vchi/TODO b/drivers/staging/vc04_services/interface/vchi/TODO index df93154b1aa6..86708c7c8ec3 100644 --- a/drivers/staging/vc04_services/interface/vchi/TODO +++ b/drivers/staging/vc04_services/interface/vchi/TODO @@ -1,9 +1,4 @@ -1) Write a DT binding doc and get the corresponding DT node merged to - bcm2835. - -This will let the driver probe when enabled. - -2) Import drivers using VCHI. +1) Import drivers using VCHI. VCHI is just a tool to let drivers talk to the firmware. Here are some of the ones we want: @@ -14,11 +9,6 @@ some of the ones we want: requests to the firmware, which are transmitted across VCHIQ. vcdbg is really useful for debugging firmware interactions. - - bcm2835-camera (https://github.com/raspberrypi/linux/tree/rpi-4.4.y/drivers/media/platform/bcm2835) - - This driver will let us get images from the camera using the MMAL - protocol over VCHI. - - 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 @@ -26,10 +16,41 @@ some of the ones we want: to manage these buffers as dmabufs so that we can zero-copy import camera images into vc4 for rendering/display. -3) Garbage-collect unused code +2) Garbage-collect unused code One of the reasons this driver wasn't upstreamed previously was that there's a lot code that got built that's probably unnecessary these days. Once we have the set of VCHI-using drivers we want in tree, we should be able to do a sweep of the code to see what's left that's unused. + +3) Make driver more portable + +Building this driver with arm/multi_v7_defconfig or arm64/defconfig +leads to data corruption during the following command: + + vchiq_test -f 1 + +This should be fixed. + +4) Fix kernel module support + +Even the VPU firmware doesn't support a VCHI re-connect, the driver +should properly handle a module unload. This also includes that all +resouces must be freed (kthreads, debugfs entries, ...) and global +variables avoided. + +5) Fix stack hog + +Running make checkstack shows that vchiq_dump_service_use_state() has +an extensive stack usage. Maybe other functions are also affected. + +6) Cleanup logging mechanism + +The driver should probably be using the standard kernel logging mechanisms +such as dev_info, dev_dbg, and friends. + +7) Documentation + +A short top-down description of this driver's architecture (function of +kthreads, userspace, limitations) could be very helpful for reviewers. |