public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC]: Changes to ide_task_request
@ 2003-01-15 17:53 Ross Biro
  0 siblings, 0 replies; only message in thread
From: Ross Biro @ 2003-01-15 17:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alan Cox, Andre Hedrick


Seagate has been kind enough to tell me how to update the firmware on 
their drives (under NDA of course).  I believe adding a timeout field, a 
recovery time field and an error handling field to ide_task_request_t 
(and of course appropriate kernel handling code) would be enough to 
allow a userspace program to update the drive firmware.  I am hoping 
that if I write such a program and send the source back to Seagate that 
they will support it.  I'm also hoping that the other manufacturers 
firmware update methods are similiar enough to be handled by the same 
system.

I'd like to make the following changes to hdreg.h:

#define ERROR_IGNORE 0  /* Just ignore it. */
#define ERROR_NORMAL 1  /* Just call the device error handler */
#define ERROR_SRST 2    /* Just do an SRST */
#define ERROR_RETRY_ONCE 3 /* Retry Once */
#define ERROR_RETRY  4   /* Retry until it suceedes. */
.
.
.


typedef struct ide_task_request_s {
    task_ioreg_t    io_ports[8];
    task_ioreg_t    hob_ports[8];
    ide_reg_valid_t    out_flags;
    ide_reg_valid_t    in_flags;
    int        data_phase;
    int        req_cmd;
    unsigned long    out_size;
    unsigned long    in_size;
    int timeout;                 /* How long in HZ to wait for the 
command to complete. */
    int recovery_time;           /* How long in HZ to wait after
                                    command completion or an error
                                    before issuing a new command. */
    int error_handling;
                 

} ide_task_request_t;

I chose HZ instead of microseconds for the timeouts because I envision a 
kernel specific shared library that does the translatation and actual 
ioctl and HZ should make the kernel side of things a bit easier.

    Ross



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-01-15 17:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-15 17:53 [RFC]: Changes to ide_task_request Ross Biro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox