Lines Matching refs:request

30 static void ata_serverworks_tf_read(struct ata_request *request);
31 static void ata_serverworks_tf_write(struct ata_request *request);
168 ata_serverworks_tf_read(struct ata_request *request) in ata_serverworks_tf_read() argument
170 struct ata_channel *ch = device_get_softc(request->parent); in ata_serverworks_tf_read()
171 struct ata_device *atadev = device_get_softc(request->dev); in ata_serverworks_tf_read()
176 request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT); in ata_serverworks_tf_read()
178 request->u.ata.lba = (u_int64_t)(temp & 0x00ff) | in ata_serverworks_tf_read()
181 request->u.ata.lba |= ((u_int64_t)(temp & 0x00ff) << 8) | in ata_serverworks_tf_read()
184 request->u.ata.lba |= ((u_int64_t)(temp & 0x00ff) << 16) | in ata_serverworks_tf_read()
188 request->u.ata.count = ATA_IDX_INW(ch, ATA_COUNT) & 0x00ff; in ata_serverworks_tf_read()
189 request->u.ata.lba = (ATA_IDX_INW(ch, ATA_SECTOR) & 0x00ff) | in ata_serverworks_tf_read()
197 ata_serverworks_tf_write(struct ata_request *request) in ata_serverworks_tf_write() argument
199 struct ata_channel *ch = device_get_softc(request->parent); in ata_serverworks_tf_write()
200 struct ata_device *atadev = device_get_softc(request->dev); in ata_serverworks_tf_write()
203 ATA_IDX_OUTW(ch, ATA_FEATURE, request->u.ata.feature); in ata_serverworks_tf_write()
204 ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count); in ata_serverworks_tf_write()
205 ATA_IDX_OUTW(ch, ATA_SECTOR, ((request->u.ata.lba >> 16) & 0xff00) | in ata_serverworks_tf_write()
206 (request->u.ata.lba & 0x00ff)); in ata_serverworks_tf_write()
207 ATA_IDX_OUTW(ch, ATA_CYL_LSB, ((request->u.ata.lba >> 24) & 0xff00) | in ata_serverworks_tf_write()
208 ((request->u.ata.lba >> 8) & 0x00ff)); in ata_serverworks_tf_write()
209 ATA_IDX_OUTW(ch, ATA_CYL_MSB, ((request->u.ata.lba >> 32) & 0xff00) | in ata_serverworks_tf_write()
210 ((request->u.ata.lba >> 16) & 0x00ff)); in ata_serverworks_tf_write()
214 ATA_IDX_OUTW(ch, ATA_FEATURE, request->u.ata.feature); in ata_serverworks_tf_write()
215 ATA_IDX_OUTW(ch, ATA_COUNT, request->u.ata.count); in ata_serverworks_tf_write()
228 ATA_IDX_OUTW(ch, ATA_SECTOR, (request->u.ata.lba % sectors)+1); in ata_serverworks_tf_write()
230 (request->u.ata.lba / (sectors * heads))); in ata_serverworks_tf_write()
232 (request->u.ata.lba / (sectors * heads)) >> 8); in ata_serverworks_tf_write()
234 (((request->u.ata.lba% (sectors * heads)) / in ata_serverworks_tf_write()
238 ATA_IDX_OUTW(ch, ATA_SECTOR, request->u.ata.lba); in ata_serverworks_tf_write()
239 ATA_IDX_OUTW(ch, ATA_CYL_LSB, request->u.ata.lba >> 8); in ata_serverworks_tf_write()
240 ATA_IDX_OUTW(ch, ATA_CYL_MSB, request->u.ata.lba >> 16); in ata_serverworks_tf_write()
243 ((request->u.ata.lba >> 24) & 0x0f)); in ata_serverworks_tf_write()