aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ide.h
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 07:46:28 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 07:46:28 -0400
commit19710d25d50ae0be05eebe4231ed8918b1092d82 (patch)
tree2ec84e215d6dd07afcf3433e8f920bb6919d3f88 /include/linux/ide.h
parentc094ea0774d6881598da430ea0916a597162f8df (diff)
ide: add "flagged" taskfile flags to struct ide_taskfile (v2)
* Add ->ftf_flags field to struct ide_taskfile and convert flags for TASKFILE ioctl to use it. * Rename "flagged" taskfile flags: - IDE_TFLAG_FLAGGED -> IDE_FTFLAG_FLAGGED - IDE_TFLAG_FLAGGED_SET_IN_FLAGS -> IDE_FTFLAG_SET_IN_FLAGS - IDE_TFLAG_{OUT,IN}_DATA -> IDE_FTFLAG_{OUT,IN}_DATA v2: * Remember to fully update ide-h8300.c, scc_pata.c and tx493{8,9}ide.c (thanks to Stephen Rothwell for noticing). There should be no functional changes caused by this patch. Cc: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h66
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
235enum { 235enum {
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
295enum {
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
299struct ide_taskfile { 302struct 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 */