Commit 1871ee1
libata: support the ata host which implements a queue depth less than 32
The sata on fsl mpc8315e is broken after the commit 8a4aeec
("libata/ahci: accommodate tag ordered controllers"). The reason is
that the ata controller on this SoC only implement a queue depth of
16. When issuing the commands in tag order, all the commands in tag
16 ~ 31 are mapped to tag 0 unconditionally and then causes the sata
malfunction. It makes no senses to use a 32 queue in software while
the hardware has less queue depth. So consider the queue depth
implemented by the hardware when requesting a command tag.
Fixes: 8a4aeec ("libata/ahci: accommodate tag ordered controllers")
Cc: [email protected]
Signed-off-by: Kevin Hao <[email protected]>
Acked-by: Dan Williams <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>1 parent 7188b06 commit 1871ee1
1 file changed
+19
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4787 | 4787 | | |
4788 | 4788 | | |
4789 | 4789 | | |
| 4790 | + | |
| 4791 | + | |
| 4792 | + | |
| 4793 | + | |
4790 | 4794 | | |
4791 | 4795 | | |
4792 | 4796 | | |
4793 | 4797 | | |
4794 | 4798 | | |
4795 | 4799 | | |
4796 | 4800 | | |
4797 | | - | |
| 4801 | + | |
| 4802 | + | |
| 4803 | + | |
4798 | 4804 | | |
4799 | 4805 | | |
4800 | 4806 | | |
4801 | 4807 | | |
4802 | 4808 | | |
4803 | | - | |
4804 | | - | |
| 4809 | + | |
| 4810 | + | |
4805 | 4811 | | |
4806 | 4812 | | |
4807 | 4813 | | |
| |||
6169 | 6175 | | |
6170 | 6176 | | |
6171 | 6177 | | |
| 6178 | + | |
| 6179 | + | |
| 6180 | + | |
| 6181 | + | |
| 6182 | + | |
| 6183 | + | |
| 6184 | + | |
| 6185 | + | |
| 6186 | + | |
| 6187 | + | |
6172 | 6188 | | |
6173 | 6189 | | |
6174 | 6190 | | |
| |||
0 commit comments