* PATCH: Allow per driver taskfile filters
@ 2004-11-05 16:36 Alan Cox
2004-11-05 22:11 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2004-11-05 16:36 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz, linux-ide
This is needed for the IT8212 merge
diff --exclude-from /usr/src/exclude -u --new-file --recursive linux.vanilla-2.6.10rc1/include/linux/ide.h linux-2.6.10rc1/include/linux/ide.h
--- linux.vanilla-2.6.10rc1/include/linux/ide.h 2004-11-05 15:42:18.000000000 +0000
+++ linux-2.6.10rc1/include/linux/ide.h 2004-11-05 16:26:18.000000000 +0000
@@ -794,6 +795,7 @@
#define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1)
struct ide_pci_device_s;
+struct ide_task_s;
typedef struct hwif_s {
struct hwif_s *next; /* for linked-list in ide_hwgroup_t */
@@ -856,6 +858,8 @@
// u8 (*ratemask)(ide_drive_t *);
// /* device rate limiter */
// u8 (*ratefilter)(ide_drive_t *, u8);
+ /* allow command filter/control */
+ int (*raw_taskfile)(ide_drive_t *, struct ide_task_s *, u8 *);
#endif
void (*ata_input_data)(ide_drive_t *, void *, u32);
@@ -1374,6 +1378,7 @@
extern ide_startstop_t task_out_intr(ide_drive_t *);
extern int ide_raw_taskfile(ide_drive_t *, ide_task_t *, u8 *);
+extern int ide_diag_taskfile(ide_drive_t *, ide_task_t *, unsigned long, u8 *);
int ide_taskfile_ioctl(ide_drive_t *, unsigned int, unsigned long);
int ide_cmd_ioctl(ide_drive_t *, unsigned int, unsigned long);
diff --exclude-from /usr/src/exclude -u --new-file --recursive linux.vanilla-2.6.10rc1/drivers/ide/ide.c linux-2.6.10rc1/drivers/ide/ide.c
--- linux.vanilla-2.6.10rc1/drivers/ide/ide.c 2004-11-05 15:42:15.000000000 +0000
+++ linux-2.6.10rc1/drivers/ide/ide.c 2004-11-05 16:06:29.000000000 +0000
@@ -678,6 +678,7 @@
hwif->maskproc = tmp_hwif->maskproc;
hwif->quirkproc = tmp_hwif->quirkproc;
hwif->busproc = tmp_hwif->busproc;
+ hwif->raw_taskfile = tmp_hwif->raw_taskfile;
hwif->ata_input_data = tmp_hwif->ata_input_data;
hwif->ata_output_data = tmp_hwif->ata_output_data;
diff --exclude-from /usr/src/exclude -u --new-file --recursive linux.vanilla-2.6.10rc1/drivers/ide/ide-taskfile.c linux-2.6.10rc1/drivers/ide/ide-taskfile.c
--- linux.vanilla-2.6.10rc1/drivers/ide/ide-taskfile.c 2004-11-05 15:42:15.000000000 +0000
+++ linux-2.6.10rc1/drivers/ide/ide-taskfile.c 2004-11-05 16:07:34.000000000 +0000
@@ -511,7 +511,11 @@
int ide_raw_taskfile (ide_drive_t *drive, ide_task_t *args, u8 *buf)
{
- return ide_diag_taskfile(drive, args, 0, buf);
+ ide_hwif_t *hwif = HWIF(drive);
+ if(hwif->raw_taskfile)
+ return hwif->raw_taskfile(drive, args, buf);
+ else
+ return ide_diag_taskfile(drive, args, 0, buf);
}
EXPORT_SYMBOL(ide_raw_taskfile);
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: PATCH: Allow per driver taskfile filters
2004-11-05 16:36 PATCH: Allow per driver taskfile filters Alan Cox
@ 2004-11-05 22:11 ` Bartlomiej Zolnierkiewicz
2004-11-05 23:25 ` Alan Cox
0 siblings, 1 reply; 5+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2004-11-05 22:11 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-ide
This covers ide_raw_taskfile() calls, what with do_rw_taskfile()
ones and HDIO_DRIVE_[CMD,TASK,TASKFILE] ioctls?
On Friday 05 November 2004 17:36, Alan Cox wrote:
> This is needed for the IT8212 merge
BTW IT8212 is (also) a real hardware RAID and it really deserves
its own driver in the future (can share code with libata).
What is missing in libata to handle it?
> diff --exclude-from /usr/src/exclude -u --new-file --recursive linux.vanilla-2.6.10rc1/include/linux/ide.h linux-2.6.10rc1/include/linux/ide.h
> --- linux.vanilla-2.6.10rc1/include/linux/ide.h 2004-11-05 15:42:18.000000000 +0000
> +++ linux-2.6.10rc1/include/linux/ide.h 2004-11-05 16:26:18.000000000 +0000
> @@ -794,6 +795,7 @@
> #define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1)
>
> struct ide_pci_device_s;
> +struct ide_task_s;
>
> typedef struct hwif_s {
> struct hwif_s *next; /* for linked-list in ide_hwgroup_t */
> @@ -856,6 +858,8 @@
> // u8 (*ratemask)(ide_drive_t *);
> // /* device rate limiter */
> // u8 (*ratefilter)(ide_drive_t *, u8);
> + /* allow command filter/control */
> + int (*raw_taskfile)(ide_drive_t *, struct ide_task_s *, u8 *);
> #endif
>
> void (*ata_input_data)(ide_drive_t *, void *, u32);
> @@ -1374,6 +1378,7 @@
> extern ide_startstop_t task_out_intr(ide_drive_t *);
>
> extern int ide_raw_taskfile(ide_drive_t *, ide_task_t *, u8 *);
> +extern int ide_diag_taskfile(ide_drive_t *, ide_task_t *, unsigned long, u8 *);
>
> int ide_taskfile_ioctl(ide_drive_t *, unsigned int, unsigned long);
> int ide_cmd_ioctl(ide_drive_t *, unsigned int, unsigned long);
> diff --exclude-from /usr/src/exclude -u --new-file --recursive linux.vanilla-2.6.10rc1/drivers/ide/ide.c linux-2.6.10rc1/drivers/ide/ide.c
> --- linux.vanilla-2.6.10rc1/drivers/ide/ide.c 2004-11-05 15:42:15.000000000 +0000
> +++ linux-2.6.10rc1/drivers/ide/ide.c 2004-11-05 16:06:29.000000000 +0000
> @@ -678,6 +678,7 @@
> hwif->maskproc = tmp_hwif->maskproc;
> hwif->quirkproc = tmp_hwif->quirkproc;
> hwif->busproc = tmp_hwif->busproc;
> + hwif->raw_taskfile = tmp_hwif->raw_taskfile;
>
> hwif->ata_input_data = tmp_hwif->ata_input_data;
> hwif->ata_output_data = tmp_hwif->ata_output_data;
> diff --exclude-from /usr/src/exclude -u --new-file --recursive linux.vanilla-2.6.10rc1/drivers/ide/ide-taskfile.c linux-2.6.10rc1/drivers/ide/ide-taskfile.c
> --- linux.vanilla-2.6.10rc1/drivers/ide/ide-taskfile.c 2004-11-05 15:42:15.000000000 +0000
> +++ linux-2.6.10rc1/drivers/ide/ide-taskfile.c 2004-11-05 16:07:34.000000000 +0000
> @@ -511,7 +511,11 @@
>
> int ide_raw_taskfile (ide_drive_t *drive, ide_task_t *args, u8 *buf)
> {
> - return ide_diag_taskfile(drive, args, 0, buf);
> + ide_hwif_t *hwif = HWIF(drive);
> + if(hwif->raw_taskfile)
> + return hwif->raw_taskfile(drive, args, buf);
> + else
> + return ide_diag_taskfile(drive, args, 0, buf);
> }
>
> EXPORT_SYMBOL(ide_raw_taskfile);
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: PATCH: Allow per driver taskfile filters
2004-11-05 22:11 ` Bartlomiej Zolnierkiewicz
@ 2004-11-05 23:25 ` Alan Cox
2004-11-06 0:42 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2004-11-05 23:25 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: linux-ide
On Gwe, 2004-11-05 at 22:11, Bartlomiej Zolnierkiewicz wrote:
> This covers ide_raw_taskfile() calls, what with do_rw_taskfile()
> ones and HDIO_DRIVE_[CMD,TASK,TASKFILE] ioctls?
do_rw_taskfile could be filtered. I'm not clear if filtering the HDIO
ones
is the right thing to do
> BTW IT8212 is (also) a real hardware RAID and it really deserves
> its own driver in the future (can share code with libata).
>
> What is missing in libata to handle it?
ATAPI, working blacklists, testing, the same as to move every other
driver over. When the rest move it can.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH: Allow per driver taskfile filters
2004-11-05 23:25 ` Alan Cox
@ 2004-11-06 0:42 ` Bartlomiej Zolnierkiewicz
2004-11-05 23:45 ` Alan Cox
0 siblings, 1 reply; 5+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2004-11-06 0:42 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-ide
On Saturday 06 November 2004 00:25, Alan Cox wrote:
> On Gwe, 2004-11-05 at 22:11, Bartlomiej Zolnierkiewicz wrote:
> > This covers ide_raw_taskfile() calls, what with do_rw_taskfile()
> > ones and HDIO_DRIVE_[CMD,TASK,TASKFILE] ioctls?
>
> do_rw_taskfile could be filtered. I'm not clear if filtering the HDIO
> ones
> is the right thing to do
>
> > BTW IT8212 is (also) a real hardware RAID and it really deserves
> > its own driver in the future (can share code with libata).
> >
> > What is missing in libata to handle it?
>
> ATAPI, working blacklists, testing, the same as to move every other
> driver over. When the rest move it can.
* ATAPI is done and working (both PIO and DMA)
* half of the blacklists is a crap (but I don't know which half :( )
BTW this is a _new_ driver so it is much easier to move
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH: Allow per driver taskfile filters
2004-11-06 0:42 ` Bartlomiej Zolnierkiewicz
@ 2004-11-05 23:45 ` Alan Cox
0 siblings, 0 replies; 5+ messages in thread
From: Alan Cox @ 2004-11-05 23:45 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: linux-ide
On Sad, 2004-11-06 at 00:42, Bartlomiej Zolnierkiewicz wrote:
> * ATAPI is done and working (both PIO and DMA)
> * half of the blacklists is a crap (but I don't know which half :( )
>
> BTW this is a _new_ driver so it is much easier to move
Its not on my schedule. Someone else can do it, but I'd suggest instead
that they spend their time helping Jeff get stuff like the Marvell
driver up and running first. Good to hear ATAPI now works with the SATA
stuff.
Alan
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-11-06 0:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-05 16:36 PATCH: Allow per driver taskfile filters Alan Cox
2004-11-05 22:11 ` Bartlomiej Zolnierkiewicz
2004-11-05 23:25 ` Alan Cox
2004-11-06 0:42 ` Bartlomiej Zolnierkiewicz
2004-11-05 23:45 ` Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).