#
5b56413d |
| 25-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANY
Sponsored by: Netflix
|
Revision tags: release/14.1.0 |
|
#
493715f9 |
| 20-Apr-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
ig4_iic: Warn on NACK
Some DSDTs define non-existent devices, warn the user when an access is attempted on one of these devices.
Reviewed by: imp, markj, Elliott Mitchell Pull Request: https://gith
ig4_iic: Warn on NACK
Some DSDTs define non-existent devices, warn the user when an access is attempted on one of these devices.
Reviewed by: imp, markj, Elliott Mitchell Pull Request: https://github.com/freebsd/freebsd-src/pull/1125
show more ...
|
Revision tags: release/13.3.0 |
|
#
13037eaa |
| 25-Dec-2023 |
Alexander Motin <mav@FreeBSD.org> |
ig4: Actively use FIFO thresholds
Before every wait for FIFO interrupt set how much data/space do we want to see there. Previous code was not using it for receive, as result aggregating interrupts
ig4: Actively use FIFO thresholds
Before every wait for FIFO interrupt set how much data/space do we want to see there. Previous code was not using it for receive, as result aggregating interrupts only within processing latency. The new code needs only one interrupt per transfer per FIFO length.
On my Dell XPS 13 9310 with iichid(4) touchscreen and touchpad this reduces the interrupt rate per device down to 2 per sample or 16-20 per second when idle and 120-160 per second when actively touched.
MFC after: 1 month
show more ...
|
#
9c9d7fdd |
| 24-Dec-2023 |
Alexander Motin <mav@FreeBSD.org> |
ig4: Fix FIFO depths detection
At least on my Tiger Lake-LP queue depth detection failed before the ig4iic_set_config() call, resulting in no FIFO use. Moving it after solves the problem, getting p
ig4: Fix FIFO depths detection
At least on my Tiger Lake-LP queue depth detection failed before the ig4iic_set_config() call, resulting in no FIFO use. Moving it after solves the problem, getting proper 64 bytes size.
On my Dell XPS 13 9310 with iichid(4) touchscreen and touchpad this by few times reduces context switch rate in the driver, and probably also improves the I2C bus utilization.
MFC after: 1 month
show more ...
|
#
5972ffde |
| 16-Nov-2023 |
Andrew Gallatin <gallatin@FreeBSD.org> |
ig4(4): Add an EMAG device type
Sponsored by: Ampere Computing LLC, Netflix Submitted by: allanjude Differential Revision: https://reviews.freebsd.org/D28746 Reviewed by: imp
|
Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
87f55ab0 |
| 18-Apr-2023 |
Dimitry Andric <dim@FreeBSD.org> |
ichiic: use bool for one-bit wide bit-fields
A one-bit wide bit-field can take only the values 0 and -1. Clang 16 introduced a warning that "implicit truncation from 'int' to a one-bit wide bit-fiel
ichiic: use bool for one-bit wide bit-fields
A one-bit wide bit-field can take only the values 0 and -1. Clang 16 introduced a warning that "implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1". Fix by using c99 bool.
Reported by: Clang Reviewed by: emaste, wulf MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39665
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
4e9e71fd |
| 09-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
ichiic: Remove unused devclass arguments to DRIVER_MODULE.
|
#
676ea8e1 |
| 20-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
Remove unused iicbus_devclass.
|
Revision tags: release/12.3.0, release/13.0.0 |
|
#
bbacb7ce |
| 23-Feb-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ig4: Add PCI IDs for Intel Gemini Lake I2C controller.
Submitted by: Dmitry Luhtionov MFC after: 2 weeks
|
#
37ef8d4c |
| 18-Feb-2021 |
Allan Jude <allanjude@FreeBSD.org> |
ig4(4): Increase timeout to about 1 second
Per the i2c spec, a slave device can stretch SCL idefinitely, so 25ms is a bit arbitrary in general. smbus does specify an optional timeout recovery mechan
ig4(4): Increase timeout to about 1 second
Per the i2c spec, a slave device can stretch SCL idefinitely, so 25ms is a bit arbitrary in general. smbus does specify an optional timeout recovery mechanism to be done at about 25~35ms, but the IPMI SSIF spec says that BMCs don't have any obligation to implement that. The BMC on Altra seems to mostly respond within 25ms, but occasionally will stretch SCL for ~300 msec.
Also, the count_us mechanism seems to actually timeout around 25% earlier than it would claim (timeout really happening around 19ms instead of 25ms).
Sponsored by: Ampere Computing LLC Submitted by: Klara Inc. Reviewed by: manu, imp Differential Revision: https://reviews.freebsd.org/D28747
show more ...
|
#
6c6fd2b4 |
| 05-Dec-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ig4(4): Add PCI IDs for Intel Tiger Lake
Submitted by: Neel Chauhan <neel AT neelc DOT org> Differential Revision: https://reviews.freebsd.org/D27483
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
16b90565 |
| 10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358731 through r358831.
|
#
9b7938dc |
| 09-Mar-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
iicbus(4): Add support for ACPI-based children enumeration
When iicbus is attached as child of Designware I2C controller it scans all ACPI nodes for "I2C Serial Bus Connection Resource Descriptor" d
iicbus(4): Add support for ACPI-based children enumeration
When iicbus is attached as child of Designware I2C controller it scans all ACPI nodes for "I2C Serial Bus Connection Resource Descriptor" described in section 19.6.57 of ACPI specs. If such a descriptor is found, I2C child is added to iicbus, it's I2C address, IRQ resource and ACPI handle are added to ivars. Existing ACPI bus-hosted child is deleted afterwards.
The driver also installs so called "I2C address space handler" which is disabled by default as nontested. Set hw.iicbus.enable_acpi_space_handler loader tunable to 1 to enable it.
Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22901
show more ...
|
#
69fac7c3 |
| 04-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Try to workaround MIPS namespace pollution issue
|
#
371d37d8 |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Convert ithread interrupt handler to filter based one.
|
#
81e81838 |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Add support for CannonLake controllers
They are clocked at 216MHz rate, much higher than previous models.
PR: 240485 Submitted by: Neel Chauhan <neel@neelc.org>
|
#
bff27555 |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Minor improvement of write pipelining
With leaving some data queued in the TX FIFO at the end of write cycle.
|
#
0eb21d1b |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] wait for bus stop condition after stop command issued
It gives better error detection and ig4 driver's lock coverage in a pipelined write case
|
#
ae73652c |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] On SkyLake controllers issue reset on attach unconditionally.
It is very helpful during debugging of I2C issues. It is done only for SkyLakes due to lack of testing on other hardware.
|
#
847f557c |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Set STOP condition and flush TX/RX FIFOs on error
if controller has not it done for us yet.
Reset controller when transfer abort is failed.
|
#
e3a56ba2 |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Improve error detection
Handle error bits of INTR_STAT and TX_ABORT registers.
Move interrupt clearing from interrupt handler to polling loop to get common execution path with polled mode.
D
[ig4] Improve error detection
Handle error bits of INTR_STAT and TX_ABORT registers.
Move interrupt clearing from interrupt handler to polling loop to get common execution path with polled mode.
Do not clear interrupts with reading of IG4_REG_CLR_INTR register as interrupts, triggered during the period from reg_read(IG4_REG_INTR_STAT) to reg_read(IG4_REG_CLR_INTR) will be missed. Instead, read each IG4_REG_CLR_* register separately.
show more ...
|
#
b0eb9d3e |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Convert polling loop from status-based to interrupt-based
INTR_STAT register exposes more useful informaton then STA register does e.g. it exposes error and I2C bus STOP conditions. Make it a
[ig4] Convert polling loop from status-based to interrupt-based
INTR_STAT register exposes more useful informaton then STA register does e.g. it exposes error and I2C bus STOP conditions. Make it a main source of I2C transfer state.
show more ...
|
#
7f6aee64 |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Use interrupts for waiting for empty TX FIFO
|
#
7814f978 |
| 03-Nov-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
[ig4] Convert last remaining usage of TX_NOTFULL status to TX_EMPTY
in ig4iic_read routine. It makes possible interrupt utilization while waiting for empty space in TX FIFO.
|