Path followed by the image data from CSI Interface to GPU


Can someone help me understand the path followed by the image data received over the CSI interface to reach the GPU on a Jetson Xavier NX and the various software and hardware components involved in this process?

Even a brief overview would be very helpful.
As I understand, any user program that is communicating with a device that is connected to the CSI interface would send instructions along the following path -
user application → operating system → device driver → device

and would receive the data over the following path -
device → device driver → operating system → user application.

A similar path would be involved when any user application that has received the image data over the CSI interface and holds this data in its main memory wants to process the image on the GPU. The only difference would be that the device at the end would now be a GPU.

Is there an alternative path involved here which I am not aware of by which the data from the CSI interface skips the ARM CPU completely and goes directly to the GPU?

You can reference to the sample installed by below command.

sudo apt list -a nvidia-l4t-jetson-multimedia-api
sudo apt install nvidia-l4t-jetson-multimedia-api=32.xxxxx