sg_dma_len(sg) = buflen;
sg->length = buflen;
void ata_sg_init_one(struct ata_queued_cmd *qc, void *buf, unsigned int buflen){	struct scatterlist *sg;	qc->flags |= ATA_QCFLAG_SINGLE;	memset(&qc->sgent, 0, sizeof(qc->sgent));	qc->sg = &qc->sgent;	qc->n_elem = 1;	qc->buf_virt = buf;	sg = qc->sg;	sg->page = virt_to_page(buf);	sg->offset = (unsigned long) buf & ~PAGE_MASK;	sg_dma_len(sg) = buflen;}