Welcome to Unix & Linux StackExchange!
Yes, the kernel headers provide an interface for other parts of the kernel - in this you're entirely correct. They also include definitions for the interface between the kernel and the userspace - but usually the "raw" kernel interface is not used directly, but through the C library (often glibc).
try to put it to grub :
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt vfio-pci.ids=10de:100c,10de:0e1a"
try to put it to vfio.conf:
#softdep radeon pre: vfio-pci
#softdep amdgpu pre: vfio-pci
softdep snd_hda_intel pre: vfio-pci
softdep nouveau pre: vfio-pci
softdep nvidia pre: vfio-pci
#softdep drm pre: vfio-pci
#softdep xhci_hdc pre: vfio-pci
Yes, sensitive bits in CR0 and CR4 are pinned since version 5.3, at least via write_cr0 and write_cr4. Your code fails because the write_cr0 call doesn’t clear the WP bit.
If you’re in supervisor mode, you can always write CR0 directly, which should avoid the pinning; but the pinned bits will be restored the next time write_cr? is called. (The point of the ...
modinfo does not care whether the module is loaded or not - if you give it a module name (instead of a full pathname to a .ko file), it finds the module file on disk based on the current /etc/modprobe.d configuration and reports information on it.
So if you already replaced the old module in /lib/modules/... with a new version before running your first ...
It's not mandatory for a Linux kernel module to have a description filled in. If one does have it, you can find it in the module source code as a MODULE_DESCRIPTION declaration like this:
MODULE_DESCRIPTION("Intel HDA driver");
which you can inspect via modinfo on the .ko object:
$ modinfo snd_hda_intel
Sounds like an implementation detail of your specific hardware driver. Have you used the exact same hardware when setting float dim values resulted in actually less lit display? Or do you now have simply a less finely configurable backlight, maybe? Probably, you could go to an intel support forum and ask there for the backlight value stepping API. Would be ...