소스 검색

Merge "disp: msm: sde: allocate virtually contiguous memory"

qctecmdr 4 년 전
부모
커밋
dec0bb3812
1개의 변경된 파일20개의 추가작업 그리고 20개의 파일을 삭제
  1. 20 20
      msm/sde/sde_hw_reg_dma_v1_color_proc.c

+ 20 - 20
msm/sde/sde_hw_reg_dma_v1_color_proc.c

@@ -522,7 +522,7 @@ void reg_dmav1_setup_dspp_vlutv18(struct sde_hw_dspp *ctx, void *cfg)
 		return;
 	}
 
-	data = kzalloc(VLUT_LEN, GFP_KERNEL);
+	data = kvzalloc(VLUT_LEN, GFP_KERNEL);
 	if (!data)
 		return;
 
@@ -570,7 +570,7 @@ void reg_dmav1_setup_dspp_vlutv18(struct sde_hw_dspp *ctx, void *cfg)
 	}
 
 exit:
-	kfree(data);
+	kvfree(data);
 	/* update flush bit */
 	if (!rc && ctl && ctl->ops.update_bitmask_dspp_pavlut) {
 		int dspp_idx;
@@ -1191,7 +1191,7 @@ int reg_dmav1_setup_rc_datav1(struct sde_hw_dspp *ctx, void *cfg)
 	}
 
 	DRM_DEBUG_DRIVER("allocating %u bytes of memory for dma\n", buf_sz);
-	data = kzalloc(buf_sz, GFP_KERNEL);
+	data = kvzalloc(buf_sz, GFP_KERNEL);
 	if (!data) {
 		DRM_ERROR("memory allocation failed ret %d\n", rc);
 		return -ENOMEM;
@@ -1228,7 +1228,7 @@ int reg_dmav1_setup_rc_datav1(struct sde_hw_dspp *ctx, void *cfg)
 	}
 
 exit:
-	kfree(data);
+	kvfree(data);
 	return rc;
 }
 
@@ -1332,7 +1332,7 @@ void reg_dmav1_setup_dspp_pcc_common(struct sde_hw_dspp *ctx, void *cfg)
 		return;
 	}
 
-	data = kzalloc(PCC_LEN, GFP_KERNEL);
+	data = kvzalloc(PCC_LEN, GFP_KERNEL);
 	if (!data)
 		return;
 
@@ -1403,7 +1403,7 @@ void reg_dmav1_setup_dspp_pcc_common(struct sde_hw_dspp *ctx, void *cfg)
 		DRM_ERROR("failed to kick off ret %d\n", rc);
 
 exit:
-	kfree(data);
+	kvfree(data);
 
 }
 
@@ -2417,7 +2417,7 @@ static int reg_dmav1_setup_vig_igc_common(struct sde_hw_reg_dma_ops *dma_ops,
 				hw_cfg->len, sizeof(struct drm_msm_igc_lut));
 	}
 
-	data = kzalloc(VIG_1D_LUT_IGC_LEN * sizeof(u32), GFP_KERNEL);
+	data = kvzalloc(VIG_1D_LUT_IGC_LEN * sizeof(u32), GFP_KERNEL);
 	if (!data)
 		return -ENOMEM;
 
@@ -2479,7 +2479,7 @@ static int reg_dmav1_setup_vig_igc_common(struct sde_hw_reg_dma_ops *dma_ops,
 	if (rc)
 		DRM_ERROR("setting opcode failed ret %d\n", rc);
 exit:
-	kfree(data);
+	kvfree(data);
 	return rc;
 }
 
@@ -2686,7 +2686,7 @@ void reg_dmav1_setup_dma_igcv5(struct sde_hw_pipe *ctx, void *cfg,
 		return;
 	}
 
-	data = kzalloc(DMA_1D_LUT_IGC_LEN * sizeof(u32), GFP_KERNEL);
+	data = kvzalloc(DMA_1D_LUT_IGC_LEN * sizeof(u32), GFP_KERNEL);
 	if (!data) {
 		DRM_ERROR("failed to allocate memory for igc\n");
 		return;
@@ -2746,7 +2746,7 @@ void reg_dmav1_setup_dma_igcv5(struct sde_hw_pipe *ctx, void *cfg,
 	if (rc)
 		DRM_ERROR("failed to kick off ret %d\n", rc);
 igc_exit:
-	kfree(data);
+	kvfree(data);
 }
 
 static void dma_gcv5_off(struct sde_hw_pipe *ctx, void *cfg,
@@ -4109,7 +4109,7 @@ void reg_dmav2_setup_dspp_igcv4(struct sde_hw_dspp *ctx, void *cfg)
 	if (len % transfer_size_bytes)
 		len = len + (transfer_size_bytes - len % transfer_size_bytes);
 
-	data = kzalloc(len, GFP_KERNEL);
+	data = kvzalloc(len, GFP_KERNEL);
 	if (!data)
 		return;
 
@@ -4157,7 +4157,7 @@ void reg_dmav2_setup_dspp_igcv4(struct sde_hw_dspp *ctx, void *cfg)
 	_perform_sbdma_kickoff(ctx, hw_cfg, dma_ops, blk, IGC);
 
 exit:
-	kfree(data);
+	kvfree(data);
 }
 
 static void dspp_3d_gamutv43_off(struct sde_hw_dspp *ctx, void *cfg)
@@ -4277,7 +4277,7 @@ void reg_dmav2_setup_dspp_3d_gamutv43(struct sde_hw_dspp *ctx, void *cfg)
 	if (len % transfer_size_bytes)
 		len = len + (transfer_size_bytes - len % transfer_size_bytes);
 
-	data = kzalloc(len, GFP_KERNEL);
+	data = kvzalloc(len, GFP_KERNEL);
 	if (!data)
 		return;
 
@@ -4353,7 +4353,7 @@ void reg_dmav2_setup_dspp_3d_gamutv43(struct sde_hw_dspp *ctx, void *cfg)
 	_perform_sbdma_kickoff(ctx, hw_cfg, dma_ops, blk, GAMUT);
 
 exit:
-	kfree(data);
+	kvfree(data);
 }
 
 void reg_dmav2_setup_vig_gamutv61(struct sde_hw_pipe *ctx, void *cfg)
@@ -4431,7 +4431,7 @@ void reg_dmav2_setup_vig_gamutv61(struct sde_hw_pipe *ctx, void *cfg)
 	if (len % transfer_size_bytes)
 		len = len + (transfer_size_bytes - len % transfer_size_bytes);
 
-	data = kzalloc(len, GFP_KERNEL);
+	data = kvzalloc(len, GFP_KERNEL);
 	if (!data)
 		return;
 
@@ -4496,7 +4496,7 @@ void reg_dmav2_setup_vig_gamutv61(struct sde_hw_pipe *ctx, void *cfg)
 		DRM_ERROR("failed to kick off ret %d\n", rc);
 
 exit:
-	kfree(data);
+	kvfree(data);
 }
 
 int reg_dmav1_setup_spr_cfg3_params(struct sde_hw_dspp *ctx,
@@ -4950,7 +4950,7 @@ static int __reg_dmav1_setup_demurav1_cfg0(struct sde_hw_dspp *ctx,
 		return 0;
 	}
 
-	temp = kzalloc(sizeof(struct drm_msm_dem_cfg), GFP_KERNEL);
+	temp = kvzalloc(sizeof(struct drm_msm_dem_cfg), GFP_KERNEL);
 	if (!temp)
 		return -ENOMEM;
 
@@ -5086,7 +5086,7 @@ static int __reg_dmav1_setup_demurav1_cfg0(struct sde_hw_dspp *ctx,
 		goto quit;
 	}
 quit:
-	kfree(temp);
+	kvfree(temp);
 	return rc;
 }
 
@@ -5106,7 +5106,7 @@ static int __reg_dmav1_setup_demurav1_cfg1(struct sde_hw_dspp *ctx,
 		return 0;
 	}
 	len = ARRAY_SIZE(dcfg->cfg1_param0_c0);
-	cfg1_data = kcalloc(len, sizeof(u32), GFP_KERNEL);
+	cfg1_data = kvzalloc((len * sizeof(u32)), GFP_KERNEL);
 	if (!cfg1_data)
 		return -ENOMEM;
 
@@ -5184,7 +5184,7 @@ static int __reg_dmav1_setup_demurav1_cfg1(struct sde_hw_dspp *ctx,
 	}
 
 quit:
-	kfree(cfg1_data);
+	kvfree(cfg1_data);
 	return rc;
 }