|
@@ -5467,10 +5467,6 @@ static int __reg_dmav1_setup_demurav1_cfg1(struct sde_hw_dspp *ctx,
|
|
u32 width = 0;
|
|
u32 width = 0;
|
|
u32 demura_base = ctx->cap->sblk->demura.base + ctx->hw.blk_off;
|
|
u32 demura_base = ctx->cap->sblk->demura.base + ctx->hw.blk_off;
|
|
|
|
|
|
- if (!dcfg->cfg1_en) {
|
|
|
|
- DRM_DEBUG_DRIVER("dcfg->cfg1_en is disabled\n");
|
|
|
|
- return 0;
|
|
|
|
- }
|
|
|
|
len = ARRAY_SIZE(dcfg->cfg1_param0_c0);
|
|
len = ARRAY_SIZE(dcfg->cfg1_param0_c0);
|
|
cfg1_data = kvzalloc((len * sizeof(u32)), GFP_KERNEL);
|
|
cfg1_data = kvzalloc((len * sizeof(u32)), GFP_KERNEL);
|
|
if (!cfg1_data)
|
|
if (!cfg1_data)
|
|
@@ -5529,24 +5525,26 @@ static int __reg_dmav1_setup_demurav1_cfg1(struct sde_hw_dspp *ctx,
|
|
goto quit;
|
|
goto quit;
|
|
}
|
|
}
|
|
|
|
|
|
- cfg1_data[0] = (dcfg->cfg1_param0_c0[0] & REG_MASK(10)) |
|
|
|
|
- ((dcfg->cfg1_param0_c1[0] & REG_MASK(10)) << 10) |
|
|
|
|
- ((dcfg->cfg1_param0_c2[0] & REG_MASK(10)) << 20) | BIT(31);
|
|
|
|
- DRM_DEBUG_DRIVER("0x64: value %x\n", cfg1_data[0]);
|
|
|
|
- for (i = 1; i < len; i++) {
|
|
|
|
- cfg1_data[i] = (dcfg->cfg1_param0_c0[i] & REG_MASK(10)) |
|
|
|
|
- ((dcfg->cfg1_param0_c1[i] & REG_MASK(10)) << 10) |
|
|
|
|
- ((dcfg->cfg1_param0_c2[i] & REG_MASK(10)) << 20);
|
|
|
|
- DRM_DEBUG_DRIVER("0x64 index %d value %x\n", i,
|
|
|
|
- cfg1_data[i]);
|
|
|
|
- }
|
|
|
|
- REG_DMA_SETUP_OPS(*dma_write_cfg, demura_base + 0x64,
|
|
|
|
- cfg1_data, len * sizeof(u32), REG_BLK_WRITE_INC, 0,
|
|
|
|
- 0, 0);
|
|
|
|
- rc = dma_ops->setup_payload(dma_write_cfg);
|
|
|
|
- if (rc) {
|
|
|
|
- DRM_ERROR("lut write failed ret %d\n", rc);
|
|
|
|
- goto quit;
|
|
|
|
|
|
+ if (dcfg->cfg1_en) {
|
|
|
|
+ cfg1_data[0] = (dcfg->cfg1_param0_c0[0] & REG_MASK(10)) |
|
|
|
|
+ ((dcfg->cfg1_param0_c1[0] & REG_MASK(10)) << 10) |
|
|
|
|
+ ((dcfg->cfg1_param0_c2[0] & REG_MASK(10)) << 20) | BIT(31);
|
|
|
|
+ DRM_DEBUG_DRIVER("0x64: value %x\n", cfg1_data[0]);
|
|
|
|
+ for (i = 1; i < len; i++) {
|
|
|
|
+ cfg1_data[i] = (dcfg->cfg1_param0_c0[i] & REG_MASK(10)) |
|
|
|
|
+ ((dcfg->cfg1_param0_c1[i] & REG_MASK(10)) << 10) |
|
|
|
|
+ ((dcfg->cfg1_param0_c2[i] & REG_MASK(10)) << 20);
|
|
|
|
+ DRM_DEBUG_DRIVER("0x64 index %d value %x\n", i,
|
|
|
|
+ cfg1_data[i]);
|
|
|
|
+ }
|
|
|
|
+ REG_DMA_SETUP_OPS(*dma_write_cfg, demura_base + 0x64,
|
|
|
|
+ cfg1_data, len * sizeof(u32), REG_BLK_WRITE_INC, 0,
|
|
|
|
+ 0, 0);
|
|
|
|
+ rc = dma_ops->setup_payload(dma_write_cfg);
|
|
|
|
+ if (rc) {
|
|
|
|
+ DRM_ERROR("lut write failed ret %d\n", rc);
|
|
|
|
+ goto quit;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
quit:
|
|
quit:
|