<div dir="ltr"><div><div><div><div><div><div>Hi Roy,<br><br></div>Thanks for the detailed response!<br><br></div>I don't seem to have /proc/confg.gz, however I think I was able to find it in /boot:<br><i>$ grep 915 /boot/config-4.8.0-32-generic <br>CONFIG_CHARGER_DA9150=m<br>CONFIG_BATTERY_DA9150=m<br>CONFIG_MFD_DA9150=m<br>CONFIG_DRM_I915=m<br># CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set<br>CONFIG_DRM_I915_USERPTR=y<br>CONFIG_DRM_I915_GVT=y<br># drm/i915 Debugging<br># CONFIG_DRM_I915_WERROR is not set<br># CONFIG_DRM_I915_DEBUG is not set<br>CONFIG_SND_HDA_I915=y<br>CONFIG_DA9150_GPADC=m</i><br><br></div>CONFIG_DRM_I915 is set to 'm', so I presume it was compiled as a module<br><br></div>Yeah, I found in Google that some settings can be changed at runtime, without module reload, but unfortunately this particular option is read-only in /sys :(<br><br></div>I think you're right - this particular one should be in initramfs and is most likely loaded even before the root fs is mounted. However, I thought that it should still pick up the parameters from the Kernel command line.<br><br></div>I've just noticed some weird entries in the dmesg output. It seems like it's i915 module specific, but I'm still trying to google anything that can indicate what they're supposed to mean:<br><br>[    1.480619] Setting dangerous option enable_rc6 - tainting kernel<br>[    1.480621] Setting dangerous option enable_psr - tainting kernel<br>[    1.480622] Setting dangerous option enable_fbc - tainting kernel<br>[    1.480624] i915: unknown parameter 'lvds_downclock' ignored<br>[    1.480626] Setting dangerous option semaphores - tainting kernel<br><b>[    1.480628] Setting dangerous option enable_execlists - tainting kernel<br>[    1.480631] Setting dangerous option enable_execlists - tainting kernel<br></b><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Best Regards,<br>Maxim</div></div></div>
<br><div class="gmail_quote">On Wed, Dec 28, 2016 at 7:26 PM, Edinburgh Linux Users Group <span dir="ltr"><<a href="mailto:edlug@lists.edlug.org.uk" target="_blank">edlug@lists.edlug.org.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On 2016.12.28 18:24, Edinburgh Linux Users Group wrote:<br>
> Hi guys,<br>
><br>
> I have a question about kernel module parameters :) The problem I have<br>
> is<br>
> that i915 kernel module uses different options from what I supply in<br>
> the<br>
> kernel parameters and modprobe.d. I'm trying to load it with<br>
> "enable_execlists=0" while it still uses "enable_execlists=1":<br>
><br>
</span>> *$ modprobe -c | grep i915 | grep execlists*<br>
<span class="gmail-">> options i915 enable_rc6=7 enable_psr=2 enable_fbc=1 lvds_downclock=1<br>
</span>> semaphores=1 *enable_execlists=0* modeset=1<br>
> options i915 *enable_execlists=0*<br>
><br>
> *$ sudo cat /sys/module/i915/parameters/<wbr>enable_execlists *<br>
> *1*<br>
<span class="gmail-">><br>
> The distro is Ubuntu 16.10. Have you by any chance seen such a<br>
> behavior<br>
> before? It seems like the loader picks up the options from the Kernel<br>
> cmdline and from modprobe.d, but the actually loaded module still uses<br>
> its<br>
> own settings<br>
><br>
> Best Regards,<br>
> Maxim<br>
><br>
<br>
</span>Maxim,<br>
<br>
Is i915 actually built as a module or is it built into the kernel binary?<br>
zgrep 915 /proc/config.gz  will tell.<br>
<br>
If its a module, the above says =m, not =y, then kernel parameters<br>
cannot be used. They are no longer available when modules load.<br>
<br>
Now the problem grows arms and legs.<br>
<br>
i915 is a kernel driver that also provides a framebuffer console.<br>
If its not actually built into the kernel, to get the framebuffer console<br>
as early as possible in the boot process, its likely to be in the initramfs.<br>
That's the next best thing for an early framebuffer console.<br>
<br>
The initramfs is a whole small root filesystem in a file. If it loads<br>
i915, it will use its modprobe.d, not the one on the root filesystem<br>
where you can edit it.<br>
<br>
There is more bad news, To load i915 with new module parameters,<br>
you must first unload it. If its in use because its providing the<br>
framebuffer console, or being used for the GUI, you can't unload it.<br>
<br>
That's the how it happens. Now for the what you can do about it.<br>
<br>
First, long shot, some modules can have some of their parameters<br>
changed by changing values is /proc and or /sys.<br>
I don't use i915 so that's the limit of my knowledge there.<br>
<br>
Second, you can unpick the initramfs, edit its modprobe.d and<br>
put the initramfs back together.<br>
Be warned that the initramfs is essential for booting. If you mess<br>
up your system won't boot.<br>
<br>
Third, you can rebuild your kernel ... but you probably don't want<br>
to do that.<br>
<br>
I'm a Gentoo user, so I'm accustomed to building things.  Easiest,<br>
if it works, is to find a knob in /proc and or /sys, to twiddle.<br>
<br>
Regards,<br>
<br>
Roy Bamford<br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
EdLUG mailing list<br>
<a href="mailto:EdLUG@lists.edlug.org.uk">EdLUG@lists.edlug.org.uk</a><br>
<a href="https://lists.edlug.org.uk/mailman/listinfo/edlug" rel="noreferrer" target="_blank">https://lists.edlug.org.uk/<wbr>mailman/listinfo/edlug</a><br>
</blockquote></div><br></div></div>