Date: Fri, 27 Jul 2001 11:26:27 +0200 From: Milon Papezik <Milon.Papezik@oskarmobil.cz> To: "'hardware@freebsd.org'" <hardware@freebsd.org>, "'hackers@freebsd.org'" <hackers@freebsd.org> Cc: "'jlemon@freebsd.org'" <jlemon@freebsd.org>, "'Jeff Sapp'" <jsapp@iblp.org> Subject: Re: Compaq DL380 Message-ID: <B57AF59C8ABFD411BBE000508BF300F301722F13@wh01ex01.ceskymobil.cz>
next in thread | raw e-mail | index | archive | help
Hi all,
I finally got some time to do the simple MFC for ida driver. It enables
the automatic drive rebuild on Integrated SmartArray controllers.
I tested enclosed patch on DL380 (controller firmware 1.42) and it works
fine.
Could someone please have a look and commit this simple MFC into -stable ?
Enjoy! ... and thanks in advance for occasional commit ;-)
Milon
--
milon.papezik@oskarmobil.cz
-------------------- cut here --------------------
*** sys/dev/ida.stable/ida_eisa.c Thu Mar 1 02:57:33 2001
--- sys/dev/ida/ida_eisa.c Wed May 2 09:14:27 2001
*************** static struct ida_access ida_v2_access =
*** 180,192 ****
};
static struct ida_board board_id[] = {
! { 0x0e114001, "Compaq IDA controller", &ida_v1_access
},
! { 0x0e114002, "Compaq IDA-2 controller", &ida_v1_access
},
! { 0x0e114010, "Compaq IAES controller", &ida_v1_access
},
! { 0x0e114020, "Compaq SMART array controller", &ida_v1_access
},
! { 0x0e114030, "Compaq SMART-2/E array controller", &ida_v2_access
},
! { 0, "", 0 }
};
static struct ida_board *ida_eisa_match(eisa_id_t);
--- 180,197 ----
};
static struct ida_board board_id[] = {
! { 0x0e114001, "Compaq IDA controller",
! &ida_v1_access, 0 },
! { 0x0e114002, "Compaq IDA-2 controller",
! &ida_v1_access, 0 },
! { 0x0e114010, "Compaq IAES controller",
! &ida_v1_access, 0 },
! { 0x0e114020, "Compaq SMART array controller",
! &ida_v1_access, 0 },
! { 0x0e114030, "Compaq SMART-2/E array controller",
! &ida_v2_access, 0 },
! { 0, "", 0, 0 }
};
static struct ida_board *ida_eisa_match(eisa_id_t);
*************** ida_eisa_attach(device_t dev)
*** 274,279 ****
--- 279,285 ----
board = ida_eisa_match(eisa_get_id(dev));
ida->cmd = *board->accessor;
+ ida->flags = board->flags;
ida->regs_res_type = SYS_RES_IOPORT;
ida->regs_res_id = 0;
*************** ida_eisa_attach(device_t dev)
*** 321,327 ****
return (ENOMEM);
}
- ida->flags = 0;
error = ida_init(ida);
if (error) {
ida_free(ida);
--- 327,332 ----
*** sys/dev/ida.stable/ida_pci.c Thu Mar 1 02:57:33 2001
--- sys/dev/ida/ida_pci.c Thu May 3 05:34:19 2001
*************** static struct ida_access ida_v4_access =
*** 149,167 ****
};
static struct ida_board board_id[] = {
! { 0x40300E11, "Compaq SMART-2/P array controller", &ida_v3_access
},
! { 0x40310E11, "Compaq SMART-2SL array controller", &ida_v3_access
},
! { 0x40320E11, "Compaq Smart Array 3200 controller", &ida_v3_access
},
! { 0x40330E11, "Compaq Smart Array 3100ES controller", &ida_v3_access
},
! { 0x40340E11, "Compaq Smart Array 221 controller", &ida_v3_access
},
!
! { 0x40400E11, "Compaq Integrated Array controller", &ida_v4_access
},
! { 0x40480E11, "Compaq RAID LC2 controller", &ida_v4_access
},
! { 0x40500E11, "Compaq Smart Array 4200 controller", &ida_v4_access
},
! { 0x40510E11, "Compaq Smart Array 4250ES controller", &ida_v4_access
},
! { 0x40580E11, "Compaq Smart Array 431 controller", &ida_v4_access
},
! { 0, "", 0 },
};
static int ida_pci_probe(device_t dev);
--- 149,177 ----
};
static struct ida_board board_id[] = {
! { 0x40300E11, "Compaq SMART-2/P array controller",
! &ida_v3_access, 0 },
! { 0x40310E11, "Compaq SMART-2SL array controller",
! &ida_v3_access, 0 },
! { 0x40320E11, "Compaq Smart Array 3200 controller",
! &ida_v3_access, 0 },
! { 0x40330E11, "Compaq Smart Array 3100ES controller",
! &ida_v3_access, 0 },
! { 0x40340E11, "Compaq Smart Array 221 controller",
! &ida_v3_access, 0 },
!
! { 0x40400E11, "Compaq Integrated Array controller",
! &ida_v4_access, IDA_FIRMWARE },
! { 0x40480E11, "Compaq RAID LC2 controller",
! &ida_v4_access, IDA_FIRMWARE },
! { 0x40500E11, "Compaq Smart Array 4200 controller",
! &ida_v4_access, 0 },
! { 0x40510E11, "Compaq Smart Array 4250ES controller",
! &ida_v4_access, 0 },
! { 0x40580E11, "Compaq Smart Array 431 controller",
! &ida_v4_access, 0 },
! { 0, "", 0, 0 },
};
static int ida_pci_probe(device_t dev);
*************** ida_pci_attach(device_t dev)
*** 238,243 ****
--- 248,254 ----
ida = (struct ida_softc *)device_get_softc(dev);
ida->dev = dev;
ida->cmd = *board->accessor;
+ ida->flags = board->flags;
ida->regs_res_type = SYS_RES_MEMORY;
ida->regs_res_id = IDA_PCI_MEMADDR;
*************** ida_pci_attach(device_t dev)
*** 279,285 ****
return (ENOMEM);
}
- ida->flags = 0;
error = ida_init(ida);
if (error) {
ida_free(ida);
--- 290,295 ----
*** sys/dev/ida.stable/idavar.h Thu Mar 1 02:57:33 2001
--- sys/dev/ida/idavar.h Wed May 2 09:09:33 2001
*************** struct ida_board {
*** 185,190 ****
--- 185,191 ----
u_int32_t board;
char *desc;
struct ida_access *accessor;
+ int flags;
};
extern int ida_detach(device_t dev);
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B57AF59C8ABFD411BBE000508BF300F301722F13>
