Please drop this series (v1 to v3).
The premise was wrong. With the fast wake above the IO buffer wake the
sink stops receiving selective updates at all, which is why the Link
CRC errors went away. That is also the "park" I reported in the bug
thread. With the stock values (fast = io) PSR2 selective update works
on this machine, so my earlier answer to "Is PSR2 working on your
setup with this quirk?" had it backwards: it works without the quirk
and stops with it.
The Link CRC flag at stock is not a failed wake either. The sink does
not resync, so my Sept 8 answer ("every wake fails and the sink
resyncs") was wrong, and so was the Sept 4 reading behind it (SU_VALID
in 2 of 94 polls on 7.2.2). I don't have
a clean explanation for the 2 of 94: that was an unscripted desktop
run, and the sink reported PSR inactive in 44 of those polls. With a
test client driving updates, SU_VALID shows in about 90% of polls.
Jouni, you were right about io >= fast. Thanks for the review and for
sitting through the detour. Details in the bug thread:
https://lore.kernel.org/intel-gfx/[email protected]/
Jake