media: rockchip: vpss: attach info for rockit

Change-Id: I4411edb68f7cf9e3e22ffcc6aa9d53a56d0e0e73
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2025-04-01 16:17:27 +08:00
parent 5a44afbcdf
commit 06376fa564
2 changed files with 25 additions and 1 deletions

View File

@@ -1184,7 +1184,8 @@ static void rkvpss_frame_end(struct rkvpss_stream *stream)
vb2_set_plane_payload(vb2_buf, i, payload_size);
if (stream->is_attach_info && i == fmt->mplanes - 1) {
if (stream->is_attach_info &&
vb2_buf->memory && i == fmt->mplanes - 1) {
struct rkvpss_frame_info *dst_info = buf->vaddr[i] + payload_size;
struct rkisp_vpss_frame_info *src_info = &dev->frame_info;

View File

@@ -314,6 +314,29 @@ int rkvpss_rockit_buf_done(struct rkvpss_stream *stream, int cmd, struct rkvpss_
rockit_vpss_cfg->node = stream_cfg->node;
rockit_vpss_cfg->event = cmd;
if (stream->is_attach_info) {
struct rkisp_vpss_frame_info *src_info = &vpss_dev->frame_info;
rockit_vpss_cfg->frame.u64PTS = src_info->timestamp;
rockit_vpss_cfg->frame.hdr = src_info->hdr;
rockit_vpss_cfg->frame.rolling_shutter_skew = src_info->rolling_shutter_skew;
rockit_vpss_cfg->frame.sensor_exposure_time = src_info->sensor_exposure_time;
rockit_vpss_cfg->frame.sensor_analog_gain = src_info->sensor_analog_gain;
rockit_vpss_cfg->frame.sensor_digital_gain = src_info->sensor_digital_gain;
rockit_vpss_cfg->frame.isp_digital_gain = src_info->isp_digital_gain;
rockit_vpss_cfg->frame.sensor_exposure_time_m = src_info->sensor_exposure_time_m;
rockit_vpss_cfg->frame.sensor_analog_gain_m = src_info->sensor_analog_gain_m;
rockit_vpss_cfg->frame.sensor_digital_gain_m = src_info->sensor_digital_gain_m;
rockit_vpss_cfg->frame.isp_digital_gain_m = src_info->isp_digital_gain_m;
rockit_vpss_cfg->frame.sensor_exposure_time_l = src_info->sensor_exposure_time_l;
rockit_vpss_cfg->frame.sensor_analog_gain_l = src_info->sensor_analog_gain_l;
rockit_vpss_cfg->frame.sensor_digital_gain_l = src_info->sensor_digital_gain_l;
rockit_vpss_cfg->frame.isp_digital_gain_l = src_info->isp_digital_gain_l;
}
if (list_empty(&stream->buf_queue))
rockit_vpss_cfg->is_empty = true;
else