Skip site navigation (1)Skip section navigation (2)
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>