driver: reduce mmio access