On Fri, May 9, 2025 at 5:31 AM Konrad Dybcio <konrad.dyb...@oss.qualcomm.com> wrote: > > On 5/8/25 8:41 PM, Rob Clark wrote: > > On Thu, May 8, 2025 at 11:13 AM Konrad Dybcio <konradyb...@kernel.org> > > wrote: > >> > >> From: Konrad Dybcio <konrad.dyb...@oss.qualcomm.com> > >> > >> Start the great despaghettification by getting a pointer to the common > >> UBWC configuration, which houses e.g. UBWC versions that we need to > >> make decisions. > >> > >> Signed-off-by: Konrad Dybcio <konrad.dyb...@oss.qualcomm.com> > >> --- > >> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 16 ++++++++++++++-- > >> drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 ++++++ > >> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 3 +++ > >> 3 files changed, 23 insertions(+), 2 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c > >> b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c > >> index > >> b161b5cd991fc645dfcd69754b82be9691775ffe..89eb725f0950f3679d6214366cfbd22d5bcf4bc7 > >> 100644 > >> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c > >> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c > >> @@ -585,8 +585,13 @@ static void a6xx_set_cp_protect(struct msm_gpu *gpu) > >> gpu_write(gpu, REG_A6XX_CP_PROTECT(protect->count_max - 1), > >> protect->regs[i]); > >> } > >> > >> -static void a6xx_calc_ubwc_config(struct adreno_gpu *gpu) > >> +static int a6xx_calc_ubwc_config(struct adreno_gpu *gpu) > >> { > >> + /* Inherit the common config and make some necessary fixups */ > >> + gpu->common_ubwc_cfg = qcom_ubwc_config_get_data(); > > > > This does look a bit funny given the devm_kzalloc() below.. I guess > > just so that the ptr is never NULL? > > Yeah, would you prefer this is changed?
I think having an all zeros ubwc cfg isn't really going to work anyways, so probably drop the kzalloc(). Or if there is a case that I'm not thinking of offhand where it makes sense to have an all 0's cfg, then add a comment to avoid future head scratching, since otherwise it looks like a bug to be fixed. BR, -R