On 22-07-07 00:47:21, Laurent Pinchart wrote: > > MEDIA_BUS_FMT_* are media bus formats, they describe the format of data as it > gets transmitted on buses between entities. The main purposes of those formats > are configuration of entities in the pipeline (an IP core will need to be > configured differently if it receives 10-bit raw data or 12-bit raw data for > instance), and validation of the pipeline configuration (the format on the > output of an entity must match the format on the input of the next entity). > > V4L2_PIX_FMT_* are pixel formats, and they describe the format of data as > stored in memory. They're only meaningful for the DMA engines at the end of > the pipeline, and while they're related to the media bus formats (the DMA > engine can't write to memory, for instance, V4L2_PIX_FMT_YUYV if it receives > MEDIA_BUS_FMT_SGRBG10 from the previous entity), there's no fixed 1:1 mapping > between the two formats. The mapping is device-dependent. For instance, a DMA > engine that receives YUV 4:2:2 data in the form of MEDIA_BUS_FMT_YUYV8_1X16 > could support writing it in different pixel formats, such as > V4L2_PIX_FMT_YUYV, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, ... Thanks for these details. I was wondering why V4L2_PIX_FMT_SGBRG12 would not be used for MEDIA_BUS_FMT_SGBRG12_1X12 bus formats, but i guess the answer i can extract from the info above is "device dependent". > I have work in progress patches that address issues with the imx7-csi-bridge > driver, once they land we could look into this. I'm afraid I'm a bit slow > these days due to covid. Quick recovery! Looking forward to these patches. For me, changing VID_MEM_LIMIT to 512MB works OK for the moment. I am not yet certain how this constant is related to the global CMA parameter. In the default kernel config CMA is 32MB, while VID_MEM_LIMIT is 64MB. Isn't this wrong? Petko