Revision tags: release/14.0.0 |
|
#
4640df1b |
| 07-Oct-2023 |
Mark Johnston <markj@FreeBSD.org> |
mrsas: Fix callout locking in mrsas_complete_cmd()
callout_stop() requires the associated lock to be held.
This is a bit hacky, but I believe it's safe since the subsequent mrsas_cmd_done() call wi
mrsas: Fix callout locking in mrsas_complete_cmd()
callout_stop() requires the associated lock to be held.
This is a bit hacky, but I believe it's safe since the subsequent mrsas_cmd_done() call will also acquire the SIM lock to stop a different callout.
PR: 265484 Reviewed by: imp Tested by: Jérémie Jourdin <jeremie.jourdin@advens.fr> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39559
show more ...
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
e315351f |
| 25-Aug-2022 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add the mfi(4) ioctl support to mrsas(4)
The hardware supported by mfi(4) and mrsas(4) use the same dcmd's. mfiutil(8) in theory could run on controlled attached to mrsas(4). It can't since mrsas(4)
Add the mfi(4) ioctl support to mrsas(4)
The hardware supported by mfi(4) and mrsas(4) use the same dcmd's. mfiutil(8) in theory could run on controlled attached to mrsas(4). It can't since mrsas(4) doesn't have support for the FreeBSD mfi(4) ioctl. Porting the ioctl from mfi(4) to mrsas(4) would be the first step in making mrsasutil(8) which is an additional name for mfiutil(8) but opens /dev/mrsasX instead of /dev/mfiX
PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265794 Reviewed by: jhb Differential revision: https://reviews.freebsd.org/D36342 Tested by: Dan Mahoney <freebsd@gushi.org>
show more ...
|
#
9f0c0e6e |
| 21-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
mrsas: Don't leak a stack pointer value in the softc.
mrsas_issue_blocked_cmd stores a pointer to an on-stack variable in its softc so that the driver can call wakeup() on the correct pointer. Once
mrsas: Don't leak a stack pointer value in the softc.
mrsas_issue_blocked_cmd stores a pointer to an on-stack variable in its softc so that the driver can call wakeup() on the correct pointer. Once the loop around tsleep() has finished however, the pointer is no longer needed and any further use would be invalid. Clear sc->chan to NULL after the loop.
Reported by: GCC -Wdangling-pointer Differential Revision: https://reviews.freebsd.org/D37628
show more ...
|
Revision tags: release/13.1.0 |
|
#
8b2be9cb |
| 20-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
mrsas: Remove unused devclass argument to DRIVER_MODULE.
|
#
79c4c4be |
| 21-Jan-2022 |
Chandrakanth Patil <chandrakanth.patil@broadcom.com> |
mrsas: if controller reset is in progress, refrain from firing DCMDs to firmware in shutdown
If controller reset is in progress, at same time if system shutdown is issued then corresponding shutdown
mrsas: if controller reset is in progress, refrain from firing DCMDs to firmware in shutdown
If controller reset is in progress, at same time if system shutdown is issued then corresponding shutdown function in driver will be invoked where driver is waiting 15 seconds to complete the controller reset.
If the reset is not complteted within that time frame driver will go ahead and fire cache flush and shutdown DCMDs which will end up accessing the the queues which are not initialized due to undergoing reset leads to FMU error in firmware.
Fix: In shutdown function, if controller reset is not finished within 15 seconds than driver will return to the OS without firing any DCMDs.
Reviewed by: imp PR: 261375
show more ...
|
#
32c601b6 |
| 02-Apr-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
mrsas(4): Fix a typo in a source code comment
- s/alloction/allocation/
MFC after: 3 days
|
#
98470f0e |
| 04-Dec-2021 |
Scott Long <scottl@FreeBSD.org> |
Fix "set but not used" in mrsas. This includes removing unnecessary cdevsw methods.
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
Revision tags: release/12.3.0 |
|
#
fa3d57c2 |
| 01-Jul-2021 |
Alexander Motin <mav@FreeBSD.org> |
mrsas(4): Report more correct maximum I/O size.
Subtract one SGE for the case of misaligned address. Also take into account maximum number of sectors reported by firmware, that gives nicer 256KB li
mrsas(4): Report more correct maximum I/O size.
Subtract one SGE for the case of misaligned address. Also take into account maximum number of sectors reported by firmware, that gives nicer 256KB limit instead of 276KB calculated from the SGE limit.
While there, remove number of I/O size checks, duplicating what is already checked by CAM and busdma(9).
MFC after: 1 month Sponsored by: iXsystems, Inc.
show more ...
|
Revision tags: release/13.0.0 |
|
#
59fffbcf |
| 05-Feb-2021 |
Alfredo Dal'Ava Junior <alfredo@FreeBSD.org> |
mrsas: unbreak i386 build
Fix build regression introduced by e34a057ca6ebdf8e30ec8b0dc21d18eb450bf36a
Reviewed by: jhibbits Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential
mrsas: unbreak i386 build
Fix build regression introduced by e34a057ca6ebdf8e30ec8b0dc21d18eb450bf36a
Reviewed by: jhibbits Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D28494
show more ...
|
#
e34a057c |
| 04-Feb-2021 |
Alfredo Dal'Ava Junior <alfredo@FreeBSD.org> |
[POWERPC64BE] mrsas: add big-endian support
Add endiannes conversions in order to support big-endian platforms
Submitted by: Andre Fernando da Silva <andre.silva@eldorado.org.br> Reviewed by: lupor
[POWERPC64BE] mrsas: add big-endian support
Add endiannes conversions in order to support big-endian platforms
Submitted by: Andre Fernando da Silva <andre.silva@eldorado.org.br> Reviewed by: luporl, alfredo, kadesai (on email) Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D26531
show more ...
|
#
cd853791 |
| 28-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Make MAXPHYS tunable. Bump MAXPHYS to 1M.
Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.
Make b_pag
Make MAXPHYS tunable. Bump MAXPHYS to 1M.
Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.
Make b_pages[] array in struct buf flexible. Size b_pages[] for buffer cache buffers exactly to atop(maxbcachebuf) (currently it is sized to atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1. The +1 for pbufs allow several pbuf consumers, among them vmapbuf(), to use unaligned buffers still sized to maxphys, esp. when such buffers come from userspace (*). Overall, we save significant amount of otherwise wasted memory in b_pages[] for buffer cache buffers, while bumping MAXPHYS to desired high value.
Eliminate all direct uses of the MAXPHYS constant in kernel and driver sources, except a place which initialize maxphys. Some random (and arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted straight. Some drivers, which use MAXPHYS to size embeded structures, get private MAXPHYS-like constant; their convertion is out of scope for this work.
Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs, dev/siis, where either submitted by, or based on changes by mav.
Suggested by: mav (*) Reviewed by: imp, mav, imp, mckusick, scottl (intermediate versions) Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27225
show more ...
|
Revision tags: release/12.2.0 |
|
#
139b723f |
| 02-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
mrsas: clean up empty lines in .c and .h files
|
Revision tags: release/11.4.0 |
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
#
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
#
879e0604 |
| 12-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Add KERNEL_PANICKED macro for use in place of direct panicstr tests
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
f28ecf2b |
| 23-May-2019 |
Andriy Gapon <avg@FreeBSD.org> |
add mrsas_shutdown method
It should be safer to flush controller and disk caches on the shutdown. And to gracefully shut down the controller as well. It seems that the Linux driver has been doing th
add mrsas_shutdown method
It should be safer to flush controller and disk caches on the shutdown. And to gracefully shut down the controller as well. It seems that the Linux driver has been doing that for a long time.
Discussed with: scottl Reviewed by: imp, Sumit Saxena <sumit.saxena@broadcom.com> (both earlier version) MFC after: 3 weeks Sponsored by: Panzura Differential Revision: https://reviews.freebsd.org/D19817
show more ...
|
#
2aaf9152 |
| 18-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345275
|
#
54f784f5 |
| 12-Mar-2019 |
Kashyap D Desai <kadesai@FreeBSD.org> |
Allocated MFI frames should be same as MPT frames reserved for DCMDs
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: Ken
Allocated MFI frames should be same as MPT frames reserved for DCMDs
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: Ken MFC after: 3 days Sponsored by: Broadcom Inc
show more ...
|
#
5437c8b8 |
| 12-Mar-2019 |
Kashyap D Desai <kadesai@FreeBSD.org> |
fw_outstanding"(outstanding IOs at firmware level) counter gets screwed up when R1 fastpath writes are running. Some of the cases which are not handled properly in driver are:
1. With R1 fastpath su
fw_outstanding"(outstanding IOs at firmware level) counter gets screwed up when R1 fastpath writes are running. Some of the cases which are not handled properly in driver are:
1. With R1 fastpath supported, single write from CAM layer can consume 2 MPT frames at driver/firmware level for fastpath qualification(if fw_outstanding < controller Queue Depth). Due to this driver has to throttle IOs coming from CAM layer as well as second fastpath write(of R1 write) against Adapter Queue Depth. If "fw_outstanding" reaches to adapter queue depth, driver should return IOs from CAM layer with device busy status.While allocating second MPT frame(corresponding to R1 FP write) also, driver should ensure fw_outstanding should not exceed adapter QD.
2. For R1 fastpath writes completion, driver decrements "fw_oustanding" counter without really returning MPT frame to free pool. It may cause IOs(with heavy IOs running, consuming whole adapter Queue Depth) consuming MPT frames reserved for DCMDs(management commands) and DCMDs(internal and sent by application) not getting MPT frame will start failing.
Below is one test case to hit the issue described above- 1. Run heavy IOs (outstanding IOs should hit adapter Queue Depth). 2. Run management tool (Broadcom's storcli tool) querying adapter in loop (run command- "storcli64 /c0 show" in loop). 3. Management tool's requests would start failing due to non-availability of free MPT frames as all frames would be consumed by IOs.
Fix: Increment/decrement of "fw_outstanding" counter should be in sync with MPT frame get/return.
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: Ken MFC after: 3 days Sponsored by: Broadcom Inc
show more ...
|
#
e315cf4d |
| 26-Dec-2018 |
Kashyap D Desai <kadesai@FreeBSD.org> |
Problem statement: Due to hardware errata in Aero controllers, reads to certain fusion registers could intermittently return all zeroes. This behavior is transient in nature and subsequent reads will
Problem statement: Due to hardware errata in Aero controllers, reads to certain fusion registers could intermittently return all zeroes. This behavior is transient in nature and subsequent reads will return valid value.
Fix: For Aero controllers, any read will retry the read operations from certain registers for maximum three times, if read returns zero.
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: ken MFC after: 3 days Sponsored by: Broadcom Inc
show more ...
|
#
b518670c |
| 26-Dec-2018 |
Kashyap D Desai <kadesai@FreeBSD.org> |
This patch will add support for 32 bit atomic request descriptor for Aero adapters.
For Aero adapters- 1. Driver will use 32 bit atomic descriptor to fire IOs and DCMDs. 2. Driver will use 64 bit re
This patch will add support for 32 bit atomic request descriptor for Aero adapters.
For Aero adapters- 1. Driver will use 32 bit atomic descriptor to fire IOs and DCMDs. 2. Driver will use 64 bit request descriptor to fire IOC INIT. 3. If Aero firmware supports 32 bit atomic descriptor, then only driver will use it otherwise driver will use 64 bit request descriptor.
For rest of adapters(Ventura, Invader and Thunderbolt), driver will use 64 bit request descriptors only.
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: ken MFC after: 3 days Sponsored by: Broadcom Inc
show more ...
|
#
2909aab4 |
| 26-Dec-2018 |
Kashyap D Desai <kadesai@FreeBSD.org> |
This patch will add support for latest generation MegaRAID adapters- Aero(39xx). Driver will throw a warning message when a Configurable secure type controller is encountered.
Submitted by: Sumit Sa
This patch will add support for latest generation MegaRAID adapters- Aero(39xx). Driver will throw a warning message when a Configurable secure type controller is encountered.
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: ken MFC after: 3 days Sponsored by: Broadcom Inc
show more ...
|
#
56d91e49 |
| 14-Dec-2018 |
Kashyap D Desai <kadesai@FreeBSD.org> |
This patch will increase debug level as current logging level has very minimal prints and even few important messages will not get logged.
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Revi
This patch will increase debug level as current logging level has very minimal prints and even few important messages will not get logged.
Submitted by: Sumit Saxena <sumit.saxena@broadcom.com> Reviewed by: Kashyap Desai <Kashyap.Desai@broadcom.com> Approved by: ken MFC after: 3 days Sponsored by: Broadcom Inc
show more ...
|