Search Linux Wireless

Re: [RFC v0 7/8] Input: ims-pcu: use firmware_stat instead of completion

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

 



Hi Luis,

I was ignorant on all the nasty details around the firmware loading.
If I parse Luis' patches correctly they introduce an API which calls
kernel_read_file_from_path() asynchronously:

sysdata_file_request_async(..., &cookie)
  *coookie = async_schedule_domain(request_sysdata_file_work_func(), ..)

  request_sysdata_file_work_fun()
    _sysdata_file_request()
      fw_get_filesystem_firmware()
	kernel_read_file_from_path()

sysdata_synchronize_request(&cookie);

Doesn't look like what your asking for.

No, but its also a generic kernel read issue as I noted in my last
reply.

Okay, got it.

If we want to overhaul firmware loading support we need to figure
out  how to support case when a driver want to [asynchronously] request
firmware/config/blob and the rest of the system is not ready. Even if we
want kernel to do read/load the data we need userspace to tell kernel
when firmware partition is available, until then the kernel should not
fail the request.

I gather from Luis' blog post and comments that he is on the quest
on removing userspace support completely.

No, I explained in my last proposed documentation patch series that we cannot
get rid of the usermode helper.

I stand corrected.

Its not well understood why so I explained and documented why.

Obviously, I got lost somewhere there :)

Best we can do is compartamentalize its uses.

Sounds like a plan.

The sysdata API's main goal rather is to provide a flexible API first,
compartamentalizing the usermode helper was secondary. But now it seems
I may just also add devm support too to help simplify code further.

I missed the point that you plan to add usermode helper support to the sysdata API.

What Dmitry notes is an existential issue with kernel_read_file_from_path()
and we need a common solution for it.

Understood. I guess best thing to keep that discussion in the other subthread.

Maybe this attempt here could be a step before. Step 1 would be
changing request_firmware_nowait() to request_firmware_async so
drivers don't have to come up with their own sync primitives, e.g.

  cookie = request_firmware_async()
  fw_load_wait(cookie)

That's one of the features already part of async mechanism of the sysdata API :)

Yes, I realized that too :)

cheers,
daniel

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



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux