Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-28 Thread Ivan Sergio Borgonovo
On Sat, 27 Nov 2010 21:53:39 +
Ben Hutchings b...@decadent.org.uk wrote:

 On Wed, 2010-11-24 at 19:48 +0100, Ivan Sergio Borgonovo wrote:
 [...]
  I don't know how to help further to increase the chances that
  squeeze will have support for these controllers.
  
  If you could point me to some instructions I could follow to give
  you some useful feedback I'll be happy to try.

 I've applied the upstream changes to add support for the 9240.
 You can test the result by following the instructions at
 http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official-vcs.
 The distribution name to use is 'sid' (all our changes for
 'squeeze' are still going via 'sid').

I got it compiled. It is working on my workstation.
I hope I'll have a chance to try it on a box with that controller on
Tuesday.
Can anyone be so kind to point me to another RTFM where I can find
clear instruction on how to substitute the kernel into a Debian
ISO/cross prepare(sid - squeeze) a Debian install ISO?

I tried it before, hybridizing 3.6.32 and .36 and it failed to
work... but I'm not sure if it failed because I didn't prepare well
the ISO or because the hybridized kernel didn't work.

thanks

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-28 Thread Ben Hutchings
On Mon, 2010-11-29 at 00:32 +0100, Ivan Sergio Borgonovo wrote:
 On Sat, 27 Nov 2010 21:53:39 +
 Ben Hutchings b...@decadent.org.uk wrote:
 
  On Wed, 2010-11-24 at 19:48 +0100, Ivan Sergio Borgonovo wrote:
  [...]
   I don't know how to help further to increase the chances that
   squeeze will have support for these controllers.
   
   If you could point me to some instructions I could follow to give
   you some useful feedback I'll be happy to try.
 
  I've applied the upstream changes to add support for the 9240.
  You can test the result by following the instructions at
  http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official-vcs.
  The distribution name to use is 'sid' (all our changes for
  'squeeze' are still going via 'sid').
 
 I got it compiled. It is working on my workstation.
 I hope I'll have a chance to try it on a box with that controller on
 Tuesday.
 Can anyone be so kind to point me to another RTFM where I can find
 clear instruction on how to substitute the kernel into a Debian
 ISO/cross prepare(sid - squeeze) a Debian install ISO?
[...]

There are some instructions at
http://wiki.debian.org/DebianInstaller/Modify/CustomKernel but I don't
know whether they still work.

It is *not* sufficient to replace the linux-image package which gets
intalled; you also have to update the separate driver udeb package which
is used within the installer.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-27 Thread Ben Hutchings
On Fri, 2010-11-26 at 15:38 +0100, Bjørn Mork wrote:
 Ivan Sergio Borgonovo i...@webthatworks.it writes:
 
  I've just tested 2.6.32-28 from latest iso and it still doesn't work.
  The version of this driver included in experimental is reported to work
  on other distribution (0.17).
 
  If you'd point me to some RTFM to help you test something that could
  give some more chance to add support to these controller in the upcoming
  stable I'd try to help.
 
 A start would be to use the reportbug tool so that the kernel team got
 all the relevant data in the bug report, in particular the lspci
 listing.  Took me a while to finally find a PCI device id to verify
 which devices you're after. Finally found it in
 http://launchpadlibrarian.net/51569322/Lspci.txt:
 
  01:00.0 RAID bus controller [0104]: LSI Logic / Symbios Logic MegaRAID SAS 
 9240 [1000:0073] (rev 02)
 
 which was added to the driver between v2.6.32..v2.6.33.  
 
 commit 879111224d in Linus' tree is the one that actually added the
 device to the module alias list. I've included it below.  You could try
 and see if this is enough, or if the whole driver needs to be updated to
 the 2.6.33 version (which is LSI megasas version 00.00.04.12-rc1).

I've cherry-picked these two as dependencies:

commit c35188377f12e5e0a74f18c3dfdd67baf88db514
Author: Yang, Bo bo.y...@lsi.com
Date:   Tue Oct 6 14:18:02 2009 -0600

[SCSI] megaraid_sas: Add poll mechanism to megaraid sas driver

commit 72c4fd36dc7f755a5245ef2495fe27d5084d776d
Author: Yang, Bo bo.y...@lsi.com
Date:   Tue Oct 6 14:20:59 2009 -0600

[SCSI] megaraid_sas: add sysfs for AEN polling

and these as necessary fixes to the added code:

commit 7bebf5c79cb62766c76c6c1b9c77b86496fd363e
Author: Yang, Bo bo.y...@lsi.com
Date:   Tue Oct 6 14:40:58 2009 -0600

[SCSI] megaraid_sas: allocate the application cmds to sas2 controller

commit 0c79e681eef10810a5ed41a2eb1dce244ab1c37d
Author: Yang, Bo bo.y...@lsi.com
Date:   Tue Oct 6 14:47:35 2009 -0600

[SCSI] megaraid_sas: Fix the fix for fw hang caused by megaraid sas 
application

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-27 Thread Ben Hutchings
On Wed, 2010-11-24 at 19:48 +0100, Ivan Sergio Borgonovo wrote:
[...]
 I don't know how to help further to increase the chances that
 squeeze will have support for these controllers.
 
 If you could point me to some instructions I could follow to give
 you some useful feedback I'll be happy to try.

I've applied the upstream changes to add support for the 9240.  You can
test the result by following the instructions at
http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official-vcs.
The distribution name to use is 'sid' (all our changes for 'squeeze' are
still going via 'sid').

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-26 Thread Ivan Sergio Borgonovo
I've just tested 2.6.32-28 from latest iso and it still doesn't work.
The version of this driver included in experimental is reported to work
on other distribution (0.17).

If you'd point me to some RTFM to help you test something that could
give some more chance to add support to these controller in the upcoming
stable I'd try to help.

thanks





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-26 Thread Bjørn Mork
Ivan Sergio Borgonovo i...@webthatworks.it writes:

 I've just tested 2.6.32-28 from latest iso and it still doesn't work.
 The version of this driver included in experimental is reported to work
 on other distribution (0.17).

 If you'd point me to some RTFM to help you test something that could
 give some more chance to add support to these controller in the upcoming
 stable I'd try to help.

A start would be to use the reportbug tool so that the kernel team got
all the relevant data in the bug report, in particular the lspci
listing.  Took me a while to finally find a PCI device id to verify
which devices you're after. Finally found it in
http://launchpadlibrarian.net/51569322/Lspci.txt:

 01:00.0 RAID bus controller [0104]: LSI Logic / Symbios Logic MegaRAID SAS 
9240 [1000:0073] (rev 02)

which was added to the driver between v2.6.32..v2.6.33.  

commit 879111224d in Linus' tree is the one that actually added the
device to the module alias list. I've included it below.  You could try
and see if this is enough, or if the whole driver needs to be updated to
the 2.6.33 version (which is LSI megasas version 00.00.04.12-rc1).


Bjørn

commit 879111224d0784eab623fe8130a1f4481e0e1966
Author: Yang, Bo bo.y...@lsi.com
Date:   Tue Oct 6 14:31:54 2009 -0600

[SCSI] megaraid_sas: Add new megaraid SAS 2 controller support to the driver

Add the new megaraid sas 2 controller to the driver.  megaraid sas2 is
LSI next generation SAS products.  driver add the interface to support
this product.

Signed-off-by Bo Yangbo.y...@lsi.com
Signed-off-by: James Bottomley james.bottom...@suse.de

diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index 0121413..b6e4327 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -76,6 +76,10 @@ static struct pci_device_id megasas_pci_table[] = {
 	/* gen2*/
 	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0079GEN2)},
 	/* gen2*/
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0073SKINNY)},
+	/* skinny*/
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0071SKINNY)},
+	/* skinny*/
 	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VERDE_ZCR)},
 	/* xscale IOP, vega */
 	{PCI_DEVICE(PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DELL_PERC5)},
@@ -335,6 +339,99 @@ static struct megasas_instance_template megasas_instance_template_ppc = {
 };
 
 /**
+ * megasas_enable_intr_skinny -	Enables interrupts
+ * @regs:			MFI register set
+ */
+static inline void
+megasas_enable_intr_skinny(struct megasas_register_set __iomem *regs)
+{
+	writel(0x, (regs)-outbound_intr_mask);
+
+	writel(~MFI_SKINNY_ENABLE_INTERRUPT_MASK, (regs)-outbound_intr_mask);
+
+	/* Dummy readl to force pci flush */
+	readl(regs-outbound_intr_mask);
+}
+
+/**
+ * megasas_disable_intr_skinny -	Disables interrupt
+ * @regs:			MFI register set
+ */
+static inline void
+megasas_disable_intr_skinny(struct megasas_register_set __iomem *regs)
+{
+	u32 mask = 0x;
+	writel(mask, regs-outbound_intr_mask);
+	/* Dummy readl to force pci flush */
+	readl(regs-outbound_intr_mask);
+}
+
+/**
+ * megasas_read_fw_status_reg_skinny - returns the current FW status value
+ * @regs:			MFI register set
+ */
+static u32
+megasas_read_fw_status_reg_skinny(struct megasas_register_set __iomem *regs)
+{
+	return readl((regs)-outbound_scratch_pad);
+}
+
+/**
+ * megasas_clear_interrupt_skinny -	Check  clear interrupt
+ * @regs:MFI register set
+ */
+static int
+megasas_clear_intr_skinny(struct megasas_register_set __iomem *regs)
+{
+	u32 status;
+	/*
+	 * Check if it is our interrupt
+	 */
+	status = readl(regs-outbound_intr_status);
+
+	if (!(status  MFI_SKINNY_ENABLE_INTERRUPT_MASK)) {
+		return 1;
+	}
+
+	/*
+	 * Clear the interrupt by writing back the same value
+	 */
+	writel(status, regs-outbound_intr_status);
+
+	/*
+	* dummy read to flush PCI
+	*/
+	readl(regs-outbound_intr_status);
+
+	return 0;
+}
+
+/**
+ * megasas_fire_cmd_skinny -	Sends command to the FW
+ * @frame_phys_addr :		Physical address of cmd
+ * @frame_count :		Number of frames for the command
+ * @regs :			MFI register set
+ */
+static inline void
+megasas_fire_cmd_skinny(dma_addr_t frame_phys_addr, u32 frame_count,
+			struct megasas_register_set __iomem *regs)
+{
+	writel(0, (regs)-inbound_high_queue_port);
+	writel((frame_phys_addr | (frame_count1))|1,
+		(regs)-inbound_low_queue_port);
+}
+
+static struct megasas_instance_template megasas_instance_template_skinny = {
+
+	.fire_cmd = megasas_fire_cmd_skinny,
+	.enable_intr = megasas_enable_intr_skinny,
+	.disable_intr = megasas_disable_intr_skinny,
+	.clear_intr = megasas_clear_intr_skinny,
+	.read_fw_status_reg = megasas_read_fw_status_reg_skinny,
+};
+
+
+/**
 *	The following functions are defined for gen2 (deviceid : 0x78 0x79)
 *	controllers
 */
@@ -1587,16 +1684,34 @@ megasas_transition_to_ready(struct megasas_instance* instance)
 			/*
 			 * Set the CLR bit in 

Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-24 Thread Ivan Sergio Borgonovo
On Sat, 20 Nov 2010 03:59:57 +
Ben Hutchings b...@decadent.org.uk wrote:

I've been able to build an hybridized version of 2.6.32 and 2.6.36
moving just megaraid_sas but it doesn't work (furthermore the
megaraid_sas.ko is suspiciously much larger than the previous one
x10).
Moving all megaraid dir I incur in the problem described here:

http://ubuntuforums.org/showpost.php?p=9904413postcount=7

between 32 and 36 linux-source-2.6.36/include/scsi/scsi_host.h
changed and this affect the ability to compile newer megaraid
drivers inside 32 kernel.

I actually don't know how to run 2.6.36 from experimental without
already having a corresponding initrd in the ISO install that
support that controller.

I don't know how to help further to increase the chances that
squeeze will have support for these controllers.

If you could point me to some instructions I could follow to give
you some useful feedback I'll be happy to try.

thanks

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-23 Thread Ivan Sergio Borgonovo
On Sat, 20 Nov 2010 03:59:57 +
Ben Hutchings b...@decadent.org.uk wrote:

 On Sat, 2010-11-20 at 04:53 +0100, Ivan Sergio Borgonovo wrote:
 [...]
  I'm not sure if RH, CentOS or Ubuntu came with their own patch
  for their included version. But I think we could hope that stock
  2.6.35 with v00.00.04.17.1-rc1 could work.
  
  Still LSI latest source is too different from the one in 2.6.35
  to say for sure that 2.6.35 stock will work.
  
  I'll check 2.6.36 later.
 
 Please do test Linux 2.6.36 (it's packaged in Debian experimental)
 and report your results to the bug address
 (604...@bugs.debian.org).

I'm halfway to have an iso install CD with a hybrid 2.6.32/36
kernel .deb (stock squeeze kernel + backport of megaraid_sas from
experimental).

I hope I can get it right to improve the chances that this module
will enter into the next squeeze kernel.

I'd like to make everything halal (let aptitude know where is the
new kernel package at installation time, tweak initrd so it find the
firmware and the module I need...) but maybe I'll just put
everything somewhere on the ISO and do it manually.

I hope Debian developers have a plan B if I fail.

thanks

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-19 Thread Ivan Sergio Borgonovo
Package: linux-image-2.6-amd64
Version: 2.6.32+28

Would it be possible to add to squeeze support for newer LSI SAS
controller (aka IBM ServeRAID M1015)?

lsi drivers:
http://www.lsi.com/channel/products/megaraid/sassata/9240-8i/index.html
drivers are the same for -i8 and -i4
Drivers seems to support up to kernel 2.6.33.

bug report in ubuntu
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/546091

thanks

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-19 Thread Ben Hutchings
On Sat, 2010-11-20 at 01:39 +0100, Ivan Sergio Borgonovo wrote:
 Package: linux-image-2.6-amd64
 Version: 2.6.32+28
 
 Would it be possible to add to squeeze support for newer LSI SAS
 controller (aka IBM ServeRAID M1015)?
 
 lsi drivers:
 http://www.lsi.com/channel/products/megaraid/sassata/9240-8i/index.html
 drivers are the same for -i8 and -i4
 Drivers seems to support up to kernel 2.6.33.
[...]

We don't merge out-of-tree driver packages.  Before I go looking, do you
know if these are supported in Linux 2.6.36, or if they have been
accepted for a future release?

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part


Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888

2010-11-19 Thread Ben Hutchings
On Sat, 2010-11-20 at 04:53 +0100, Ivan Sergio Borgonovo wrote:
[...]
 I'm not sure if RH, CentOS or Ubuntu came with their own patch for
 their included version. But I think we could hope that stock 2.6.35
 with v00.00.04.17.1-rc1 could work.
 
 Still LSI latest source is too different from the one in 2.6.35 to
 say for sure that 2.6.35 stock will work.
 
 I'll check 2.6.36 later.

Please do test Linux 2.6.36 (it's packaged in Debian experimental) and
report your results to the bug address (604...@bugs.debian.org).

 But is squeeze going to have 2.6.32?

No, but we do backport driver changes that have been accepted upstream.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


signature.asc
Description: This is a digitally signed message part