#
45495268 |
| 16-Sep-2022 |
stsp <stsp@openbsd.org> |
Make mfii(4) recover from firmware FAULT state on startup.
In case firmware initially comes up in FAULT state, reset the device and give it one more chance to attach successfully. The Linux megaraid
Make mfii(4) recover from firmware FAULT state on startup.
In case firmware initially comes up in FAULT state, reset the device and give it one more chance to attach successfully. The Linux megaraid_sas driver applies the same workaround in this case. There seems to be a bug in some firmware versions which can trigger this behaviour; see mainline Linux commit 6431f5d7c6025f8b007af06ea090de308f7e6881
Problem observed by me with mfii(4) attached via KVM PCI-passthrough: mfii0 at pci0 dev 2 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi mfii0: firmware fault
With this workaround in place, attachment succeeds and the device works: mfii0 at pci0 dev 2 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi mfii0: firmware fault; attempting full device reset, this can take some time mfii0: "RAID Ctrl SAS 6G 1GB (D3116C)", firmware 23.29.0-0019, 1024MB cache
Tested for regressions on bare metal by Hrvoje with two different adapters: mfii0 at pci1 dev 0 function 0 "Symbios Logic MegaRAID SAS3508" rev 0x01: msi mfii0: "PERC H740P Mini ", firmware 51.16.0-4076, 8192MB cache mfii0 at pci4 dev 0 function 0 "Symbios Logic MegaRAID SAS2208" rev 0x05: msi mfii0: "ServeRAID M5110", firmware 23.34.0-0023, 512MB cache
ok jmatthew@
show more ...
|
#
4b1a56af |
| 09-Jan-2022 |
jsg <jsg@openbsd.org> |
spelling feedback and ok tb@ jmc@ ok ratchov@
|
#
f4b58f5a |
| 13-Feb-2020 |
krw <krw@openbsd.org> |
Nuke *_minphys() functions that either simply apply MAXPHYS or do nothing at all. MAXPHYS will be applied in minphys() and nothing at all, well, doesn't do anything.
Also remove any '#define <blah>
Nuke *_minphys() functions that either simply apply MAXPHYS or do nothing at all. MAXPHYS will be applied in minphys() and nothing at all, well, doesn't do anything.
Also remove any '#define <blah> MAXPHYS' statements used solely to disguise MAXPHYS in said functions.
show more ...
|
#
4a46fe5a |
| 18-May-2018 |
jmatthew <jmatthew@openbsd.org> |
Add bio(4) and sensors for mfii(4), based on code from mfi(4). Most of the work was done by Naoki Fukaumi, some tweaks and adjustment to match the preceding changes by me. Tested on SAS2208, SAS300
Add bio(4) and sensors for mfii(4), based on code from mfi(4). Most of the work was done by Naoki Fukaumi, some tweaks and adjustment to match the preceding changes by me. Tested on SAS2208, SAS3008, SAS3108, SAS3508.
ok dlg@
show more ...
|
#
4b9ed48f |
| 07-Feb-2017 |
dlg <dlg@openbsd.org> |
pull struct mfi_evtarg_pd_state out of struct mfi_evt_detail.
this lets me pass the specific argument to an aen handler in mfii. it also unbreaks the tree.
found by jmatthew@
|
#
ffb13b43 |
| 23-Jan-2017 |
dlg <dlg@openbsd.org> |
massage some event related details.
turn the enum of event argument types into a series of #defines so when you printf the arg type you can search for the number and get an answer without having to
massage some event related details.
turn the enum of event argument types into a series of #defines so when you printf the arg type you can search for the number and get an answer without having to count lines.
add a struct for extended physical address arguments in event messages.
add a list of event types.
show more ...
|
#
520e821e |
| 23-Jan-2017 |
dlg <dlg@openbsd.org> |
represent the mbox layout with union instead of an array of bytes.
memcpying uint16_ts into inconsistently addressed offsets is hard to read, and this makes future work easier to implement.
tested
represent the mbox layout with union instead of an array of bytes.
memcpying uint16_ts into inconsistently addressed offsets is hard to read, and this makes future work easier to implement.
tested on mfi(4) and mfii(4)
show more ...
|
#
62f7c8fb |
| 14-Aug-2016 |
dlg <dlg@openbsd.org> |
change some types in bio from u_quad_t to uint64_t, and fix casts in drivers that fill that field in too.
quad types are going away.
|
#
6102fee9 |
| 14-Aug-2016 |
dlg <dlg@openbsd.org> |
replace u_quad_t with uint64_t.
guenther is proposing the removal of u_quad_t. uint64_t is more portable.
tested on a perc5 and perc6, no functional change.
|
#
d865b7d2 |
| 29-May-2015 |
uebayasi <uebayasi@openbsd.org> |
Initial addition of ``Patrol Read'' support in bio(4), biocto(8), and mfi(4). Based on FreeBSD, but done without mfiutil(8).
OK deraadt@
|
#
89a05e1c |
| 09-Jan-2015 |
yasuoka <yasuoka@openbsd.org> |
Add support DIOC{G,S}CACHE to mfi(4). Cache of disk on mfi(4) will be enabled by default. Also if the controller doesn't have any RAM, the cache on the physical disk will be enabled.
discuss with
Add support DIOC{G,S}CACHE to mfi(4). Cache of disk on mfi(4) will be enabled by default. Also if the controller doesn't have any RAM, the cache on the physical disk will be enabled.
discuss with jsg tsubai ok dlg
show more ...
|
#
5b92aaac |
| 15-Aug-2014 |
yasuoka <yasuoka@openbsd.org> |
Create a function which loads sgd in the mfi_iop_ops struct so that skinny adapters can use "IEEE sgl".
tested dlg yasuoka ok dlg jsg
|
#
0704c0ab |
| 03-May-2013 |
dlg <dlg@openbsd.org> |
break out the battery status into excruciating detail. makes it harder for $VENDOR to complain about a lack of diagnostic material from their crappy mgmt tools if you're not running an operating syst
break out the battery status into excruciating detail. makes it harder for $VENDOR to complain about a lack of diagnostic material from their crappy mgmt tools if you're not running an operating system they support.
show more ...
|
#
2ee2f048 |
| 01-May-2013 |
dlg <dlg@openbsd.org> |
provide a sensor for the battery backup unit (bbu) on mfi boards that support it.
now i can tell (a bit better) why io might be slow on some of my boxes.
|
#
4fab0ec3 |
| 01-May-2013 |
dlg <dlg@openbsd.org> |
there's some extra bits for the bbu status that freebsd dont have. provide a %b thing for them too.
now i just have to figure out how to represent this nicely:
mfi0: fw_status 0xc00<REPLACE_PACK,CA
there's some extra bits for the bbu status that freebsd dont have. provide a %b thing for them too.
now i just have to figure out how to represent this nicely:
mfi0: fw_status 0xc00<REPLACE_PACK,CAPACITY_LOW>
:(
show more ...
|
#
eb997c0e |
| 01-May-2013 |
dlg <dlg@openbsd.org> |
provide a couple of %b things for mfi_hw_present and mfi_adapter_ops cos im somehow too lazy to read a %x and look for a couple of bits set, but not lazy enough to not write a %b thing.
|
#
1bd3771e |
| 30-Apr-2013 |
dlg <dlg@openbsd.org> |
white space fixes
|
#
be8a0323 |
| 30-Apr-2013 |
dlg <dlg@openbsd.org> |
use MR_DCMD consistently. some MD_DCMD was in there somehow.
|
#
71023bd1 |
| 30-Apr-2013 |
dlg <dlg@openbsd.org> |
pull in BBU bits from freebsd
|
#
57e26195 |
| 17-Aug-2012 |
dlg <dlg@openbsd.org> |
add support for "physical devices" on skinny controllers.
these controllers let you specify disks that should be accessed directly rather than be part of logical volumes. apparently you can plug in
add support for "physical devices" on skinny controllers.
these controllers let you specify disks that should be accessed directly rather than be part of logical volumes. apparently you can plug in things like tape drives too.
anyway, physical devices are exposed via a separate scsibus attached to mfi.
ok mikeb@
show more ...
|
#
05c385e3 |
| 13-Aug-2012 |
dlg <dlg@openbsd.org> |
get rid of the last foo_lo and foo_hi bits i could find in the hardware structures and use htole64 instead of htole32(addr >> 32); htole32(addr);
gets rid of "handy" stack variables to get the dva t
get rid of the last foo_lo and foo_hi bits i could find in the hardware structures and use htole64 instead of htole32(addr >> 32); htole32(addr);
gets rid of "handy" stack variables to get the dva to 64bits.
sprinkle some more byte swaps for things that should have it.
tested on a perc5 (xscale)
show more ...
|
#
27090ca1 |
| 13-Aug-2012 |
dlg <dlg@openbsd.org> |
replace uint32_ts for hi and lo addresses in the mfi_init_ hardware descriptors with single uint64_ts. theyre not some weird middle endian thing. this makes the code more readable.
add some missing
replace uint32_ts for hi and lo addresses in the mfi_init_ hardware descriptors with single uint64_ts. theyre not some weird middle endian thing. this makes the code more readable.
add some missing htole32s to the code while here.
tested on a perc5 (xscale).
show more ...
|
#
712259f5 |
| 12-Jan-2012 |
dlg <dlg@openbsd.org> |
add support for skinny variants.
from Alexey Suslikov reviewed by marco
|
#
a4367147 |
| 08-Apr-2011 |
marco <marco@openbsd.org> |
more spaces
|
#
654b243f |
| 28-Jan-2009 |
marco <marco@openbsd.org> |
Add support for next generation megaraid sas raid controllers. From Jim Giannoules <gortag@gmail.com>
|