From ram_sunee at yahoo.com Fri Feb 1 07:40:18 2013 From: ram_sunee at yahoo.com (Ramesh Mangamuri) Date: Fri, 1 Feb 2013 07:40:18 -0800 (PST) Subject: [nvmewin] hello! Message-ID: <1359733218.47590.YahooMailNeo@web163903.mail.gq1.yahoo.com> hello! http://tasvirgostaran.com/templates/beez/gwwol.php Ramesh Mangamuri -------------- next part -------------- An HTML attachment was scrubbed... URL: From Kwok.Kong at idt.com Wed Feb 6 16:38:34 2013 From: Kwok.Kong at idt.com (Kong, Kwok) Date: Thu, 7 Feb 2013 00:38:34 +0000 Subject: [nvmewin] Candidate features to be included for the 2013 driver release Message-ID: <05CD7821AE397547A01AC160FBC231474BC7341B@corpmail1.na.ads.idt.com> All, This is a list of possible features that we would like to include in the 2013 releases. Please review them before next Wed's meeting and be prepared to sign up for the features. Please email out your features proposal if they are missing from this list proposal. I would like everyone to remember a couple of rules when we make any decision on whether a feature should be included or not: A feature is not included in any release if it is not supported by Windows or it cannot be tested with any hardware or QEMU. Support additional Windows versions: (We support Windows 7 64-bit currently) - Windows 7 32-bit - Windows 8 32-bit - Windows 8 64-bit - Windows server 2008 64-bit - Windows server 2012 64-bit Support Windows 8 features: - Extended SRB format - TRIM command - SMART handling via new Extended SRB format NVMe 1.00e support: - ECN 19, ECN 24-33 NVMe 1.1 support: - multi-path - SGL - Get/Set feature update - Autonomous power state transition - Host Identifier - Reservation Notification Mask - Reservation Persistence - Get log page - Active Firmware info update - identify structure update - write zeros command Other feature: - Hibernation as a boot drive - End-to-end protection From Alex.Chang at idt.com Thu Feb 7 18:21:07 2013 From: Alex.Chang at idt.com (Chang, Alex) Date: Fri, 8 Feb 2013 02:21:07 +0000 Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select In-Reply-To: <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: source_02072013.zip Type: application/x-zip-compressed Size: 165203 bytes Desc: source_02072013.zip URL: From Kwok.Kong at idt.com Fri Feb 8 09:02:15 2013 From: Kwok.Kong at idt.com (Kong, Kwok) Date: Fri, 8 Feb 2013 17:02:15 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> Message-ID: <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Fri Feb 8 09:08:12 2013 From: Alex.Chang at idt.com (Chang, Alex) Date: Fri, 8 Feb 2013 17:08:12 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> Message-ID: <548C5470AAD9DA4A85D259B663190D361FFD0C77@corpmail1.na.ads.idt.com> Yes, you're right, Kwok. Paul/Ray, Rick, please let us know if you approve it. Thanks, Alex ________________________________ From: Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From Dharani.Kotte at sandisk.com Fri Feb 8 10:09:16 2013 From: Dharani.Kotte at sandisk.com (Dharani Kotte) Date: Fri, 8 Feb 2013 18:09:16 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <548C5470AAD9DA4A85D259B663190D361FFD0C77@corpmail1.na.ads.idt.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <548C5470AAD9DA4A85D259B663190D361FFD0C77@corpmail1.na.ads.idt.com> Message-ID: <23EC73C80FB59046A6B7B8EB7B3826590897BB20@SACMBXIP01.sdcorp.global.sandisk.com> In the function NVMeInitCallback() case NVMeWaitOnLearnMapping: has to be fixed to take care of the condition where the Reads can fail during learning process but still the MSI-x vector is vaild. Hence the NUMA mapping as apart of learning should not be failed. In the else case where we are failing the learning we should set pMMT->Shared = TRUE otherwise the interupt will not get serviced. Thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, February 08, 2013 9:08 AM To: Kong, Kwok; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Yes, you're right, Kwok. Paul/Ray, Rick, please let us know if you approve it. Thanks, Alex ________________________________ From: Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Fri Feb 8 11:33:47 2013 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Fri, 8 Feb 2013 19:33:47 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <548C5470AAD9DA4A85D259B663190D361FFD0C77@corpmail1.na.ads.idt.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <548C5470AAD9DA4A85D259B663190D361FFD0C77@corpmail1.na.ads.idt.com> Message-ID: <49158E750348AA499168FD41D8898360611A6132@FMSMSX105.amr.corp.intel.com> Hi Alex, I'm still reviewing the change. I will should have it reviewed by early next week. Rick/Arpit, have you had a chance to review/test IDT's latest patch? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, February 08, 2013 10:08 AM To: Kong, Kwok; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Yes, you're right, Kwok. Paul/Ray, Rick, please let us know if you approve it. Thanks, Alex ________________________________ From: Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Fri Feb 8 11:53:04 2013 From: Alex.Chang at idt.com (Chang, Alex) Date: Fri, 8 Feb 2013 19:53:04 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <49158E750348AA499168FD41D8898360611A6132@FMSMSX105.amr.corp.intel.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <548C5470AAD9DA4A85D259B663190D361FFD0C77@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D8898360611A6132@FMSMSX105.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D361FFD0CFA@corpmail1.na.ads.idt.com> Thanks, Ray. Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, February 08, 2013 11:34 AM To: Chang, Alex; Kong, Kwok; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, I'm still reviewing the change. I will should have it reviewed by early next week. Rick/Arpit, have you had a chance to review/test IDT's latest patch? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, February 08, 2013 10:08 AM To: Kong, Kwok; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Yes, you're right, Kwok. Paul/Ray, Rick, please let us know if you approve it. Thanks, Alex ________________________________ From: Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From Rick.Knoblaugh at lsi.com Fri Feb 8 14:08:33 2013 From: Rick.Knoblaugh at lsi.com (Knoblaugh, Rick) Date: Fri, 8 Feb 2013 15:08:33 -0700 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> Message-ID: <4565AEA676113A449269C2F3A549520FD374855F@cosmail03.lsi.com> Hi Kwok, Yes, we are good with the patch. Greatly appreciate it. Thanks, -Rick From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Tue Feb 12 16:39:02 2013 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Wed, 13 Feb 2013 00:39:02 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <4565AEA676113A449269C2F3A549520FD374855F@cosmail03.lsi.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <4565AEA676113A449269C2F3A549520FD374855F@cosmail03.lsi.com> Message-ID: <49158E750348AA499168FD41D8898360611C11C3@FMSMSX105.amr.corp.intel.com> Alex, For the Mode Select command translation, why did you modify the code to just add 1 to the mode header address (in RED below) to get to the mode parameter block? Doing so only adds one byte to the address of pModeHeader6/pModeHeader10. You don't want to add one byte to the pointer address, you want to add the size of the header (6 or 10) to get to the beginning of the mode parameter block (pointer arithmetic). I think the way I had it coded originally was correct. How did you test this? if (isModeSelect10 == FALSE) { /* Mode Select 6 */ pModeHeader6 = (PMODE_PARAMETER_HEADER)(GET_DATA_BUFFER(pSrb)); blockDescLength = pModeHeader6->BlockDescriptorLength; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader6 + 1); } else { /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); blockDescLength = (UINT16) ((pModeHeader10->BlockDescriptorLength[BYTE_0] << 8) | (pModeHeader10->BlockDescriptorLength[BYTE_1])); /* Get LONGLBA */ longLba = pModeHeader10->Reserved[BYTE_0] & LONG_LBA_MASK; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader10 + 1); } For setting the pModePagePtr, I believe the numBlockDesc is also incorrect. You want to advance the pointer to the end of all the block descriptors. The only way to do that is to add the number of block descriptors *times* the size of the block descriptor - pModePagePtr = (PUCHAR)(pModeParamBlock + (numBlockDesc * blockDescLength)); pModePagePtr = (PUCHAR)(pModeParamBlock + numBlockDesc); Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Knoblaugh, Rick Sent: Friday, February 08, 2013 3:09 PM To: Kong, Kwok; Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Hi Kwok, Yes, we are good with the patch. Greatly appreciate it. Thanks, -Rick From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From Alex.Chang at idt.com Tue Feb 12 16:56:49 2013 From: Alex.Chang at idt.com (Chang, Alex) Date: Wed, 13 Feb 2013 00:56:49 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <49158E750348AA499168FD41D8898360611C11C3@FMSMSX105.amr.corp.intel.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <4565AEA676113A449269C2F3A549520FD374855F@cosmail03.lsi.com> <49158E750348AA499168FD41D8898360611C11C3@FMSMSX105.amr.corp.intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D361FFD6ED5@corpmail1.na.ads.idt.com> Hi Ray, The way I discovered the bug was via the Policy Tab of the Property sheet of a given volume. The tab allows you to enable/disable write caching of the device, which goes to Mode Select translation in nvme driver. The data types of pModeHeader and pModeHeader10 are PMODE_PARAMETER_HEADER and PMODE_PARAMETER_HEADER10, respectively. When the pointers are increase by 1, they advance in the size of their associated data structure. In other words, they will point to the beginning of Mode Parameter Block(s). Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Tuesday, February 12, 2013 4:39 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, For the Mode Select command translation, why did you modify the code to just add 1 to the mode header address (in RED below) to get to the mode parameter block? Doing so only adds one byte to the address of pModeHeader6/pModeHeader10. You don't want to add one byte to the pointer address, you want to add the size of the header (6 or 10) to get to the beginning of the mode parameter block (pointer arithmetic). I think the way I had it coded originally was correct. How did you test this? if (isModeSelect10 == FALSE) { /* Mode Select 6 */ pModeHeader6 = (PMODE_PARAMETER_HEADER)(GET_DATA_BUFFER(pSrb)); blockDescLength = pModeHeader6->BlockDescriptorLength; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader6 + 1); } else { /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); blockDescLength = (UINT16) ((pModeHeader10->BlockDescriptorLength[BYTE_0] << 8) | (pModeHeader10->BlockDescriptorLength[BYTE_1])); /* Get LONGLBA */ longLba = pModeHeader10->Reserved[BYTE_0] & LONG_LBA_MASK; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader10 + 1); } For setting the pModePagePtr, I believe the numBlockDesc is also incorrect. You want to advance the pointer to the end of all the block descriptors. The only way to do that is to add the number of block descriptors *times* the size of the block descriptor - pModePagePtr = (PUCHAR)(pModeParamBlock + (numBlockDesc * blockDescLength)); pModePagePtr = (PUCHAR)(pModeParamBlock + numBlockDesc); Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Knoblaugh, Rick Sent: Friday, February 08, 2013 3:09 PM To: Kong, Kwok; Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Hi Kwok, Yes, we are good with the patch. Greatly appreciate it. Thanks, -Rick From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). -------------- next part -------------- An HTML attachment was scrubbed... URL: From raymond.c.robles at intel.com Tue Feb 12 17:39:20 2013 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Wed, 13 Feb 2013 01:39:20 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <548C5470AAD9DA4A85D259B663190D361FFD6ED5@corpmail1.na.ads.idt.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <4565AEA676113A449269C2F3A549520FD374855F@cosmail03.lsi.com> <49158E750348AA499168FD41D8898360611C11C3@FMSMSX105.amr.corp.intel.com>, <548C5470AAD9DA4A85D259B663190D361FFD6ED5@corpmail1.na.ads.idt.com> Message-ID: <09DB7EDC-50D8-4023-A47A-E2F27DFF2BFD@intel.com> Ok, I see what you are doing. You are correct, this should get you to the end of the header. Ok, Im good with these changes. If no other feedback is received by EOD tomorrow, I'll push the patch on Thursday. Thanks for the update Alex. Thanks, Ray On Feb 12, 2013, at 5:57 PM, "Chang, Alex" > wrote: Hi Ray, The way I discovered the bug was via the Policy Tab of the Property sheet of a given volume. The tab allows you to enable/disable write caching of the device, which goes to Mode Select translation in nvme driver. The data types of pModeHeader and pModeHeader10 are PMODE_PARAMETER_HEADER and PMODE_PARAMETER_HEADER10, respectively. When the pointers are increase by 1, they advance in the size of their associated data structure. In other words, they will point to the beginning of Mode Parameter Block(s). Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Tuesday, February 12, 2013 4:39 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, For the Mode Select command translation, why did you modify the code to just add 1 to the mode header address (in RED below) to get to the mode parameter block? Doing so only adds one byte to the address of pModeHeader6/pModeHeader10. You don’t want to add one byte to the pointer address, you want to add the size of the header (6 or 10) to get to the beginning of the mode parameter block (pointer arithmetic). I think the way I had it coded originally was correct. How did you test this? if (isModeSelect10 == FALSE) { /* Mode Select 6 */ pModeHeader6 = (PMODE_PARAMETER_HEADER)(GET_DATA_BUFFER(pSrb)); blockDescLength = pModeHeader6->BlockDescriptorLength; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader6 + 1); } else { /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); blockDescLength = (UINT16) ((pModeHeader10->BlockDescriptorLength[BYTE_0] << 8) | (pModeHeader10->BlockDescriptorLength[BYTE_1])); /* Get LONGLBA */ longLba = pModeHeader10->Reserved[BYTE_0] & LONG_LBA_MASK; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader10 + 1); } For setting the pModePagePtr, I believe the numBlockDesc is also incorrect. You want to advance the pointer to the end of all the block descriptors. The only way to do that is to add the number of block descriptors *times* the size of the block descriptor - pModePagePtr = (PUCHAR)(pModeParamBlock + (numBlockDesc * blockDescLength)); pModePagePtr = (PUCHAR)(pModeParamBlock + numBlockDesc); Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Knoblaugh, Rick Sent: Friday, February 08, 2013 3:09 PM To: Kong, Kwok; Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Hi Kwok, Yes, we are good with the patch. Greatly appreciate it. Thanks, -Rick From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct… it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). From Alex.Chang at idt.com Tue Feb 12 17:43:57 2013 From: Alex.Chang at idt.com (Chang, Alex) Date: Wed, 13 Feb 2013 01:43:57 +0000 Subject: [nvmewin] New Patch - Mode Select In-Reply-To: <09DB7EDC-50D8-4023-A47A-E2F27DFF2BFD@intel.com> References: <36E8D38D6B771A4BBDB1C0D800158A512FA5DAF0@SSIEXCH-MB2.ssi.samsung.com> <36E8D38D6B771A4BBDB1C0D800158A512FA7551A@SSIEXCH-MB2.ssi.samsung.com> <49158E750348AA499168FD41D88983606119BA17@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFCFE8D@corpmail1.na.ads.idt.com> <23EC73C80FB59046A6B7B8EB7B38265908971A1A@SACMBXIP01.sdcorp.global.sandisk.com> <548C5470AAD9DA4A85D259B663190D361FFCFEA6@corpmail1.na.ads.idt.com> <49158E750348AA499168FD41D88983606119ED4F@FMSMSX105.amr.corp.intel.com> <548C5470AAD9DA4A85D259B663190D361FFD0C42@corpmail1.na.ads.idt.com> <05CD7821AE397547A01AC160FBC231474BC73E90@corpmail1.na.ads.idt.com> <4565AEA676113A449269C2F3A549520FD374855F@cosmail03.lsi.com> <49158E750348AA499168FD41D8898360611C11C3@FMSMSX105.amr.corp.intel.com>, <548C5470AAD9DA4A85D259B663190D361FFD6ED5@corpmail1.na.ads.idt.com> <09DB7EDC-50D8-4023-A47A-E2F27DFF2BFD@intel.com> Message-ID: <548C5470AAD9DA4A85D259B663190D361FFD6F28@corpmail1.na.ads.idt.com> Thanks a lot, Ray. Alex -----Original Message----- From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Tuesday, February 12, 2013 5:39 PM To: Chang, Alex Cc: nvmewin at lists.openfabrics.org Subject: Re: New Patch - Mode Select Ok, I see what you are doing. You are correct, this should get you to the end of the header. Ok, Im good with these changes. If no other feedback is received by EOD tomorrow, I'll push the patch on Thursday. Thanks for the update Alex. Thanks, Ray On Feb 12, 2013, at 5:57 PM, "Chang, Alex" > wrote: Hi Ray, The way I discovered the bug was via the Policy Tab of the Property sheet of a given volume. The tab allows you to enable/disable write caching of the device, which goes to Mode Select translation in nvme driver. The data types of pModeHeader and pModeHeader10 are PMODE_PARAMETER_HEADER and PMODE_PARAMETER_HEADER10, respectively. When the pointers are increase by 1, they advance in the size of their associated data structure. In other words, they will point to the beginning of Mode Parameter Block(s). Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Tuesday, February 12, 2013 4:39 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Alex, For the Mode Select command translation, why did you modify the code to just add 1 to the mode header address (in RED below) to get to the mode parameter block? Doing so only adds one byte to the address of pModeHeader6/pModeHeader10. You don't want to add one byte to the pointer address, you want to add the size of the header (6 or 10) to get to the beginning of the mode parameter block (pointer arithmetic). I think the way I had it coded originally was correct. How did you test this? if (isModeSelect10 == FALSE) { /* Mode Select 6 */ pModeHeader6 = (PMODE_PARAMETER_HEADER)(GET_DATA_BUFFER(pSrb)); blockDescLength = pModeHeader6->BlockDescriptorLength; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader6 + 1); } else { /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); blockDescLength = (UINT16) ((pModeHeader10->BlockDescriptorLength[BYTE_0] << 8) | (pModeHeader10->BlockDescriptorLength[BYTE_1])); /* Get LONGLBA */ longLba = pModeHeader10->Reserved[BYTE_0] & LONG_LBA_MASK; /* Set pointer to Mode Param Desc Block - if any */ pModeParamBlock = (PMODE_PARAMETER_BLOCK)(pModeHeader10 + 1); } For setting the pModePagePtr, I believe the numBlockDesc is also incorrect. You want to advance the pointer to the end of all the block descriptors. The only way to do that is to add the number of block descriptors *times* the size of the block descriptor - pModePagePtr = (PUCHAR)(pModeParamBlock + (numBlockDesc * blockDescLength)); pModePagePtr = (PUCHAR)(pModeParamBlock + numBlockDesc); Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Knoblaugh, Rick Sent: Friday, February 08, 2013 3:09 PM To: Kong, Kwok; Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Hi Kwok, Yes, we are good with the patch. Greatly appreciate it. Thanks, -Rick From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Kong, Kwok Sent: Friday, February 08, 2013 9:02 AM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Alex, We cannot check it in yet. We have to wait for the formal approval from intel and LSI. Intel and LSI, please approve the patch. Thanks -Kwok From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Thursday, February 07, 2013 6:21 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] ***UNCHECKED*** RE: New Patch - Mode Select Hi all, It's been two weeks and I did not receive more feedbacks. Based on the feedbacks from Dharani and Ray, I modified the patch and re-tested it. Please find the attached patch and review it (password: idt123). Since the changes are pretty straightforward, I'd like to ask Ray's favor to add it to the base if no more feedbacks received by the end of tomorrow. Thanks a lot, Ray. Here is the summary of the changes: In function SntiTranslateModeData (nvmesnti.c): - Fixed some typos. - Fixed miscalculation of the pointer to Mode Parameter Descriptor Block. - Fixed DWORD11's value assignment in case of MODE_PAGE_CACHING. In function NVMeInitCallBack (nvmeinit.c): - Fixed a typo on Line#1796. Thanks, Alex ________________________________ From: Robles, Raymond C [mailto:raymond.c.robles at intel.com] Sent: Friday, January 25, 2013 5:13 PM To: Chang, Alex; Dharani Kotte; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, Yes this is a copy and paste error. Dharani is correct... it should read pModeHeader10->BlockDescriptorLength; Did you want to change this in your patch since it is directly related to Mode Select? Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 4:57 PM To: Dharani Kotte; nvmewin at lists.openfabrics.org Subject: Re: [nvmewin] New Patch - Mode Select Good catch, Dharani. Hi Ray, Is this just a typo? Thanks, Alex ________________________________ From: Dharani Kotte [mailto:Dharani.Kotte at sandisk.com] Sent: Friday, January 25, 2013 3:46 PM To: Chang, Alex; nvmewin at lists.openfabrics.org Subject: RE: New Patch - Mode Select Hi Alex, In the file nvmeSnti.c and function SntiTranslateModeData() /* Mode Select 10 */ pModeHeader10 = (PMODE_PARAMETER_HEADER10)(GET_DATA_BUFFER(pSrb)); #pragma prefast(suppress:6011,"This pointer is not NULL") blockDescLength = pModeHeader6->BlockDescriptorLength; // BUG - pModeHeader6 is not initialized probably it should be pModeHeader10 thanks, Dharani. From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Chang, Alex Sent: Friday, January 25, 2013 3:27 PM To: nvmewin at lists.openfabrics.org Subject: [WARNING - ENCRYPTED ATTACHMENT NOT VIRUS SCANNED] [nvmewin] ***UNCHECKED*** New Patch - Mode Select Hi all, I am adding a patch to fix a bug related to Mode Select command when users enable/disable Volatile Write Cache. The changes I made are within SntiTranslateModeData routine of nvmeSnti.c to correctly locate the page code and program Dword 11 of NVMe submission entry before issuing Set Features command. The password is idt123. Please review it and provide feedbacks in next couple weeks. Thanks, Alex ________________________________ PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies). From Kwok.Kong at idt.com Wed Feb 13 15:11:03 2013 From: Kwok.Kong at idt.com (Kong, Kwok) Date: Wed, 13 Feb 2013 23:11:03 +0000 Subject: [nvmewin] Feb 13, 2013 NVMe OFA Windows Meeting Notes In-Reply-To: <82C9F782B054C94B9FC04A331649C77A07C1D60E@FMSMSX106.amr.corp.intel.com> References: <82C9F782B054C94B9FC04A331649C77A07C1D60E@FMSMSX106.amr.corp.intel.com> Message-ID: <05CD7821AE397547A01AC160FBC231474BC7DF74@corpmail1.na.ads.idt.com> 2013 releases: ============== - There will be two releases in 2013 - release 1.2 in June - release 1.3 in Dec - Binary files will be released with the source file - Source tree maintainer will build the binary files on official releases (Intel currently) Features and Contributors: ========================= Release 1.2 (June) - Supports the following Windows versions in addition to Windows 7 - 64 bits (IDT) - Windows 8 64-bit - Windows Server 2008R2 64-bit - Windows Server 2012 64-bit - TRIM command support (LSI, will confirm) - NVMe 1.00e enhancement (IDT) - Hibernation as a boot drive (Huawei) Release 1.3 (Dec) - Support additional Windows versions - Windows 7 32-bit - Windows 8 32-bit - Windows 8 features: - Extended SRB format - SMART handling via new Extended SRB format Features that will not be supported in 2013 (will be reviewed mid-year): ======================================================================== NVMe 1.1 support - multi-path - SGL - Get/Set feature update - Autonomous power state transition - Host Identifier - Reservation Notification Mask - Reservation Persistence - identify structure update - write zeros command Other feature - End-to-end protection (Server 2012 support this) From raymond.c.robles at intel.com Wed Feb 27 12:14:36 2013 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Wed, 27 Feb 2013 20:14:36 +0000 Subject: [nvmewin] NVMe Windows repo is LOCKED - Pushing Mode Select Fix from IDT Message-ID: <49158E750348AA499168FD41D8898360611CA549@FMSMSX105.amr.corp.intel.com> Locking the Windows NVMe repo. Thanks, Ray [cid:image001.png at 01CB3870.4BB88E70] Raymond C. Robles NVM Solutions Group | Internal SSD Engineering Technology & Manufacturing Group Intel Corporation Desk: 480.554.2600 Mobile: 480.399.0645 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 1756 bytes Desc: image001.png URL: From raymond.c.robles at intel.com Wed Feb 27 12:25:53 2013 From: raymond.c.robles at intel.com (Robles, Raymond C) Date: Wed, 27 Feb 2013 20:25:53 +0000 Subject: [nvmewin] NVMe Windows repo is UNLOCKED - Pushing Mode Select Fix from IDT Message-ID: <49158E750348AA499168FD41D8898360611CA580@FMSMSX105.amr.corp.intel.com> Latest patch from IDT (Mode Select fixes) has been pushed to the trunk. The tag created for this patch is "mode_select_patch_IDT". If anyone has any questions, please feel free to contact me. Thanks, Ray From: nvmewin-bounces at lists.openfabrics.org [mailto:nvmewin-bounces at lists.openfabrics.org] On Behalf Of Robles, Raymond C Sent: Wednesday, February 27, 2013 1:15 PM To: nvmewin at lists.openfabrics.org Subject: [nvmewin] NVMe Windows repo is LOCKED - Pushing Mode Select Fix from IDT Locking the Windows NVMe repo. Thanks, Ray [cid:image001.png at 01CB3870.4BB88E70] Raymond C. Robles NVM Solutions Group | Internal SSD Engineering Technology & Manufacturing Group Intel Corporation Desk: 480.554.2600 Mobile: 480.399.0645 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 1756 bytes Desc: image001.png URL: