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

Commit 46239a01 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: vfe: Multiple fixes in IFE Bus 2.0"

parents 1eff322b a1429f86
Loading
Loading
Loading
Loading
+29 −3
Original line number Diff line number Diff line
@@ -84,8 +84,8 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
		.ccif_violation_status            = 0x0000AA64,
		.overflow_status                  = 0x0000AA68,
		.image_size_violation_status      = 0x0000AA70,
		.debug_status_cfg                 = 0x0000AAD4,
		.debug_status_0                   = 0x0000AAD8,
		.debug_status_top_cfg             = 0x0000AAD4,
		.debug_status_top                 = 0x0000AAD8,
		.test_bus_ctrl                    = 0x0000AADC,
		.irq_reg_info = {
			.num_registers            = 2,
@@ -108,6 +108,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000AC20,
			.frame_header_incr        = 0x0000AC24,
			.frame_header_cfg         = 0x0000AC28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000AC30,
			.irq_subsample_pattern    = 0x0000AC34,
			.framedrop_period         = 0x0000AC38,
@@ -136,6 +137,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000AD20,
			.frame_header_incr        = 0x0000AD24,
			.frame_header_cfg         = 0x0000AD28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000AD30,
			.irq_subsample_pattern    = 0x0000AD34,
			.framedrop_period         = 0x0000AD38,
@@ -164,6 +166,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000AE20,
			.frame_header_incr        = 0x0000AE24,
			.frame_header_cfg         = 0x0000AE28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000AE30,
			.irq_subsample_pattern    = 0x0000AE34,
			.framedrop_period         = 0x0000AE38,
@@ -192,6 +195,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000AF20,
			.frame_header_incr        = 0x0000AF24,
			.frame_header_cfg         = 0x0000AF28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000AF30,
			.irq_subsample_pattern    = 0x0000AF34,
			.framedrop_period         = 0x0000AF38,
@@ -220,6 +224,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B020,
			.frame_header_incr        = 0x0000B024,
			.frame_header_cfg         = 0x0000B028,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B030,
			.irq_subsample_pattern    = 0x0000B034,
			.framedrop_period         = 0x0000B038,
@@ -248,6 +253,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B120,
			.frame_header_incr        = 0x0000B124,
			.frame_header_cfg         = 0x0000B128,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B130,
			.irq_subsample_pattern    = 0x0000B134,
			.framedrop_period         = 0x0000B138,
@@ -276,6 +282,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B220,
			.frame_header_incr        = 0x0000B224,
			.frame_header_cfg         = 0x0000B228,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B230,
			.irq_subsample_pattern    = 0x0000B234,
			.framedrop_period         = 0x0000B238,
@@ -304,6 +311,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B320,
			.frame_header_incr        = 0x0000B324,
			.frame_header_cfg         = 0x0000B328,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B330,
			.irq_subsample_pattern    = 0x0000B334,
			.framedrop_period         = 0x0000B338,
@@ -332,6 +340,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B420,
			.frame_header_incr        = 0x0000B424,
			.frame_header_cfg         = 0x0000B428,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B430,
			.irq_subsample_pattern    = 0x0000B434,
			.framedrop_period         = 0x0000B438,
@@ -360,6 +369,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B520,
			.frame_header_incr        = 0x0000B524,
			.frame_header_cfg         = 0x0000B528,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B530,
			.irq_subsample_pattern    = 0x0000B534,
			.framedrop_period         = 0x0000B538,
@@ -388,6 +398,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B620,
			.frame_header_incr        = 0x0000B624,
			.frame_header_cfg         = 0x0000B628,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B630,
			.irq_subsample_pattern    = 0x0000B634,
			.framedrop_period         = 0x0000B638,
@@ -416,6 +427,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B720,
			.frame_header_incr        = 0x0000B724,
			.frame_header_cfg         = 0x0000B728,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B730,
			.irq_subsample_pattern    = 0x0000B734,
			.framedrop_period         = 0x0000B738,
@@ -444,6 +456,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B820,
			.frame_header_incr        = 0x0000B824,
			.frame_header_cfg         = 0x0000B828,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B830,
			.irq_subsample_pattern    = 0x0000B834,
			.framedrop_period         = 0x0000B838,
@@ -472,6 +485,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000B920,
			.frame_header_incr        = 0x0000B924,
			.frame_header_cfg         = 0x0000B928,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000B930,
			.irq_subsample_pattern    = 0x0000B934,
			.framedrop_period         = 0x0000B938,
@@ -500,6 +514,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000BA20,
			.frame_header_incr        = 0x0000BA24,
			.frame_header_cfg         = 0x0000BA28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000BA30,
			.irq_subsample_pattern    = 0x0000BA34,
			.framedrop_period         = 0x0000BA38,
@@ -528,6 +543,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000BB20,
			.frame_header_incr        = 0x0000BB24,
			.frame_header_cfg         = 0x0000BB28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000BB30,
			.irq_subsample_pattern    = 0x0000BB34,
			.framedrop_period         = 0x0000BB38,
@@ -556,6 +572,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000BC20,
			.frame_header_incr        = 0x0000BC24,
			.frame_header_cfg         = 0x0000BC28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000BC30,
			.irq_subsample_pattern    = 0x0000BC34,
			.framedrop_period         = 0x0000BC38,
@@ -584,6 +601,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000BD20,
			.frame_header_incr        = 0x0000BD24,
			.frame_header_cfg         = 0x0000BD28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000BD30,
			.irq_subsample_pattern    = 0x0000BD34,
			.framedrop_period         = 0x0000BD38,
@@ -612,6 +630,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000BE20,
			.frame_header_incr        = 0x0000BE24,
			.frame_header_cfg         = 0x0000BE28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000BE30,
			.irq_subsample_pattern    = 0x0000BE34,
			.framedrop_period         = 0x0000BE38,
@@ -640,6 +659,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000BF20,
			.frame_header_incr        = 0x0000BF24,
			.frame_header_cfg         = 0x0000BF28,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000BF30,
			.irq_subsample_pattern    = 0x0000BF34,
			.framedrop_period         = 0x0000BF38,
@@ -668,6 +688,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000C020,
			.frame_header_incr        = 0x0000C024,
			.frame_header_cfg         = 0x0000C028,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000C030,
			.irq_subsample_pattern    = 0x0000C034,
			.framedrop_period         = 0x0000C038,
@@ -696,6 +717,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000C120,
			.frame_header_incr        = 0x0000C124,
			.frame_header_cfg         = 0x0000C128,
			.line_done_cfg            = 0x0000C12C,
			.irq_subsample_period     = 0x0000C130,
			.irq_subsample_pattern    = 0x0000C134,
			.framedrop_period         = 0x0000C138,
@@ -724,6 +746,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000C220,
			.frame_header_incr        = 0x0000C224,
			.frame_header_cfg         = 0x0000C228,
			.line_done_cfg            = 0,
			.irq_subsample_period     = 0x0000C230,
			.irq_subsample_pattern    = 0x0000C234,
			.framedrop_period         = 0x0000C238,
@@ -752,6 +775,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000C320,
			.frame_header_incr        = 0x0000C324,
			.frame_header_cfg         = 0x0000C328,
			.line_done_cfg            = 0x0000C32C,
			.irq_subsample_period     = 0x0000C330,
			.irq_subsample_pattern    = 0x0000C334,
			.framedrop_period         = 0x0000C338,
@@ -780,6 +804,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000C420,
			.frame_header_incr        = 0x0000C424,
			.frame_header_cfg         = 0x0000C428,
			.line_done_cfg            = 0x0000C42C,
			.irq_subsample_period     = 0x0000C430,
			.irq_subsample_pattern    = 0x0000C434,
			.framedrop_period         = 0x0000C438,
@@ -808,6 +833,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.frame_header_addr        = 0x0000C520,
			.frame_header_incr        = 0x0000C524,
			.frame_header_cfg         = 0x0000C528,
			.line_done_cfg            = 0x0000C52C,
			.irq_subsample_period     = 0x0000C530,
			.irq_subsample_pattern    = 0x0000C534,
			.framedrop_period         = 0x0000C538,
@@ -825,7 +851,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe480_bus_hw_info = {
			.ubwc_regs                = NULL,
		},
	},
	.num_out = CAM_VFE_BUS_VER3_VFE_OUT_MAX,
	.num_out = 23,
	.vfe_out_hw_info = {
		{
			.vfe_out_type  = CAM_VFE_BUS_VER3_VFE_OUT_RDI0,
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ int cam_vfe_bus_init(uint32_t bus_version,
				bus_version);
			break;
		}
		break;
	case BUS_TYPE_RD:
		/* Call vfe bus rd init function */
		rc = cam_vfe_bus_rd_ver1_init(soc_info, hw_intf,
+2 −2
Original line number Diff line number Diff line
@@ -1984,8 +1984,8 @@ static int cam_vfe_bus_ver3_init_vfe_out_resource(uint32_t index,
	vfe_out = &ver3_bus_priv->vfe_out[vfe_out_type];
	if (vfe_out->res_state != CAM_ISP_RESOURCE_STATE_UNAVAILABLE ||
		vfe_out->res_priv) {
		CAM_ERR(CAM_ISP,
			"vfe_out_type %d has already been initialized");
		CAM_ERR(CAM_ISP, "vfe_out_type %d has already been initialized",
			vfe_out_type);
		return -EFAULT;
	}

+3 −3
Original line number Diff line number Diff line
@@ -92,8 +92,8 @@ struct cam_vfe_bus_ver3_reg_offset_common {
	uint32_t ccif_violation_status;
	uint32_t overflow_status;
	uint32_t image_size_violation_status;
	uint32_t debug_status_cfg;
	uint32_t debug_status_0;
	uint32_t debug_status_top_cfg;
	uint32_t debug_status_top;
	uint32_t test_bus_ctrl;
	struct cam_irq_controller_reg_info irq_reg_info;
};
@@ -128,6 +128,7 @@ struct cam_vfe_bus_ver3_reg_offset_bus_client {
	uint32_t frame_header_addr;
	uint32_t frame_header_incr;
	uint32_t frame_header_cfg;
	uint32_t line_done_cfg;
	uint32_t irq_subsample_period;
	uint32_t irq_subsample_pattern;
	uint32_t framedrop_period;
@@ -142,7 +143,6 @@ struct cam_vfe_bus_ver3_reg_offset_bus_client {
	uint32_t debug_status_cfg;
	uint32_t debug_status_0;
	uint32_t debug_status_1;
	uint32_t source_group;
	uint32_t comp_group;
};