> I think we still need to wrap this with has_struct_page()? You're right. SMEM doesn't guarantee the STRUCT_PAGE flag (phys objects clear it), so I'll guard the direct-flush with i915_gem_object_has_struct_page() and fall back to wbinvd for the !struct_page case — I can't fall through to the vmap branch there since that's the recursion into pin_map() on the locked source object that v2 fixed. Will send a v4.
Regards Krishna
