msm: camera: sensor: support streamon/streamoff can be updated

Remove restriction that we can only configure streamon/streamoff
from cslpacket once. streamoff packets should not be rejected
when last request to flush.

Change-Id: I0691540f01181fa9f2d6a216537d5f55256d8815
CRs-Fixed: 3524017
Signed-off-by: zhaocao <quic_zhaocao@quicinc.com>
Cette révision appartient à :
zhaocao
2023-06-08 18:44:11 +08:00
révisé par Camera Software Integration
Parent 8c1fe158ac
révision aefe177f6d

Voir le fichier

@@ -302,6 +302,8 @@ static int32_t cam_sensor_pkt_parse(struct cam_sensor_ctrl_t *s_ctrl,
if ((csl_packet->header.op_code & 0xFFFFFF) !=
CAM_SENSOR_PACKET_OPCODE_SENSOR_INITIAL_CONFIG &&
(csl_packet->header.op_code & 0xFFFFFF) !=
CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMOFF &&
csl_packet->header.request_id <= s_ctrl->last_flush_req
&& s_ctrl->last_flush_req != 0) {
CAM_ERR(CAM_SENSOR,
@@ -333,8 +335,10 @@ static int32_t cam_sensor_pkt_parse(struct cam_sensor_ctrl_t *s_ctrl,
break;
}
case CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMON: {
if (s_ctrl->streamon_count > 0)
goto end;
if (s_ctrl->streamon_count > 0) {
delete_request(&i2c_data->streamon_settings);
s_ctrl->streamon_count = 0;
}
s_ctrl->streamon_count = s_ctrl->streamon_count + 1;
i2c_reg_settings = &i2c_data->streamon_settings;
@@ -343,8 +347,10 @@ static int32_t cam_sensor_pkt_parse(struct cam_sensor_ctrl_t *s_ctrl,
break;
}
case CAM_SENSOR_PACKET_OPCODE_SENSOR_STREAMOFF: {
if (s_ctrl->streamoff_count > 0)
goto end;
if (s_ctrl->streamoff_count > 0) {
delete_request(&i2c_data->streamoff_settings);
s_ctrl->streamoff_count = 0;
}
s_ctrl->streamoff_count = s_ctrl->streamoff_count + 1;
i2c_reg_settings = &i2c_data->streamoff_settings;