RE: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
The patch is specific to kdump scenario. What I see in the log is cmd timeout(s) and is not related to the patch. --Sumant -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthias Urlichs Sent: Wednesday, January 31, 2007 9:50 AM To: linux-scsi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump On Fri, 05 Jan 2007 07:10:09 -0800, Sumant Patro wrote: > This command clears the pending commands in the adapter > and re-initialize its internal RAID structure. > Without this change, megaraid driver either panics or fails to > initialize the adapter during kdump's second kernel boot > if there are pending commands or interrupts from other devices > sharing the same IRQ. Nice. Is there a chance that this patch will also fix the regression I've noticed (today, unfortunately) on (at least one) Dell server? FWIW, here's the relevant LSPCI output and kernel logs: 0d:0e.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID (rev 07) Subsystem: Dell Unknown device 0002 Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 18 Memory at d80f (32-bit, prefetchable) [size=64K] Memory at fc4c (32-bit, non-prefetchable) [size=256K] Expansion ROM at fc50 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable- Capabilities: [e0] PCI-X non-bridge device Jan 31 14:41:34 kernel: [ 232.873327] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) Jan 31 14:41:34 kernel: [ 232.877616] SCSI subsystem initialized Jan 31 14:41:34 kernel: [ 232.888779] megaraid: 2.20.4.9 (Release Date: Sun Jul 16 12:27:22 EST 2006) Jan 31 14:41:34 kernel: [ 232.889835] megasas: 00.00.03.05 Mon Oct 02 11:21:32 PDT 2006 Jan 31 14:41:34 kernel: [ 233.513659] megasas: 0x1028:0x0015:0x1028:0x1f03: <6>megaraid: probe new device 0x1000:0x0408:0x1028:0x0002: bus 13:slot 14:func 0 Jan 31 14:41:34 kernel: [ 233.514770] megasas: FW now in Ready state Jan 31 14:41:34 kernel: [ 233.528893] megaraid: fw version:[522A] bios version:[H430] Jan 31 14:41:34 kernel: [ 233.554778] scsi2 : LSI Logic SAS based MegaRAID driver Jan 31 14:41:34 kernel: [ 233.36] scsi 2:0:0:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.556173] scsi 2:0:1:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.569337] scsi3 : LSI Logic MegaRAID driver Jan 31 14:41:34 kernel: [ 233.569550] scsi[3]: scanning scsi channel 0 [Phy 0] for non-raid devices Jan 31 14:41:34 kernel: [ 233.604522] scsi 2:0:8:0: Enclosure DP BACKPLANE 1.00 PQ: 0 ANSI: 5 Jan 31 14:41:41 kernel: [ 243.115199] megaraid: aborting-16 cmd=12 Jan 31 14:41:41 kernel: [ 243.115206] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:41 kernel: [ 243.115217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:41 kernel: [ 243.115221] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:41:46 kernel: [ 248.125812] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:41:48 kernel: [ 250.134075] megaraid mbox: reset sequence completed sucessfully Jan 31 14:41:58 kernel: [ 260.117201] megaraid: aborting-16 cmd=0 Jan 31 14:41:58 kernel: [ 260.117207] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:58 kernel: [ 260.117217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:58 kernel: [ 260.117223] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:42:03 kernel: [ 265.127417] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:42:08 kernel: [ 270.140211] megaraid mbox: Wait for 1 commands to complete:290 Jan 31 14:42:12 kernel: [ 274.146803] megaraid mbox: reset sequence completed sucessfully [ nothing else that appears relevant ] -- Matthias Urlichs | {M:U} IT Design @ m-u-it.de | [EMAIL PROTECTED] Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de - - Those who welcome death have only tried it from the ears up. -- Wilson Mizner - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
On Fri, 05 Jan 2007 07:10:09 -0800, Sumant Patro wrote: > This command clears the pending commands in the adapter > and re-initialize its internal RAID structure. > Without this change, megaraid driver either panics or fails to > initialize the adapter during kdump's second kernel boot > if there are pending commands or interrupts from other devices > sharing the same IRQ. Nice. Is there a chance that this patch will also fix the regression I've noticed (today, unfortunately) on (at least one) Dell server? FWIW, here's the relevant LSPCI output and kernel logs: 0d:0e.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID (rev 07) Subsystem: Dell Unknown device 0002 Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 18 Memory at d80f (32-bit, prefetchable) [size=64K] Memory at fc4c (32-bit, non-prefetchable) [size=256K] Expansion ROM at fc50 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable- Capabilities: [e0] PCI-X non-bridge device Jan 31 14:41:34 kernel: [ 232.873327] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) Jan 31 14:41:34 kernel: [ 232.877616] SCSI subsystem initialized Jan 31 14:41:34 kernel: [ 232.888779] megaraid: 2.20.4.9 (Release Date: Sun Jul 16 12:27:22 EST 2006) Jan 31 14:41:34 kernel: [ 232.889835] megasas: 00.00.03.05 Mon Oct 02 11:21:32 PDT 2006 Jan 31 14:41:34 kernel: [ 233.513659] megasas: 0x1028:0x0015:0x1028:0x1f03: <6>megaraid: probe new device 0x1000:0x0408:0x1028:0x0002: bus 13:slot 14:func 0 Jan 31 14:41:34 kernel: [ 233.514770] megasas: FW now in Ready state Jan 31 14:41:34 kernel: [ 233.528893] megaraid: fw version:[522A] bios version:[H430] Jan 31 14:41:34 kernel: [ 233.554778] scsi2 : LSI Logic SAS based MegaRAID driver Jan 31 14:41:34 kernel: [ 233.36] scsi 2:0:0:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.556173] scsi 2:0:1:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.569337] scsi3 : LSI Logic MegaRAID driver Jan 31 14:41:34 kernel: [ 233.569550] scsi[3]: scanning scsi channel 0 [Phy 0] for non-raid devices Jan 31 14:41:34 kernel: [ 233.604522] scsi 2:0:8:0: Enclosure DP BACKPLANE 1.00 PQ: 0 ANSI: 5 Jan 31 14:41:41 kernel: [ 243.115199] megaraid: aborting-16 cmd=12 Jan 31 14:41:41 kernel: [ 243.115206] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:41 kernel: [ 243.115217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:41 kernel: [ 243.115221] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:41:46 kernel: [ 248.125812] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:41:48 kernel: [ 250.134075] megaraid mbox: reset sequence completed sucessfully Jan 31 14:41:58 kernel: [ 260.117201] megaraid: aborting-16 cmd=0 Jan 31 14:41:58 kernel: [ 260.117207] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:58 kernel: [ 260.117217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:58 kernel: [ 260.117223] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:42:03 kernel: [ 265.127417] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:42:08 kernel: [ 270.140211] megaraid mbox: Wait for 1 commands to complete:290 Jan 31 14:42:12 kernel: [ 274.146803] megaraid mbox: reset sequence completed sucessfully [ nothing else that appears relevant ] -- Matthias Urlichs | {M:U} IT Design @ m-u-it.de | [EMAIL PROTECTED] Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de - - Those who welcome death have only tried it from the ears up. -- Wilson Mizner - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
On Fri, 05 Jan 2007 07:10:09 -0800, Sumant Patro wrote: This command clears the pending commands in the adapter and re-initialize its internal RAID structure. Without this change, megaraid driver either panics or fails to initialize the adapter during kdump's second kernel boot if there are pending commands or interrupts from other devices sharing the same IRQ. Nice. Is there a chance that this patch will also fix the regression I've noticed (today, unfortunately) on (at least one) Dell server? FWIW, here's the relevant LSPCI output and kernel logs: 0d:0e.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID (rev 07) Subsystem: Dell Unknown device 0002 Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 18 Memory at d80f (32-bit, prefetchable) [size=64K] Memory at fc4c (32-bit, non-prefetchable) [size=256K] Expansion ROM at fc50 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable- Capabilities: [e0] PCI-X non-bridge device Jan 31 14:41:34 kernel: [ 232.873327] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) Jan 31 14:41:34 kernel: [ 232.877616] SCSI subsystem initialized Jan 31 14:41:34 kernel: [ 232.888779] megaraid: 2.20.4.9 (Release Date: Sun Jul 16 12:27:22 EST 2006) Jan 31 14:41:34 kernel: [ 232.889835] megasas: 00.00.03.05 Mon Oct 02 11:21:32 PDT 2006 Jan 31 14:41:34 kernel: [ 233.513659] megasas: 0x1028:0x0015:0x1028:0x1f03: 6megaraid: probe new device 0x1000:0x0408:0x1028:0x0002: bus 13:slot 14:func 0 Jan 31 14:41:34 kernel: [ 233.514770] megasas: FW now in Ready state Jan 31 14:41:34 kernel: [ 233.528893] megaraid: fw version:[522A] bios version:[H430] Jan 31 14:41:34 kernel: [ 233.554778] scsi2 : LSI Logic SAS based MegaRAID driver Jan 31 14:41:34 kernel: [ 233.36] scsi 2:0:0:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.556173] scsi 2:0:1:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.569337] scsi3 : LSI Logic MegaRAID driver Jan 31 14:41:34 kernel: [ 233.569550] scsi[3]: scanning scsi channel 0 [Phy 0] for non-raid devices Jan 31 14:41:34 kernel: [ 233.604522] scsi 2:0:8:0: Enclosure DP BACKPLANE 1.00 PQ: 0 ANSI: 5 Jan 31 14:41:41 kernel: [ 243.115199] megaraid: aborting-16 cmd=12 c=0 t=12 l=0 Jan 31 14:41:41 kernel: [ 243.115206] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:41 kernel: [ 243.115217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:41 kernel: [ 243.115221] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:41:46 kernel: [ 248.125812] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:41:48 kernel: [ 250.134075] megaraid mbox: reset sequence completed sucessfully Jan 31 14:41:58 kernel: [ 260.117201] megaraid: aborting-16 cmd=0 c=0 t=12 l=0Jan 31 14:41:58 kernel: [ 260.117207] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:58 kernel: [ 260.117217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:58 kernel: [ 260.117223] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:42:03 kernel: [ 265.127417] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:42:08 kernel: [ 270.140211] megaraid mbox: Wait for 1 commands to complete:290 Jan 31 14:42:12 kernel: [ 274.146803] megaraid mbox: reset sequence completed sucessfully [ nothing else that appears relevant ] -- Matthias Urlichs | {M:U} IT Design @ m-u-it.de | [EMAIL PROTECTED] Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de - - Those who welcome death have only tried it from the ears up. -- Wilson Mizner - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
The patch is specific to kdump scenario. What I see in the log is cmd timeout(s) and is not related to the patch. --Sumant -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthias Urlichs Sent: Wednesday, January 31, 2007 9:50 AM To: linux-scsi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump On Fri, 05 Jan 2007 07:10:09 -0800, Sumant Patro wrote: This command clears the pending commands in the adapter and re-initialize its internal RAID structure. Without this change, megaraid driver either panics or fails to initialize the adapter during kdump's second kernel boot if there are pending commands or interrupts from other devices sharing the same IRQ. Nice. Is there a chance that this patch will also fix the regression I've noticed (today, unfortunately) on (at least one) Dell server? FWIW, here's the relevant LSPCI output and kernel logs: 0d:0e.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID (rev 07) Subsystem: Dell Unknown device 0002 Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 18 Memory at d80f (32-bit, prefetchable) [size=64K] Memory at fc4c (32-bit, non-prefetchable) [size=256K] Expansion ROM at fc50 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable- Capabilities: [e0] PCI-X non-bridge device Jan 31 14:41:34 kernel: [ 232.873327] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) Jan 31 14:41:34 kernel: [ 232.877616] SCSI subsystem initialized Jan 31 14:41:34 kernel: [ 232.888779] megaraid: 2.20.4.9 (Release Date: Sun Jul 16 12:27:22 EST 2006) Jan 31 14:41:34 kernel: [ 232.889835] megasas: 00.00.03.05 Mon Oct 02 11:21:32 PDT 2006 Jan 31 14:41:34 kernel: [ 233.513659] megasas: 0x1028:0x0015:0x1028:0x1f03: 6megaraid: probe new device 0x1000:0x0408:0x1028:0x0002: bus 13:slot 14:func 0 Jan 31 14:41:34 kernel: [ 233.514770] megasas: FW now in Ready state Jan 31 14:41:34 kernel: [ 233.528893] megaraid: fw version:[522A] bios version:[H430] Jan 31 14:41:34 kernel: [ 233.554778] scsi2 : LSI Logic SAS based MegaRAID driver Jan 31 14:41:34 kernel: [ 233.36] scsi 2:0:0:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.556173] scsi 2:0:1:0: Direct-Access MAXTOR ATLAS10K5_073SAS BP00 PQ: 0 ANSI: 5 Jan 31 14:41:34 kernel: [ 233.569337] scsi3 : LSI Logic MegaRAID driver Jan 31 14:41:34 kernel: [ 233.569550] scsi[3]: scanning scsi channel 0 [Phy 0] for non-raid devices Jan 31 14:41:34 kernel: [ 233.604522] scsi 2:0:8:0: Enclosure DP BACKPLANE 1.00 PQ: 0 ANSI: 5 Jan 31 14:41:41 kernel: [ 243.115199] megaraid: aborting-16 cmd=12 c=0 t=12 l=0 Jan 31 14:41:41 kernel: [ 243.115206] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:41 kernel: [ 243.115217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:41 kernel: [ 243.115221] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:41:46 kernel: [ 248.125812] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:41:48 kernel: [ 250.134075] megaraid mbox: reset sequence completed sucessfully Jan 31 14:41:58 kernel: [ 260.117201] megaraid: aborting-16 cmd=0 c=0 t=12 l=0Jan 31 14:41:58 kernel: [ 260.117207] megaraid abort: 16:0[0:12], fw owner Jan 31 14:41:58 kernel: [ 260.117217] megaraid: 1 outstanding commands. Max wait 300 sec Jan 31 14:41:58 kernel: [ 260.117223] megaraid mbox: Wait for 1 commands to complete:300 Jan 31 14:42:03 kernel: [ 265.127417] megaraid mbox: Wait for 1 commands to complete:295 Jan 31 14:42:08 kernel: [ 270.140211] megaraid mbox: Wait for 1 commands to complete:290 Jan 31 14:42:12 kernel: [ 274.146803] megaraid mbox: reset sequence completed sucessfully [ nothing else that appears relevant ] -- Matthias Urlichs | {M:U} IT Design @ m-u-it.de | [EMAIL PROTECTED] Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de - - Those who welcome death have only tried it from the ears up. -- Wilson Mizner - To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
Patro, Sumant wrote: Hello Randy, At this time I am not trying to modify the function comment style of existing megaraid_mbox code. For the new function the description style is in sync with the preexisting code. So, I request for the patch to be accepted in its current submitted form. I have no problem with that as long as you'll allow it to be corrected to match kernel-doc syntax. Or don't use kernel-doc syntax there at all. Regards, Sumant -Original Message- From: Randy Dunlap [mailto:[EMAIL PROTECTED] Sent: Friday, January 05, 2007 1:35 PM To: Patro, Sumant Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Kolli, Neela; Yang, Bo; Patro, Sumant Subject: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump On Fri, 05 Jan 2007 07:10:09 -0800 Sumant Patro wrote: Hi, --- Documentation/scsi/ChangeLog.megaraid | 16 ++ drivers/scsi/megaraid/megaraid_mbox.c | 140 +++- drivers/scsi/megaraid/megaraid_mbox.h |4 3 files changed, 130 insertions(+), 30 deletions(-) diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2007-01-04 11:22:21.0 -0800 @@ -3380,6 +3386,84 @@ megaraid_mbox_flush_cache(adapter_t *ada /** + * megaraid_mbox_fire_sync_cmd - fire the sync cmd + * @param adapter : soft state for the controller That (above) should just be: * @adapter: (plus its description; the description there doesn't seem to agree with its parameter name). + * + * Clears the pending cmds in FW and reinits its RAID structs */ +static int megaraid_mbox_fire_sync_cmd(adapter_t *adapter) { + mbox_t *mbox; + uint8_t raw_mbox[sizeof(mbox_t)]; + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); + mbox64_t *mbox64; + int status = 0; + int i; + uint32_t dword; + + mbox = (mbox_t *)raw_mbox; + + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); + + raw_mbox[0] = 0xFF; + + mbox64 = raid_dev->mbox64; + mbox= raid_dev->mbox; + + /* Wait until mailbox is free */ + if (megaraid_busywait_mbox(raid_dev) != 0) { + status = 1; + goto blocked_mailbox; + } + + /* Copy mailbox data into host structure */ + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); + mbox->cmdid = 0xFE; + mbox->busy = 1; + mbox->poll = 0; + mbox->ack= 0; + mbox->numstatus = 0; + mbox->status = 0; + + wmb(); + WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); + + /* Wait for maximum 1 min for status to post. +* If the Firmware SUPPORTS the ABOVE COMMAND, +* mbox->cmd will be set to 0 +* else +* the firmware will reject the command with +* mbox->numstatus set to 1 +*/ + + i = 0; + status = 0; + while (!mbox->numstatus && mbox->cmd == 0xFF) { + rmb(); + msleep(1); + i++; + if (i > 1000 * 60) { + status = 1; + break; + } + } + if (mbox->numstatus == 1) + status = 1; /*cmd not supported*/ + + /* Check for interrupt line */ + dword = RDOUTDOOR(raid_dev); + WROUTDOOR(raid_dev, dword); + WRINDOOR(raid_dev,2); + + return status; + +blocked_mailbox: + con_log(CL_ANN, (KERN_WARNING "megaraid: blocked mailbox\n")); + return status; +} + +/** * megaraid_mbox_display_scb - display SCB information, mostly debug purposes * @param adapter : controllers' soft state * @param scb : SCB to be displayed I haven't looked at the entire source file, but these extra "param" words should not be there. kernel-doc syntax is just @name: description --- ~Randy -- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
Hello Randy, At this time I am not trying to modify the function comment style of existing megaraid_mbox code. For the new function the description style is in sync with the preexisting code. So, I request for the patch to be accepted in its current submitted form. Regards, Sumant -Original Message- From: Randy Dunlap [mailto:[EMAIL PROTECTED] Sent: Friday, January 05, 2007 1:35 PM To: Patro, Sumant Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Kolli, Neela; Yang, Bo; Patro, Sumant Subject: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump On Fri, 05 Jan 2007 07:10:09 -0800 Sumant Patro wrote: Hi, > --- > > Documentation/scsi/ChangeLog.megaraid | 16 ++ > drivers/scsi/megaraid/megaraid_mbox.c | 140 +++- > drivers/scsi/megaraid/megaraid_mbox.h |4 > 3 files changed, 130 insertions(+), 30 deletions(-) > > diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c > --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 > +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2007-01-04 11:22:21.0 -0800 > @@ -3380,6 +3386,84 @@ megaraid_mbox_flush_cache(adapter_t *ada > > > /** > + * megaraid_mbox_fire_sync_cmd - fire the sync cmd > + * @param adapter: soft state for the controller That (above) should just be: * @adapter: (plus its description; the description there doesn't seem to agree with its parameter name). > + * > + * Clears the pending cmds in FW and reinits its RAID structs */ > +static int megaraid_mbox_fire_sync_cmd(adapter_t *adapter) { > + mbox_t *mbox; > + uint8_t raw_mbox[sizeof(mbox_t)]; > + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); > + mbox64_t *mbox64; > + int status = 0; > + int i; > + uint32_t dword; > + > + mbox = (mbox_t *)raw_mbox; > + > + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); > + > + raw_mbox[0] = 0xFF; > + > + mbox64 = raid_dev->mbox64; > + mbox= raid_dev->mbox; > + > + /* Wait until mailbox is free */ > + if (megaraid_busywait_mbox(raid_dev) != 0) { > + status = 1; > + goto blocked_mailbox; > + } > + > + /* Copy mailbox data into host structure */ > + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); > + mbox->cmdid = 0xFE; > + mbox->busy = 1; > + mbox->poll = 0; > + mbox->ack = 0; > + mbox->numstatus = 0; > + mbox->status= 0; > + > + wmb(); > + WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); > + > + /* Wait for maximum 1 min for status to post. > + * If the Firmware SUPPORTS the ABOVE COMMAND, > + * mbox->cmd will be set to 0 > + * else > + * the firmware will reject the command with > + * mbox->numstatus set to 1 > + */ > + > + i = 0; > + status = 0; > + while (!mbox->numstatus && mbox->cmd == 0xFF) { > + rmb(); > + msleep(1); > + i++; > + if (i > 1000 * 60) { > + status = 1; > + break; > + } > + } > + if (mbox->numstatus == 1) > + status = 1; /*cmd not supported*/ > + > + /* Check for interrupt line */ > + dword = RDOUTDOOR(raid_dev); > + WROUTDOOR(raid_dev, dword); > + WRINDOOR(raid_dev,2); > + > + return status; > + > +blocked_mailbox: > + con_log(CL_ANN, (KERN_WARNING "megaraid: blocked mailbox\n")); > + return status; > +} > + > +/** > * megaraid_mbox_display_scb - display SCB information, mostly debug purposes > * @param adapter: controllers' soft state > * @param scb : SCB to be displayed I haven't looked at the entire source file, but these extra "param" words should not be there. kernel-doc syntax is just @name: description --- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
On Fri, 05 Jan 2007 07:10:09 -0800 Sumant Patro wrote: Hi, > --- > > Documentation/scsi/ChangeLog.megaraid | 16 ++ > drivers/scsi/megaraid/megaraid_mbox.c | 140 +++- > drivers/scsi/megaraid/megaraid_mbox.h |4 > 3 files changed, 130 insertions(+), 30 deletions(-) > > diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c > linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c > --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 > 09:56:04.0 -0800 > +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2007-01-04 > 11:22:21.0 -0800 > @@ -3380,6 +3386,84 @@ megaraid_mbox_flush_cache(adapter_t *ada > > > /** > + * megaraid_mbox_fire_sync_cmd - fire the sync cmd > + * @param adapter: soft state for the controller That (above) should just be: * @adapter: (plus its description; the description there doesn't seem to agree with its parameter name). > + * > + * Clears the pending cmds in FW and reinits its RAID structs > + */ > +static int > +megaraid_mbox_fire_sync_cmd(adapter_t *adapter) > +{ > + mbox_t *mbox; > + uint8_t raw_mbox[sizeof(mbox_t)]; > + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); > + mbox64_t *mbox64; > + int status = 0; > + int i; > + uint32_t dword; > + > + mbox = (mbox_t *)raw_mbox; > + > + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); > + > + raw_mbox[0] = 0xFF; > + > + mbox64 = raid_dev->mbox64; > + mbox= raid_dev->mbox; > + > + /* Wait until mailbox is free */ > + if (megaraid_busywait_mbox(raid_dev) != 0) { > + status = 1; > + goto blocked_mailbox; > + } > + > + /* Copy mailbox data into host structure */ > + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); > + mbox->cmdid = 0xFE; > + mbox->busy = 1; > + mbox->poll = 0; > + mbox->ack = 0; > + mbox->numstatus = 0; > + mbox->status= 0; > + > + wmb(); > + WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); > + > + /* Wait for maximum 1 min for status to post. > + * If the Firmware SUPPORTS the ABOVE COMMAND, > + * mbox->cmd will be set to 0 > + * else > + * the firmware will reject the command with > + * mbox->numstatus set to 1 > + */ > + > + i = 0; > + status = 0; > + while (!mbox->numstatus && mbox->cmd == 0xFF) { > + rmb(); > + msleep(1); > + i++; > + if (i > 1000 * 60) { > + status = 1; > + break; > + } > + } > + if (mbox->numstatus == 1) > + status = 1; /*cmd not supported*/ > + > + /* Check for interrupt line */ > + dword = RDOUTDOOR(raid_dev); > + WROUTDOOR(raid_dev, dword); > + WRINDOOR(raid_dev,2); > + > + return status; > + > +blocked_mailbox: > + con_log(CL_ANN, (KERN_WARNING "megaraid: blocked mailbox\n")); > + return status; > +} > + > +/** > * megaraid_mbox_display_scb - display SCB information, mostly debug purposes > * @param adapter: controllers' soft state > * @param scb : SCB to be displayed I haven't looked at the entire source file, but these extra "param" words should not be there. kernel-doc syntax is just @name: description --- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
On Fri, 05 Jan 2007 07:10:09 -0800 Sumant Patro wrote: Hi, --- Documentation/scsi/ChangeLog.megaraid | 16 ++ drivers/scsi/megaraid/megaraid_mbox.c | 140 +++- drivers/scsi/megaraid/megaraid_mbox.h |4 3 files changed, 130 insertions(+), 30 deletions(-) diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2007-01-04 11:22:21.0 -0800 @@ -3380,6 +3386,84 @@ megaraid_mbox_flush_cache(adapter_t *ada /** + * megaraid_mbox_fire_sync_cmd - fire the sync cmd + * @param adapter: soft state for the controller That (above) should just be: * @adapter: (plus its description; the description there doesn't seem to agree with its parameter name). + * + * Clears the pending cmds in FW and reinits its RAID structs + */ +static int +megaraid_mbox_fire_sync_cmd(adapter_t *adapter) +{ + mbox_t *mbox; + uint8_t raw_mbox[sizeof(mbox_t)]; + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); + mbox64_t *mbox64; + int status = 0; + int i; + uint32_t dword; + + mbox = (mbox_t *)raw_mbox; + + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); + + raw_mbox[0] = 0xFF; + + mbox64 = raid_dev-mbox64; + mbox= raid_dev-mbox; + + /* Wait until mailbox is free */ + if (megaraid_busywait_mbox(raid_dev) != 0) { + status = 1; + goto blocked_mailbox; + } + + /* Copy mailbox data into host structure */ + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); + mbox-cmdid = 0xFE; + mbox-busy = 1; + mbox-poll = 0; + mbox-ack = 0; + mbox-numstatus = 0; + mbox-status= 0; + + wmb(); + WRINDOOR(raid_dev, raid_dev-mbox_dma | 0x1); + + /* Wait for maximum 1 min for status to post. + * If the Firmware SUPPORTS the ABOVE COMMAND, + * mbox-cmd will be set to 0 + * else + * the firmware will reject the command with + * mbox-numstatus set to 1 + */ + + i = 0; + status = 0; + while (!mbox-numstatus mbox-cmd == 0xFF) { + rmb(); + msleep(1); + i++; + if (i 1000 * 60) { + status = 1; + break; + } + } + if (mbox-numstatus == 1) + status = 1; /*cmd not supported*/ + + /* Check for interrupt line */ + dword = RDOUTDOOR(raid_dev); + WROUTDOOR(raid_dev, dword); + WRINDOOR(raid_dev,2); + + return status; + +blocked_mailbox: + con_log(CL_ANN, (KERN_WARNING megaraid: blocked mailbox\n)); + return status; +} + +/** * megaraid_mbox_display_scb - display SCB information, mostly debug purposes * @param adapter: controllers' soft state * @param scb : SCB to be displayed I haven't looked at the entire source file, but these extra param words should not be there. kernel-doc syntax is just @name: description --- ~Randy - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
Hello Randy, At this time I am not trying to modify the function comment style of existing megaraid_mbox code. For the new function the description style is in sync with the preexisting code. So, I request for the patch to be accepted in its current submitted form. Regards, Sumant -Original Message- From: Randy Dunlap [mailto:[EMAIL PROTECTED] Sent: Friday, January 05, 2007 1:35 PM To: Patro, Sumant Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Kolli, Neela; Yang, Bo; Patro, Sumant Subject: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump On Fri, 05 Jan 2007 07:10:09 -0800 Sumant Patro wrote: Hi, --- Documentation/scsi/ChangeLog.megaraid | 16 ++ drivers/scsi/megaraid/megaraid_mbox.c | 140 +++- drivers/scsi/megaraid/megaraid_mbox.h |4 3 files changed, 130 insertions(+), 30 deletions(-) diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2007-01-04 11:22:21.0 -0800 @@ -3380,6 +3386,84 @@ megaraid_mbox_flush_cache(adapter_t *ada /** + * megaraid_mbox_fire_sync_cmd - fire the sync cmd + * @param adapter: soft state for the controller That (above) should just be: * @adapter: (plus its description; the description there doesn't seem to agree with its parameter name). + * + * Clears the pending cmds in FW and reinits its RAID structs */ +static int megaraid_mbox_fire_sync_cmd(adapter_t *adapter) { + mbox_t *mbox; + uint8_t raw_mbox[sizeof(mbox_t)]; + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); + mbox64_t *mbox64; + int status = 0; + int i; + uint32_t dword; + + mbox = (mbox_t *)raw_mbox; + + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); + + raw_mbox[0] = 0xFF; + + mbox64 = raid_dev-mbox64; + mbox= raid_dev-mbox; + + /* Wait until mailbox is free */ + if (megaraid_busywait_mbox(raid_dev) != 0) { + status = 1; + goto blocked_mailbox; + } + + /* Copy mailbox data into host structure */ + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); + mbox-cmdid = 0xFE; + mbox-busy = 1; + mbox-poll = 0; + mbox-ack = 0; + mbox-numstatus = 0; + mbox-status= 0; + + wmb(); + WRINDOOR(raid_dev, raid_dev-mbox_dma | 0x1); + + /* Wait for maximum 1 min for status to post. + * If the Firmware SUPPORTS the ABOVE COMMAND, + * mbox-cmd will be set to 0 + * else + * the firmware will reject the command with + * mbox-numstatus set to 1 + */ + + i = 0; + status = 0; + while (!mbox-numstatus mbox-cmd == 0xFF) { + rmb(); + msleep(1); + i++; + if (i 1000 * 60) { + status = 1; + break; + } + } + if (mbox-numstatus == 1) + status = 1; /*cmd not supported*/ + + /* Check for interrupt line */ + dword = RDOUTDOOR(raid_dev); + WROUTDOOR(raid_dev, dword); + WRINDOOR(raid_dev,2); + + return status; + +blocked_mailbox: + con_log(CL_ANN, (KERN_WARNING megaraid: blocked mailbox\n)); + return status; +} + +/** * megaraid_mbox_display_scb - display SCB information, mostly debug purposes * @param adapter: controllers' soft state * @param scb : SCB to be displayed I haven't looked at the entire source file, but these extra param words should not be there. kernel-doc syntax is just @name: description --- ~Randy - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump
Patro, Sumant wrote: Hello Randy, At this time I am not trying to modify the function comment style of existing megaraid_mbox code. For the new function the description style is in sync with the preexisting code. So, I request for the patch to be accepted in its current submitted form. I have no problem with that as long as you'll allow it to be corrected to match kernel-doc syntax. Or don't use kernel-doc syntax there at all. Regards, Sumant -Original Message- From: Randy Dunlap [mailto:[EMAIL PROTECTED] Sent: Friday, January 05, 2007 1:35 PM To: Patro, Sumant Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Kolli, Neela; Yang, Bo; Patro, Sumant Subject: Re: [PATCH] scsi: megaraid_{mm,mbox} init fix for kdump On Fri, 05 Jan 2007 07:10:09 -0800 Sumant Patro wrote: Hi, --- Documentation/scsi/ChangeLog.megaraid | 16 ++ drivers/scsi/megaraid/megaraid_mbox.c | 140 +++- drivers/scsi/megaraid/megaraid_mbox.h |4 3 files changed, 130 insertions(+), 30 deletions(-) diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2007-01-04 11:22:21.0 -0800 @@ -3380,6 +3386,84 @@ megaraid_mbox_flush_cache(adapter_t *ada /** + * megaraid_mbox_fire_sync_cmd - fire the sync cmd + * @param adapter : soft state for the controller That (above) should just be: * @adapter: (plus its description; the description there doesn't seem to agree with its parameter name). + * + * Clears the pending cmds in FW and reinits its RAID structs */ +static int megaraid_mbox_fire_sync_cmd(adapter_t *adapter) { + mbox_t *mbox; + uint8_t raw_mbox[sizeof(mbox_t)]; + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); + mbox64_t *mbox64; + int status = 0; + int i; + uint32_t dword; + + mbox = (mbox_t *)raw_mbox; + + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); + + raw_mbox[0] = 0xFF; + + mbox64 = raid_dev-mbox64; + mbox= raid_dev-mbox; + + /* Wait until mailbox is free */ + if (megaraid_busywait_mbox(raid_dev) != 0) { + status = 1; + goto blocked_mailbox; + } + + /* Copy mailbox data into host structure */ + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); + mbox-cmdid = 0xFE; + mbox-busy = 1; + mbox-poll = 0; + mbox-ack= 0; + mbox-numstatus = 0; + mbox-status = 0; + + wmb(); + WRINDOOR(raid_dev, raid_dev-mbox_dma | 0x1); + + /* Wait for maximum 1 min for status to post. +* If the Firmware SUPPORTS the ABOVE COMMAND, +* mbox-cmd will be set to 0 +* else +* the firmware will reject the command with +* mbox-numstatus set to 1 +*/ + + i = 0; + status = 0; + while (!mbox-numstatus mbox-cmd == 0xFF) { + rmb(); + msleep(1); + i++; + if (i 1000 * 60) { + status = 1; + break; + } + } + if (mbox-numstatus == 1) + status = 1; /*cmd not supported*/ + + /* Check for interrupt line */ + dword = RDOUTDOOR(raid_dev); + WROUTDOOR(raid_dev, dword); + WRINDOOR(raid_dev,2); + + return status; + +blocked_mailbox: + con_log(CL_ANN, (KERN_WARNING megaraid: blocked mailbox\n)); + return status; +} + +/** * megaraid_mbox_display_scb - display SCB information, mostly debug purposes * @param adapter : controllers' soft state * @param scb : SCB to be displayed I haven't looked at the entire source file, but these extra param words should not be there. kernel-doc syntax is just @name: description --- ~Randy -- ~Randy - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
Thanks for the review. I will resubmit the patch. Regards, Sumant -Original Message- From: Randy Dunlap [mailto:[EMAIL PROTECTED] Sent: Friday, December 29, 2006 1:38 PM To: Patro, Sumant Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Kolli, Neela; Yang, Bo; Patro, Sumant Subject: Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: See Documentation/SubmittingPatches: Please include output of "diffstat -p1 -w70" so that we can easily see the scope of the changes. and see Documentation/CodingStyle for comments below: > diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c > linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c > --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 > 09:56:04.0 -0800 > +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 > +++ 05:31:48.0 -0800 > @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) > goto out_release_regions; > } > > + // initialize the mutual exclusion lock for the mailbox > + spin_lock_init(_dev->mailbox_lock); Linux uses /*...*/ C89-style comments, not // C99 comments. > + // allocate memory required for commands > + if (megaraid_alloc_cmd_packets(adapter) != 0) { > + goto out_iounmap; > + } > + > + /* > + * Issue SYNC cmd to flush the pending cmds in the adapter > + * and initialize its internal state > + */ > + > + if (megaraid_mbox_fire_sync_cmd(adapter)) > + con_log(CL_ANN, ("megaraid: sync cmd failed\n")); > + > // Product info > if (megaraid_mbox_product_info(adapter) != 0) { > - goto out_alloc_cmds; > + goto out_free_irq; Don't uses {} braces around 1-statement "blocks". > @@ -875,7 +883,7 @@ megaraid_init_mbox(adapter_t *adapter) >* accessed >*/ > if (megaraid_sysfs_alloc_resources(adapter) != 0) { > - goto out_alloc_cmds; > + goto out_free_irq; Ditto. > } > > // Set the DMA mask to 64-bit. All supported controllers as capable > of @@ -3380,6 +3388,86 @@ megaraid_mbox_flush_cache(adapter_t *ada > > > /** > + * megaraid_mbox_fire_sync_cmd - fire the sync cmd > + * @param adapter: soft state for the controller > + */ > +static int > +megaraid_mbox_fire_sync_cmd(adapter_t *adapter) { > + mbox_t *mbox; > + uint8_t raw_mbox[sizeof(mbox_t)]; > + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); > + mbox64_t *mbox64; > + uint8_t status = 0; > + int i; > + uint32_t dword; > + > + mbox = (mbox_t *)raw_mbox; > + > + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); > + > + raw_mbox[0] = 0xFF; > + > + mbox64 = raid_dev->mbox64; > + mbox= raid_dev->mbox; > + > + /* > + * Wait until mailbox is free > + */ > + if (megaraid_busywait_mbox(raid_dev) != 0) { > + status = 1; > + goto blocked_mailbox; > + } > + > + /* > + * Copy mailbox data into host structure > + */ > + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); > + mbox->cmdid = 0xFE; > + mbox->busy = 1; > + mbox->poll = 0; > + mbox->ack = 0; > + mbox->numstatus = 0; > + mbox->status= 0; > + > + wmb(); > + WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); > + > + // wait for maximum 1 min for status to post. > + // If the Firmware SUPPORTS the ABOVE COMMAND, > + // mbox->cmd will be set to 0 > + // else > + // the firmware will reject the command with > + // mbox->numstatus set to 1 Don't use // comment style. Also, for multi-line comments in Linux, please use this preferred style: /* * This is the preferred style for multi-line * comments in the Linux kernel source code. * Please use it consistently. * * Description: A column of asterisks on the left side, * with beginning and ending almost-blank lines. */ Thanks. --- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
RE: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
Thanks for the review. I will resubmit the patch. Regards, Sumant -Original Message- From: Randy Dunlap [mailto:[EMAIL PROTECTED] Sent: Friday, December 29, 2006 1:38 PM To: Patro, Sumant Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Kolli, Neela; Yang, Bo; Patro, Sumant Subject: Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: See Documentation/SubmittingPatches: Please include output of diffstat -p1 -w70 so that we can easily see the scope of the changes. and see Documentation/CodingStyle for comments below: diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 +++ 05:31:48.0 -0800 @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) goto out_release_regions; } + // initialize the mutual exclusion lock for the mailbox + spin_lock_init(raid_dev-mailbox_lock); Linux uses /*...*/ C89-style comments, not // C99 comments. + // allocate memory required for commands + if (megaraid_alloc_cmd_packets(adapter) != 0) { + goto out_iounmap; + } + + /* + * Issue SYNC cmd to flush the pending cmds in the adapter + * and initialize its internal state + */ + + if (megaraid_mbox_fire_sync_cmd(adapter)) + con_log(CL_ANN, (megaraid: sync cmd failed\n)); + // Product info if (megaraid_mbox_product_info(adapter) != 0) { - goto out_alloc_cmds; + goto out_free_irq; Don't uses {} braces around 1-statement blocks. @@ -875,7 +883,7 @@ megaraid_init_mbox(adapter_t *adapter) * accessed */ if (megaraid_sysfs_alloc_resources(adapter) != 0) { - goto out_alloc_cmds; + goto out_free_irq; Ditto. } // Set the DMA mask to 64-bit. All supported controllers as capable of @@ -3380,6 +3388,86 @@ megaraid_mbox_flush_cache(adapter_t *ada /** + * megaraid_mbox_fire_sync_cmd - fire the sync cmd + * @param adapter: soft state for the controller + */ +static int +megaraid_mbox_fire_sync_cmd(adapter_t *adapter) { + mbox_t *mbox; + uint8_t raw_mbox[sizeof(mbox_t)]; + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); + mbox64_t *mbox64; + uint8_t status = 0; + int i; + uint32_t dword; + + mbox = (mbox_t *)raw_mbox; + + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); + + raw_mbox[0] = 0xFF; + + mbox64 = raid_dev-mbox64; + mbox= raid_dev-mbox; + + /* + * Wait until mailbox is free + */ + if (megaraid_busywait_mbox(raid_dev) != 0) { + status = 1; + goto blocked_mailbox; + } + + /* + * Copy mailbox data into host structure + */ + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); + mbox-cmdid = 0xFE; + mbox-busy = 1; + mbox-poll = 0; + mbox-ack = 0; + mbox-numstatus = 0; + mbox-status= 0; + + wmb(); + WRINDOOR(raid_dev, raid_dev-mbox_dma | 0x1); + + // wait for maximum 1 min for status to post. + // If the Firmware SUPPORTS the ABOVE COMMAND, + // mbox-cmd will be set to 0 + // else + // the firmware will reject the command with + // mbox-numstatus set to 1 Don't use // comment style. Also, for multi-line comments in Linux, please use this preferred style: /* * This is the preferred style for multi-line * comments in the Linux kernel source code. * Please use it consistently. * * Description: A column of asterisks on the left side, * with beginning and ending almost-blank lines. */ Thanks. --- ~Randy - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
On Sat, 30 Dec 2006 09:31:38 -0500 Douglas Gilbert wrote: > Randy Dunlap wrote: > > On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: > > > > See Documentation/SubmittingPatches: > > Please include output of "diffstat -p1 -w70" so that we can easily see > > the scope of the changes. > > > > and see Documentation/CodingStyle for comments below: > > > > > >> diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c > >> linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c > >> --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 > >> 09:56:04.0 -0800 > >> +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 > >> 05:31:48.0 -0800 > >> @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) > >>goto out_release_regions; > >>} > >> > >> + // initialize the mutual exclusion lock for the mailbox > >> + spin_lock_init(_dev->mailbox_lock); > > > > Linux uses /*...*/ C89-style comments, not // C99 comments. > > Randy > It is about time this absurd stipulation was dropped. > Are there any C compilers that can compile the linux > kernel and that don't accept both _standard_ comment styles? It's not a technical issue, it's just a style point. --- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
Randy Dunlap wrote: > On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: > > See Documentation/SubmittingPatches: > Please include output of "diffstat -p1 -w70" so that we can easily see > the scope of the changes. > > and see Documentation/CodingStyle for comments below: > > >> diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c >> linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c >> --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 >> 09:56:04.0 -0800 >> +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 >> 05:31:48.0 -0800 >> @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) >> goto out_release_regions; >> } >> >> +// initialize the mutual exclusion lock for the mailbox >> +spin_lock_init(_dev->mailbox_lock); > > Linux uses /*...*/ C89-style comments, not // C99 comments. Randy It is about time this absurd stipulation was dropped. Are there any C compilers that can compile the linux kernel and that don't accept both _standard_ comment styles? Doug Gilbert - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
Randy Dunlap wrote: On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: See Documentation/SubmittingPatches: Please include output of diffstat -p1 -w70 so that we can easily see the scope of the changes. and see Documentation/CodingStyle for comments below: diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 05:31:48.0 -0800 @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) goto out_release_regions; } +// initialize the mutual exclusion lock for the mailbox +spin_lock_init(raid_dev-mailbox_lock); Linux uses /*...*/ C89-style comments, not // C99 comments. Randy It is about time this absurd stipulation was dropped. Are there any C compilers that can compile the linux kernel and that don't accept both _standard_ comment styles? Doug Gilbert - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
On Sat, 30 Dec 2006 09:31:38 -0500 Douglas Gilbert wrote: Randy Dunlap wrote: On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: See Documentation/SubmittingPatches: Please include output of diffstat -p1 -w70 so that we can easily see the scope of the changes. and see Documentation/CodingStyle for comments below: diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 05:31:48.0 -0800 @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) goto out_release_regions; } + // initialize the mutual exclusion lock for the mailbox + spin_lock_init(raid_dev-mailbox_lock); Linux uses /*...*/ C89-style comments, not // C99 comments. Randy It is about time this absurd stipulation was dropped. Are there any C compilers that can compile the linux kernel and that don't accept both _standard_ comment styles? It's not a technical issue, it's just a style point. --- ~Randy - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: See Documentation/SubmittingPatches: Please include output of "diffstat -p1 -w70" so that we can easily see the scope of the changes. and see Documentation/CodingStyle for comments below: > diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c > linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c > --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 > 09:56:04.0 -0800 > +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 > 05:31:48.0 -0800 > @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) > goto out_release_regions; > } > > + // initialize the mutual exclusion lock for the mailbox > + spin_lock_init(_dev->mailbox_lock); Linux uses /*...*/ C89-style comments, not // C99 comments. > + // allocate memory required for commands > + if (megaraid_alloc_cmd_packets(adapter) != 0) { > + goto out_iounmap; > + } > + > + /* > + * Issue SYNC cmd to flush the pending cmds in the adapter > + * and initialize its internal state > + */ > + > + if (megaraid_mbox_fire_sync_cmd(adapter)) > + con_log(CL_ANN, ("megaraid: sync cmd failed\n")); > + > // Product info > if (megaraid_mbox_product_info(adapter) != 0) { > - goto out_alloc_cmds; > + goto out_free_irq; Don't uses {} braces around 1-statement "blocks". > @@ -875,7 +883,7 @@ megaraid_init_mbox(adapter_t *adapter) >* accessed >*/ > if (megaraid_sysfs_alloc_resources(adapter) != 0) { > - goto out_alloc_cmds; > + goto out_free_irq; Ditto. > } > > // Set the DMA mask to 64-bit. All supported controllers as capable of > @@ -3380,6 +3388,86 @@ megaraid_mbox_flush_cache(adapter_t *ada > > > /** > + * megaraid_mbox_fire_sync_cmd - fire the sync cmd > + * @param adapter: soft state for the controller > + */ > +static int > +megaraid_mbox_fire_sync_cmd(adapter_t *adapter) > +{ > + mbox_t *mbox; > + uint8_t raw_mbox[sizeof(mbox_t)]; > + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); > + mbox64_t *mbox64; > + uint8_t status = 0; > + int i; > + uint32_t dword; > + > + mbox = (mbox_t *)raw_mbox; > + > + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); > + > + raw_mbox[0] = 0xFF; > + > + mbox64 = raid_dev->mbox64; > + mbox= raid_dev->mbox; > + > + /* > + * Wait until mailbox is free > + */ > + if (megaraid_busywait_mbox(raid_dev) != 0) { > + status = 1; > + goto blocked_mailbox; > + } > + > + /* > + * Copy mailbox data into host structure > + */ > + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); > + mbox->cmdid = 0xFE; > + mbox->busy = 1; > + mbox->poll = 0; > + mbox->ack = 0; > + mbox->numstatus = 0; > + mbox->status= 0; > + > + wmb(); > + WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); > + > + // wait for maximum 1 min for status to post. > + // If the Firmware SUPPORTS the ABOVE COMMAND, > + // mbox->cmd will be set to 0 > + // else > + // the firmware will reject the command with > + // mbox->numstatus set to 1 Don't use // comment style. Also, for multi-line comments in Linux, please use this preferred style: /* * This is the preferred style for multi-line * comments in the Linux kernel source code. * Please use it consistently. * * Description: A column of asterisks on the left side, * with beginning and ending almost-blank lines. */ Thanks. --- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] scsi: megaraid_{mm,mbox}: init fix for kdump
On Fri, 29 Dec 2006 08:02:17 -0800 Sumant Patro wrote: See Documentation/SubmittingPatches: Please include output of diffstat -p1 -w70 so that we can easily see the scope of the changes. and see Documentation/CodingStyle for comments below: diff -uprN linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-28 09:56:04.0 -0800 +++ linux-2.6.new/drivers/scsi/megaraid/megaraid_mbox.c 2006-12-29 05:31:48.0 -0800 @@ -779,6 +780,22 @@ megaraid_init_mbox(adapter_t *adapter) goto out_release_regions; } + // initialize the mutual exclusion lock for the mailbox + spin_lock_init(raid_dev-mailbox_lock); Linux uses /*...*/ C89-style comments, not // C99 comments. + // allocate memory required for commands + if (megaraid_alloc_cmd_packets(adapter) != 0) { + goto out_iounmap; + } + + /* + * Issue SYNC cmd to flush the pending cmds in the adapter + * and initialize its internal state + */ + + if (megaraid_mbox_fire_sync_cmd(adapter)) + con_log(CL_ANN, (megaraid: sync cmd failed\n)); + // Product info if (megaraid_mbox_product_info(adapter) != 0) { - goto out_alloc_cmds; + goto out_free_irq; Don't uses {} braces around 1-statement blocks. @@ -875,7 +883,7 @@ megaraid_init_mbox(adapter_t *adapter) * accessed */ if (megaraid_sysfs_alloc_resources(adapter) != 0) { - goto out_alloc_cmds; + goto out_free_irq; Ditto. } // Set the DMA mask to 64-bit. All supported controllers as capable of @@ -3380,6 +3388,86 @@ megaraid_mbox_flush_cache(adapter_t *ada /** + * megaraid_mbox_fire_sync_cmd - fire the sync cmd + * @param adapter: soft state for the controller + */ +static int +megaraid_mbox_fire_sync_cmd(adapter_t *adapter) +{ + mbox_t *mbox; + uint8_t raw_mbox[sizeof(mbox_t)]; + mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); + mbox64_t *mbox64; + uint8_t status = 0; + int i; + uint32_t dword; + + mbox = (mbox_t *)raw_mbox; + + memset((caddr_t)raw_mbox, 0, sizeof(mbox_t)); + + raw_mbox[0] = 0xFF; + + mbox64 = raid_dev-mbox64; + mbox= raid_dev-mbox; + + /* + * Wait until mailbox is free + */ + if (megaraid_busywait_mbox(raid_dev) != 0) { + status = 1; + goto blocked_mailbox; + } + + /* + * Copy mailbox data into host structure + */ + memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16); + mbox-cmdid = 0xFE; + mbox-busy = 1; + mbox-poll = 0; + mbox-ack = 0; + mbox-numstatus = 0; + mbox-status= 0; + + wmb(); + WRINDOOR(raid_dev, raid_dev-mbox_dma | 0x1); + + // wait for maximum 1 min for status to post. + // If the Firmware SUPPORTS the ABOVE COMMAND, + // mbox-cmd will be set to 0 + // else + // the firmware will reject the command with + // mbox-numstatus set to 1 Don't use // comment style. Also, for multi-line comments in Linux, please use this preferred style: /* * This is the preferred style for multi-line * comments in the Linux kernel source code. * Please use it consistently. * * Description: A column of asterisks on the left side, * with beginning and ending almost-blank lines. */ Thanks. --- ~Randy - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/