[PATCH v4 1/3] dt-bindings: vendor-prefixes: Add Mayqueen name

2025-08-05 Thread LiangCheng Wang
From: Wig Cheng Mayqueen is a Taiwan-based company primarily focused on the development of arm64 development boards and e-paper displays. Signed-off-by: Wig Cheng Acked-by: Rob Herring (Arm) Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 fi

[PATCH v4 3/3] drm: tiny: Add support for Mayqueen Pixpaper e-ink panel

2025-08-05 Thread LiangCheng Wang
Introduce a DRM driver for the Mayqueen Pixpaper e-ink display panel, which is controlled via SPI. The driver supports a 122x250 resolution display with XRGB format. Also, add a MAINTAINERS entry for the Pixpaper driver. Signed-off-by: LiangCheng Wang --- MAINTAINERS

[PATCH v4 2/3] dt-bindings: display: Add Mayqueen Pixpaper e-ink panel

2025-08-05 Thread LiangCheng Wang
The binding is for the Mayqueen Pixpaper e-ink display panel, controlled via an SPI interface. Signed-off-by: LiangCheng Wang Reviewed-by: Rob Herring (Arm) --- .../bindings/display/mayqueen,pixpaper.yaml| 63 ++ 1 file changed, 63 insertions(+) diff --git a/Documen

[PATCH v4 0/3] Add support for Mayqueen Pixpaper e-ink panel

2025-08-05 Thread LiangCheng Wang
This patch series adds support for the Mayqueen Pixpaper e-ink display panel, controlled via SPI. The series includes: - A new vendor-prefix entry for "mayqueen" - Device tree binding documentation for the Pixpaper panel - A DRM tiny driver implementation for the Pixpaper panel - A MAINTAINERS ent

Re: [PATCH v4 0/3] drm/panel: novatek-nt35560: Fix bug and clean up

2025-08-04 Thread Neil Armstrong
Hi, On Wed, 30 Jul 2025 21:23:40 -0600, Brigham Campbell wrote: > Fix bug in novatek-nt35560 driver's nt35560_set_brightness() which > causes the driver to incorrectly report that it "failed to disable > display backlight". > > Add mipi_dsi_dcs_read_multi() to drm_mipi_dsi.c for improved error >

Re: [PATCH v4] Mark xe driver as BROKEN if kernel page size is not 4kB

2025-08-04 Thread Thomas Hellström
On Sat, 2025-08-02 at 11:40 +0900, Simon Richter wrote: > This driver, for the time being, assumes that the kernel page size is > 4kB, > so it fails on loong64 and aarch64 with 16kB pages, and ppc64el with > 64kB > pages. > > Signed-off-by: Simon Richter > Cc: sta...@vger.kernel.org > --- >  driv

[PATCH v4 58/58] accel: add -DDYNAMIC_DEBUG_MODULE to subdir-cflags - RFC

2025-08-02 Thread Jim Cromie
Currently amdxdna uses drm_dbg, so it needs this cflag in order to compile; it currently gets the cflag from its own Makefile. If other accel modules want to use DRM.debug, they will need this flag too, so add it in accel/Makefile. NOTE: ivpu has its own CLASS-ish dbg system: ./drivers/accel/ivp

[PATCH v4 57/58] amdxdna: add -DDYNAMIC_DEBUG_MODULE to cflags - RFC

2025-08-02 Thread Jim Cromie
with DRM_USE_DYNAMIC_DEBUG=y now un-BROKEN for configs like: CONFIG_DRM_USE_DYNAMIC_DEBUG=y # CONFIG_DYNAMIC_DEBUG is not set CONFIG_DYNAMIC_DEBUG_CORE=y this module gets macro breakage: from ../drivers/accel/amdxdna/aie2_ctx.c:8: ../drivers/accel/amdxdna/aie2_ctx.c: In f

[PATCH v4 56/58] drm: restore CONFIG_DRM_USE_DYNAMIC_DEBUG un-BROKEN

2025-08-02 Thread Jim Cromie
Time for some thorough CI. Also, the previous 18 patches could perhaps be replaced by a single invocation of DYNDBG_CLASSMAP_USE, from a C-file linked into all drm drivers & helpers. I didn't find such a file, nor a drm-client linkage item in the Makefile. Signed-off-by: Jim Cromie --- drivers

[PATCH v4 55/58] drm-dyndbg: add DRM_CLASSMAP_USE to the drm_gem_shmem_helper driver

2025-08-02 Thread Jim Cromie
The drm_gem_shmem_helper driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/drm_gem_shmem_helper.c | 1 + 1 file changed, 1 insertion(+) diff --git a/driver

[PATCH v4 53/58] drm-dyndbg: add DRM_CLASSMAP_USE to the gud driver

2025-08-02 Thread Jim Cromie
The gud driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/gud/gud_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/gud/gud_drv.c

[PATCH v4 54/58] drm-dyndbg: add DRM_CLASSMAP_USE to the qxl driver

2025-08-02 Thread Jim Cromie
The qxl driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/qxl/qxl_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c

[PATCH v4 51/58] drm-dyndbg: add DRM_CLASSMAP_USE to udl driver

2025-08-02 Thread Jim Cromie
The udl driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/udl/udl_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/udl/udl_main.

[PATCH v4 52/58] drm-dyndbg: add DRM_CLASSMAP_USE to mgag200 driver

2025-08-02 Thread Jim Cromie
The mgag200 driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/mgag200/mgag200_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/mg

[PATCH v4 50/58] drm-dyndbg: add DRM_CLASSMAP_USE to vkms driver

2025-08-02 Thread Jim Cromie
The vkms driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/vkms/vkms_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vkms/vkms_d

[PATCH v4 49/58] drm-dyndbg: add DRM_CLASSMAP_USE to vmwgfx driver

2025-08-02 Thread Jim Cromie
The vmwgfx driver has a number of DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module uses them. Signed-off-by: Jim Cromie --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vmwgf

[PATCH v4 48/58] drm-dyndbg: add DRM_CLASSMAP_USE to radeon

2025-08-02 Thread Jim Cromie
radeon has some DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg about its use of the class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/radeon/radeon_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon

[PATCH v4 46/58] drm-dyndbg: add DRM_CLASSMAP_USE to etnaviv

2025-08-02 Thread Jim Cromie
etnaviv has 5 DRM_UT_CORE debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs as well as plain-old pr_debug()s Signed-off-by: Jim Cromie --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --g

[PATCH v4 47/58] drm-dyndbg: add DRM_CLASSMAP_USE to gma500 driver

2025-08-02 Thread Jim Cromie
The gma500 has 126 DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/gma500/psb_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/gma500/psb_drv

[PATCH v4 45/58] drm-dyndbg: add DRM_CLASSMAP_USE to bochs

2025-08-02 Thread Jim Cromie
tiny/bochs has 5 DRM_UT_* debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/tiny/bochs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tiny/bochs.c b/drive

[PATCH v4 40/58] drm-dyndbg: DRM_CLASSMAP_USE in drm_dp_helper

2025-08-02 Thread Jim Cromie
Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f

[PATCH v4 42/58] drm-dyndbg: add DRM_CLASSMAP_USE to Xe driver

2025-08-02 Thread Jim Cromie
Invoke DRM_CLASSMAP_USE from xe_drm_client.c. When built with CONFIG_DRM_USE_DYNAMIC_DEBUG=y, this tells dydnbg that Xe has drm.debug callsites. Signed-off-by: Jim Cromie --- drivers/gpu/drm/xe/xe_drm_client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_drm_clien

[PATCH v4 44/58] drm-dyndbg: add DRM_CLASSMAP_USE to simpledrm

2025-08-02 Thread Jim Cromie
tiny/simpledrm has 3 DRM_UT_DRIVER debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/sysfb/simpledrm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/sysfb/

[PATCH v4 43/58] drm-dyndbg: add DRM_CLASSMAP_USE to virtio_gpu

2025-08-02 Thread Jim Cromie
virtio_gpu has 10 DRM_UT_CORE debugs, make them controllable when CONFIG_DRM_USE_DYNAMIC_DEBUG=y by telling dyndbg that the module has class'd debugs. Signed-off-by: Jim Cromie --- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/virtio/v

[PATCH v4 41/58] drm-dyndbg: DRM_CLASSMAP_USE in nouveau

2025-08-02 Thread Jim Cromie
Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f

[PATCH v4 39/58] drm-dyndbg: DRM_CLASSMAP_USE in drm_crtc_helper

2025-08-02 Thread Jim Cromie
Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f

[PATCH v4 38/58] drm-dyndbg: DRM_CLASSMAP_USE in i915 driver

2025-08-02 Thread Jim Cromie
Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f

[PATCH v4 37/58] drm-dyndbg: DRM_CLASSMAP_USE in amdgpu driver

2025-08-02 Thread Jim Cromie
Following the dyndbg-api-fix, replace DECLARE_DYNDBG_CLASSMAP with DRM_CLASSMAP_USE. This refs the defined & exported classmap, rather than re-declaring it redundantly, and error-prone-ly. This resolves the appearance of "class:_UNKNOWN_" in the control file for the driver's drm_dbg()s. Fixes: f

[PATCH v4 36/58] drm-print: fix config-dependent unused variable

2025-08-02 Thread Jim Cromie
With CONFIG_DRM_USE_DYNAMIC_DEBUG=y, __drm_printfn_dbg() gets an unused variable warning/error on 'category', even though the usage follows immediately, in drm_debug_enabled(category). For static-key optimized dyndbg, the macro doesn't actually check the category var, since the static-key patches

[PATCH v4 35/58] drm-dyndbg: adapt DRM to invoke DYNAMIC_DEBUG_CLASSMAP_PARAM

2025-08-02 Thread Jim Cromie
Invoke DYNAMIC_DEBUG_CLASSMAP_PARAM to hook drm.debug (__drm_debug) to the DRM_UT_* classmap, replacing the ad-hoc wiring previously doing it. Add DRM_CLASSMAP_* adapter macros to selectively use DYNAMIC_DEBUG_CLASSMAP_* when DRM_USE_DYNAMIC_DEBUG=y is configured. Signed-off-by: Jim Cromie Revie

[PATCH v4 34/58] drm-dyndbg: adapt drm core to use dyndbg classmaps-v2

2025-08-02 Thread Jim Cromie
dyndbg's CLASSMAP-v1 api was broken; DECLARE_DYNDBG_CLASSMAP tried to do too much. Its replaced by DRM_CLASSMAP_DEFINE, which creates & EXPORTs a classmap (in DRM core), and DRM_CLASSMAP_USE which refers to the classmap defined elsewhere. The drivers still use DECLARE_DYNDBG_CLASSMAP for now, so

[PATCH v4 30/58] dyndbg: reserve flag-bit _DPRINTK_FLAGS_PREFIX_CACHED

2025-08-02 Thread Jim Cromie
Reserve a flag-bit to remember that a pr-debug callsite is/was: - enabled, with +p - wants a dynamic-prefix, with 1+ of module:function:sourcefile - was previously called - was thus saved in the prefix cache. NOT YET. This allows (later) to cache part/all of the dynamic-prefix for each pr_debug th

[PATCH v4 32/58] dyndbg: refactor *dynamic_emit_prefix to split lookups

2025-08-02 Thread Jim Cromie
Split dynamic_emit_prefix(): 1. keep dynamic_emit_prefix() static inline check ANY flags before calling 2 2. __dynamic_emit_prefix() prints [TID] or if +t flag check LOOKUP flags before calling 3 3. __dynamic_emit_lookup() prints 1+ of: module, function, src-file, line Notes: With

[PATCH v4 33/58] drm: use correct ccflags-y spelling

2025-08-02 Thread Jim Cromie
Incorrectly spelled CFLAGS- failed to add -DDYNAMIC_DEBUG_MODULE, which disabled dynamic-debug in modules built with: CONFIG_DYNAMIC_DEBUG=n # 1 CONFIG_DYNAMIC_DEBUG_CORE=y # 2 CONFIG_DRM_USE_DYNAMIC_DEBUG=y # 3 NB: this adds the flag (when 3) more often than strictly needed; module

[PATCH v4 31/58] dyndbg: add _DPRINTK_FLAGS_INCL_LOOKUP for +mfsl flags

2025-08-02 Thread Jim Cromie
dyndbg's dynamic prefixing can get expensive; each enabled callsite's prefix is sprintf'd into stack-mem, every time a pr_debug is called. A cache would help, if callsites mark _DPRINTK_FLAGS_PREFIX_CACHED after saving the prefix string. But not just yet. _DPRINTK_FLAGS_INCL_LOOKUP distinguishes

[PATCH v4 29/58] docs/dyndbg: add classmap info to howto

2025-08-02 Thread Jim Cromie
Describe the 3 API macros providing dynamic_debug's classmaps DYNDBG_CLASSMAP_DEFINE - create & export a classmap DYNDBG_CLASSMAP_USE- refer to exported map DYNDBG_CLASSMAP_PARAM - bind control param to the classmap DYNDBG_CLASSMAP_PARAM_REF + use module's storage - __drm_debug TBD: some of

[PATCH v4 28/58] dyndbg: restore classmap protection when theres a controlling_param

2025-08-02 Thread Jim Cromie
DRM has always had /sys/module/drm/parameters/debug (ie drm.debug). Without dyndbg, this is their only control point. One could presume they like it - in any case its a system/user interface, ie ABI. With dyndbg enabled, drm calls DYNAMIC_DEBUG_CLASSMAP_PARAM() to create the drm.debug kparam, wir

[PATCH v4 27/58] dyndbg: drop "protection" of class'd pr_debugs from legacy queries

2025-08-02 Thread Jim Cromie
Current classmap code protects class'd pr_debugs from unintended changes by "legacy" unclassed queries: # this doesn't disable all of DRM_UT_* categories echo "-p" > /proc/dynamic_debug/control # name the class to change it - protective but tedious echo "class DRM_UT_CORE +p" > /proc/dyna

[PATCH v4 25/58] dyndbg: split multi-query strings with %

2025-08-02 Thread Jim Cromie
Since commit 85f7f6c0edb8 ("dynamic_debug: process multiple debug-queries on a line") Multi-query commands have been allowed: modprobe drm dyndbg="class DRM_UT_CORE +p; class DRM_UT_KMS +p" modprobe drm dyndbg=< [ 203.902703] dyndbg: query parse failed [ 203.902871] dyndbg: processed 2 quer

[PATCH v4 26/58] selftests-dyndbg: add test_mod_submod

2025-08-02 Thread Jim Cromie
This new test-fn runs 3 module/submodule modprobe scenarios, variously using both the generic dyndbg= modprobe arg, and the test-module's classmap-params to manipulate the test-mod*'s pr_debugs. In all cases, the current flag-settings are counted and tested vs expectations. The 3rd scenario recapi

[PATCH v4 24/58] dyndbg: treat comma as a token separator

2025-08-02 Thread Jim Cromie
Treat comma as a token terminator, just like a space. This allows a user to avoid quoting hassles when spaces are otherwise needed: :#> modprobe drm dyndbg=class,DRM_UT_CORE,+p\;class,DRM_UT_KMS,+p or as a boot arg: drm.dyndbg=class,DRM_UT_CORE,+p # todo: support multi-query here Given the

[PATCH v4 22/58] dyndbg-test: change do_prints testpoint to accept a loopct

2025-08-02 Thread Jim Cromie
echo 1000 > /sys/module/test_dynamic_debug/parameters/do_prints This allows its use as a scriptable load generator, to generate dynamic-prefix-emits for flag combinations vs undecorated messages. This will make it easy to assess the cost of the prefixing. Reading the ./do_prints node also prints

[PATCH v4 23/58] dyndbg-API: promote DYNAMIC_DEBUG_CLASSMAP_PARAM to API

2025-08-02 Thread Jim Cromie
move the DYNAMIC_DEBUG_CLASSMAP_PARAM macro from test-dynamic-debug.c into the header, and refine it, by distinguishing the 2 use cases: 1.DYNAMIC_DEBUG_CLASSMAP_PARAM_REF for DRM, to pass in extern __drm_debug by name. dyndbg keeps bits in it, so drm can still use it as before 2.DYNAMIC_

[PATCH v4 21/58] dyndbg: check DYNAMIC_DEBUG_CLASSMAP_DEFINE args at compile-time

2025-08-02 Thread Jim Cromie
Add __DYNAMIC_DEBUG_CLASSMAP_CHECK to implement the following arg-checks at compile-time: 0 <= _base < 63 class_names is not empty class_names[0] is a string (class_names.length + _base) < 63 These compile-time checks will prevent several misuses; 4 such examples a

[PATCH v4 20/58] dyndbg: detect class_id reservation conflicts

2025-08-02 Thread Jim Cromie
If a module _DEFINEs + _USEs 2 or more classmaps, it must devise them to share the per-module 0..62 class-id space; ie their respective base,+length reservations cannot overlap. To detect conflicts at modprobe, add ddebug_class_range_overlap(), call it from ddebug_add_module(), and WARN and return

[PATCH v4 19/58] dyndbg-API: replace DECLARE_DYNDBG_CLASSMAP

2025-08-02 Thread Jim Cromie
DECLARE_DYNDBG_CLASSMAP() has a design error; its usage fails a basic K&R rule: "define once, refer many times". When DRM_USE_DYNAMIC_DEBUG=y, it is used across DRM core & drivers; each invocation allocates/inits the classmap understood by that module. All must match for the modules to respond to

[PATCH v4 18/58] dyndbg: change __dynamic_func_call_cls* macros into expressions

2025-08-02 Thread Jim Cromie
The Xe driver's XE_IOCTL_DBG macro calls drm_dbg() from inside an if (expression). This breaks when CONFIG_DRM_USE_DYNAMIC_DEBUG=y because the invoked macro has a do-while-0 wrapper, and is not an expression. if (cond && (drm_dbg("expr-form"),1)) { ... do some more stuff } Fix for th

[PATCH v4 17/58] selftests-dyndbg: add a dynamic_debug run_tests target

2025-08-02 Thread Jim Cromie
Add a selftest script for dynamic-debug. The config requires CONFIG_TEST_DYNAMIC_DEBUG=m and CONFIG_TEST_DYNAMIC_DEBUG_SUBMOD=m, which tacitly requires either CONFIG_DYNAMIC_DEBUG=y or CONFIG_DYNAMIC_DEBUG_CORE=y ATM this has just basic_tests(), which modify pr_debug() flags in the builtin params

[PATCH v4 16/58] dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code

2025-08-02 Thread Jim Cromie
Remove the DD_CLASS_TYPE_*_NAMES classmap types and code. These 2 classmap types accept class names at the PARAM interface, for example: echo +DRM_UT_CORE,-DRM_UT_KMS > /sys/module/drm/parameters/debug_names The code works, but its only used by test-dynamic-debug, and wasn't asked for by anyon

[PATCH v4 12/58] dyndbg: macrofy a 2-index for-loop pattern

2025-08-02 Thread Jim Cromie
dynamic-debug has several __sections, each with , num_, and it iterates over these with a 2-index for-loop. These loops are fiddly with the 2 names. We have only 2 such loops now, but are getting more soon; lets embed/abstract the fiddlyness in the for_subvec() macro, and avoid repeating it going

[PATCH v4 15/58] dyndbg: ddebug_table.mod_name down to _ddebug_info

2025-08-02 Thread Jim Cromie
struct _ddebug_info already has most of dyndbg's info for a module; push debug_table.mod_name down into it, finishing the encapsulation. This allows refactoring several callchains, passing &_ddebug_info instead of &ddebug_table, and hoisting the "&dt->info" deref up. ddebug_table contains a _ddeb

[PATCH v4 14/58] dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module

2025-08-02 Thread Jim Cromie
The body of ddebug_attach_module_classes() is dominated by a code-block that finds the contiguous subrange of classmaps matching on modname, and saves it into the ddebug_table's info record. Implement this block in a macro to accommodate different component vectors in the "box" (as named in the fo

[PATCH v4 13/58] dyndbg, module: make proper substructs in _ddebug_info

2025-08-02 Thread Jim Cromie
recompose struct _ddebug_info, inserting proper sub-structs. The struct currently has 2 pairs of fields: descs, num_descs and classes, num_classes. Several for-loops operate on these field pairs, soon many more will be added. Looping over these blocks by respective field-pairs is repetitive and

[PATCH v4 11/58] dyndbg: replace classmap list with a vector

2025-08-02 Thread Jim Cromie
Classmaps are stored in an elf section/array, but currently are individually list-linked onto dyndbg's per-module ddebug_table for operation. This is unnecessary. Just like dyndbg's descriptors, classes are packed in compile order; so even with many builtin modules employing multiple classmaps, ea

[PATCH v4 10/58] dyndbg: tighten fn-sig of ddebug_apply_class_bitmap

2025-08-02 Thread Jim Cromie
old_bits arg is currently a pointer to the input bits, but this could allow inadvertent changes to the input by the fn. Disallow this. And constify new_bits while here. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- lib/dynamic_debug.c | 21 +++-- 1 file changed, 11 i

[PATCH v4 09/58] dyndbg: refactor param_set_dyndbg_classes and below

2025-08-02 Thread Jim Cromie
Refactor callchain below param_set_dyndbg_classes(1) to allow mod-name specific settings. Split (1) into upper/lower fns, adding modname param to lower, and passing NULL in from upper. Below that, add the same param to ddebug_apply_class_bitmap(), and pass it thru to _ddebug_queries(), replacing

[PATCH v4 08/58] dyndbg: reduce verbose/debug clutter

2025-08-02 Thread Jim Cromie
currently, for verbose=3, these are logged (blank lines for clarity): dyndbg: query 0: "class DRM_UT_CORE +p" mod:* dyndbg: split into words: "class" "DRM_UT_CORE" "+p" dyndbg: op='+' dyndbg: flags=0x1 dyndbg: *flagsp=0x1 *maskp=0x dyndbg: parsed: func="" file="" module="" format="

[PATCH v4 07/58] dyndbg: tweak pr_fmt to avoid expansion conflicts

2025-08-02 Thread Jim Cromie
Disambiguate pr_fmt(fmt) arg, by changing it to _FMT_, to avoid naming confusion with many later macros also using that argname. no functional change Signed-off-by: Jim Cromie --- lib/dynamic_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dynamic_debug.c b/lib/d

[PATCH v4 06/58] dyndbg: drop NUM_TYPE_ARRAY

2025-08-02 Thread Jim Cromie
ARRAY_SIZE works here, since array decl is complete. no functional change Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- include/linux/dynamic_debug.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h

[PATCH v4 05/58] dyndbg: make ddebug_class_param union members same size

2025-08-02 Thread Jim Cromie
struct ddebug_class_param keeps a ref to the state-storage of the param; make both class-types use the same unsigned long storage type. ISTM this is simpler and safer; it avoids an irrelevant difference, and if 2 users somehow get class-type mixed up (or refer to the wrong union member), at least

[PATCH v4 02/58] docs/dyndbg: explain flags parse 1st

2025-08-02 Thread Jim Cromie
When writing queries to >control, flags are parsed 1st, since they are the only required field, and they require specific compositions. So if the flags draw an error (on those specifics), then keyword errors aren't reported. This can be mildly confusing/annoying, so explain it instead. cc: linux

[PATCH v4 04/58] dyndbg: reword "class unknown, " to "class:_UNKNOWN_"

2025-08-02 Thread Jim Cromie
When a dyndbg classname is unknown to a kernel module (as before previous patch), the callsite is un-addressable via >control queries. The control-file displays this condition as "class unknown," currently. That spelling is sub-optimal/too-generic, so change it to "class:_UNKNOWN_" to loudly anno

[PATCH v4 03/58] test-dyndbg: fixup CLASSMAP usage error

2025-08-02 Thread Jim Cromie
commit 6ea3bf466ac6 ("dyndbg: test DECLARE_DYNDBG_CLASSMAP, sysfs nodes") A closer look at test_dynamic_debug.ko logging output reveals a macro usage error: lib/test_dynamic_debug.c:105 [test_dynamic_debug]do_cats =p "LOW msg\n" class:MID lib/test_dynamic_debug.c:106 [test_dynamic_debug]do_cats

[PATCH v4 01/58] docs/dyndbg: update examples \012 to \n

2025-08-02 Thread Jim Cromie
commit 47ea6f99d06e ("dyndbg: use ESCAPE_SPACE for cat control") changed the control-file to display format strings with "\n" rather than "\012". Update the docs to match the new reality. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet Tested-by: Louis Chauvet --- -v2 fix missed \012's ---

[PATCH v4 00/58] fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y

2025-08-02 Thread Jim Cromie
This series fixes dynamic-debug's support for DRM debug-categories. Classmaps-v1 evaded full review, and got committed in 2 chunks: b7b4eebdba7b..6ea3bf466ac6# core dyndbg changes 0406faf25fb1..ee7d633f2dfb# drm adoption Then DRM-CI found a regression when booting with drm.debug=; t

[PATCH v4] Mark xe driver as BROKEN if kernel page size is not 4kB

2025-08-01 Thread Simon Richter
This driver, for the time being, assumes that the kernel page size is 4kB, so it fails on loong64 and aarch64 with 16kB pages, and ppc64el with 64kB pages. Signed-off-by: Simon Richter Cc: sta...@vger.kernel.org --- drivers/gpu/drm/xe/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/d

Re: [PATCH v4 1/5] drm/bridge: cadence: cdns-mhdp8546-core: Remove legacy support for connector initialisation in bridge

2025-08-01 Thread Dmitry Baryshkov
On Tue, Jun 24, 2025 at 11:14:44AM +0530, Jayesh Choudhary wrote: > Now that we have DBANC framework, remove the connector initialisation code > as that piece of code is not called if DRM_BRIDGE_ATTACH_NO_CONNECTOR flag > is used. Only TI K3 platforms consume this driver and tidss (their display >

Re: [PATCH v4 0/5] MHDP8546 fixes related to DBANC usecase

2025-08-01 Thread Harikrishna Shenoy
On 6/24/25 11:14, Jayesh Choudhary wrote: With the introduction of DBANC framework, the connector is no longer initialised in bridge_attach if that flag is set by the display controller. This series does some cleanup for legacy !(DRM_BRIDGE_ATTACH_NO_CONNECTOR) usecase and adds fixes for DRM_BRI

[PATCH v4 3/3] drm/panel: novatek-nt35560: Clean up driver

2025-07-30 Thread Brigham Campbell
Update driver to use the "multi" variants of MIPI functions which facilitate improved error handling and cleaner driver code. Remove information from a comment which was made obsolete by commit 994ea402c767 ("drm/panel: Rename Sony ACX424 to Novatek NT35560"), which determined that this driver sup

[PATCH v4 2/3] drm: Add MIPI read_multi func and two write macros

2025-07-30 Thread Brigham Campbell
Create mipi_dsi_dcs_read_multi(), which accepts a mipi_dsi_multi_context struct for improved error handling and cleaner panel driver code. Create mipi_dsi_dcs_write_var_seq_multi() and mipi_dsi_generic_write_var_seq_multi() macros which allow MIPI panel drivers to write non-constant data to displa

[PATCH v4 1/3] drm/panel: novatek-nt35560: Fix invalid return value

2025-07-30 Thread Brigham Campbell
Fix bug in nt35560_set_brightness() which causes the function to erroneously report an error. mipi_dsi_dcs_write() returns either a negative value when an error occurred or a positive number of bytes written when no error occurred. The buggy code reports an error under either condition. Fixes: 815

[PATCH v4 0/3] drm/panel: novatek-nt35560: Fix bug and clean up

2025-07-30 Thread Brigham Campbell
Fix bug in novatek-nt35560 driver's nt35560_set_brightness() which causes the driver to incorrectly report that it "failed to disable display backlight". Add mipi_dsi_dcs_read_multi() to drm_mipi_dsi.c for improved error handling in drivers which use mipi_dsi_dcs_read() multiple times in a row. Ad

Re: [PATCH v4 0/2] Samsung Exynos 7870 DECON driver support

2025-07-28 Thread Inki Dae
Hi Kaustabh Chakraborty, This patch series has been merged into the exynos-drm-next branch. Thanks, Inki Dae 2025년 7월 7일 (월) 오전 2:30, Kaustabh Chakraborty 님이 작성: > > This patch series aims at adding support for Exynos7870's DECON in the > Exynos7 DECON driver. It introduces a driver data struct

Re: [PATCH v4 0/5] Improvements to S5 power consumption

2025-07-28 Thread Eric Naim
On 6/17/25 00:50, Mario Limonciello wrote: > From: Mario Limonciello > > A variety of issues both in function and in power consumption have been > raised as a result of devices not being put into a low power state when > the system is powered off. > > There have been some localized changes[1] to

[PATCH v4] Documentation: dma-buf: heaps: Add naming guidelines

2025-07-28 Thread Maxime Ripard
We've discussed a number of times of how some heap names are bad, but not really what makes a good heap name. Let's document what we expect the heap names to look like. Reviewed-by: Andrew Davis Reviewed-by: Bagas Sanjaya Signed-off-by: Maxime Ripard --- Changes in v4: - Dropped *all* the cach

Re: [PATCH v4 5/7] drm/panthor: Implement the counter sampler and sample handling

2025-07-25 Thread Lukas Zapolskas
On 18/07/2025 15:49, Adrián Larumbe wrote: > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> From: Adrián Larumbe >> >> The sampler aggregates counter and set requests coming from userspace >> and mediates interactions with the FW interface, to ensure that user >> sessions cannot override the globa

Re: [PATCH v4 6/7] drm/panthor: Add suspend, resume and reset handling

2025-07-25 Thread Lukas Zapolskas
On 18/07/2025 16:01, Adrián Larumbe wrote: > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> The sampler must disable and re-enable counter sampling around suspends, >> and must re-program the FW interface after a reset to avoid losing >> data. >> >> Signed-off-by: Lukas Zapolskas >> --- >> dri

Re: [PATCH v4 7/7] drm/panthor: Expose the panthor perf ioctls

2025-07-25 Thread Lukas Zapolskas
On 18/07/2025 16:19, Adrián Larumbe wrote: > Hi Lucas, another missing remark from the original review, > > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> This patch implements the PANTHOR_PERF_CONTROL ioctl series, and >> a PANTHOR_GET_UOBJ wrapper to deal with the backwards and forwards >> co

Re: [PATCH v4 05/17] phy: cdns-dphy: Remove leftover code

2025-07-23 Thread Vinod Koul
On 23-07-25, 11:49, Tomi Valkeinen wrote: > Hi Vinod, > > (I accidentally sent my mail only to you. List added here). > > On 23/07/2025 10:36, Tomi Valkeinen wrote: > > Hi Vinod, > > > > On 27/06/2025 02:32, Vinod Koul wrote: > >> On 18-06-25, 12:59, Tomi Valkeinen wrote: > >>> The code in cdns-

Re: [PATCH v4 05/17] phy: cdns-dphy: Remove leftover code

2025-07-23 Thread Tomi Valkeinen
Hi Vinod, (I accidentally sent my mail only to you. List added here). On 23/07/2025 10:36, Tomi Valkeinen wrote: > Hi Vinod, > > On 27/06/2025 02:32, Vinod Koul wrote: >> On 18-06-25, 12:59, Tomi Valkeinen wrote: >>> The code in cdns-dphy has probably been part of a DSI driver in the >>> past. R

Re: [PATCH v4 5/7] drm/gpuvm: Add a flags field to drm_gpuvm_map_req/drm_gpuva_op_map

2025-07-22 Thread Adrian Larumbe
On 07.07.2025 17:04, Caterina Shablia wrote: > From: Asahi Lina > > drm_gpuva objects have a flags field. Currently, this can be managed by > drivers out-of-band, without any special handling in drm_gpuvm. > > To be able to introduce flags that do affect the logic in the drm_gpuvm > core, we need

Re: [PATCH v4 4/7] drm/gpuvm: Add a helper to check if two VA can be merged

2025-07-22 Thread Adrian Larumbe
On 07.07.2025 17:04, Caterina Shablia wrote: > From: Boris Brezillon > > We are going to add flags/properties that will impact the VA merging > ability. Instead of sprinkling tests all over the place in > __drm_gpuvm_sm_map(), let's add a helper aggregating all these checks > can call it for every

Re: [PATCH v4 1/1] PCI: Move boot display attribute to DRM

2025-07-22 Thread Manivannan Sadhasivam
On Mon, Jul 21, 2025 at 01:57:26PM GMT, Mario Limonciello wrote: > From: Mario Limonciello > > The boot_display attribute is currently created by PCI core, but the > main reason it exists is for userspace software that interacts with > drm to make decisions. Move the attribute to DRM. > > This a

[PATCH v4 1/1] PCI: Move boot display attribute to DRM

2025-07-21 Thread Mario Limonciello
From: Mario Limonciello The boot_display attribute is currently created by PCI core, but the main reason it exists is for userspace software that interacts with drm to make decisions. Move the attribute to DRM. This also fixes a compilation failure when compiled without CONFIG_VIDEO on sparc. S

[PATCH v4 0/1] Move `boot_display` from PCI to DRM

2025-07-21 Thread Mario Limonciello
From: Mario Limonciello Shortly after the series for introducing boot_display was merged Manivannan Sadhasivam suggested that it's better not to introduce new top level PCI attributes where possible. He proposed that the boot_display attribute should be provided by DRM instead and that userspace

Re: [PATCH v4 2/4] drm/panel: jdi-lpm102a188a: Fix bug and clean up driver

2025-07-21 Thread Doug Anderson
Hi, On Sun, Jul 20, 2025 at 4:19 AM Diogo Ivo wrote: > > On 7/20/25 8:50 AM, Brigham Campbell wrote: > > On Sat Jul 19, 2025 at 11:10 AM MDT, Diogo Ivo wrote: > >>> nit: can just be this: > >>> > >>> struct mipi_dsi_multi_context dsi_ctx = {}; > >> > >> I am not an expert here but I was under the

Re: [PATCH v4 7/7] drm/panthor: Add support for Mali-Gx20 and Mali-Gx25 GPUs

2025-07-21 Thread Karunika Choo
On 11/06/2025 00:45, Chia-I Wu wrote: > On Mon, Jun 2, 2025 at 7:34 AM Karunika Choo wrote: >> >> Mali-Gx20 and Mali-Gx25 deprecates the use of FLUSH_MEM and FLUSH_PT >> MMU_AS commands in favour of cache maintenance via >> GPU_COMMAND's FLUSH_CACHES and FLUSH_PA_RANGE. >> >> They also introduce t

Re: [PATCH v4 6/7] drm/panthor: Support GPU_CONTROL cache flush based on feature bit

2025-07-21 Thread Karunika Choo
On 23/06/2025 11:23, Steven Price wrote: > On 02/06/2025 15:32, Karunika Choo wrote: >> As the FLUSH_MEM and FLUSH_PT commands are deprecated in GPUs from >> Mali-Gx20 onwards, this patch adds support for performing cache >> maintenance via the FLUSH_CACHES command in GPU_CONTROL, in place of > >

Re: [PATCH v4 6/7] drm/panthor: Support GPU_CONTROL cache flush based on feature bit

2025-07-21 Thread Karunika Choo
On 11/06/2025 00:42, Chia-I Wu wrote: > On Mon, Jun 2, 2025 at 7:42 AM Karunika Choo wrote: >> >> As the FLUSH_MEM and FLUSH_PT commands are deprecated in GPUs from >> Mali-Gx20 onwards, this patch adds support for performing cache >> maintenance via the FLUSH_CACHES command in GPU_CONTROL, in pla

Re: [PATCH v4 3/7] drm/panthor: Simplify getting the GPU model name

2025-07-21 Thread Karunika Choo
On 11/06/2025 00:32, Chia-I Wu wrote: > On Mon, Jun 2, 2025 at 8:16 AM Karunika Choo wrote: >> >> This patch replaces the panthor_model structure with a simple switch >> case based on the product_id which is in the format of: >> ((arch_major << 24) | product_major) >> >> This simplifies co

Re: [PATCH v4 1/7] drm/panthor: Add GPU specific initialization framework

2025-07-21 Thread Karunika Choo
On 11/06/2025 00:12, Chia-I Wu wrote: > On Mon, Jun 2, 2025 at 7:33 AM Karunika Choo wrote: >> >> This patch provides an initialization framework for multiple Mali GPUs >> by introducing a GPU support look-up table. Each entry contains, at >> minimum, the architecture major version of the GPU, and

Re: [PATCH v4 4/7] drm/panthor: Introduce sampling sessions to handle userspace clients

2025-07-21 Thread Lukas Zapolskas
Hello Steve, Thanks for taking a look. Looks like my rebase wasn't great, and I missed a patch removing some of the GEM functions. Will get that fixed. Kind regards, Lukas On 20/06/2025 16:28, Steven Price wrote: > Hi Lukas, > > I was going to try testing this out, but it doesn't look functi

Re: [PATCH v4 4/7] drm/panthor: Introduce sampling sessions to handle userspace clients

2025-07-21 Thread Lukas Zapolskas
On 18/07/2025 04:34, Adrián Larumbe wrote: > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> To allow for combining the requests from multiple userspace clients, an >> intermediary layer between the HW/FW interfaces and userspace is >> created, containing the information for the counter requests

Re: [PATCH v4 3/7] drm/panthor: Add panthor perf initialization and termination

2025-07-21 Thread Lukas Zapolskas
On 18/07/2025 04:10, Adrián Larumbe wrote: > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> Added the panthor_perf system initialization and unplug code to allow >> for the handling of userspace sessions to be added in follow-up >> patches. >> >> Signed-off-by: Lukas Zapolskas >> --- >> driver

Re: [PATCH v4 2/7] drm/panthor: Add DEV_QUERY.PERF_INFO handling for Gx10

2025-07-21 Thread Lukas Zapolskas
On 18/07/2025 16:11, Adrián Larumbe wrote: > Hi Lucas, forgot to add one comment in the previous patch review, > > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> This change adds the IOCTL to query data about the performance counter >> setup. Some of this data was available via previous DEV_QUE

Re: [PATCH v4 2/7] drm/panthor: Add DEV_QUERY.PERF_INFO handling for Gx10

2025-07-21 Thread Lukas Zapolskas
On 18/07/2025 03:52, Adrián Larumbe wrote: > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> This change adds the IOCTL to query data about the performance counter >> setup. Some of this data was available via previous DEV_QUERY calls, >> for instance for GPU info, but exposing it via PERF_INFO >

Re: [PATCH v4 1/7] drm/panthor: Add performance counter uAPI

2025-07-21 Thread Lukas Zapolskas
Hello Adrián, Thanks for taking a look! On 18/07/2025 03:43, Adrián Larumbe wrote: > Hi Lucas, > > On 16.05.2025 16:49, Lukas Zapolskas wrote: >> This patch extends the DEV_QUERY ioctl to return information about the >> performance counter setup for userspace, and introduces the new >> ioctl D

Re: [PATCH v4 1/2] dt-bindings: display: panel: document Samsung AMS561RA01 panel with S6E8AA5X01 controller

2025-07-20 Thread Rob Herring (Arm)
On Sun, 20 Jul 2025 17:33:07 +0530, Kaustabh Chakraborty wrote: > Samsung AMS561RA01 is an AMOLED panel, using the Samsung S6E8AA5X01 MIPI > DSI panel controller. Document the compatible and devicetree properties > of this hardware. It has a reset GPIO and two voltage regulators. > > Acked-by: C

[PATCH v4 2/2] drm: panel: add support for Samsung AMS561RA01 panel with S6E8AA5X01 controller

2025-07-20 Thread Kaustabh Chakraborty
Samsung AMS561RA01 is an AMOLED panel, using the Samsung S6E8AA5X01 MIPI DSI controller. Implement a basic panel driver for such panels. The driver also initializes a backlight device, which works by changing the panel's gamma values and aid brightness levels appropriately, with the help of look-u

[PATCH v4 1/2] dt-bindings: display: panel: document Samsung AMS561RA01 panel with S6E8AA5X01 controller

2025-07-20 Thread Kaustabh Chakraborty
Samsung AMS561RA01 is an AMOLED panel, using the Samsung S6E8AA5X01 MIPI DSI panel controller. Document the compatible and devicetree properties of this hardware. It has a reset GPIO and two voltage regulators. Acked-by: Conor Dooley Signed-off-by: Kaustabh Chakraborty --- .../panel/samsung,s6e

  1   2   3   4   5   6   7   8   9   10   >