It seems that the timeout is too small. A dirty fix replacing rdev->usec_timeout with 1000000 in rv770_send_msg_to_smc (drivers/gpu/drm/radeon/rv770_smc.c) works for me (both *ERROR*s in kernel log disappear, performance returns to normal).
It seems that the timeout is too small. A dirty fix replacing rdev->usec_timeout with 1000000 in rv770_send_ msg_to_ smc (drivers/ gpu/drm/ radeon/ rv770_smc. c) works for me (both *ERROR*s in kernel log disappear, performance returns to normal).