Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c884da03 authored by Andy Sun's avatar Andy Sun
Browse files

Revert "ais: query field info and pass to user space"



This reverts commit 3375a292.
Need to change the solution and re-implement this feature.

Change-Id: Iabd38bd5c0c062590215c3f22e9383853efa889c
Signed-off-by: default avatarAndy Sun <bins@codeaurora.org>
parent 3375a292
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
@@ -1005,7 +1005,6 @@ static long adv7481_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
{
	struct adv7481_state *state = to_state(sd);
	int *ret_val = arg;
	uint8_t status = 0;
	long ret = 0;
	int param = 0;

@@ -1040,22 +1039,6 @@ static long adv7481_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
	case VIDIOC_HDMI_RX_CEC_S_ENABLE:
		ret = adv7481_cec_powerup(state, arg);
		break;
	case VIDIOC_CVBS_G_FIELD_STATUS:
		/* Select SDP read-only Map 1 */
		adv7481_wr_byte(&state->i2c_client, state->i2c_sdp_addr,
				SDP_RW_MAP_REG, 0x02);
		status = adv7481_rd_byte(&state->i2c_client,
				state->i2c_sdp_addr, SDP_RO_MAP_1_FIELD_ADDR);
		adv7481_wr_byte(&state->i2c_client, state->i2c_sdp_addr,
				SDP_RW_MAP_REG, 0x00);
		if (ret_val) {
			*ret_val = ADV_REG_GETFIELD(status,
				SDP_RO_MAP_1_EVEN_FIELD);
		} else {
			pr_err("%s: NULL pointer provided\n", __func__);
			ret = -EINVAL;
		}
		break;
	default:
		pr_err("Not a typewriter! Command: 0x%x", cmd);
		ret = -ENOTTY;
+0 −5
Original line number Diff line number Diff line
@@ -411,11 +411,6 @@
#define SDP_RO_MAIN_IN_LOCK_BMSK                0x0001
#define SDP_RO_MAIN_IN_LOCK_SHFT                0

/* SDP R/O Map 1 Registers */
#define SDP_RO_MAP_1_FIELD_ADDR                 0x45
#define SDP_RO_MAP_1_EVEN_FIELD_BMSK            0x10
#define SDP_RO_MAP_1_EVEN_FIELD_SHFT            4


/*
 * CSI Map Registers
+0 −19
Original line number Diff line number Diff line
@@ -164,8 +164,6 @@ struct msm_vfe_irq_ops {
	void (*config_irq)(struct vfe_device *vfe_dev,
		uint32_t irq_status0, uint32_t irq_status1,
		enum msm_isp_irq_operation);
	void (*process_sof_irq)(struct vfe_device *vfe_dev,
		uint32_t irq_status0, uint32_t irq_status1);
	void (*process_eof_irq)(struct vfe_device *vfe_dev,
		uint32_t irq_status0);
};
@@ -413,12 +411,6 @@ struct msm_vfe_frame_request_queue {

#define MSM_VFE_REQUESTQ_SIZE 8

struct msm_vfe_fields_info {
	bool even_field;
	struct timeval sof_ts;
	struct timeval field_ts;
};

struct msm_vfe_axi_stream {
	uint32_t frame_id;
	enum msm_vfe_axi_state state;
@@ -465,11 +457,6 @@ struct msm_vfe_axi_stream {
	enum msm_stream_memory_input_t  memory_input;
	struct msm_isp_sw_framskip sw_skip;
	uint8_t sw_ping_pong_bit;

	bool interlaced;
	struct msm_vfe_fields_info field_info[2];
	uint32_t field_index;
	uint32_t field_type;
};

struct msm_vfe_axi_composite_info {
@@ -811,12 +798,6 @@ struct vfe_device {
	/* before halt irq info */
	uint32_t recovery_irq0_mask;
	uint32_t recovery_irq1_mask;

	/* interlaced field info */
	void *ba_inst_hdl;
	struct task_struct *field_thread_id;
	wait_queue_head_t field_waitqueue;
	bool wakeupflag;
};

struct vfe_parent_device {
+0 −32
Original line number Diff line number Diff line
@@ -662,37 +662,6 @@ void msm_vfe47_process_epoch_irq(struct vfe_device *vfe_dev,
	}
}

static void msm_isp47_process_sof_irq(struct vfe_device *vfe_dev,
	uint32_t irq_status0, uint32_t irq_status1)
{
	int i, axi_src_idx[4], src_count = 0;
	struct msm_vfe_axi_stream *pstream_info;
	struct msm_vfe_axi_shared_data *axi_data = &vfe_dev->axi_data;

	if (irq_status0 & BIT(0))
		axi_src_idx[src_count++] = CAMIF_RAW;
	if (irq_status1 & BIT(29))
		axi_src_idx[src_count++] = RDI_INTF_0;
	if (irq_status1 & BIT(30))
		axi_src_idx[src_count++] = RDI_INTF_1;
	if (irq_status1 & BIT(31))
		axi_src_idx[src_count++] = RDI_INTF_2;

	if (src_count == 0)
		return;

	for (i = 0; i < src_count; i++) {
		pstream_info = &axi_data->stream_info[axi_src_idx[i]];

		if (pstream_info->interlaced) {
			vfe_dev->wakeupflag = true;
			wake_up_interruptible(&vfe_dev->field_waitqueue);
			/* currently we support only 1 interlaced instance */
			break;
		}
	}
}

void msm_isp47_process_eof_irq(struct vfe_device *vfe_dev,
	uint32_t irq_status0)
{
@@ -2749,7 +2718,6 @@ struct msm_vfe_hardware_info vfe47_hw_info = {
			.process_stats_irq = msm_isp_process_stats_irq,
			.process_epoch_irq = msm_vfe47_process_epoch_irq,
			.config_irq = msm_vfe47_config_irq,
			.process_sof_irq = msm_isp47_process_sof_irq,
			.process_eof_irq = msm_isp47_process_eof_irq,
		},
		.axi_ops = {
+1 −13
Original line number Diff line number Diff line
@@ -2042,12 +2042,6 @@ static int msm_isp_process_done_buf(struct vfe_device *vfe_dev,
	buf_event.u.buf_done.buf_idx = buf->buf_idx;
	buf_event.u.buf_done.output_format =
		stream_info->runtime_output_format;

	if (stream_info->interlaced)
		buf_event.u.buf_done.field_type = stream_info->field_type;
	else
		buf_event.u.buf_done.field_type = 0;

	if (vfe_dev->fetch_engine_info.is_busy &&
		SRC_TO_INTF(stream_info->stream_src) == VFE_PIX_0) {
		vfe_dev->fetch_engine_info.is_busy = 0;
@@ -3138,7 +3132,6 @@ static int msm_isp_stop_axi_stream(struct vfe_device *vfe_dev,
			}

		}
		stream_info->interlaced = false;
		vfe_dev->reg_update_requested &=
			~(BIT(SRC_TO_INTF(stream_info->stream_src)));
	}
@@ -3551,18 +3544,13 @@ int msm_isp_axi_output_cfg(struct vfe_device *vfe_dev, void *arg)
		INIT_LIST_HEAD(&pstream_info->request_q);

		pstream_info->frame_based =
			pCmd->output_path_cfg[axi_src_idx].frame_based & BIT(0);
		pstream_info->interlaced =
			(pCmd->output_path_cfg[axi_src_idx].frame_based
				& BIT(INTERLACE_OFFSET)) ? true : false;
			pCmd->output_path_cfg[axi_src_idx].frame_based;

		 /* send buffers to user through vfe dev node */
		pstream_info->buf_divert = 1;
		pstream_info->output_format =
			pCmd->output_path_cfg[axi_src_idx].format;

		pstream_info->field_index = 0;

		msm_isp_axi_get_num_planes(
			pCmd->output_path_cfg[axi_src_idx].format,
			pstream_info);
Loading