LSI_logo Engineering Release Notice
Release Date: 07-21-2010
OEM: LSI
HWR_SAS_Driver_SCO 4.05


HWR_SAS_Driver_SCO
Component: HWR_SAS_Driver_SCO
Stream: jbisht_HWR_SAS_DRIVER_SCO_Dev
Version: 4.05
Baseline From: HWR_SAS_DRIVER_SCO_12_20_2008_Ver_4.04.6307@\LSI_RSA_PROJECTS
Baseline To: HWR_SAS_DRIVER_SCO_5_27_2009_ver_4_05.1547@\LSI_RSA_PROJECTS
CHANGE SUMMARY:
LSID100111841 (TASK) Providing adequate time for PD spin up
LSID100111836 (TASK) Segregating 32&64-bit addr in IEEE implementation
LSID100111831 (TASK) Merging SKINNY code
LSID100125483 (DFCT) Unixware driver fails to load
LSID100125630 (DFCT) FW breaks into megamon while loading the driver during boot
LSID100125001 (DFCT) Timeout value not adequate to allow for spin up of physical drives
DEFECT RECORDS (Total Defects=3, Number Duplicate=1):
HWR_SAS_Driver_SCO DEFECTS
DFCT ID: LSID100125483
Headline: Unixware driver fails to load
Description: FW breaks into megamon after loading driver in OS.
Version of Bug Reported: 5.0
Version of Bug Fixed: 4.05
Steps to Reproduce: Install OS to local drive
load driver in OS
Reboot, FW breaks into megamon
Resolution: Fixed
Resolution Description: Root cause:- Driver is interpreting 32-bit address as 64-bit address.
Solution:- Adding support to segregate OS allocated address (as 32-bit or 64-bit) in IEEE SGL implementation.
Fix Impact: Medium
Suggested Testing: Load the driver and run some basic IO.
Child Tasks: LSID100111836
Duplicates: LSID100125630  
HWR_SAS_Driver_SCO DEFECTS
DFCT ID: LSID100125630 (DUPLICATE)
Headline: FW breaks into megamon while loading the driver during boot
Description: With IEEE SGL implementation FW breaks into megamon while loading the driver during SCO OS boot.
Version of Bug Reported: 2.0.03-0626
Steps to Reproduce: Install SCO HBA driver
Create any LD and boot into SCO OS.

PS: Dont connect System PD's to controller.
Resolution: Duplicate
Resolution Description: Task associated with fix for LSID100125483 addresses the issue.
Original DFCT: LSID100125483
HWR_SAS_Driver_SCO DEFECTS
DFCT ID: LSID100125001
Headline: Timeout value not adequate to allow for spin up of physical drives
Description: While bringing up the FW from BIOS/EFI, pre-boot apps or driver, it is waiting for 3 minutes to allow
the MegaRAID FW to spin-up the physical drives and be ready. It has been found that 3 minutes
might not be enough. So we need to reset the timer every time we detect a change in FW status.
(Here FW status is 32 bit value). So any change in the 32 bit value will reset the timer and wait for
3 minutes from that point of time before killing the FW. This will allow FW enough time to spin up
every drive.
Version of Bug Reported: 4.04
Steps to Reproduce: None.
Resolution: Fixed
Resolution Description: Added code to provide sufficient time for PD spin up and monitoring FW registers for spin up progress.
Fix Impact: Low
Suggested Testing: 1) The driver should see MFI_STATE_DEVICE_SCAN state from the firmware and wait.
This can be achieved by having an enclosure in which device spinup takes a long time.

2) Use a custom firmware which forces the firmware to be in device scan state for a couple of minutes.
There should be a change in absolute value of the doorbell register( depicts drives spinning up), however
the firmware state should remain devices scan only.
Note: To test with debug FW one should skip BIOS while booting (use hot key ctrl+E)
Child Tasks: LSID100111841
UCM ACTIVITY / TASK RECORDS (3):
HWR_SAS_Driver_SCO UCM TASKS
Task ID: LSID100111841
Headline: Providing adequate time for PD spin up
Description: While bringing up the FW from BIOS/EFI, pre-boot apps or driver, it is waiting for 3 minutes to allow the MegaRAID FW to spin-up the physical drives and be ready. It has been found that 3 minutes might not be enough. So we need to reset the timer every time we detect a change in FW status. (Here FW status is 32 bit value). So any change in the 32 bit value will reset the timer and wait for 3 minutes from that point of time before killing the FW. This will allow FW enough time to spin up every drive.
State: Completed
Change Set Files:
References:   LSID100125001(DFCT)    
HWR_SAS_Driver_SCO UCM TASKS
Task ID: LSID100111836
Headline: Segregating 32&64-bit addr in IEEE implementation
Description: Adding support to segregate OS allocated address (as 32-bit or 64-bit) in IEEE SGL implementation.
Before this every address coming from OS is handled as a 64-bit address.
But in case of 32-bit machine this misinterpretation is causing Driver to not load.
State: Completed
Change Set Files:
References:   LSID100125483(DFCT)    
HWR_SAS_Driver_SCO UCM TASKS
Task ID: LSID100111831
Headline: Merging SKINNY code
Description: Merging Skinny code with AF.

This check-in has code related to below mentioned issues/enhancements.

LSID100123521:Due to cmd leak Megacli commands are not working
LSID100123522:Interrupt masks used for SCO are different from what LINUX using

1. 32 bit memory allingement changes
2. Adding necessary changes to implement IEEE stuff
3. freeing memory allocated during update_pd_system_bitmap
4. Increasing array for system pd's from 4 to 240
5. deleting debug prints
State: Completed
Change Set Files:
References: