소스 검색

Merge "msm: camera: isp: Add v780 configs for BW limit and packer alignment" into camera-kernel.lnx.6.0

Haritha Chintalapati 3 년 전
부모
커밋
6bb75238ec
2개의 변경된 파일34개의 추가작업 그리고 5개의 파일을 삭제
  1. 1 0
      drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/cam_sfe780.h
  2. 33 5
      drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe780.h

+ 1 - 0
drivers/cam_isp/isp_hw_mgr/isp_hw/sfe_hw/cam_sfe780.h

@@ -1590,6 +1590,7 @@ static struct cam_sfe_bus_wr_hw_info sfe780_bus_wr_hw_info = {
 	.comp_done_shift      = 17,
 	.line_done_cfg        = 0x11,
 	.top_irq_shift        = 0x0,
+	.pack_align_shift     = 5,
 	.max_bw_counter_limit = 0xFF,
 };
 

+ 33 - 5
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe780.h

@@ -964,6 +964,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00000E84,
 			.debug_status_0           = 0x00000E88,
 			.debug_status_1           = 0x00000E8C,
+			.bw_limiter_addr          = 0x00000E1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_0,
 			.ubwc_regs                = &vfe780_ubwc_regs_client_0,
 		},
@@ -994,6 +995,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00000F84,
 			.debug_status_0           = 0x00000F88,
 			.debug_status_1           = 0x00000F8C,
+			.bw_limiter_addr          = 0x00000F1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_0,
 			.ubwc_regs                = &vfe780_ubwc_regs_client_1,
 		},
@@ -1021,6 +1023,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001084,
 			.debug_status_0           = 0x00001088,
 			.debug_status_1           = 0x0000108C,
+			.bw_limiter_addr          = 0x0000101C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_0,
 			.ubwc_regs                = NULL,
 		},
@@ -1048,6 +1051,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001184,
 			.debug_status_0           = 0x00001188,
 			.debug_status_1           = 0x0000118C,
+			.bw_limiter_addr          = 0x0000111C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_0,
 			.ubwc_regs                = NULL,
 		},
@@ -1078,6 +1082,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001284,
 			.debug_status_0           = 0x00001288,
 			.debug_status_1           = 0x0000128C,
+			.bw_limiter_addr          = 0x0000121C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_1,
 			.ubwc_regs                = &vfe780_ubwc_regs_client_4,
 		},
@@ -1108,6 +1113,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001384,
 			.debug_status_0           = 0x00001388,
 			.debug_status_1           = 0x0000138C,
+			.bw_limiter_addr          = 0x0000131C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_1,
 			.ubwc_regs                = &vfe780_ubwc_regs_client_5,
 		},
@@ -1135,6 +1141,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001484,
 			.debug_status_0           = 0x00001488,
 			.debug_status_1           = 0x0000148C,
+			.bw_limiter_addr          = 0x0000141C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_1,
 			.ubwc_regs                = NULL,
 		},
@@ -1162,6 +1169,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001584,
 			.debug_status_0           = 0x00001588,
 			.debug_status_1           = 0x0000158C,
+			.bw_limiter_addr          = 0x0000151C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_1,
 			.ubwc_regs                = NULL,
 		},
@@ -1192,6 +1200,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001684,
 			.debug_status_0           = 0x00001688,
 			.debug_status_1           = 0x0000168C,
+			.bw_limiter_addr          = 0x0000161C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_2,
 			.ubwc_regs                = NULL,
 		},
@@ -1219,6 +1228,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001784,
 			.debug_status_0           = 0x00001788,
 			.debug_status_1           = 0x0000178C,
+			.bw_limiter_addr          = 0x0000171C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_2,
 			.ubwc_regs                = NULL,
 		},
@@ -1249,6 +1259,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001884,
 			.debug_status_0           = 0x00001888,
 			.debug_status_1           = 0x0000188C,
+			.bw_limiter_addr          = 0x0000181C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_3,
 			.ubwc_regs                = NULL,
 		},
@@ -1279,6 +1290,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001984,
 			.debug_status_0           = 0x00001988,
 			.debug_status_1           = 0x0000198C,
+			.bw_limiter_addr          = 0x0000191C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_4,
 			.ubwc_regs                = NULL,
 		},
@@ -1309,6 +1321,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001A84,
 			.debug_status_0           = 0x00001A88,
 			.debug_status_1           = 0x00001A8C,
+			.bw_limiter_addr          = 0x00001A1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_4,
 			.ubwc_regs                = NULL,
 		},
@@ -1339,6 +1352,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001B84,
 			.debug_status_0           = 0x00001B88,
 			.debug_status_1           = 0x00001B8C,
+			.bw_limiter_addr          = 0x00001B1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_5,
 			.ubwc_regs                = NULL,
 		},
@@ -1369,6 +1383,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001C84,
 			.debug_status_0           = 0x00001C88,
 			.debug_status_1           = 0x00001C8C,
+			.bw_limiter_addr          = 0x00001C1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_6,
 			.ubwc_regs                = NULL,
 		},
@@ -1399,6 +1414,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001D84,
 			.debug_status_0           = 0x00001D88,
 			.debug_status_1           = 0x00001D8C,
+			.bw_limiter_addr          = 0x00001D1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_6,
 			.ubwc_regs                = NULL,
 		},
@@ -1429,6 +1445,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001E84,
 			.debug_status_0           = 0x00001E88,
 			.debug_status_1           = 0x00001E8C,
+			.bw_limiter_addr          = 0x00001E1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_7,
 			.ubwc_regs                = NULL,
 		},
@@ -1459,6 +1476,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00001F84,
 			.debug_status_0           = 0x00001F88,
 			.debug_status_1           = 0x00001F8C,
+			.bw_limiter_addr          = 0x00001F1C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_8,
 			.ubwc_regs                = NULL,
 		},
@@ -1489,6 +1507,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002084,
 			.debug_status_0           = 0x00002088,
 			.debug_status_1           = 0x0000208C,
+			.bw_limiter_addr          = 0x0000201C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_9,
 			.ubwc_regs                = NULL,
 		},
@@ -1519,6 +1538,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002184,
 			.debug_status_0           = 0x00002188,
 			.debug_status_1           = 0x0000218C,
+			.bw_limiter_addr          = 0x0000211C,
 			.comp_group              = CAM_VFE_BUS_VER3_COMP_GRP_10,
 			.ubwc_regs                = NULL,
 		},
@@ -1549,6 +1569,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002284,
 			.debug_status_0           = 0x00002288,
 			.debug_status_1           = 0x0000228C,
+			.bw_limiter_addr          = 0x0000221C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_11,
 			.ubwc_regs                = NULL,
 		},
@@ -1579,6 +1600,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002384,
 			.debug_status_0           = 0x00002388,
 			.debug_status_1           = 0x0000238C,
+			.bw_limiter_addr          = 0x0000231C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_11,
 			.ubwc_regs                = NULL,
 		},
@@ -1609,6 +1631,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002484,
 			.debug_status_0           = 0x00002488,
 			.debug_status_1           = 0x0000248C,
+			.bw_limiter_addr          = 0x0000241C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_11,
 			.ubwc_regs                = NULL,
 		},
@@ -1640,6 +1663,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002584,
 			.debug_status_0           = 0x00002588,
 			.debug_status_1           = 0x0000258C,
+			.bw_limiter_addr          = 0x0000251C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_12,
 			.ubwc_regs                = NULL,
 		},
@@ -1671,6 +1695,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002684,
 			.debug_status_0           = 0x00002688,
 			.debug_status_1           = 0x0000268C,
+			.bw_limiter_addr          = 0x0000261C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_13,
 			.ubwc_regs                = NULL,
 		},
@@ -1702,6 +1727,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002784,
 			.debug_status_0           = 0x00002788,
 			.debug_status_1           = 0x0000278C,
+			.bw_limiter_addr          = 0x0000271C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_14,
 			.ubwc_regs                = NULL,
 		},
@@ -1732,6 +1758,7 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.debug_status_cfg         = 0x00002884,
 			.debug_status_0           = 0x00002888,
 			.debug_status_1           = 0x0000288C,
+			.bw_limiter_addr          = 0x0000281C,
 			.comp_group               = CAM_VFE_BUS_VER3_COMP_GRP_3,
 			.ubwc_regs                = NULL,
 		},
@@ -2222,12 +2249,13 @@ static struct cam_vfe_bus_ver3_hw_info vfe780_bus_hw_info = {
 			.error_description = "Meta Stride unalign"
 		},
 	},
-	.num_comp_grp    = 15,
+	.num_comp_grp          = 15,
 	.support_consumed_addr = true,
-	.comp_done_shift = 0,
-	.top_irq_shift   = 0,
-	.max_out_res = CAM_ISP_IFE_OUT_RES_BASE + 36,
-	.pack_align_shift = 5,
+	.comp_done_shift       = 0,
+	.top_irq_shift         = 0,
+	.max_out_res           = CAM_ISP_IFE_OUT_RES_BASE + 36,
+	.pack_align_shift      = 5,
+	.max_bw_counter_limit  = 0xFF,
 };
 
 static struct cam_vfe_irq_hw_info vfe780_irq_hw_info = {