IABSD.fr/src/sys/dev

Branch :


Log

Author Commit Date CI Message
e9c4ad80 2020-04-23 19:50:52 Enable pcie_aux in addition to the other PCIe clocks on i.MX8M.
ddff7592 2020-04-23 19:48:26 Since apparently the bikeshedding over i.MX8M PCIe device tree bindings still hasn't resulted in an upstream commit in Linux, accept the ext_osc attribute if ext_osc exists without a value, or if it has a value greater zero. This improves compatibility with various device trees.
65c9ab81 2020-04-23 14:56:28 Add support for the i.MX8MM PCIe clocks. These behave exactly like the i.MX8MQ variant and sit in the same places.
6d77ca04 2020-04-23 11:13:47 drm/amdkfd: kfree the wrong pointer From Jack Zhang 044a884072b4313554d910b792f46c3e1f0099a5 in linux 4.19.y/4.19.118 3148a6a0ef3cf93570f30a477292768f7eb5d3c3 in mainline linux
9d2954c3 2020-04-22 15:27:26 Add clock gates for OCOTP and TMU on i.MX8MQ and i.MX8MM.
dc6510ae 2020-04-22 09:48:44 Add bcmsdhost(4), a driver for the Broadcom "sdhost" SD controller found on the Raspberry Pi. The driver was ported from NetBSD by Neil Ashford and tobhe@. ok patrick@, tobhe@
b169ab37 2020-04-22 09:46:09 drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled From Sergei Lopatin 9959d615b715972002ed1ec9961486ded26e2ef4 in linux 4.19.y/4.19.117 8c7f0a44b4b4ef16df8f44fbaee6d1f5d1593c83 in mainline linux
1afcf60f 2020-04-22 08:47:11 Use FOREACH_QUEUE() where nothing else is required to support multi-queues. Tested by Hrvoje Popovski and jmatthew@, ok jmatthew@
24f8ee69 2020-04-22 07:09:40 Use I40E_QUEUE_TYPE_EOL instead of hardcoding its value localy. ok jmatthew@
8ea04389 2020-04-21 19:27:03 Revert r1.207. Apparently mpi(4) on sparc64 blows up if sc_link.openings is greater than 34. Encountered by Sigi Rudzio on his Blade 2500, who kindly did some testing to discover that the answer is 34, not 42. Nuke some whitespace on the way by.
fdec9127 2020-04-21 18:56:54 Add bcmdmac, a driver for the DMA controller found on BCM283x SoCs. Original work by Neil Ashford and dlg@ ok kettenis@
6ca31440 2020-04-21 10:34:24 Work around FIFO_UNDERRUN (0x84) Tx errors being reported by iwn(4) firmware. When this error occurs, it tends to occur multiple times in a row. Affected frames are lost and never get transmitted, and traffic stalls for a while. I don't understand what is causing this. I have found that it only occurs if we ask the firmware to use its multi-rate retry table. If we send frames at a fixed rate, it does not happen. So this can be used as a workaround until the real problem is understood. Since this error is particularly problematic with block ack, use a fixed Tx rate for aggregation queues for now. All subframes contained in an aggregate are always sent together at the same rate anyway. ok mpi@
b6189efa 2020-04-21 10:33:30 Fix TID value set by iwn(4) in the Tx command when sending block ack requests. ok jmatthew@ mpi@
31b9e12d 2020-04-21 07:58:57 Add support for the additional SDHC controller found on the Raspberry Pi. ok patrick@
d5823638 2020-04-21 05:49:25 Commands that create objects return a 24 bit object ID, so mask off the high 8 bits of the value we extract, in case the firmware leaves junk there. Hrvoje Popovski has seen this with newer firmware on a ConnectX 5 card, which now works properly. ok dlg@
4f217ef0 2020-04-20 21:52:25 regen
3e1635af 2020-04-20 21:52:02 Add Broadcom BCM2711.
21094210 2020-04-20 20:32:23 regen
221239d7 2020-04-20 20:30:45 Add another SanDisk/WD Black NVMe device. From Greg Jones <gjones5555 (at) netscape (dot) net>
148b84e4 2020-04-20 16:01:39 Fix pasto. We only need a single register set. Makes this work with a mainline Linux device tree.
57678b05 2020-04-20 12:33:03 Increase the completion queue size to prevent overflow. Under reasonably unlikely circumstances - lots of single-fragment packets being sent, a significant number of packets being received, while the interrupt handler was unable to process the completion queue - the completion queue could overflow, which would result in the interface locking up. ok dlg@
659b9149 2020-04-20 12:23:53 Check if we've reached the end of the current mailbox before writing past the end of it, rather than after. Now we can actually allocate queues big enough to need multiple mailboxes. ok dlg@
9b18b542 2020-04-20 12:11:17 Don't call mcx_intr() from mcx_cmdq_poll(); this was a leftover from early development that I forgot about, but turns out to be a potential race with the actual interrupt handler. ok dlg@
91fe9e06 2020-04-20 08:50:06 Add athn(4) definitions for the block-ack/block-ack-request control register. Not used yet but may become useful later.
b102dfaa 2020-04-19 21:40:21 Add comments to clarify the hex IDs of some bwfm(4) devices on SD bus. ok jmc@ deraadt@ kettenis@ "thanks and don't wait for me" patrick@
56c4b5db 2020-04-19 16:48:39 Add compatible string for the Raspberry Pi 4.
37d45816 2020-04-19 16:25:33 Add support for hardware where an SDHC controller lives on a bus that only supports 32-bit access (hello Raspberry Pi). ok tobhe@
f3607098 2020-04-19 16:17:03 Add quitks for the SDHC controller found on the Raspberry Pi. This will give us uSD card or WiFi support (but not both) depending on the firmware configuration. ok tobhe@
04b7fce9 2020-04-19 16:15:20 Add support for hardware where an SDHC controller lives on a bus that only supports 32-bit access (hello Raspberry Pi). ok tobhe@
5e100c69 2020-04-19 16:00:00 Add bcmirng(4), a driver for the RNG200 random number generator found on the Raspberry Pi 4. ok deraadt@
247c8e67 2020-04-19 15:05:14 Move logic to change brightness level in reasonable steps from acpivout(4) into wsdisplay(4). This code is now exposed through wsdisplay_brightness_{step,zero,cycle} functions that can be called by any driver that handles brightnes "hotkeys". These functions take a wsdisplay(4) device pointer as their first argument, which should be provided if a clear association between events and a particular display exist. This is used in wskbd(4). Otherwise NULL can be passed and the code will direct the request at the first wsdisplay(4) that implements brightness adjustment. Tested by many. Fixes brightness keys on x395 and other thinkpads with AMD graphics. ok patrick@
0e79e07c 2020-04-19 14:58:20 Add bcmclock, a driver for the BCM283X CPRMAN clock controller. Original work by Neil Ashford and dlg@ Feedback from jsg@ ok kettenis@, dlg@
ac0caa02 2020-04-19 14:51:52 Add bcmmbox, a driver for the VideoCore messagebox interface on BCM283X. Original work by Neil Ashford and dlg@ Feedback from jsg@ ok kettenis@, dlg@
e40d0fbf 2020-04-19 09:20:45 Add bcmpcie(4), a driver for the PCIe controller found on the Raspberry Pi 4. In its current state the driver relies on the firmware for initializing the controller. Therefore it only really works when using the EDK2-based UEFI firmware. ok jsg@
9ee9e54e 2020-04-18 21:55:56 Disable MSI for AMD Hudson2 HDA to fix random lock ups. from Hemno Sapients <calomalus at airmail.cc>, thanks
dae8285d 2020-04-18 21:32:21 Remove support for unused /dev/mixer device nodes. ok deraadt
671e0bd2 2020-04-18 10:03:32 Remove useless return statement.
24d838fb 2020-04-18 07:55:06 Add glue to let bse(4) attach using the FDT. ok jsg@
a763589e 2020-04-18 06:10:23 drm/dp_mst: Fix clearing payload state on topology disable From Lyude Paul a0522bbd37d80507d118d3616e46bccde2c395a9 in linux 4.19.y/4.19.116 8732fe46b20c951493bfc4dba0ad08efdf41de81 in mainline linux
9518a785 2020-04-18 06:07:13 Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" From Sasha Levin 9a61fe235c0a653457c741d6140c6a8f8d8bfb48 in linux 4.19.y/4.19.116 a86675968e2300fb567994459da3dbc4cd1b322a in mainline linux
5f63ba22 2020-04-17 23:29:53 Fix an incorrect test for root in drm linux compatiblity code. Patch from and commited on behalf of Jonathan Gray (jsg@) ok kettenis@
f21dc754 2020-04-15 15:40:06 Add support for the Armada 3720 CPU clock. ok patrick@
aafc1486 2020-04-15 10:36:02 drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read() From Hans Verkuil 329ef07f7fb83d4de62c239e376a6a0e04ff4b3c in linux 4.19.y/4.19.115 a4c30a4861c54af78c4eb8b7855524c1a96d9f80 in mainline linux
a928e695 2020-04-15 10:33:16 drm/amdgpu: fix typo for vcn1 idle check From James Zhu 7b9d4492808eb3c3ba43f6391b138101a7e9e42e in linux 4.19.y/4.19.115 acfc62dc68770aa665cc606891f6df7d6d1e52c0 in mainline linux
e9a60e13 2020-04-15 10:28:26 drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017 From Mario Kleiner a9049fd69bc4fdcc48ec3a638f1f470938354984 in linux 4.19.y/4.19.115 dec9de2ada523b344eb2428abfedf9d6cd0a0029 in mainline linux
2f640e26 2020-04-15 04:41:39 gpiodcf(4): unbreak compilation
456d19ad 2020-04-15 02:18:39 wdsc(4), ncr53c9x: timestamp LUNs with time_uptime(9), not time_second(9) Use a monotonic clock for timestamping LUNs to avoid problems when the UTC clock jumps. ok krw@
d3a0e4e9 2020-04-14 21:02:39 Add bse(4), a driver for the Broadcom GENET v5 network interface found on the Raspberry Pi4. ok patrick@
61f70128 2020-04-14 21:00:27 Add BCM54210E support. ok patrick@
673bad01 2020-04-14 20:59:53 Add flags to specify whether internal delays should be configured for RGMII. ok patrick@
3bcc93d0 2020-04-14 20:58:12 regen
b5528b8c 2020-04-14 20:57:22 Add Broadcom BCM54210E. ok patrick@
29527e8b 2020-04-14 20:42:26 Implement acpi_getprop(), the ACPI equivalent of OF_getprop(). ok patrick@
b0b2c22a 2020-04-14 13:54:21 Fix loop condition in sparc64-specific radeondrm_setcolor() Spotted with clang -Wno-error=uninitialized. ok jsg@
4c4e51f3 2020-04-14 07:38:21 Prevent uninitialized use of bbs and bls in the error path Harmless since free(9) first checks that the pointer is not NULL. ok krw@
f0391771 2020-04-13 18:41:30 Fix a recently introduced iwn(4) problem where the link gets stuck since every CCMP encrypted frame is discarded by the AP as a replay. This happened because of CCMP frames with out of range PNs sent by hardware. It seems iwn firmware doesn't like it if we reset the Tx scheduler slot for a frame which is still within the firmware's block ack window, even if the frame has already been ACKed. So frames now get cleared off the Tx queue only when the block ack window has moved past them, which is good enough and seems to prevent the problem. Problem reproduced and fix tested by both myself and jca@
7b4d0a09 2020-04-12 17:47:25 Turn those spinlock and seqlock inline functions to macros They're macros on Linux because they save state in their flags parameter. Turning them to static inline functions creates a lot of -Wuninitialized warnings, so just use macros which set their flags argument. ok kettenis@
7d6fad0a 2020-04-12 09:21:19 Add support for the _CCA method. This method indicates whether DMA is cache-coherent or not. To implement this, acpi(4) gets two bus_dma tags and passes the appropriate one when attaching devices based on _CCA. On i386/amd64, where for all practical purpose DMA is always cache-coherent, the two tags are the same. But on arm64 they are distinct. ok patrick@
248de57f 2020-04-11 11:01:18 Use acpi_getsta(); avoids printing "no _STA method" messages and assumes the device is present instead. ok deraadt@
5d2e75f9 2020-04-10 21:25:00 The Raspberry Pi4 (suing UEFI firmware in ACPI mode) uses QWord() resource descriptors. Add support for this. ok deraadt@
d774fcde 2020-04-09 21:36:50 When I removed CCK fallback from iwm(4) I accidentally left an else-if block in place which should have been deleted entirely. As a result firmware-based retries weren't being used in 11n mode anymore. Fix this. I really shouldn't be committing non-trivial changes without OK...
a41d2ed2 2020-04-09 09:25:50 Assign and enable clocks; RK3328 has them.
3dd77820 2020-04-09 07:20:08 Fix an automatic Tx rate control issue in iwn(4). Same change as made for iwm(4) and iwx(4), but also accounts for block ack. Avoids Tx results being reported and evaluated even if they did not correspond to the most recently chosen rate, spoiling the data available to the rate control algorithm. tested by benno, jmc, and krw; no regressions seen
4d55a102 2020-04-08 21:32:27 Add RK3328 Crypto/RNG clocks.
7dd3f745 2020-04-08 11:30:48 Add glass console support. ok patrick@, jsg@
5dc98519 2020-04-08 10:54:15 Set correct pixel format. Fix limits on number of characters in the rasops_init() call. ok patrick@, jsg@
c700b3c9 2020-04-08 09:49:32 Bump size of the buffer we use to fetch device tree properties. The ethernet aliase paths in the new omap device trees are longer than 64 characters. Fixes the MAC address on Pandaboard-ES with the new device tree. ok jsg@
191ac81f 2020-04-07 15:23:42 Claim framebuffer that was configured by bootloader. ok patrick@
9c969c9a 2020-04-07 13:27:50 Abstract the head of knote lists. This allows extending the lists, for example, with locking assertions. OK mpi@, anton@
4c45b354 2020-04-07 09:08:15 Implement support for "usb-nop-xceiv" PHYs. ok jsg@
565062e8 2020-04-07 09:06:52 Fix off-by-one in check for valid pin numbers and use the existing #define in the check.
1fa3f0a0 2020-04-06 23:16:50 acpi(4): acpi_sleep(): tsleep(9) -> tsleep_nsec(9) kettenis@ notes that ACPI integers are supposed to be unsigned, but ours are signed. This is a much deeper problem than what I'm looking to change with this conversion. To work around the issue for now we can round the sleep interval up to 1 millisecond. There is a very nasty-looking rwsleep(9) call elsewhere in dev/acpi/dsdt.c that I'm going to leave as-is for now to avoid breaking something. With input from pirofti@, kettenis@, and mortimer@. Tested by Lucas Raab, Moises Simon, mortimer@, and gkoehler@. ok kettenis@
5e04d77b 2020-04-06 19:45:47 wi(4): tsleep(9) -> tsleep_nsec(9); ok stsp@
f0cdf84b 2020-04-06 19:03:09 sunkbd(4): timeout_add(9) -> timeout_add_msec(9); ok kettenis@
aff96eed 2020-04-06 17:54:50 pcppi(4), spkr(4): ticks -> milliseconds In pcppi(4), convert from ticks to milliseconds. While we're doing this, we can also convert spkr(4), too. The spkr(4) conversion from ticks to milliseconds is trickier because the driver is written with musical intervals (whole notes, quarter notes, etc.), not the typical units (seconds, milliseconds, etc.) used in most software. I think the conversion is correct... but the code is a challenging read, so it might be subtly incorrect. ratchov@ intends to move spkr(4) into the attic sometime soon so I doubt it matters much if I got it wrong. Input from schwarze@, jsg@, and ratchov@. Tested by schwarze@. ok ratchov@
c15c02b3 2020-04-06 16:29:53 Remove redundant VOP_CLOSE() and vput(). The fail branch will close the vnode because `open' is true. OK deraadt@, anton@
146c6cac 2020-04-06 11:27:23 fix previous: use the correct offset for sq/rq creation, and don't reset the mbox counter to 0 after calculating it.
3f972691 2020-04-06 08:31:04 Make it possible to use ix(4) with MSI-X, currently disabled by default. The current implementation still uses a single queue but already establishes a different handler for link interrupts. This is done in preparation for multi-queues support. The performance and i386 regression exposed by the last version of this diff have been fixed thanks to the help of Hrvoje Popovski. Based on a bigger diff from haesbaert@ and on the FreeBSD code. Tested by Sigi Rudzio, Hrvoje Popovski and jmatthew@, ok jmatthew@
64790079 2020-04-06 01:28:58 Add a helper function for writing physical addresses for queues into command queue mailboxes, and use this for all queue setup commands. Previously we just assumed the addresses would fit in the first mailbox, which is currently true but may not be for much longer. ok dlg@
8855e28c 2020-04-06 00:01:08 Update my email address.
1d562564 2020-04-04 01:48:03 Return ENETRESET on success from mcx_up() so mcx_ioctl() will call mcx_iff(), repplying the promisc and allmulti flags on the interface. This may have contributed to some problems dlg@ and I had the other day. ok dlg@
76379fde 2020-04-03 22:03:45 Put back the code to enable and set the output tap delay. Tis fixes the eMMC module on my rockpro64 and doesn't break the eMMC on the rk3399-q7 board I have. Sadly the eMMC on my firefly-rk3399 died, which may or may not have something to do with the fact that there were issues with enabling the output tap delay on that board. ok patrick@
5343ff5a 2020-04-03 20:11:47 Move the responsibility of syncing the data buffers from the USB stack into the USB controller driver, since not all of the xfers actually use DMA and some invalidations might even be harmful. The important part is to sync before handing the buffer to the controller, and to sync on a successful transfer before handing it back to the USB stack. For isoc transfers it's easier to sync the complete length of the transfer, since the buffer to flush is not filled in a contiguous fashion. For dwc2 there's a common point which takes care of the start of transfers from or to devices, where we can make sure that our buffers are synced. On completion, there's a common point before handing it off to the USB stack. For ehci there are three places which take care of the start of transfers from or to devices, where one already does the sync, while the two other places still need the sync. There are two completion handler (isoc and non-isoc), where one already has a comment asking for the need of a sync. The done handler for intr xfers does a sync that is not needed anymore after adding the sync in the completion handler. For ohci there are three places which take care of the start of transfers from or to devices, where all of them were still in need of the sync. For completion, there is one place for isoc xfers and two places for handling successful generic xfers. For uhci there are two places which take care of the start of transfers from or to device, where all of them were still in need of the sync. For completion, there is one handler for both isoc and non-isoc xfers where syncs need to occur. For xhci there are three places which take care of the start of transfers from or to device, where all of them were still in need of the sync. For completion, there is one handler for isoc and one for non-isoc xfers where syncs need to occur. With this we can revert the workaround that implicitly allocated buffers are COHERENT, since now control transfers fulfilled by the driver code (instead of the controller doing DMA) are not flushed into oblivion anymore. Tested by Janne Johansson with dwc2 (octeon) Tested by kettenis@ with xhci(4) (octeon) Tested by patrick@ with ehci(4) on a Cubox-i (armv7) Tested by patrick@ with xhci(4) on an i.MX8MQ (arm64) Tested by tobhe@ with dwc2 on a rPi 3b (arm64) ok kettenis@
c1fe1552 2020-04-03 16:29:17 Add rkrng(4), a driver for the random number generator found on various Rockchip SoCs. ok kurt@
3e4238e5 2020-04-03 16:26:14 The dtb I'm using for my rockpro64 has an "assigned-clocks" property so add a call to set handle those.
c10c3c4a 2020-04-03 09:57:07 Revert "drm/dp_mst: Skip validating ports during destruction, just ref" From Lyude Paul 013b14652972949c5e8446b1e8ca9868780f5c7a in linux 4.19.y/4.19.114 9765635b30756eb74e05e260ac812659c296cd28 in mainline linux
be0a7268 2020-04-03 08:32:21 Fix an automatic Tx rate control issue in iwm(4) and iwx(4). During a transmit burst, e.g. while tcpbench is running, iwm and iwx will queue up to 224 frames on the Tx ring. Rate control will make decisions a lot more often than just every 224 frames. Which means that results were reported and evaluated even if they did not correspond to the most recently chosen rate, spoiling the data available to the rate control algorithm. Prevent this problem by only reporting frames which match the currently chosen Tx rate. ok mpi@
494e3bdd 2020-04-03 08:24:52 Fix incoherencies of errors returned by various *kqfilter routines. EOPNOTSUPP is returned when there's no "filterops" for a given fd. EINVAL when the requested filter isn't supported by the "filterops". ENXIO means the underlying device is no longer valid/present. ok visa@
97266d23 2020-04-02 17:36:32 Fix use-after-free zyd(4) upon Tx error and device detach. If a transmit error occurs in zyd_tx() we must reset tx data's ni pointer to NULL since the node reference will be released in zyd_start(). A stale node pointer could potentially be released again which would mess up the node's reference count and potentially result in a use-after-free. Upon detach, ic->ic_bss was freed in ieee80211_ifdetach(), and afterwards ic->ic_bss->ni_refcnt was decremented in zyd_free_tx_list(). Change the order of operations during detach to prevent this use-after-free. Reported on bugs@ by Raf Czlonka ok mpi@
e5220739 2020-04-02 13:17:53 Remove iwm(4) 11n mode CCK Tx rate fallback. This fallback was added in r1.235 because we disabled firmware-based Tx retries in that commit. Firmware-based Tx retries were re-enabled in r1.291 so manual fallback to CCK rates is no longer required since the firmware will do this for us if needed (at a cost of a single retry).
f9ae584b 2020-04-02 12:34:27 iwm's LQ_CMD can work asynchronously from interrupt context. There is no need to schedule a task to send this command and wait for a response. Linux iwlwifi also sends this command async. tested by myself and benno
c8da5be4 2020-04-02 12:25:46 Remove 'done' flag from struct iwx_tx_data. Check data->m == NULL instead. No functional change.
bb07e34f 2020-04-02 12:25:21 Remove 'done' flag from struct iwm_tx_data. Check data->m == NULL instead. No functional change.
997c3aea 2020-04-01 08:43:33 USB control requests to the root hub differ from those to devices. For devices we have proper DMA transfers, so that the DMA syncs before and after transfers are necessary. For the root hub, we seem to fulfill those requests ourselves, e.g. by using memcpy. The POSTREAD DMA sync on a read will invalidate the caches for the buffer, and unless our root hub code explicitly flushed the data to memory, it's possible that our memcpy got removed from history. Until a better solution is implemented, like moving the DMA syncs from the USB subsystem into the controller driver, allocate all buffers that are not explicitly allocated using USB_DMA_COHERENT. The IO buffers continue to be allocated as non-coherent. Regression found by jsg@ ok kettenis@
b6e3b6a6 2020-03-31 11:32:43 Fix MIMO rates with firmware-based rate scaling in iwm(4). This is the corresponding entry in Intel's non-existent firmware changelog: - Firmware now requires MIMO support to be enabled via ADD_STA_CMD flags. ok tobhe tracey testing by benno
391560da 2020-03-31 07:27:30 When using a fixed Tx MCS in iwx(4) enable SGI if the peer supports it. This fix is needed for benchmarking MiRa against a fixed Tx rate, since MiRA will also use SGI if available.
660f5b89 2020-03-31 07:23:23 When using a fixed Tx MCS in iwm(4) enable SGI if the peer supports it. This fix is needed for benchmarking MiRa against a fixed Tx rate, since MiRA will also use SGI if available.
12987653 2020-03-30 22:29:04 No point in checking the loop variable for NULL inside a LIST_FOREACH. CID 980279
7db6363e 2020-03-29 09:35:10 Pin groups have regulators associated with them; enable these such that they get turned on if pins within a group are in use. The Allwinner A80 needs some additional configuration based on the voltage supplied by these regulators. This makes the Ethernet interface in the A80 work. ok patrick@
cda7789c 2020-03-29 09:31:10 Add glue to make ipmi(4) attach to FDT. ok deraadt@