diff options
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r-- | include/linux/ide.h | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index 3d4ba8e95d4a..675d4363ece4 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -234,56 +234,52 @@ typedef enum { | |||
234 | 234 | ||
235 | enum { | 235 | enum { |
236 | IDE_TFLAG_LBA48 = (1 << 0), | 236 | IDE_TFLAG_LBA48 = (1 << 0), |
237 | IDE_TFLAG_FLAGGED = (1 << 2), | 237 | IDE_TFLAG_OUT_HOB_FEATURE = (1 << 1), |
238 | IDE_TFLAG_OUT_DATA = (1 << 3), | 238 | IDE_TFLAG_OUT_HOB_NSECT = (1 << 2), |
239 | IDE_TFLAG_OUT_HOB_FEATURE = (1 << 4), | 239 | IDE_TFLAG_OUT_HOB_LBAL = (1 << 3), |
240 | IDE_TFLAG_OUT_HOB_NSECT = (1 << 5), | 240 | IDE_TFLAG_OUT_HOB_LBAM = (1 << 4), |
241 | IDE_TFLAG_OUT_HOB_LBAL = (1 << 6), | 241 | IDE_TFLAG_OUT_HOB_LBAH = (1 << 5), |
242 | IDE_TFLAG_OUT_HOB_LBAM = (1 << 7), | ||
243 | IDE_TFLAG_OUT_HOB_LBAH = (1 << 8), | ||
244 | IDE_TFLAG_OUT_HOB = IDE_TFLAG_OUT_HOB_FEATURE | | 242 | IDE_TFLAG_OUT_HOB = IDE_TFLAG_OUT_HOB_FEATURE | |
245 | IDE_TFLAG_OUT_HOB_NSECT | | 243 | IDE_TFLAG_OUT_HOB_NSECT | |
246 | IDE_TFLAG_OUT_HOB_LBAL | | 244 | IDE_TFLAG_OUT_HOB_LBAL | |
247 | IDE_TFLAG_OUT_HOB_LBAM | | 245 | IDE_TFLAG_OUT_HOB_LBAM | |
248 | IDE_TFLAG_OUT_HOB_LBAH, | 246 | IDE_TFLAG_OUT_HOB_LBAH, |
249 | IDE_TFLAG_OUT_FEATURE = (1 << 9), | 247 | IDE_TFLAG_OUT_FEATURE = (1 << 6), |
250 | IDE_TFLAG_OUT_NSECT = (1 << 10), | 248 | IDE_TFLAG_OUT_NSECT = (1 << 7), |
251 | IDE_TFLAG_OUT_LBAL = (1 << 11), | 249 | IDE_TFLAG_OUT_LBAL = (1 << 8), |
252 | IDE_TFLAG_OUT_LBAM = (1 << 12), | 250 | IDE_TFLAG_OUT_LBAM = (1 << 9), |
253 | IDE_TFLAG_OUT_LBAH = (1 << 13), | 251 | IDE_TFLAG_OUT_LBAH = (1 << 10), |
254 | IDE_TFLAG_OUT_TF = IDE_TFLAG_OUT_FEATURE | | 252 | IDE_TFLAG_OUT_TF = IDE_TFLAG_OUT_FEATURE | |
255 | IDE_TFLAG_OUT_NSECT | | 253 | IDE_TFLAG_OUT_NSECT | |
256 | IDE_TFLAG_OUT_LBAL | | 254 | IDE_TFLAG_OUT_LBAL | |
257 | IDE_TFLAG_OUT_LBAM | | 255 | IDE_TFLAG_OUT_LBAM | |
258 | IDE_TFLAG_OUT_LBAH, | 256 | IDE_TFLAG_OUT_LBAH, |
259 | IDE_TFLAG_OUT_DEVICE = (1 << 14), | 257 | IDE_TFLAG_OUT_DEVICE = (1 << 11), |
260 | IDE_TFLAG_WRITE = (1 << 15), | 258 | IDE_TFLAG_WRITE = (1 << 12), |
261 | IDE_TFLAG_FLAGGED_SET_IN_FLAGS = (1 << 16), | 259 | IDE_TFLAG_CUSTOM_HANDLER = (1 << 13), |
262 | IDE_TFLAG_IN_DATA = (1 << 17), | 260 | IDE_TFLAG_DMA_PIO_FALLBACK = (1 << 14), |
263 | IDE_TFLAG_CUSTOM_HANDLER = (1 << 18), | 261 | IDE_TFLAG_IN_HOB_FEATURE = (1 << 15), |
264 | IDE_TFLAG_DMA_PIO_FALLBACK = (1 << 19), | 262 | IDE_TFLAG_IN_HOB_NSECT = (1 << 16), |
265 | IDE_TFLAG_IN_HOB_FEATURE = (1 << 20), | 263 | IDE_TFLAG_IN_HOB_LBAL = (1 << 17), |
266 | IDE_TFLAG_IN_HOB_NSECT = (1 << 21), | 264 | IDE_TFLAG_IN_HOB_LBAM = (1 << 18), |
267 | IDE_TFLAG_IN_HOB_LBAL = (1 << 22), | 265 | IDE_TFLAG_IN_HOB_LBAH = (1 << 19), |
268 | IDE_TFLAG_IN_HOB_LBAM = (1 << 23), | ||
269 | IDE_TFLAG_IN_HOB_LBAH = (1 << 24), | ||
270 | IDE_TFLAG_IN_HOB_LBA = IDE_TFLAG_IN_HOB_LBAL | | 266 | IDE_TFLAG_IN_HOB_LBA = IDE_TFLAG_IN_HOB_LBAL | |
271 | IDE_TFLAG_IN_HOB_LBAM | | 267 | IDE_TFLAG_IN_HOB_LBAM | |
272 | IDE_TFLAG_IN_HOB_LBAH, | 268 | IDE_TFLAG_IN_HOB_LBAH, |
273 | IDE_TFLAG_IN_HOB = IDE_TFLAG_IN_HOB_FEATURE | | 269 | IDE_TFLAG_IN_HOB = IDE_TFLAG_IN_HOB_FEATURE | |
274 | IDE_TFLAG_IN_HOB_NSECT | | 270 | IDE_TFLAG_IN_HOB_NSECT | |
275 | IDE_TFLAG_IN_HOB_LBA, | 271 | IDE_TFLAG_IN_HOB_LBA, |
276 | IDE_TFLAG_IN_FEATURE = (1 << 1), | 272 | IDE_TFLAG_IN_FEATURE = (1 << 20), |
277 | IDE_TFLAG_IN_NSECT = (1 << 25), | 273 | IDE_TFLAG_IN_NSECT = (1 << 21), |
278 | IDE_TFLAG_IN_LBAL = (1 << 26), | 274 | IDE_TFLAG_IN_LBAL = (1 << 22), |
279 | IDE_TFLAG_IN_LBAM = (1 << 27), | 275 | IDE_TFLAG_IN_LBAM = (1 << 23), |
280 | IDE_TFLAG_IN_LBAH = (1 << 28), | 276 | IDE_TFLAG_IN_LBAH = (1 << 24), |
281 | IDE_TFLAG_IN_LBA = IDE_TFLAG_IN_LBAL | | 277 | IDE_TFLAG_IN_LBA = IDE_TFLAG_IN_LBAL | |
282 | IDE_TFLAG_IN_LBAM | | 278 | IDE_TFLAG_IN_LBAM | |
283 | IDE_TFLAG_IN_LBAH, | 279 | IDE_TFLAG_IN_LBAH, |
284 | IDE_TFLAG_IN_TF = IDE_TFLAG_IN_NSECT | | 280 | IDE_TFLAG_IN_TF = IDE_TFLAG_IN_NSECT | |
285 | IDE_TFLAG_IN_LBA, | 281 | IDE_TFLAG_IN_LBA, |
286 | IDE_TFLAG_IN_DEVICE = (1 << 29), | 282 | IDE_TFLAG_IN_DEVICE = (1 << 25), |
287 | IDE_TFLAG_HOB = IDE_TFLAG_OUT_HOB | | 283 | IDE_TFLAG_HOB = IDE_TFLAG_OUT_HOB | |
288 | IDE_TFLAG_IN_HOB, | 284 | IDE_TFLAG_IN_HOB, |
289 | IDE_TFLAG_TF = IDE_TFLAG_OUT_TF | | 285 | IDE_TFLAG_TF = IDE_TFLAG_OUT_TF | |
@@ -291,9 +287,16 @@ enum { | |||
291 | IDE_TFLAG_DEVICE = IDE_TFLAG_OUT_DEVICE | | 287 | IDE_TFLAG_DEVICE = IDE_TFLAG_OUT_DEVICE | |
292 | IDE_TFLAG_IN_DEVICE, | 288 | IDE_TFLAG_IN_DEVICE, |
293 | /* force 16-bit I/O operations */ | 289 | /* force 16-bit I/O operations */ |
294 | IDE_TFLAG_IO_16BIT = (1 << 30), | 290 | IDE_TFLAG_IO_16BIT = (1 << 26), |
295 | /* ide_task_t was allocated using kmalloc() */ | 291 | /* ide_task_t was allocated using kmalloc() */ |
296 | IDE_TFLAG_DYN = (1 << 31), | 292 | IDE_TFLAG_DYN = (1 << 27), |
293 | }; | ||
294 | |||
295 | enum { | ||
296 | IDE_FTFLAG_FLAGGED = (1 << 0), | ||
297 | IDE_FTFLAG_SET_IN_FLAGS = (1 << 1), | ||
298 | IDE_FTFLAG_OUT_DATA = (1 << 2), | ||
299 | IDE_FTFLAG_IN_DATA = (1 << 3), | ||
297 | }; | 300 | }; |
298 | 301 | ||
299 | struct ide_taskfile { | 302 | struct ide_taskfile { |
@@ -330,6 +333,7 @@ typedef struct ide_task_s { | |||
330 | struct ide_taskfile tf; | 333 | struct ide_taskfile tf; |
331 | u8 tf_array[14]; | 334 | u8 tf_array[14]; |
332 | }; | 335 | }; |
336 | u8 ftf_flags; /* for TASKFILE ioctl */ | ||
333 | u32 tf_flags; | 337 | u32 tf_flags; |
334 | int data_phase; | 338 | int data_phase; |
335 | struct request *rq; /* copy of request */ | 339 | struct request *rq; /* copy of request */ |