This series implements rangeѕ discard for ATA SSDs. Compared to the initial NVMe support there are two things that complicate the ATA support: - ATA only suports 16-bit long ranges - the whole mess of generating a SCSI command first and then translating it to an ATA one. This series adds support for limited range size to the block layer, and stops translating discard commands - instead we add a new Vendor Specific SCSI command that contains the TRIM payload when the device asks for it.