Commit f67ef07
iommu: apple-dart: Link to consumers with blanket RPM_ACTIVE
Without the RPM_ACTIVE flag, runtime PM core only seems to consider
the link insofar as it prevents the DART from suspending in case of
consumers *considered active by runtime PM*. Other devices, like those
on which runtime PM has yet to be enabled, or which lack any runtime PM
support, are not considered in preventing the DART from suspending.
DART going through suspend/resume cycle with active consumers can break
the consumers' operation by the DART being reset in its resume path,
among other things.
Add RPM_ACTIVE flag to the link to have the consumer in the link prevent
the DART from being suspended, unless the consumer itself is runtime PM
suspended. This supersedes an earlier PCIe-only workaround.
(TODO: Does this mean devices without bound drivers will keep their
DARTs up indefinitely? This depends on the timing of the iommu
probe_device/release_device calls. Investigate.)
Signed-off-by: Martin Povišer <povik+lin@cutebit.org>1 parent 746bc9b commit f67ef07
1 file changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
885 | 885 | | |
886 | 886 | | |
887 | 887 | | |
888 | | - | |
889 | | - | |
890 | | - | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
891 | 891 | | |
892 | 892 | | |
893 | 893 | | |
| |||
0 commit comments