Hi Noralf, Thank you for the patch. On Sunday 11 Sep 2016 20:47:41 Noralf Trønnes wrote: > This enables panic message output for fb cma helper framebuffers. > > Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> > --- > drivers/gpu/drm/drm_fb_cma_helper.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c > b/drivers/gpu/drm/drm_fb_cma_helper.c index 1fd6eac..2f1b012 100644 > --- a/drivers/gpu/drm/drm_fb_cma_helper.c > +++ b/drivers/gpu/drm/drm_fb_cma_helper.c > @@ -126,9 +126,19 @@ int drm_fb_cma_create_handle(struct drm_framebuffer > *fb, } > EXPORT_SYMBOL(drm_fb_cma_create_handle); > > +static void *drm_fb_cma_panic_vmap(struct drm_framebuffer *fb) > +{ > + struct drm_fb_cma *fb_cma = to_fb_cma(fb); > + struct drm_gem_cma_object *cma_obj = fb_cma->obj[0]; > + > + /* A PRIME imported buffer will not have it's vaddr set. */ Does this mean that, if the framebuffer that happens to be displayed when a panic occurs is imported, no message will be printed ? I understand how supporting such cases is difficult, but I'm wondering how we could proceed to ensure that a panic can be displayed in most (if not all) cases. Similarly, it looks like your code only handles single-planar formats, but there's no explicit check for that in patch 1/3. The easiest fix is to reject multi-planar framebuffers, but that would again result in silent panics in some cases. > + return cma_obj ? cma_obj->vaddr : NULL; Can cma_obj be NULL here ? I thought that framebuffer objects were always created with at least one GEM object. > +} > + > static struct drm_framebuffer_funcs drm_fb_cma_funcs = { > .destroy = drm_fb_cma_destroy, > .create_handle = drm_fb_cma_create_handle, > + .panic_vmap = drm_fb_cma_panic_vmap, > }; > > static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev, -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel