Try to minimize the used hw cursor size in order to minimize power consumption. There is no kernel query for the minimum so we'll just probe around with setcursor2 (using an invisible cursor image so there will be no visual artifacts).
To avoid having to deal with absolutely every size stick to power-of-two numbers. And with a bit of extra effort we can determine whether non-square dimesions will also work, which they do to some degree on current Intel GPUs.
On my Alderlake laptop I'm seeing a massive (up to .5W) difference in power consumption between 64x64 vs. 256x256 cursors. While some of that is undoubtedly something that needs to be fixed in i915's display data buffer allocation code, it still makes sense to use as small as possible cursor to minimize the wastege.
Signed-off-by: Ville Syrjälä email@example.com