Bug#604083: add support for megaraid 9240 9260 9280 8704 8708 8880 8888
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
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
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
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
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
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
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
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
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
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
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