tegra: Fix a common typo in source code comments- s/ajusted/adjusted/(cherry picked from commit b6724f7004cda7a554596a9a899ed5a151a4f151)
tegra124: Implement new get_gate method for tegra124 clocks.MFC after: 1 week(cherry picked from commit be01656fa4cd78f191c0ad8a6f4640a0c520d5a9)
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: tegra: Remove unused variable
arm: clean up empty lines in .c and .h files
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
show more ...
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
Move options INTRNG into std.armv6 and std.armv7INTRNG is required on all armv6 and armv7 systems, so make itstandard.
Remove IPI_IRQ_START and IPI_IRQ_END from the arm kernel config files.These are unneeded with INTRNG.
Clean up OF_getprop_alloc APIOF_getprop_alloc takes element size argument and returns number ofelements in the property. There are valid use cases for such behaviorbut mostly API consumers pass 1
Clean up OF_getprop_alloc APIOF_getprop_alloc takes element size argument and returns number ofelements in the property. There are valid use cases for such behaviorbut mostly API consumers pass 1 as element size to get stringproperties. What API users would expect from OF_getprop_alloc is to bea combination of malloc + OF_getprop with the same semantic of returnvalue. This patch modifies API signature to match these expectations.For the valid use cases with element size != 1 and to reducemodification scope new OF_getprop_alloc_multi function has beenintroduced that behaves the same way OF_getprop_alloc behaved prior tothis patch.Reviewed by: ian, manuDifferential Revision: https://reviews.freebsd.org/D14850
Switch users of fdt_is_enabled to use ofw_bus_node_status_okay. These areequivalent, so to prepare to remove the former move users to call thelatter.Sponsored by: DARPA, AFRL
Convert extres/phy to kobj model.Similarly as other extres pseudo-drivers, implement phy by using kobj model.This detaches it from provider device, so single device driver can exportmultiple diffe
Convert extres/phy to kobj model.Similarly as other extres pseudo-drivers, implement phy by using kobj model.This detaches it from provider device, so single device driver can exportmultiple different phys. Additionally, this allows phy to be subclassed tomore specialized drivers, like is USB OTG phy, or PCIe phy with hot-plugcapability.Tested by: manu (previous version, on Allwinner board)MFC after: 1 month
Make kernel option KERNVIRTADDR optional, remove it from std.<platform>files that can use the default value.It used to be required that the low-order bits of KERNVIRTADDR matchedthe low-order bit
Make kernel option KERNVIRTADDR optional, remove it from std.<platform>files that can use the default value.It used to be required that the low-order bits of KERNVIRTADDR matchedthe low-order bits of the physical load address for all arm platforms.That hasn't been a requirement for armv6 platforms since FreeBSD 10.There is no longer any relationship between load addr and KERNVIRTADDRexcept that both must be aligned to a 2 MiB boundary.This change makes the default KERNVIRTADDR value 0xc0000000, and removes theoptions from all the platforms that can use the default value. The defaultis now defined in vmparam.h, and that file is now included in a few newplaces that reference KERNVIRTADDR, since it may not come in via theforced-include of opt_global.h on the compile command line.
Revert r327250 as it broke the build for some armv6 kernel and all armv4/5Reported by: ian
arm: Add kern/kern_clocksource.c to files.armInstead of adding it to every files.vendor, add it to the common arch file.
tegra: Do not define early printf functionSince tegra is now in GENERIC, do not enable the early printffunction as it can conflict with others.
Tag all armv7 kernels as such in their machine config line.Transition all boards that support arm cortex CPUs to armv7. Thisleaves two armv6 kernels in the tree. RPI-B, which uses the BCM2835whic
Tag all armv7 kernels as such in their machine config line.Transition all boards that support arm cortex CPUs to armv7. Thisleaves two armv6 kernels in the tree. RPI-B, which uses the BCM2835which has a ARM1176 core, and VERSATILEPB, which is a qemu board setuparound the time RPI-B went in. Copy std.armv6 to std.armv7, eventhough that duplicates a lot of stuff. More work needs to be done tosort out the duplication.Differential Revision: https://reviews.freebsd.org/D12027
Remake support for SMP kernel on UP cpu: - Use new option SMP_ON_UP instead of (mis)using specific CPU type. By this, any SMP kernel can be compiled with SMP_ON_UP support. - Enable runtime dete
Remake support for SMP kernel on UP cpu: - Use new option SMP_ON_UP instead of (mis)using specific CPU type. By this, any SMP kernel can be compiled with SMP_ON_UP support. - Enable runtime detection of CPU multiprocessor extensions only if SMP_ON_UP option is used. In other cases (pure SMP or UP), statically compile only required variant. - Don't leak multiprocessor instructions to UP kernel. - Correctly handle data cache write back to point of unification. DCCMVAU is supported on all armv7 cpus. - For SMP_ON_UP kernels, detect proper TTB flags on runtime.Differential Revision: https://reviews.freebsd.org/D9133
Implement drivers for NVIDIA tegra124 display controller, HDMI sourceand host1x module. Unfortunately, tegra124 SoC doesn't have 2D accelerationengine and 3D requires not yet started nouveau driver
Implement drivers for NVIDIA tegra124 display controller, HDMI sourceand host1x module. Unfortunately, tegra124 SoC doesn't have 2D accelerationengine and 3D requires not yet started nouveau driver.These drivers forms a first non-x86 DRM2 enabled graphic stack.Note, there are 2 outstanding issues: - The code uses gross hack in order to be comply with OBJT_MGTDEVICE pager. (See tegra_bo_init_pager() in tegra_bo.c) - Due to improper(probably) refcounting in drm_gem_mmap_single() (in drm_gem.c), the gem objects are never released.I hope that I will be able to address both issues in finite time,but I don't want to touch x86 world now.MFC after: 1 month
All armv6 platforms have the same implementation of platform_lastaddr.Replace them with a default handler that returns devmap_lastaddr.Reviewed by: mmelSponsored by: ABT Systems LtdDifferential
All armv6 platforms have the same implementation of platform_lastaddr.Replace them with a default handler that returns devmap_lastaddr.Reviewed by: mmelSponsored by: ABT Systems LtdDifferential Revision: https://reviews.freebsd.org/D8806
Use the platform_*_t typedefs to help check the platform function types arecorrect.Sponsored by: ABT Systems Ltd
Fixes for NVIDIA Tegra124 clocks: - EMC clock have standard peripheral clock block. Use it. - Implement full frequency set method for PLLD2. This PLL is used as HDMI pixel clock so we must be ab
Fixes for NVIDIA Tegra124 clocks: - EMC clock have standard peripheral clock block. Use it. - Implement full frequency set method for PLLD2. This PLL is used as HDMI pixel clock so we must be able to set it to wide range of frequencies, within 5% tolerance allowed by HDMI specification. Due to this, full state space search (over m, n, p fields) is necessary.MFC after: 3 weeks
Stop including fdt_common.h from the arm code when it's unneeded.Sponsored by: ABT Systems Ltd
Add NVIDIA Tegra XHCI driver and coresponding firmware blob.MFC after: 3 weeksApproved by: core@ (NVIDIA license)
12