MLK-22286: mxc-jpeg: Fix v4l2-compliance test for unlimited opens
Postpone allocating slot data from open() until device_run(), this will
allow unlimited opens. This forces us to postpone some operations from
jpeg_parse and s_fmt, which depend on slot descriptor, until descriptors
configuration in mxc_jpeg_config_dec_desc/mxc_jpeg_config_enc_desc.
Remove hard-coding on slot 0, use COM_STATUS register to determine
the current executing slot in the interrupt handler.
Allocate slots as they become needed, mark unused when frame is done,
release data only on remove, to prevent frequent allocation.
Change order for the following functions:
mxc_jpeg_setup_cfg_stream (and mxc_jpeg_fixup_sos, mxc_jpeg_fixup_sof),
mxc_get_free_slot, mxc_jpeg_alloc_slot_data, mxc_jpeg_free_slot_data
Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>