Yeah that's right, you can assign cpu affinity to what ever you want.But how about changing the CPU affinity interrupt with touchscreen driver? I've tried to do it by myself, but I can't find that driver name. As I know, by default, kernel assigns all hardware interrupts to first CPU core at boot, so maybe from Android Q, its noded to multiple cpu cores for better handling of touch interrupt
But it's a bad idea to assign an interrupt to all 8 cores. It's always cpu bound or if not bound then little cpumask or big cpumask. If there is some interrupt allowed to be in all_cpumask then it'll be randomly in little or big cpu ... depends on the decision from cpu scheduler. Then we have the same side effect on boot that it sometimes freeze for 4 secs.
If it's randomly in the right cpumask then there is no freeze, else we see the freeze on boot.
Actually i can't find the culprit.
As for touchscreen driver, you could check defconfig for the drivername .. then search on my github in dreamlte source for that driver name then you will find a Makefile. There you will see what source will be compiled for that driver, so it's not hard to find.