<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/smartpqi, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-05-07T18:08:26Z</updated>
<entry>
<title>smartpqi: Add runtime sysctl for debug_level and log device state changes</title>
<updated>2026-05-07T18:08:26Z</updated>
<author>
<name>John Hall</name>
<email>jrhall@FreeBSD.org</email>
</author>
<published>2026-05-04T21:43:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0d48d6d7bba77d6c3736ce56ea5667bfbde89705'/>
<id>urn:sha1:0d48d6d7bba77d6c3736ce56ea5667bfbde89705</id>
<content type='text'>
The smartpqi driver did not log device add/remove or controller events
to syslog, and hw.smartpqi.debug_level could only be set at boot via
loader.conf with no runtime sysctl interface.

Add a read-write sysctl at dev.smartpqi.N.debug_level for runtime
debug level changes. Add device_printf calls for device addition,
removal, and controller events (hotplug, hardware, physical/logical
device, AIO state/config changes) so state changes always appear in
dmesg. Add DBG_DISC logging for discovery state transitions. Fix
spelling errors in strings and comments across the driver.

Bump driver version to 14.4691.1.2000 / 15.2.1.2000.

PR:		294161
Reviewed by:	imp
Approved by:	imp
MFC after:	2 weeks

Differential Revision:	https://reviews.freebsd.org/D56832
</content>
</entry>
<entry>
<title>chore: replace {0, 0} with {DEV,KOBJ}METHOD_END</title>
<updated>2026-02-25T05:59:34Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2026-02-21T06:14:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0fc6c3f731a2cca3120798806c330a3081c9424b'/>
<id>urn:sha1:0fc6c3f731a2cca3120798806c330a3081c9424b</id>
<content type='text'>
Both of the aforementioned macros have been present in FreeBSD
for well over a decade: 2009 for `KOBJMETHOD_END`; 2011 for
`DEVMETHOD_END`.

Adapt all hardcoded references of `{0, 0}` with `DEVMETHOD_END`
and `KOBJMETHOD_END` as appropriate. This helps ensure that
future adaptations to drivers following patterns documented
in driver(9) can be made more easily/without issue.

MFC after:	1 week
Differential Revision:	 https://reviews.freebsd.org/D55414
</content>
</entry>
<entry>
<title>smartpqi: Update to vendor version 14.4690.0.2008 - 15.2.0.2008</title>
<updated>2026-02-02T17:01:30Z</updated>
<author>
<name>John Hall</name>
<email>jrhall@FreeBSD.org</email>
</author>
<published>2026-02-02T15:44:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f54c65abc67f50363bbd2a68a980d23e69c9ef0'/>
<id>urn:sha1:7f54c65abc67f50363bbd2a68a980d23e69c9ef0</id>
<content type='text'>
Update to versions:
FreeBSD14 14.4690.2008
FreeBSD15 15.2.0.2008

Included in this update are:
 - Support for new controllers
 - Add code that utilizes the new BIG_IOCTL_Command_struct and allows
   the I/O buffer size for a single passthrough ioctl to be stored as a
   32 bit integer instead of the original 16 bit integer.
 - Update occurrences of Microsemi to Microchip
 - Some format changes including converting comments from C++ to C
   style, remove instances of /* $FreeBSD$ */, and updating copyright
   dates.

Update to versions:
FreeBSD14 14.4690.2008
FreeBSD15 15.2.0.2008

Included in this update are:

- Support for new controllers

_ Add code that utilizes the new BIG_IOCTL_Command_struct and allows
  the I/O buffer size for a single passthrough ioctl to be stored as
  a 32 bit integer instead of the original 16 bit integer.

- Update occurrences of Microsemi to Microchip

- Some format changes including converting comments from C++ to C
  style, remove instances of /* $FreeBSD$ */, and updating copyright
  dates.

Reviewed by:	imp
Approved by:	imp
MFC after:	1 week

Sponsored by: Microchip Technology Inc.

Differential Revision:	https://reviews.freebsd.org/D54787
</content>
</entry>
<entry>
<title>smartpqi: Avoid declaring extern inline functions</title>
<updated>2026-01-16T19:55:08Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2026-01-16T19:49:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=75c591b26723711d7a38f2a5df7aecc28198cd83'/>
<id>urn:sha1:75c591b26723711d7a38f2a5df7aecc28198cd83</id>
<content type='text'>
Each C file is compiled separately so these functions can't be inlined
except in the file where they are defined.  Since these functions aren't
used outside smartpqi_request.c, just do the simple thing and make them
private to that file.

Reported by:	gcc
Reviewed by:	jrhall
Fixes:		c558eca47970 ("smartpqi: update to version 4660.0.2002")
Differential Revision:	https://reviews.freebsd.org/D54732
</content>
</entry>
<entry>
<title>smartpqi: Make pqisrc_is_supported_write static</title>
<updated>2026-01-10T20:22:36Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2026-01-10T20:15:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=73a238643a2e9ef298d961966040587ca0970a58'/>
<id>urn:sha1:73a238643a2e9ef298d961966040587ca0970a58</id>
<content type='text'>
This fixes a build error with -O0 and matches all the other pqisrc_is_*
routines in the file.

--- kernel.full ---
ld: error: undefined symbol: pqisrc_is_supported_write
&gt;&gt;&gt; referenced by smartpqi_request.c:1799 (/.../smartpqi_request.c:1799)
&gt;&gt;&gt;               smartpqi_request.o:(pqisrc_build_scsi_cmd_raidbypass)
</content>
</entry>
<entry>
<title>smartpqi: update to version 4660.0.2002</title>
<updated>2026-01-09T17:39:58Z</updated>
<author>
<name>John Hall</name>
<email>jrhall@FreeBSD.org</email>
</author>
<published>2025-08-28T21:11:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c558eca47970c8467ed0494145f08d1879050bbd'/>
<id>urn:sha1:c558eca47970c8467ed0494145f08d1879050bbd</id>
<content type='text'>
This updates the smartpqi driver to Microchip's
latest available public release.

Reviewed by: imp
Approved by: imp

Sponsored by: Microchip Technology Inc.

Differential Revision: https://reviews.freebsd.org/D52507
</content>
</entry>
<entry>
<title>style(9): white space after ; and around binary operators</title>
<updated>2025-10-16T22:02:50Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2025-10-15T05:22:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0050289464fa56ec79e060b8d8378b9ff7145a0e'/>
<id>urn:sha1:0050289464fa56ec79e060b8d8378b9ff7145a0e</id>
<content type='text'>
in for() loops.  Also, use 'while', where only the
conditional test of 'for' was used.

Reviewed by: sjg
</content>
</entry>
<entry>
<title>smartpqi(4): Fix a typo in a source code comment</title>
<updated>2025-01-26T12:09:34Z</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2025-01-26T12:09:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b0c318efdde7c1b059b26f1ab6d4c75e838b6652'/>
<id>urn:sha1:b0c318efdde7c1b059b26f1ab6d4c75e838b6652</id>
<content type='text'>
- s/isnt/isn’t/

MFC after:	3 days
</content>
</entry>
<entry>
<title>smartpqi: Change alignment for dma tags</title>
<updated>2023-10-19T03:12:27Z</updated>
<author>
<name>John Hall</name>
<email>john.hall@microchip.com</email>
</author>
<published>2023-10-19T03:10:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f07b267d8cc87e88be3c78aa69504b5ebc6571ee'/>
<id>urn:sha1:f07b267d8cc87e88be3c78aa69504b5ebc6571ee</id>
<content type='text'>
Problem: Under certain I/O conditions, a program doing large block disk
reads can cause a controller to crash.

Root Cause: The SCSI read request and destination address in the BDMA
descriptor is incorrect, causing the BDMA engine in the controller to
assert.

Fix: Change the alignment for creating bus_dma_tags in the driver from
PAGE_SIZE (4k) to 1, which allows the controller to manage it's own
address range for BDMA transactions.

Risk: Medium

Exposure: This reverts a change first made to support NVMe drives on
Excalibur. At that time a 4k alignment was necessary. This no longer
seems to be the case.

PR: 259541
Reported by: Ka Ho Ng &lt;khng@freebsd.org&gt;
Reviewed by: imp
Differential Revision:	https://reviews.freebsd.org/D41619
</content>
</entry>
<entry>
<title>smartpqi: Drop spinlock before freeing memory</title>
<updated>2023-10-19T03:06:40Z</updated>
<author>
<name>John F. Carr</name>
<email>jfc@mit.edu</email>
</author>
<published>2023-10-19T03:02:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b064a4c9eed5b1dd2a40fc4fd2cb7e738b681547'/>
<id>urn:sha1:b064a4c9eed5b1dd2a40fc4fd2cb7e738b681547</id>
<content type='text'>
pqisrc_free_device frees the device softc with the os spinlock
held. This causes crashes when devices are removed because the memory
free might sleep (which is prohibited with spin locks held). Drop the
spinlock before releasing the memory.

MFC After: 2 days
PR: 273289
Reviewed by: imp
</content>
</entry>
</feed>
