Commits for this feature. The commit list is same as LP#1645959
Command Queue support is now dependent on blk-mq (block layer multi-queue) support. Backporting to old release will be a big challenge. Here are the directly-related patches:
925ff3a7a334b3fe968ae15f07d22df21addad26 mmc: mmc: Add Command Queue definitions
f12e39dbf3e6eb521435085712addc131d803bfd mmc: sdhci: Add CQE support
9d4579a85c84340044b10ffa6cd576397f59dc93 mmc: mmc_test: Disable Command Queue while mmc_test is used
025e3d5fe157e8a12ed4ab59d0e147046c87cbd9 mmc: block: Disable Command Queue while RPMB is used
d2f82254e4e862662e7820953b049b7d4d660ec7 mmc: core: Add members to mmc_request and mmc_data for CQE's
d3bf68ae04c7e29ed3c30b7f4b1f0c6a4a11c7f1 mmc: host: Add CQE interface
3e207c8cfaa900590590d2dfdbc5be155f258d7b mmc: core: Turn off CQE before sending commands
6c0cedd1ef9527ef13e66875746570e76a3188a7 mmc: core: Introduce host claiming by context
72a5af554df837e373efb0d6c8fc68c568f9a7ac mmc: core: Add support for handling CQE requests
98d4f7809d99bbf456f93816ef9895616cdd1b2d mmc: mmc: Enable Command Queuing
f690f4409ddd79a481efddaf6e4cb65cf1a747cb mmc: mmc: Enable CQE's
d3377c012f4d7a0a822e289f1effba997da3e295 mmc: block: Use local variables in mmc_blk_data_prep()
93482b3d70c2120aadb0f1d1281a59199866e70a mmc: block: Prepare CQE data
34c089e806793a66e450b11bd167db6047399fcd mmc: block: Fix missing blk_put_request()
fb8e456e547ed2c699f64665bd8a3b9bde7b9728 mmc: block: Check return value of blk_get_request()
ebe7dd45cf49e3b49cacbaace17f9f878f21fbea mmc: core: Do not leave the block driver in a suspended state
f9f0da98819503b06b35e61869d18cf3a8cd3323 mmc: block: Ensure that debugfs files are removed
4512bd370b111dd7ffc437ddd3179391df68fe1b mmc: block: No need to export mmc_cleanup_queue()
41e3efd07d5a02c80f503e29d755aa1bbb4245de mmc: block: Simplify cleaning up the queue
afab1bb8b40c61458e009fdc323c9740f95fcd5b mmc: core: Make mmc_pre_req() and mmc_post_req() available
6d3898a6a517d0effa1d1e337c03b16bafb6fc96 mmc: block: Add error-handling comments
c3d53d0da69d127f488dc85638e9440220b268e8 mmc: core: Add parameter use_blk_mq
81196976ed946cbf36bb41ddda402853c7df7cfa mmc: block: Add blk-mq support
1e8e55b67030c6a2fef893d428bdcd611f73705c mmc: block: Add CQE support
a4080225f51dcea129d26185a35acfbb3770a32d mmc: cqhci: support for command queue enabled host
8ee82bda230fc972c7ee3bb15ce1260eefb4721c mmc: sdhci-pci: Add CQHCI support for Intel GLK
Here are subsequent patches that affect the blk-mq support and should be taken to have equivalent code to upstream:
10f21df4a23540b5da8e88d1030ff8c37818e04f mmc: block: blk-mq: Add support for direct completion
88a516461ee07a994c0e7016faf85f3466de1d09 mmc: block: blk-mq: Separate card polling from recovery
c89b4851c67fb7354862850ae181de883269487d mmc: block: Make card_busy_detect() accumulate all response error bits
f47a1fe346b1568df0e9b158574b2939432313df mmc: block: blk-mq: Check error bits and save the exception bit when polling card busy
7701885e56cee3de4447c0653f9059b62844983b mmc: block: Check the timeout correctly in card_busy_detect()
0987c6b046e199b9b922a585c62e9503486fe0bc mmc: block: Check for transfer state in card_busy_detect()
92c0a0cc9483c6b9cc1b61273d30a0a601cb5e15 mmc: block: Add timeout_clks when calculating timeout
6b7a363d2ce83e3940dc0c3628e478fe95f23985 mmc: block: Reduce polling timeout from 10 minutes to 10 seconds
7eb43d537166c7d767af450901acd0ecbf94625c mmc: block: blk-mq: Stop using legacy recovery
42f532da3a44843668dbacc1838a028b0a9b7373 mmc: mmc_test: Do not use mmc_start_areq() anymore
d2383318c5a626312d166217e3788e54b1650c56 mmc: core: Ensure cmd_completion is initialized
23a185254ace8e63dc4ca36e0315aed9440ae749 mmc: mmc_test: Ensure command queue is disabled for testing
1bec43a3b181baebdf8a4cd739b480a9132601d7 mmc: core: Remove option not to use blk-mq
0fbfd12518303e9b32ac9fd231439459eac848f9 mmc: block: Remove code no longer needed after the switch to blk-mq
126b62700386da782f83579e9b0431ea76c2da3d mmc: core: Remove code no longer needed after the switch to blk-mq
0562315b86372d2cdd9cc8924b92cfab37049fbc mmc: cqhci: Ensure macro parameters are wrapped in parentheses
Commits for this feature. The commit list is same as LP#1645959
Command Queue support is now dependent on blk-mq (block layer multi-queue) support. Backporting to old release will be a big challenge. Here are the directly-related patches:
925ff3a7a334b3f e968ae15f07d22d f21addad26 mmc: mmc: Add Command Queue definitions 21435085712addc 131d803bfd mmc: sdhci: Add CQE support 044b10ffa6cd576 397f59dc93 mmc: mmc_test: Disable Command Queue while mmc_test is used 12ed4ab59d0e147 046c87cbd9 mmc: block: Disable Command Queue while RPMB is used 62e7820953b049b 7d4d660ec7 mmc: core: Add members to mmc_request and mmc_data for CQE's ed3c30b7f4b1f0c 6a4a11c7f1 mmc: host: Add CQE interface 90590d2dfdbc5be 155f258d7b mmc: core: Turn off CQE before sending commands f13e66875746570 e76a3188a7 mmc: core: Introduce host claiming by context 373efb0d6c8fc68 c568f9a7ac mmc: core: Add support for handling CQE requests 456f93816ef9895 616cdd1b2d mmc: mmc: Enable Command Queuing 481efddaf6e4cb6 5cf1a747cb mmc: mmc: Enable CQE's a822e289f1effba 997da3e295 mmc: block: Use local variables in mmc_blk_data_prep() aadb0f1d1281a59 199866e70a mmc: block: Prepare CQE data 6e450b11bd167db 6047399fcd mmc: block: Fix missing blk_put_request() 699f64665bd8a3b 9bde7b9728 mmc: block: Check return value of blk_get_request() 49cacbaace17f9f 878f21fbea mmc: core: Do not leave the block driver in a suspended state 06b35e61869d18c f3a8cd3323 mmc: block: Ensure that debugfs files are removed 7ffc437ddd31793 91df68fe1b mmc: block: No need to export mmc_cleanup_queue() 80f503e29d755aa 1bbb4245de mmc: block: Simplify cleaning up the queue 58e009fdc323c97 40f95fcd5b mmc: core: Make mmc_pre_req() and mmc_post_req() available ffa1d1e337c03b1 6bafb6fc96 mmc: block: Add error-handling comments f488dc85638e944 0220b268e8 mmc: core: Add parameter use_blk_mq f36bb41ddda4028 53c7df7cfa mmc: block: Add blk-mq support 2fef893d428bdcd 611f73705c mmc: block: Add CQE support 129d26185a35acf bb3770a32d mmc: cqhci: support for command queue enabled host 2c7ee3bb15ce126 0eefb4721c mmc: sdhci-pci: Add CQHCI support for Intel GLK
f12e39dbf3e6eb5
9d4579a85c84340
025e3d5fe157e8a
d2f82254e4e8626
d3bf68ae04c7e29
3e207c8cfaa9005
6c0cedd1ef9527e
72a5af554df837e
98d4f7809d99bbf
f690f4409ddd79a
d3377c012f4d7a0
93482b3d70c2120
34c089e806793a6
fb8e456e547ed2c
ebe7dd45cf49e3b
f9f0da98819503b
4512bd370b111dd
41e3efd07d5a02c
afab1bb8b40c614
6d3898a6a517d0e
c3d53d0da69d127
81196976ed946cb
1e8e55b67030c6a
a4080225f51dcea
8ee82bda230fc97
Here are subsequent patches that affect the blk-mq support and should be taken to have equivalent code to upstream:
10f21df4a23540b 5da8e88d1030ff8 c37818e04f mmc: block: blk-mq: Add support for direct completion 94c0e7016faf85f 3466de1d09 mmc: block: blk-mq: Separate card polling from recovery 54862850ae181de 883269487d mmc: block: Make card_busy_detect() accumulate all response error bits df0e9b158574b29 39432313df mmc: block: blk-mq: Check error bits and save the exception bit when polling card busy e4447c0653f9059 b62844983b mmc: block: Check the timeout correctly in card_busy_detect() 9b922a585c62e95 03486fe0bc mmc: block: Check for transfer state in card_busy_detect() 9cc1b61273d30a0 a601cb5e15 mmc: block: Add timeout_clks when calculating timeout 940dc0c3628e478 fe95f23985 mmc: block: Reduce polling timeout from 10 minutes to 10 seconds 767af450901acd0 ecbf94625c mmc: block: blk-mq: Stop using legacy recovery 668dbacc1838a02 8b0a9b7373 mmc: mmc_test: Do not use mmc_start_areq() anymore 12d166217e3788e 54b1650c56 mmc: core: Ensure cmd_completion is initialized 3dc4ca36e0315ae d9440ae749 mmc: mmc_test: Ensure command queue is disabled for testing bdf8a4cd739b480 a9132601d7 mmc: core: Remove option not to use blk-mq b32ac9fd2314394 59eac848f9 mmc: block: Remove code no longer needed after the switch to blk-mq 82f83579e9b0431 ea76c2da3d mmc: core: Remove code no longer needed after the switch to blk-mq cdd9cc8924b92cf ab37049fbc mmc: cqhci: Ensure macro parameters are wrapped in parentheses
88a516461ee07a9
c89b4851c67fb73
f47a1fe346b1568
7701885e56cee3d
0987c6b046e199b
92c0a0cc9483c6b
6b7a363d2ce83e3
7eb43d537166c7d
42f532da3a44843
d2383318c5a6263
23a185254ace8e6
1bec43a3b181bae
0fbfd12518303e9
126b62700386da7
0562315b86372d2