Re: boot slow down

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2012-08-08 at 13:18 -0400, bjlockie@xxxxxxxxx wrote:
> How hard would it be to get an official kernel option not to load firmware

Submit a patch for the cx23885 driver to the list.  It could add a
module option so the user can specify not to load cx23885-av firmware
(and maybe CX23417 firmware too).  The new module option could be set on
your kernel commandline: cx23885.no_firmware_load=1

Honestly though such a patch problably won't fly.  The real solution,
that the cx23885 driver needs anyway, is to inhibit the load of all
firmware during the device probe by the kernel, and load them on the
first device open (like the ivtv and cx18 drivers do for analog).

There are at least 2 places in the PCI device probe routine of the
cx23885 driver, where firmware is requested.  Here is the call chain:

cx23885_initdev()
	cx23885_dev_setup()
		cx23885_card_setup()
			v4l2_subdev_call(dev->sd_cx25840, core, load_fw);
				cx25840_load_fw()
					cx23885_initialize()
						cx25840_work_handler()
							cx25840_loadfw()
								request_firmware()						
		cx23885_417_register()
			cx23885_initialize_codec()
				cx23885_load_firmware()
					request_firmware()

The calls to 
	v4l2_subdev_call(dev->sd_cx25840, core, load_fw);
and
	cx23885_417_register() (or cx23885_initialize_codec())

really need to be deferred to comply with new udev requirements for
driver behavior.

> OR be able to set the timeout?

That would probably be harder politically, even if the code were not
harder.  No driver is supposed to be loading firmware during its device
probes. Once userspace is up, /sys/class/firmware/timeout can be
manipulated very early, before any device would be requesting firmware. 

Regards,
Andy

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux