Apparently, it was the fault of nouveau, not i915. As you can see in dmesg, there is Oops in nouveau during boot. The problem goes away if I blacklist nouveau module or use kernel-vanilla, even suspend/resume starts working! I completely forgot the laptop had nvidia chip as I almost never use it :) But anyway, I'll stick with kernel-vanilla for now, because with nouveau blacklisted laptop does not shut down nvidia chip, which drains battery greatly.