Lines Matching +full:warn +full:- +full:soc +full:- +full:level

11 ----------
29 Subsystem-wide refactorings
33 ---------------------------------------------
42 Level: Intermediate
45 --------------------------------------------------
53 non-converted driver. The "Atomic mode setting design overview" series [2]_
60 .. [1] https://blog.ffwll.ch/2014/11/atomic-modeset-support-for-kms-drivers.html
66 Level: Advanced
69 ---------------------------------------------------------
75 avoid confusion - the other helpers in that file are all deprecated legacy
80 Level: Advanced
83 ----------------------------------
88 - drm_plane_helper_funcs->atomic_check gets called for enabled or disabled
92 into the drm_plane_funcs->atomic_duplicate_state functions.
94 - Once that's done, helpers could stop calling ->atomic_check for disabled
97 - Then we could go through all the drivers and remove the more-or-less confused
98 checks for plane_state->fb and plane_state->crtc.
102 Level: Advanced
105 ----------------------------------------------------
108 nonblocking commits, and every driver had to hand-roll them. This is fixed
121 Level: Advanced
124 -----------------------
129 a bit too severe. So there's some follow-up work to adjust the function
136 drivers explicitly so that the legacy-on-atomic functions can use them.
151 Level: Intermediate
153 Get rid of dev->struct_mutex from GEM drivers
154 ---------------------------------------------
156 ``dev->struct_mutex`` is the Big DRM Lock from legacy days and infested
166 For drivers that need ``struct_mutex`` it should be replaced with a driver-
170 performance-critical drivers it might also be better to go with a more
171 fine-grained per-buffer object and per-context lockings scheme. Currently only
176 Level: Advanced
179 ---------------------------------------------
181 Many drivers have their own per-object locking scheme, usually using
186 To solve this we need one standard per-object locking mechanism, which is
188 other driver specific per-object locks removed. The problem is that rolling out
192 Level: Expert
195 ------------------------------------------------------------
198 differentiate between which is which in the logs. Since DRM_INFO/WARN/ERROR
199 don't do this, drivers used dev_info/warn/err to make this differentiation. We
201 those drivers back to using drm-formatted specific log messages.
204 sure your work will be merged - not everyone agrees that the DRM dmesg macros
209 Level: Starter
212 ----------------------------------------------------
216 drm_mode_config_helper_suspend/resume(). Also there's still open-coded version
221 Level: Intermediate
224 ------------------------------------------------
228 expected the framebuffer in system memory or system-like memory. By employing
234 Level: Intermediate
237 -------------------------------------------------------
246 Level: Advanced
248 Benchmark and optimize blitting and format-conversion function
249 --------------------------------------------------------------
254 On at least x86-64, sys_imageblit() is significantly slower than
258 seems to be a problem with gcc's optimizer. DRM's format-conversion
261 Benchmark and optimize fbdev's sys_() helpers and DRM's format-conversion
263 algorithm. For micro-optimizations, use movl/movq instructions explicitly.
264 That might possibly require architecture-specific helpers (e.g., storel()
269 Level: Intermediate
272 -----------------------------------------------------------------
275 Various hold-ups:
277 - Need to switch over to the generic dirty tracking code using
280 - Need to switch to drm_fbdev_generic_setup(), otherwise a lot of the custom fb
283 - Need to switch to drm_gem_fb_create(), as now drm_gem_fb_create() checks for
286 - Many drivers subclass drm_framebuffer, we'd need a embedding compatible
292 Level: Intermediate
295 ---------------------------
305 everything after it has done the write-protect/mkwrite trickery:
307 - In the drm_fbdev_fb_mmap helper, if we need defio, change the
308 default page prots to write-protected with something like this::
310 vma->vm_page_prot = pgprot_wrprotect(vma->vm_page_prot);
312 - Set the mkwrite and fsync callbacks with similar implementions to the core
317 - Track the dirty pages in a separate structure (bitfield with one bit per page
324 Level: Advanced
327 -----------------------------------
329 - For most connectors it's a no-op to call drm_connector_register/unregister
333 - For dp drivers it's a bit more a mess, since we need the connector to be
338 Level: Intermediate
341 ----------------------------
347 - Rework drivers to no longer use the load/unload callbacks, directly coding the
350 - Once all drivers are converted, remove the load/unload callbacks.
354 Level: Intermediate
357 ---------------------------------------------------------------
368 Level: Intermediate
371 --------------------------------------------
383 - audio (amdgpu, intel, gma500, radeon)
384 - brightness, contrast, etc (armada, nouveau) - overlay only (?)
385 - broadcast rgb (gma500, intel)
386 - colorkey (armada, nouveau, rcar) - overlay only (?)
387 - dither (amdgpu, nouveau, radeon) - varies across drivers
388 - underscan family (amdgpu, radeon, nouveau)
391 - colorspace (sti)
392 - tv format names, enhancements (gma500, intel)
393 - tv overscan, margins, etc. (gma500, intel)
394 - zorder (omapdrm) - same as zpos (?)
399 Level: Intermediate
402 ----------------------------------------
405 instance knows whether it refers to system or I/O memory. Most of the DRM-wide
411 * Memory managers should use struct iosys_map for dma-buf-imported buffers.
417 Level: Intermediate
420 --------------------------------------------------------------------------------------
432 Level: Intermediate
435 -------------------------------------
447 Level: Starter
450 ---------------------------------------
460 Level: Starter
463 ------------------------------------------------------
466 prepare/unprepare/enable/disable callbacks behave as no-ops if they've already
469 git grep 'if.*>prepared' -- drivers/gpu/drm/panel
470 git grep 'if.*>enabled' -- drivers/gpu/drm/panel
481 WARN(1) to help encourage folks not to rely on this behavior.
485 Level: Starter/Intermediate
492 ------------------------
523 <https://lore.kernel.org/dri-devel/20190311174218.51899-1-noralf@tronnes.org/>`_.
528 <https://lore.kernel.org/lkml/1446217392-11981-1-git-send-email-alexandru.murtaza@intel.com/>`_
533 Level: Advanced
536 ----------------------------
540 - Convert drivers to support the drm_debugfs_add_files() function instead of
543 - Improve late-register debugfs by rolling out the same debugfs pre-register
547 - We probably want to have some support for debugfs files on crtc/connectors and
550 ->show() functions should obviously give you a pointer to the right object.
552 - The drm_driver->debugfs_init hooks we have is just an artifact of the old
557 this (together with the drm_minor->drm_device move) would allow us to remove
562 Level: Intermediate
565 ---------------------
569 - Cleanup up the various ->destroy callbacks, which often are all the same
572 - Lots of drivers erroneously allocate DRM modeset objects using devm_kzalloc,
573 which results in use-after free issues on driver unload. This can be serious
574 trouble even for drivers for hardware integrated on the SoC due to
583 Level: Intermediate
585 Remove automatic page mapping from dma-buf importing
586 ----------------------------------------------------
588 When importing dma-bufs, the dma-buf and PRIME frameworks automatically map
596 buffer-sharing code. Fixing this is a bit more involved, since the import/export
603 Level: Advanced
610 --------------------------------------------------------------
612 The `KUnit <https://www.kernel.org/doc/html/latest/dev-tools/kunit/index.html>`_
616 A good candidate for the first unit tests are the format-conversion helpers in
621 Level: Intermediate
624 ----------------------
628 Level: Advanced
630 Make KMS tests in i-g-t generic
631 -------------------------------
634 including tons of testcases for corner-cases in the modesetting API. It would
635 be awesome if those tests (at least the ones not relying on Intel-specific GEM
638 Basic work to run i-g-t tests on non-i915 is done, what's now missing is mass-
641 the non-i915 specific modeset tests.
643 Level: Advanced
646 ---------------------------------
652 Level: See details
655 ---------------------
667 Level: Intermediate
673 ---------------------
689 - [v6,8/8] drm/client: Hack: Add bootsplash example
692 - [RFC PATCH v2 00/13] Kernel based bootsplash
693 https://lore.kernel.org/r/20171213194755.3409-1-mstaudt@suse.de
697 Level: Advanced
721 will need to be done to get the output <-> backlight device mapping
731 work. A possible solution here would be to pass a device and connector-name
765 Level: Advanced
771 ----------------------------
774 become obsolete, but some still provides good(-enough) framebuffers. The
780 existing hardware. The new driver's call-back functions are filled from
783 More complex fbdev drivers can be refactored step-by-step into a DRM
797 Level: Advanced