tegra: Fix a common typo in source code comments- s/ajusted/adjusted/(cherry picked from commit b6724f7004cda7a554596a9a899ed5a151a4f151)
tegra/ahci: do not advertise enclosure management facilityIt is not implemented in HW.MFC after: 1 week(cherry picked from commit 6e9119768dad5289c188e8a07aada98783b52abf)
tegra124: Implement new get_gate method for tegra124 clocks.MFC after: 1 week(cherry picked from commit be01656fa4cd78f191c0ad8a6f4640a0c520d5a9)
arm: fix a typo in nvidia/drm2/tegra_bo.cUnbreaks building TEGRA124Sponsored by: Rubicon Communications, LLC ("Netgate")(cherry picked from commit e2493f4912cabd1d04be88fd17139a64bf2a2622)
Convert consumers to vm_page_alloc_noobj_contig()Remove now-unneeded page zeroing. No functional change intended.Reviewed by: alc, hselasky, kibSponsored by: The FreeBSD Foundation(cherry pic
Convert consumers to vm_page_alloc_noobj_contig()Remove now-unneeded page zeroing. No functional change intended.Reviewed by: alc, hselasky, kibSponsored by: The FreeBSD Foundation(cherry picked from commit 84c3922243a7b7fd510dcfb100aec59c878c57d0)
show more ...
arm: arm64: Directly use #include <dt-binding/...>We have it in the includes path and this will help the transition to thenew device-tree import in sys/contrib
ARM: Enhance common Nvidia Tegra drivers by support for Tegra210 SoC.MFC after: 4 weeks
arm: tegra: Remove unused variable
arm: clean up empty lines in .c and .h files
Fix grabbing of tegra uart.An attempt to write to FCR register may corrupt transmit FIFO,so we should wait for the FIFO to be empty before we can modify it.MFC after: 1 week
arm: nvidia: pcie: Rename class name to pcibReported by: jhb
arm: Fix duplicate pcib DRIVER_MODULEName each pcib driver uniquely.This remove the warning printed at each arm boot :module_register: cannot register simplebus/pcib from kernel; already loaded f
arm: Fix duplicate pcib DRIVER_MODULEName each pcib driver uniquely.This remove the warning printed at each arm boot :module_register: cannot register simplebus/pcib from kernel; already loaded from kernel
remove extraneous double ;s in sys/
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that arestill 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 arestill 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 andSYSCTL_PROC nodes using one of the soon-to-be-required flags.Mark all obvious cases as MPSAFE. All entries that haven't been markedas MPSAFE before are by default marked as NEEDGIANTApproved by: kib (mentor, blanket)Commented by: kib, gallatin, melifaroDifferential Revision: https://reviews.freebsd.org/D23718
Fix a few places that free a page from an object without busy held. This istightening constraints on busy as a precursor to lockless page lookup andshould largely be a NOP for these cases.Review
Fix a few places that free a page from an object without busy held. This istightening constraints on busy as a precursor to lockless page lookup andshould largely be a NOP for these cases.Reviewed by: alc, kib, markjDifferential Revision: https://reviews.freebsd.org/D22611
Change synchonization rules for vm_page reference counting.There are several mechanisms by which a vm_page reference is held,preventing the page from being freed back to the page allocator. Inpa
Change synchonization rules for vm_page reference counting.There are several mechanisms by which a vm_page reference is held,preventing the page from being freed back to the page allocator. Inparticular, holding the page's object lock is sufficient to prevent thepage from being freed; holding the busy lock or a wiring is sufficent aswell. These references are protected by the page lock, which musttherefore be acquired for many per-page operations. This results infalse sharing since the page locks are external to the vm_pagestructures themselves and each lock protects multiple structures.Transition to using an atomically updated per-page reference counter.The object's reference is counted using a flag bit in the counter. Asecond flag bit is used to atomically block new references viapmap_extract_and_hold() while removing managed mappings of a page.Thus, the reference count of a page is guaranteed not to increase if thepage is unbusied, unmapped, and the object's write lock is held. Asa consequence of this, the page lock no longer protects a page'sidentity; operations which move pages between objects are nowsynchronized solely by the objects' locks.The vm_page_wire() and vm_page_unwire() KPIs are changed. The formerrequires that either the object lock or the busy lock is held. Thelatter no longer has a return value and may free the page if it releasesthe last reference to that page. vm_page_unwire_noq() behaves the sameas before; the caller is responsible for checking its return value andfreeing or enqueuing the page as appropriate. vm_page_wire_mapped() isintroduced for use in pmap_extract_and_hold(). It fails if the page isconcurrently being unmapped, typically triggering a fallback to thefault handler. vm_page_wire() no longer requires the page lock andvm_page_unwire() now internally acquires the page lock when releasingthe last wiring of a page (since the page lock still protects a page'squeue state). In particular, synchronization details are no longerleaked into the caller.The change excises the page lock from several frequently executed codepaths. In particular, vm_object_terminate() no longer bounces betweenpage locks as it releases an object's pages, and direct I/O andsendfile(SF_NOCACHE) completions no longer require the page lock. Inthese latter cases we now get linear scalability in the common scenariowhere different threads are operating on different files.__FreeBSD_version is bumped. The DRM ports have been updated toaccomodate the KPI changes.Reviewed by: jeff (earlier version)Tested by: gallatin (earlier version), phoSponsored by: NetflixDifferential Revision: https://reviews.freebsd.org/D20486
Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m).These calls are not the same in general: the former will dequeue thepage if it is enqueued, while the latter will just leave i
Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m).These calls are not the same in general: the former will dequeue thepage if it is enqueued, while the latter will just leave it alone. But,all existing uses of the former apply to unmanaged pages, which arenever enqueued in the first place. No functional change intended.Reviewed by: kibMFC after: 1 weekSponsored by: NetflixDifferential Revision: https://reviews.freebsd.org/D20470
Extract eventfilter declarations to sys/_eventfilter.hThis allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.hThis allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces headerpollution substantially.EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .cfiles into appropriate headers (e.g., sys/proc.h, powernv/opal.h).As a side effect of reduced header pollution, many .c files and headers nolonger contain needed definitions. The remainder of the patch addressesadding appropriate includes to fix those files.LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required bysys/mutex.h since r326106 (but silently protected by header pollution priorto this change).No functional change (intended). Of course, any out of tree modules thatrelied on header pollution for sys/eventhandler.h, sys/lock.h, orsys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
arm: Add kern_clocksource.c directly in files.armThis files is needed and included in all our config so move it to a commonlocation.MFC after: 2 weeks
Don't allocate same clock twice..MFC after: 1 weekReported by: jah
o Don't allocate resources for SDMA in sdhci(4) if the controller or the front-end doesn't support SDMA or the latter implements a platform- specific transfer method instead. While at it, factor
o Don't allocate resources for SDMA in sdhci(4) if the controller or the front-end doesn't support SDMA or the latter implements a platform- specific transfer method instead. While at it, factor out allocation and freeing of SDMA resources to sdhci_dma_{alloc,free}() in order to keep the code more readable when adding support for ADMA variants.o Base the size of the SDMA bounce buffer on MAXPHYS up to the maximum of 512 KiB instead of using a fixed 4-KiB-buffer. With the default MAXPHYS of 128 KiB and depending on the controller and medium, this reduces the number of SDHCI interrupts by a factor of ~16 to ~32 on sequential reads while an increase of throughput of up to ~84 % was seen. Front-ends for broken controllers that only support an SDMA buffer boundary of a specific size may set SDHCI_QUIRK_BROKEN_SDMA_BOUNDARY and supply a size via struct sdhci_slot. According to Linux, only Qualcomm MSM-type SDHCI controllers are affected by this, though. Requested by: Shreyank Amartya (unconditional bump to 512 KiB)o Introduce a SDHCI_DEPEND macro for specifying the dependency of the front-end modules on the sdhci(4) one and bump the module version of sdhci(4) to 2 via an also newly introduced SDHCI_VERSION in order to ensure that all components are in sync WRT struct sdhci_slot.o In sdhci(4): - Make pointers const were applicable, - replace a few device_printf(9) calls with slot_printf() for consistency, and - sync some local functions with their prototypes WRT static.
arm64: GENERIC-MMCCAM: Fix build and module dependFix the build of the GENERIC-MMCCAM kernel config after the sdhci_xenondriver was commited.While here correct sdhci_fdt and tegra_sdhci, even wit
arm64: GENERIC-MMCCAM: Fix build and module dependFix the build of the GENERIC-MMCCAM kernel config after the sdhci_xenondriver was commited.While here correct sdhci_fdt and tegra_sdhci, even with MMCCAM they doneed to depend on sdhci(4)Reported by: Reshetnikov Dmitriy <[email protected]>Approved by: re (kib)Sponsored by: Rubicon Communications, LLC ("NetGate")
Eliminate the arena parameter to kmem_free(). Implicitly this corrects anerror in the function hypercall_memfree(), where the wrong arena was beingpassed to kmem_free().Introduce a per-page flag
Eliminate the arena parameter to kmem_free(). Implicitly this corrects anerror in the function hypercall_memfree(), where the wrong arena was beingpassed to kmem_free().Introduce a per-page flag, VPO_KMEM_EXEC, to mark physical pages that aremapped in kmem with execute permissions. Use this flag to determine whicharena the kmem virtual addresses are returned to.Eliminate UMA_SLAB_KRWX. The introduction of VPO_KMEM_EXEC makes itredundant.Update the nearby comment for UMA_SLAB_KERNEL.Reviewed by: kib, markjDiscussed with: jeffApproved by: re (marius)Differential Revision: https://reviews.freebsd.org/D16845
Move options INTRNG into std.armv6 and std.armv7INTRNG is required on all armv6 and armv7 systems, so make itstandard.
Eliminate kmem_alloc_contig()'s unused arena parameter.Reviewed by: hselasky, kib, markjDiscussed with: jeffDifferential Revision: https://reviews.freebsd.org/D16799
12345