Re: Outstanding MQ questions from MMC
From: Linus Walleij <hidden>
Date: 2017-05-18 09:36:34
Also in:
linux-mmc
On Tue, Apr 18, 2017 at 5:31 PM, Alex Lemberg [off-list ref] wrote:
There is an additional functionality, which is require the host lock to be held for several write commands - the FFU. In case of FFU, the FW can be download/write in several iterations of Write command (CMD25). This sequence should not be interrupted by regular Write requests. In current driver, both FFU and RPMB can be sent by using mmc_blk_ioctl_multi_cmd().
Both single and multi ioctl()s are funneled into the block layer using the driver-specific request ops in the latest iteration of my patch set. It turns out this was a simpler change than I though. If you check the patch set I realized that I also fixes a userspace starvation issue when issueing ioctls() such as for RPMB during heavy block I/O. This usecase:
dd if=/dev/mmcblk3 of=/dev/null bs=1M & mmc extcs read /dev/mmcblk3
This would previously hang until the dd command was complete before issuing the ioctl() command, just waiting for the host lock. I guess RPMB has the same problem... It is now fixed. If you can verify the v2 patch set (just posted) and provide Tested-by's (or bug reports...) it's appreciated. Yours, Linus Walleij