[Intel-gfx] i915: Questions for drm-panic development

Ahmed S. Darwish darwish.07 at gmail.com
Fri Mar 29 01:35:02 UTC 2019


Hello i915 developers,

I'm currently working on a drm-based panic viewer. As can be seen
from [1] and [2], the _initial_ design for drm-panic is now agreed
upon, with ACKs from both DRM and active printk engineers.

The main use-case is consumer-level x86 laptops, so i915 will be
the natural first target.

I've currently developed a prototype, based on code from Noralf
Trønnes, that carefully picks the needed drm_framebuffer from
within a panic context.

The added drm_framebuffer_funcs hooks are:

    void *(*panic_prepare)(struct drm_framebuffer *fb);

    void (*panic_cleanup)(struct drm_framebuffer *fb,
                          void *cookie);

    int (*panic_draw_xy)(struct drm_framebuffer *fb,
                         void *cookie, int x, int y,
                         bool foreground);

Now it's time for the i915-specific bits, and I'm very new to the
whole graphics / i915 world in general :)

I'm currently learning all the basics (GTT, etc.) from:

    https://blog.ffwll.ch/2013/01/i915gem-crashcourse-overview.html

    https://bwidawsk.net/blog/index.php/2014/06/the-global-gtt-part-1

    https://01.org/linuxgraphics/documentation/hardware-specification-prms

Some questions:

  - Current development target is an Intel i5-8250U / Kaby Lake R /
    UHD 620 laptop. Does this make __any__ difference?

  - The i915 code covers a huge set of intel gfx HW families. Will
    this ever necessitate different drm-panic hooks implementation?

  - For the i915-specific hooks, do you have any further advice?
    e.g. points to be extra careful about, specific HW or SW refs
    I should further check, and so on?

Thanks a lot!

[1] https://lists.freedesktop.org/archives/dri-devel/2019-March/210973.html

[2] https://lore.kernel.org/lkml/20190310013142.GA3376@darwi-home-pc

--
darwi
http://darwish.chasingpointers.com


More information about the Intel-gfx mailing list