#
a9e0f316 |
|
09-May-2024 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
kern/intr: redeclare intr_setaffinity()'s third arg constant This matches reality and allows removal of a __DECONST(). Fixes: 4c72d075a57 ("LinuxKPI: const argument to irq_set_affinity_hint()") Fixes: 9b33b154b53 ("Add support to cpuset for binding hardware interrupts") Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1126
|
#
96ab16eb |
|
24-Dec-2023 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Remove sys/rman.h include from LKPI headers. sys/rman.h defines `resource` structure which conflicts with the Linux structure of the same name. To fix that remove reference to sys/rman.h from linux/pci.h and move resource management code to linux_pci.c. Update consumers which were depending on linux/pci.h pollution. No functional changes intended. Sponsored by: Serenity Cyber Security, LLC MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42792
|
#
95ee2897 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
210e756d |
|
10-Feb-2023 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
linuxkpi: Define `IRQ_NOTCONNECTED` Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38539
|
#
4c72d075 |
|
28-Jan-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: const argument to irq_set_affinity_hint() irq_set_affinity_hint() takes a const mask argument and some drivers pass it in as such where earlier implementations were more lenient. Deal with it and __DECONST() the argument when passed to intr_setaffinity(). Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38242
|
#
bc81a2b7 |
|
28-Jan-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: interrupt.h: add disable_irq_nosync(), irq_set_status_flags() Add a dummy irq_set_status_flags() along with #defines passed by the driver. Add disable_irq_nosync() as another wrapper to lkpi_disable_irq(). Those are used by wireless drivers. Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38241
|
#
2272ccaa |
|
10-Jan-2023 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
linuxkpi: Define `tasklet_unlock_spin_wait()` as `tasklet_unlock_wait()` Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38080
|
#
4b56afaf |
|
28-Nov-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: implement irq_get_msi_desc() Add irq_get_msi_desc() as a wrapper around a PCI function which will allocate a single cached value (see comment on struct) for the msi_desc requested if it doesn't exist yet and handle freeing it when the PCI device goes away. We take the values from the ivars of the native (FreeBSD) device. While changing struct pci_dev also add the msi_cap field requested by a wireless driver. Bump __FreeBSD_version so these changes can be detected. MFC after: 3 days X-MFC: move fields to end of struct (alloc happens in linux_pci.c) Reviewed by: hselasky (earlier version) Differential Revision: https://reviews.freebsd.org/D37523
|
#
f2978460 |
|
30-Oct-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: tasklet add (*callback) support In addition to (*func) tasklet also seems to have a (*callback) with a different argument. Add support for this and add tasklet_setup() as well for support in more drivers. The from_tasklet() definition is duplicated in the tree; hide it there under #ifndef to avoid a re-definition. People should generally add LinuxKPI bits to linuxkpi rather than private files if they also rely on other LinuxKPI bits. X-MFC: DO NOT MFC, space allocated by drivers not us. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D37216
|
#
6e8d6761 |
|
30-Oct-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add devm_request_irq() Add devm_request_irq() needed by a driver. Turns out all we need is a wrapper with the right arguments to lkpi_request_irq(). MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D37217
|
#
307f78f3 |
|
19-Dec-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Constantly use _LINUXKPI_ prefix in include guards MFC after: 1 week Reviewed by: bz, emaste, hselasky, manu Differential Revision: https://reviews.freebsd.org/D33562
|
#
5ca1f3f5 |
|
29-Sep-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Hide some internal symbols in linux_interrupt.c Reviewed by: hselasky, manu Differential revision: https://reviews.freebsd.org/D32168
|
#
66ea3906 |
|
29-Sep-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Remove FreeBSD struct resource from all LKPI headers except linux/pci.h to avoid conflicts with Linux version. This allows to #define resource in drm-kmod globally and strip some #ifdef-s Reviewed by: hselasky, manu MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D31673
|
#
d16b6cb1 |
|
30-May-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: enhance the irq KPI for managed and threaded operations. Move request_irq() to an internal function which serves request_irq() and the newly added request_threaded_irq() and devm_request_threaded_irq(). Likewise factor out parts of free_irq() to also be used with devm_free_irq(). Add the storage and call to a thread_handler in case of IRQ_WAKE_THREAD. This is needed for the iwlwifi driver. Sponsored by: The FreeBSD Foundation MFC after: 10 days Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D30549
|
#
602e4e43 |
|
24-May-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add irq_set_affinity_hint() Add an implementation for irq_set_affinity_hint() to linux/interrupt.h and include linux/hardirq.h for synchronize_irq() as needed by wireless drivers. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D30427
|
#
9781105b |
|
28-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Introduce tasklet_disable_nosync() This is needed for the drm-kmod 5.5 update. Reviewed by: hselasky (src) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30024
|
#
6575da5e |
|
11-Sep-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix broken DECLARE_TASKLET() macro after r347852. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
4f109faa |
|
14-Aug-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement pci_enable_msi() and pci_disable_msi() in the LinuxKPI. This patch makes the DRM graphics driver in ports usable on aarch64. Submitted by: Greg V <greg@unrelenting.technology> Differential Revision: https://reviews.freebsd.org/D21008 MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
480995dc |
|
16-May-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Updates to tasklets for Linux 5.0. DRM drivers expect tasklets to have a counter for enable/disable calls. Also, add a few more tasklet locking functions. This patch is part of D19565 Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week
|
#
7353335d |
|
17-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Move the IRQ_RETVAL() and irqreturn definitions to irqreturn.h in the LinuxKPI to be compatible with Linux. No functional change. MFC after: 1 week Submitted by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Mellanox Technologies
|
#
1249c589 |
|
17-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add checks for valid IRQ tag before setting up or tearing down an interrupt handler in the LinuxKPI. This is needed when the interrupt handler is disabled before freeing the interrupt. MFC after: 1 week Submitted by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Mellanox Technologies
|
#
f1f7e04a |
|
16-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement tasklet_enable() and tasklet_disable() in the LinuxKPI. MFC after: 1 week Requested by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Mellanox Technologies
|
#
219ff59c |
|
16-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement enable_irq() and disable_irq() in the LinuxKPI. MFC after: 1 week Submitted by: Johannes Lundberg <johalun0@gmail.com> Sponsored by: Mellanox Technologies
|
#
ef23481a |
|
21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for LinuxKPI tasklets. Tasklets are implemented using a taskqueue and a small statemachine on top. The additional statemachine is required to ensure all LinuxKPI tasklets get serialized. FreeBSD taskqueues do not guarantee serialisation of its tasks, except when there is only one worker thread configured. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
e996b07c |
|
09-Dec-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Prefix some _pci_xxx() functions in the Linux KPI with linux_ and make sure the IRQ number used by these functions is unsigned. Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
0c510167 |
|
08-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
LinuxKPI style changes: - Properly prefix internal functions with "linux_" instead of only a single underscore to avoid future namespace collisions. - Make some functions global instead of inline to ease debugging and to avoid unnecessary code duplication. - Remove no longer existing kthread_create() function's prototype. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
8e7baabc |
|
02-Nov-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make all the LinuxKPI include files compile standalone. Sponsored by: Mellanox Technologies
|
#
8d59ecb2 |
|
29-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Finish process of moving the LinuxKPI module into the default kernel build. - Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done. Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies
|