On Sun, Mar 11, 2018 at 01:19:03PM -0700, Andy Lutomirski wrote:
> From memory, I see two potentially reasonable real fixes. One is to find a
> way to punch a hole in an ioremap.
> So you’d find the framebuffer, remove it from theproblematic mapping, and
> then make a new mapping.
> The second is to change the mapping type in place.
For the changing-in-place method, is there already an exported API that exposes
change_page_attr_set without first
calling reserve_memtype? I can't seem to find one.
> Or maybe you could just iounmap the whole thing after firmware is loaded and
> the framebuffer is found and then
> redo the mapping right.
I guess this would require a lock so that the ivtv-driver proper wasn't
accessing the decoder's mapped memory
during ivtvfb's iounmap-ioremap window. And a way to notify ivtv-driver proper
if things go wrong? I think this method
would be very awkward because its not even memory owned by ivtvfb itself.