I am using ATA_PASS_THROUGH IOCTL to send read/write buffer commands to the SATA device. For write buffer type operations, is the FIS handling done at lower layers? Or does the application layer have to create/respond to FIS setup?