On 6/4/2021 12:24 PM, Huacai Chen wrote: >> So you need to explain why we need to allow DMA from those devices >> even after we shutdown the port. "It makes reboot work" is not a >> sufficient explanation. > I think only the designer of LS7A can tell us why. So, Mr. Shuai > Huang, could you please explain this? > Could there be some kind of a shutdown/init problem on your graphics card driver? During shutdown, remove() callback of all endpoints get called. This is the opportunity for your graphics driver to put hardware into safe state. If there is a problem with the hardware/driver, it should be a quirk as opposed to changing the default safe behavior for all devices. The port driver here prevents memory from getting corrupted by rogue hardware. There is a window during kexec where hardware can write to system memory addresses if IOVA addresses and system memory addresses overlap.