Dave, Alex pointed to me that the patches I sent last night under this thread may conflict with 003cefe0c238e683a29d2207dba945b508cd45b7 that currently resides on drm-fixes branch (my patches are based on drm-next or drm-core-next).
I'd like to make sure that the eventual merge goes smoothly: If you merge drm-fixes before my patches, then I'll rebase my patches and resend them after that happens and make sure everything is resolved correctly. If you merge my patches first and then follow with drm-fixes merge, two things should happen with 003cefe0c238e683a29d2207dba945b508cd45b7. Hunks related to evergreen.c file will fall out but that's expected and OK because my patches consolidate the blit code for r600 and evergreen into a common one. Then in r600.c, the hunks related to r600_blit_prepare_copy and r600_kms_blit_copy function calls will show conflicts, which should be resolved such that the size argument is num_gpu_pages, not num_gpu_pages * RADEON_GPU_PAGE_SIZE (this is because the new blit code takes size argument in pages, not bytes). Everything else will merge smoothly. For reference, pasted below is a patch that resulted after I cherry-picked 003cefe0c238e683a29d2207dba945b508cd45b7 into drm-next augmented with my blit-improvement patches and resolved the conflicts correctly. I guess the first option is less work for you (and I will be glad to rebase my patches if need be), but I hope that the info here is good enough to make the second path as easy as it can be thanks, Ilija