#
a8247021 |
|
23-Jan-2024 |
John Baldwin <jhb@FreeBSD.org> |
powerpc: Add RF_LITTLEENDIAN resource flag If this powerpc-specific flag is set on a resource, then the little-endian bus tag is always used when mapping that resource. Make use of this flag in the mpc85xx/fsl_sata driver to avoid setting the SATA BAR's bus tag after bus_alloc_resource. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D43553
|
#
fdafd315 |
|
24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
|
#
685dc743 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
c0665d5c |
|
04-Aug-2022 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/fsl_sata: Properly clamp maxio to pessimized size The CAM 'maxio' is a 'pessimized' size, assuming 4k pages and one page per segment. Since there are at most 63 segments in a transaction with this driver, and one would necessarily be the indirect segment marker, clamp the maxio to the minimum of maxphys (tunable) or (63 - 1) pages (248k). MFC after: 3 days
|
#
5d7d6129 |
|
10-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
powerpc mpc85xx: Remove unused devclass arguments to DRIVER_MODULE.
|
#
cd853791 |
|
27-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_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
|
#
b64b3133 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
powerpc: clean up empty lines in .c and .h files
|
#
05480265 |
|
15-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/mpc85xx: Clean up Freescale SATA driver a little * Remove unused ATA_IN/OUT macros, they just clutter up the file. * Fix some RID management bits for the channel memory resource.
|
#
65d2f9c1 |
|
05-Dec-2019 |
John Baldwin <jhb@FreeBSD.org> |
Use a void * argument to callout handlers instead of timeout_t casts. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D22684
|
#
e64428ed |
|
15-Jan-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Make fsl_sata driver work on P1022 P1022 SATA controller may set the wrong CCR bit for a command completion. This would previously cause an interrupt storm. Solve this by marking all commands complete, and letting the end_transaction deal with the successes. Causes no problems on P5020. While here, fix a minor bug in collision detection. The Freescale SATA controller only has 16 slots, not 32.
|
#
37f27586 |
|
05-Nov-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Set the PRD extension list base address in little endian All data accesses with the SATA controller are little endian. This was missed when writing the extension code.
|
#
78220c7b |
|
05-Nov-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix an off-by-one error missed in the initial commit of this driver When the segment count is > 16 it spills into an 'indirect descriptor list', which immediately follows the main table, but the indirect list is entry 15, so needs to be skipped for the general list.
|
#
809cd50f |
|
04-Nov-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale QorIQ SATA controller support. The Freescale SATA controller has many similarities to AHCI controllers, so this driver is a heavily modified AHCI driver. Currently it seems to only do SATA 1.0 speeds (~100-150MB/s), so there is still room for improvement. Still to be done: * Address erratum SATA-A-006187 -- Spread Spectrum Support (intermittent non-recoverable transient data integrity error seen when SSC enabled). * Linux doesn't read the log page as it hangs on the P1022. See if that's applicable to this, and address accordingly. * Try to determine what's holding back performance, and address it. MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D6071
|