[PATCH 2/3] drm/hibmc: Use drm_gem_fb_create
Daniel Vetter
daniel at ffwll.ch
Thu Nov 28 10:14:54 UTC 2019
On Thu, Nov 28, 2019 at 04:44:32PM +0800, kbuild test robot wrote:
> Hi Daniel,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on drm-intel/for-linux-next]
> [also build test ERROR on v5.4 next-20191127]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url: https://github.com/0day-ci/linux/commits/Daniel-Vetter/drm-rockchip-Use-drm_gem_fb_create_with_dirty/20191128-023917
> base: git://anongit.freedesktop.org/drm-intel for-linux-next
> config: arm64-randconfig-a001-20191128 (attached as .config)
> compiler: aarch64-linux-gcc (GCC) 7.4.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> GCC_VERSION=7.4.0 make.cross ARCH=arm64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp at intel.com>
>
> All errors (new ones prefixed by >>):
Oops, I meant to drop this patch from this series, but forgot. It's
superseeded by the series Thomas has (which actually compiles).
-Daniel
>
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c: In function 'hibmc_plane_atomic_update':
> >> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c:107:28: error: 'fb' undeclared (first use in this function); did you mean 'mb'?
> gbo = drm_gem_vram_of_gem(fb->obj[0]);
> ^~
> mb
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c:107:28: note: each undeclared identifier is reported only once for each function it appears in
> --
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c: In function 'hibmc_drm_fb_create':
> >> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c:119:37: error: 'struct drm_framebuffer' has no member named 'fb'
> hi_fbdev->helper.fb = &hi_fbdev->fb->fb;
> ^~
>
> vim +107 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
>
> 93
> 94 static void hibmc_plane_atomic_update(struct drm_plane *plane,
> 95 struct drm_plane_state *old_state)
> 96 {
> 97 struct drm_plane_state *state = plane->state;
> 98 u32 reg;
> 99 s64 gpu_addr = 0;
> 100 unsigned int line_l;
> 101 struct hibmc_drm_private *priv = plane->dev->dev_private;
> 102 struct drm_gem_vram_object *gbo;
> 103
> 104 if (!state->fb)
> 105 return;
> 106
> > 107 gbo = drm_gem_vram_of_gem(fb->obj[0]);
> 108
> 109 gpu_addr = drm_gem_vram_offset(gbo);
> 110 if (WARN_ON_ONCE(gpu_addr < 0))
> 111 return; /* Bug: we didn't pin the BO to VRAM in prepare_fb. */
> 112
> 113 writel(gpu_addr, priv->mmio + HIBMC_CRT_FB_ADDRESS);
> 114
> 115 reg = state->fb->width * (state->fb->format->cpp[0]);
> 116 /* now line_pad is 16 */
> 117 reg = PADDING(16, reg);
> 118
> 119 line_l = state->fb->width * state->fb->format->cpp[0];
> 120 line_l = PADDING(16, line_l);
> 121 writel(HIBMC_FIELD(HIBMC_CRT_FB_WIDTH_WIDTH, reg) |
> 122 HIBMC_FIELD(HIBMC_CRT_FB_WIDTH_OFFS, line_l),
> 123 priv->mmio + HIBMC_CRT_FB_WIDTH);
> 124
> 125 /* SET PIXEL FORMAT */
> 126 reg = readl(priv->mmio + HIBMC_CRT_DISP_CTL);
> 127 reg &= ~HIBMC_CRT_DISP_CTL_FORMAT_MASK;
> 128 reg |= HIBMC_FIELD(HIBMC_CRT_DISP_CTL_FORMAT,
> 129 state->fb->format->cpp[0] * 8 / 16);
> 130 writel(reg, priv->mmio + HIBMC_CRT_DISP_CTL);
> 131 }
> 132
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list