If i understood correctly, the kms driver (vc4-kms-v3d) uses a dynamic memory split which can be set via the 'cma' parameter in cmdline.txt
This means the less memory i assign to the gpu with 'gpu_mem' the more memory will be available for the dynamic gpu/cpu memory split.
When 'gpu_mem' is set to 16, the gpu will be initialized in a cutdown mode. Meaning some blocks are not active. I could see for example that gstreamer was missing some hardware decoder elements in this case.
But what are the further impacts? I can run chromium quiet smoothly and also playback a mjpeg video stream using gstreamer (1024 * 688) with no recognizable impact.
Is the 'gpu_mem=16' setting ok to use in combination with the kms driver? Or should i rather use 32M to initialize the gpu completely?