profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/AsahiLinux/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Asahi Linux AsahiLinux Porting Linux to Apple Silicon macs

AsahiLinux/m1n1 783

A bootloader and experimentation playground for Apple Silicon

AsahiLinux/gpu 733

Dissecting the M1's GPU for 3D acceleration

AsahiLinux/linux 528

Linux kernel source tree

AsahiLinux/docs 380

Hardware and software docs / wiki

AsahiLinux/AsahiLinux.github.io 107

AsahiLinux.org website

AsahiLinux/macvdmtool 85

Apple Silicon to Apple Silicon VDM utility

AsahiLinux/vdmtool 67

USB-C Power Delivery VDM exploration tool for Arduino

AsahiLinux/asahi-installer 64

Asahi Linux installer

AsahiLinux/artwork 26

Asahi Linux logo and other artwork

AsahiLinux/pidcodes.github.com 2

Website for pid.codes

GollumEvent

startedAsahiLinux/asahi-installer

started time in 2 hours

startedAsahiLinux/asahi-installer

started time in 4 hours

issue commentAsahiLinux/m1n1

Can't use keyboard when running Linux under hypervisor.

Can you show the dmesg output for both cases?

And is there a specific reason for using that branch? DART has been merged upstream at this point and the code there is probably outdated.

Great, I don't know it has been merged upstream. Because I need to use keyboard to do some experiment on M1, I follow the steps in https://github.com/AsahiLinux/docs/wiki/SW%3ALinux#linux-usb-keyboard. It says that I need to use that /dart/dev branch.

?// I use the v5.15-rc3 and turn on the CONFIG_APPLE_DART=y, but the keyboard can't be used as using /dart/dev branch.

Now I can see the output by picocom another ttyACM using latest kernel version v5.15-rc3. Thanks.

Zzzec

comment created time in 5 hours

startedAsahiLinux/asahi-installer

started time in 9 hours

startedAsahiLinux/m1n1

started time in 12 hours

startedAsahiLinux/asahi-installer

started time in 13 hours

startedAsahiLinux/m1n1

started time in 14 hours

startedAsahiLinux/asahi-installer

started time in 14 hours

startedAsahiLinux/asahi-installer

started time in 16 hours

startedAsahiLinux/docs

started time in 20 hours

startedAsahiLinux/m1n1

started time in 20 hours

startedAsahiLinux/macvdmtool

started time in 2 days

PR closed AsahiLinux/linux

dts: apple: t8103: Enable USB dual-role support

This turns on support for USB dual role in the dwc3 controller for the Apple M1 SoC (t8103). With this patch applied, running, e.g.:

echo "device" > /sys/kernel/debug/usb/382280000.usb/mode

will switch the DWC3 controller from host to device mode. Any pending USB gadget drivers will automatically register themselves (e.g. if built into the kernel). I have confirmed that these gadgets show up on the host, but I was unable to actually use them. I do not know whether this is an issue here or on the host (which was macOS, I'll try this again with Linux).

Signed-off-by: Keno Fischer keno@juliacomputing.com

For your consideration @svenpeter42 @marcan. As indicated, I don't know that this actually works yet, but seems better maybe :). Note that this is against dart/dev.

+1295 -2

1 comment

11 changed files

Keno

pr closed time in 2 days

delete branch AsahiLinux/linux

delete branch : dart/dev

delete time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha a887b2d51f6a68424349be22bc4451e749a620dc

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 4fce0c93838b58c6d76f5ecf9741b9f8c278bc8c

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers in Apple SoCs. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 3c2470087003a141d8284598c1638e6c5694b18f

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers in Apple SoCs. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 0f7eca6273ee89c3131a40b5358e90f627e25b1f

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 3d8ebd25178e9c03e9c7ac1d37f4d8aa2c763656

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers in Apple SoCs. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha e98ae656043a973717716c902d3a0a1f43bd7283

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

startedAsahiLinux/m1n1

started time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 2a75e874469fad97356fa4ae7e465352c16233b1

dt-bindings: i2c: Add Apple I2C controller bindings The Apple I2C controller is based on the PASemi I2C controller. It is present on Apple SoCs such as the M1. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha cb0906fc06b6364c78c63a45ad7cf33d44937cd6

i2c: pasemi: Use io{read,write}32 In preparation for splitting this driver up into a platform_driver and a pci_driver, replace outl/inl usage with ioport_map and ioread32/iowrite32. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha c49ec7da798afed3650071ba3d63bfec535ae90c

i2c: pasemi: Remove usage of pci_dev Prepare to create a platform driver by removing all usages of pci_dev we can. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha da255a9821ad6a7d2b1125e43136a713407c6481

i2c: pasemi: Split off common probing code Split off common probing code that will be used by both the PCI and the platform device. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 696d387a271e5076ffe8cca9b3419511362b15cf

i2c: pasemi: Split pci driver to its own file Split off the PCI driver so that we can reuse common code for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha c3a2fd6e1a8b0c2b0d3467ce434526222c2aef0e

i2c: pasemi: Move common reset code to own function Split out common reset call to its own function so that we can later add support for selecting the clock frequency and an additional enable bit found in newer revisions. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha c59dbdf0066cf53036ba4020210bdd95a2ded53c

i2c: pasemi: Allow to configure bus frequency Right now the bus frequency has always been hardcoded as 100 KHz with the specific reference clock used in the PASemi PCI controllers. Make this configurable to prepare for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 79a91f3ca846063cb40f479259997d61edce779a

i2c: pasemi: Refactor _probe to use devm_* Using managed device resources means there's nothing left to be done in pasemi_smb_pci_remove and also allows to remove base and size from struct pasemi_smbus. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 2fba47943cb97c91d614c2844cb9df88a5ccb85f

i2c: pasemi: Add platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers in Apple SoCs. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha f97bb59c13ce1821dff149532181885117b7cdf8

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 288bd9b02db360e3e1f9d8ad96aca10a3d4c854f

i2c: pasemi: Split off common probing code Split off common probing code that will be used by both the PCI and the platform device. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 37968e9db736795300a5431eb3d3710683b9aeb9

i2c: pasemi: Split pci driver to its own file Split off the PCI driver so that we can reuse common code for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 0014e29c8570918e37016160c82d54f559174976

i2c: pasemi: Move common reset code to own function Split out common reset call to its own function so that we can later add support for selecting the clock frequency and an additional enable bit found in newer revisions. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 59883f11381a0e80b94bd987bf412acb96eda4c3

i2c: pasemi: Allow to configure bus frequency Right now the bus frequency has always been hardcoded as 100 KHz with the specific reference clock used in the PASemi PCI controllers. Make this configurable to prepare for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 0788244c0feeb1d2c48ffa641787113dc38c04c0

i2c: pasemi: Refactor _probe to use devm_* Using managed device resources means there's nothing left to be done in pasemi_smb_pci_remove and also allows to remove base and size from struct pasemi_smbus. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 75e2ff3d15b9c0afe3c7bf5db28316e39b7da7fd

i2c: pasemi: Add platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers in Apple SoCs. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha aded805dff91900848bcfbc2a00fea62798164fe

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 3f2164e9c65029084524e59676b5c1779d39dc10

dt-bindings: i2c: Add Apple I2C controller bindings The Apple I2C controller is based on the PASemi I2C controller found in their PWRficient processors. It is present on Apple SoCs such as the M1. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 5d0c8fd116acea535098165410d06d61087ef417

i2c: pasemi: Use io{read,write}32 In preparation for splitting this driver up into a platform_driver and a pci_driver, replace outl/inl usage with ioport_map and ioread32/iowrite32. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 302eed2da5d1e30cafa494656240301b26ad9915

i2c: pasemi: Remove usage of pci_dev Prepare to create a platform driver by removing all usages of pci_dev we can. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 58af90c555a17fb265cff36821248025f6802d93

i2c: pasemi: Split off common probing code Split off common probing code that will be used by both the PCI and the platform device. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 08e66ca9d867c2a63c63d5cbc7e148b933feadde

i2c: pasemi: Split pci driver to its own file Split off the PCI driver so that we can reuse common code for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 70d1dc27a58faacc964e1a533b470ef95a1ff400

i2c: pasemi: Move common reset code to own function Split out common reset call to its own function so that we can later add support for selecting the clock frequency and an additional enable bit found in newer revisions. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 4a0bc96fc1502ad615f45a2b874a0afc9b4969c3

i2c: pasemi: Allow to configure bus frequency Right now the bus frequency has always been hardcoded as 100 KHz with the specific reference clock used in the PASemi PCI controllers. Make this configurable to prepare for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha e5012deef9bcffa6bfe9ffcc786c91ca03e6a439

i2c: pasemi: Refactor _probe to use devm_* Using managed device resources means there's nothing left to be done in pasemi_smb_pci_remove and also allows to remove base and size from struct pasemi_smbus. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 1ebf0419dcfd32e189aab9817ea1547060feb065

i2c: pasemi: Add platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers in Apple SoCs. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 3c97ea3a7d5c50c34ffbdd8d8a60af4acd9b93d7

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 14e1a23135f089eaca73b737a85f1eab911e73bf

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers developed by Apple. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 28ca89ff04109bc131bab8485a45dc7887f9e3ba

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 17daac4f9fb4a8412b763cb2e50b5273bbe99a32

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers developed by Apple. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 8d53777d6038e9d00eb2346a3588da27eed2b836

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 642523274a980f6a87cb7b255a692fd143af683a

dt-bindings: i2c: Add Apple I2C controller bindings The Apple I2C controller is based on the PASemi I2C controller. It is present on Apple SoCs such as the M1. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 704dabaff8172f60a427e89046fdec4bdf75ad8e

i2c: pasemi: Rename PCI specific functions A variant of the PA Semi PWRficient SMBus driver is also present on Apple's M1 SoC. Rename PCI specific functions in preparation for adding a platform_driver frontend. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha a9ae3477023e19af8ccc4097827c7a002a36d289

i2c: pasemi: Use io{read,write}32 In preparation for splitting this driver up into a platform_driver and a pci_driver, replace outl/inl usage with ioport_map and ioread32/iowrite32. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 88ebb62a268f071d6064aed1dbf527c37e31f7f4

i2c: pasemi: Remove usage of pci_dev Prepare to create a platform driver by removing all usages of pci_dev we can. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 727dfa88db8b8559ce5c1274b9c2383f3f587023

i2c: pasemi: Split off common probing code Split off common probing code that will be used by both the PCI and the platform device. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 3568ff186cb77647798c72d0a5511b139053da92

i2c: pasemi: Split pci driver to its own file Split off the PCI driver so that we can reuse common code for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha cab98f4d3e397ae4919a40f38588ac0594ff764c

i2c: pasemi: Move common reset code to own function Split out common reset call to its own function so that we can later add support for selecting the clock frequency and an additional enable bit found in newer revisions. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 2f39f64b58216ab2b94932dca91a4d5fb17386cc

i2c: pasemi: Allow to configure bus frequency Right now the bus frequency has always been hardcoded as 100 KHz with the specific reference clock used in the PASemi PCI controllers. Make this configurable to prepare for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha cf20eeb6e13d1ee2b20e8b48a39ac91f965737d9

i2c: pasemi: Use devm_* variants where possible Also drop pasemi_smb_pci_remove and base and size from struct pasemi_smbus while we're at it. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 2b90b77bde1548c4c844f12530aecfa0d3bdae51

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers developed by Apple. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 11e7e491a7eccbb8f4c2d5ea922520f5da47cd4c

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 8edfb280b454da4d4c0371dce7fc2d805f2790e9

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers developed by Apple. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha d9961290ec0d414621c54747269e8392f4e9f232

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

push eventAsahiLinux/linux

Sven Peter

commit sha 628daeee781225bb39e915acd640e4a07575b0c9

dt-bindings: i2c: Add Apple I2C controller bindings The Apple I2C controller is based on the PASemi I2C controller found in their PWRficient processors. It is present on Apple SoCs such as the M1. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 2b9bf4528aa6a6da58e244e869b1c660ae183b32

i2c: pasemi: Rename PCI specific functions A variant of the PA Semi PWRficient SMBus driver is also present on Apple's M1 SoC. Rename PCI specific functions in preparation for adding a platform_driver frontend. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha e45ca1d4c816681006a14f04921cc4223b1e12b1

i2c: pasemi: Use io{read,write}32 In preparation for splitting this driver up into a platform_driver and a pci_driver, replace outl/inl usage with ioport_map and ioread32/iowrite32. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha c59662b05da13243f3ddaa55929806082bc72eba

i2c: pasemi: Remove usage of pci_dev Prepare to create a platform driver by removing all usages of pci_dev we can. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha dd342a88feecf0bd53e0fc09d1356a689b90c312

i2c: pasemi: Split off common probing code Split off common probing code that will be used by both the PCI and the platform device. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 83ca9ea9695a446c1ffb1827a832d22c80c637c5

i2c: pasemi: Split pci driver to its own file Split off the PCI driver so that we can reuse common code for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 7298ca30f0069e198b6553ca1f005686f2023e50

i2c: pasemi: Move common reset code to own function Split out common reset call to its own function so that we can later add support for selecting the clock frequency and an additional enable bit found in newer revisions. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha d94eb832d4e8d59029b03198285d6721844db87a

i2c: pasemi: Allow to configure bus frequency Right now the bus frequency has always been hardcoded as 100 KHz with the specific reference clock used in the PASemi PCI controllers. Make this configurable to prepare for the platform driver. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha a5ac3252dc7aa78911de4802a680fd33463a68da

i2c: pasemi: Use devm_* variants where possible Also drop pasemi_smb_pci_remove and base and size from struct pasemi_smbus while we're at it. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha cf72e09be2732659922c8294a58e0e2a30c49217

i2c: pasemi: Add Apple platform driver With all the previous preparations we can now finally add the platform driver to support the PASemi-based controllers developed by Apple. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

Sven Peter

commit sha 7383e95eb2b3f14e534221f0272c8847ee39f660

i2c: pasemi: Set enable bit for Apple variant Revisions after the original PASemi I2C controller introduce what likely is an enable bit to the CTL register. Without setting it the actual i2c transmission is never started. Signed-off-by: Sven Peter <sven@svenpeter.dev>

view details

push time in 2 days

startedAsahiLinux/m1n1

started time in 3 days

push eventAsahiLinux/linux

David Howells

commit sha fcd4c99b70ce127ba77b3ac7f43bd81fdfc0eae8

9p: Convert to using the netfs helper lib to do reads and caching Convert the 9p filesystem to use the netfs helper lib to handle readpage, readahead and write_begin, converting those into a common issue_op for the filesystem itself to handle. The netfs helper lib also handles reading from fscache if a cache is available, and interleaving reads from both sources. This change also switches from the old fscache I/O API to the new one, meaning that fscache no longer keeps track of netfs pages and instead does async DIO between the backing files and the 9p file pagecache. As a part of this change, the handling of PG_fscache changes. It now just means that the cache has a write I/O operation in progress on a page (PG_locked is used for a read I/O op). Note that this is a cut-down version of the fscache rewrite and does not change any of the cookie and cache coherency handling. Changes ======= ver #3: - v9fs_req_issue_op() needs to terminate the subrequest. - v9fs_write_end() needs to call SetPageUptodate() a bit more often. - It's not CONFIG_{AFS,V9FS}_FSCACHE[1] - v9fs_init_rreq() should take a ref on the p9_fid and the cleanup should drop it [from Dominique Martinet]. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-and-tested-by: Dominique Martinet <asmadeus@codewreck.org> cc: v9fs-developer@lists.sourceforge.net cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/YUm+xucHxED+1MJp@codewreck.org/ [1] Link: https://lore.kernel.org/r/163162772646.438332.16323773205855053535.stgit@warthog.procyon.org.uk/ # rfc Link: https://lore.kernel.org/r/163189109885.2509237.7153668924503399173.stgit@warthog.procyon.org.uk/ # rfc v2

view details

David Howells

commit sha 4595cc1395b0ccf6062adaf1e9390c889e2262e8

cifs: (untested) Move to using the alternate fallback fscache I/O API Move cifs/smb to using the alternate fallback fscache I/O API instead of the old upstream I/O API as that is about to be deleted. The alternate API will also be deleted at some point in the future as it's dangerous (as is the old API) and can lead to data corruption if the backing filesystem can insert/remove bridging blocks of zeros into its extent list[1]. The alternate API reads and writes pages synchronously, with the intention of allowing removal of the operation management framework and thence the object management framework from fscache. The preferred change would be to use the netfs lib, but the new I/O API can be used directly. It's just that as the cache now needs to track data for itself, caching blocks may exceed page size... Changes ======= ver #2: - Changed "deprecated" to "fallback" in the new function names[2]. Signed-off-by: David Howells <dhowells@redhat.com> cc: Steve French <sfrench@samba.org> cc: Shyam Prasad N <nspmangalore@gmail.com> cc: linux-cifs@vger.kernel.org cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/YO17ZNOcq+9PajfQ@mit.edu [1] Link: https://lore.kernel.org/r/CAHk-=wiVK+1CyEjW8u71zVPK8msea=qPpznX35gnX+s8sXnJTg@mail.gmail.com/ [2] Link: https://lore.kernel.org/r/163162773867.438332.3585429891151112562.stgit@warthog.procyon.org.uk/ # rfc Link: https://lore.kernel.org/r/163189112708.2509237.17528578040344723638.stgit@warthog.procyon.org.uk/ # rfc v2

view details

David Howells

commit sha 5d9c5cdf5d9bd62df7b9c1f5c9253dbd1bbecf9d

fscache: Remove the old I/O API Remove the old fscache I/O API. There's no point trying to transform it as the new one bears no similarities to the old one. Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/158861213535.340223.11422037188513966130.stgit@warthog.procyon.org.uk/ # fscache rewrite patchset rfc Link: https://lore.kernel.org/r/159465772152.1376105.17485634094767962215.stgit@warthog.procyon.org.uk/ # fscache rewrite cleanup patch-subset Link: https://lore.kernel.org/r/160588462237.3465195.5911430241577283684.stgit@warthog.procyon.org.uk/ # fscache modernisation patchset Link: https://lore.kernel.org/r/163162775443.438332.258337773271765659.stgit@warthog.procyon.org.uk/ # rfc Link: https://lore.kernel.org/r/163189113658.2509237.9999467212589051557.stgit@warthog.procyon.org.uk/ # rfc v2

view details

David Howells

commit sha fb0a7f074cf9c236d1fed1c1727b5447fe0ae788

fscache: Remove stats that are no longer used Remove stats counters that are no longer used and remove their display from /proc/fs/fscache/stats. Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/163162776915.438332.16744135153328311006.stgit@warthog.procyon.org.uk/ # rfc Link: https://lore.kernel.org/r/163189114616.2509237.9890995143218948138.stgit@warthog.procyon.org.uk/ # rfc v2

view details

David Howells

commit sha 9c74b32d892e18963ef469796c349f2c17ec3236

fscache: Update the documentation to reflect I/O API changes Update the fscache documentation to remove the old I/O API bits and to note the new fallback API. Changes ======= ver #2: - Changed "deprecated" to "fallback" in the new function names[1]. Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-cachefs@redhat.com Link: https://lore.kernel.org/r/CAHk-=wiVK+1CyEjW8u71zVPK8msea=qPpznX35gnX+s8sXnJTg@mail.gmail.com/ [1] Link: https://lore.kernel.org/r/163162778200.438332.1918683687532006409.stgit@warthog.procyon.org.uk/ # rfc Link: https://lore.kernel.org/r/163189115518.2509237.6454712882112339524.stgit@warthog.procyon.org.uk/ # rfc v2

view details

David Howells

commit sha 97b85f2079a9823bb8457af061aa8fce052d1ac6

Merge branch 'fscache-iter-3' into fscache-next

view details

Vladimir Oltean

commit sha 5135e96a3dd2f4555ae6981c3155a62bcf3227f6

net: dsa: don't allocate the slave_mii_bus using devres The Linux device model permits both the ->shutdown and ->remove driver methods to get called during a shutdown procedure. Example: a DSA switch which sits on an SPI bus, and the SPI bus driver calls this on its ->shutdown method: spi_unregister_controller -> device_for_each_child(&ctlr->dev, NULL, __unregister); -> spi_unregister_device(to_spi_device(dev)); -> device_del(&spi->dev); So this is a simple pattern which can theoretically appear on any bus, although the only other buses on which I've been able to find it are I2C: i2c_del_adapter -> device_for_each_child(&adap->dev, NULL, __unregister_client); -> i2c_unregister_device(client); -> device_unregister(&client->dev); The implication of this pattern is that devices on these buses can be unregistered after having been shut down. The drivers for these devices might choose to return early either from ->remove or ->shutdown if the other callback has already run once, and they might choose that the ->shutdown method should only perform a subset of the teardown done by ->remove (to avoid unnecessary delays when rebooting). So in other words, the device driver may choose on ->remove to not do anything (therefore to not unregister an MDIO bus it has registered on ->probe), because this ->remove is actually triggered by the device_shutdown path, and its ->shutdown method has already run and done the minimally required cleanup. This used to be fine until the blamed commit, but now, the following BUG_ON triggers: void mdiobus_free(struct mii_bus *bus) { /* For compatibility with error handling in drivers. */ if (bus->state == MDIOBUS_ALLOCATED) { kfree(bus); return; } BUG_ON(bus->state != MDIOBUS_UNREGISTERED); bus->state = MDIOBUS_RELEASED; put_device(&bus->dev); } In other words, there is an attempt to free an MDIO bus which was not unregistered. The attempt to free it comes from the devres release callbacks of the SPI device, which are executed after the device is unregistered. I'm not saying that the fact that MDIO buses allocated using devres would automatically get unregistered wasn't strange. I'm just saying that the commit didn't care about auditing existing call paths in the kernel, and now, the following code sequences are potentially buggy: (a) devm_mdiobus_alloc followed by plain mdiobus_register, for a device located on a bus that unregisters its children on shutdown. After the blamed patch, either both the alloc and the register should use devres, or none should. (b) devm_mdiobus_alloc followed by plain mdiobus_register, and then no mdiobus_unregister at all in the remove path. After the blamed patch, nobody unregisters the MDIO bus anymore, so this is even more buggy than the previous case which needs a specific bus configuration to be seen, this one is an unconditional bug. In this case, DSA falls into category (a), it tries to be helpful and registers an MDIO bus on behalf of the switch, which might be on such a bus. I've no idea why it does it under devres. It does this on probe: if (!ds->slave_mii_bus && ds->ops->phy_read) alloc and register mdio bus and this on remove: if (ds->slave_mii_bus && ds->ops->phy_read) unregister mdio bus I _could_ imagine using devres because the condition used on remove is different than the condition used on probe. So strictly speaking, DSA cannot determine whether the ds->slave_mii_bus it sees on remove is the ds->slave_mii_bus that _it_ has allocated on probe. Using devres would have solved that problem. But nonetheless, the existing code already proceeds to unregister the MDIO bus, even though it might be unregistering an MDIO bus it has never registered. So I can only guess that no driver that implements ds->ops->phy_read also allocates and registers ds->slave_mii_bus itself. So in that case, if unregistering is fine, freeing must be fine too. Stop using devres and free the MDIO bus manually. This will make devres stop attempting to free a still registered MDIO bus on ->shutdown. Fixes: ac3a68d56651 ("net: phy: don't abuse devres in devm_mdiobus_register()") Reported-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Tested-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>

view details

Vladimir Oltean

commit sha 74b6d7d13307b016f4b5bba8198297824c0ee6df

net: dsa: realtek: register the MDIO bus under devres The Linux device model permits both the ->shutdown and ->remove driver methods to get called during a shutdown procedure. Example: a DSA switch which sits on an SPI bus, and the SPI bus driver calls this on its ->shutdown method: spi_unregister_controller -> device_for_each_child(&ctlr->dev, NULL, __unregister); -> spi_unregister_device(to_spi_device(dev)); -> device_del(&spi->dev); So this is a simple pattern which can theoretically appear on any bus, although the only other buses on which I've been able to find it are I2C: i2c_del_adapter -> device_for_each_child(&adap->dev, NULL, __unregister_client); -> i2c_unregister_device(client); -> device_unregister(&client->dev); The implication of this pattern is that devices on these buses can be unregistered after having been shut down. The drivers for these devices might choose to return early either from ->remove or ->shutdown if the other callback has already run once, and they might choose that the ->shutdown method should only perform a subset of the teardown done by ->remove (to avoid unnecessary delays when rebooting). So in other words, the device driver may choose on ->remove to not do anything (therefore to not unregister an MDIO bus it has registered on ->probe), because this ->remove is actually triggered by the device_shutdown path, and its ->shutdown method has already run and done the minimally required cleanup. This used to be fine until the blamed commit, but now, the following BUG_ON triggers: void mdiobus_free(struct mii_bus *bus) { /* For compatibility with error handling in drivers. */ if (bus->state == MDIOBUS_ALLOCATED) { kfree(bus); return; } BUG_ON(bus->state != MDIOBUS_UNREGISTERED); bus->state = MDIOBUS_RELEASED; put_device(&bus->dev); } In other words, there is an attempt to free an MDIO bus which was not unregistered. The attempt to free it comes from the devres release callbacks of the SPI device, which are executed after the device is unregistered. I'm not saying that the fact that MDIO buses allocated using devres would automatically get unregistered wasn't strange. I'm just saying that the commit didn't care about auditing existing call paths in the kernel, and now, the following code sequences are potentially buggy: (a) devm_mdiobus_alloc followed by plain mdiobus_register, for a device located on a bus that unregisters its children on shutdown. After the blamed patch, either both the alloc and the register should use devres, or none should. (b) devm_mdiobus_alloc followed by plain mdiobus_register, and then no mdiobus_unregister at all in the remove path. After the blamed patch, nobody unregisters the MDIO bus anymore, so this is even more buggy than the previous case which needs a specific bus configuration to be seen, this one is an unconditional bug. In this case, the Realtek drivers fall under category (b). To solve it, we can register the MDIO bus under devres too, which restores the previous behavior. Fixes: ac3a68d56651 ("net: phy: don't abuse devres in devm_mdiobus_register()") Reported-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Reported-by: Alvin Šipraga <alsi@bang-olufsen.dk> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>

view details

David S. Miller

commit sha b3f98404bd629a243c0a15a3ade32b1cf9fbe0da

Merge branch 'dsa-devres' Vladimir Oltean says: ==================== Fix mdiobus users with devres Commit ac3a68d56651 ("net: phy: don't abuse devres in devm_mdiobus_register()") by Bartosz Golaszewski has introduced two classes of potential bugs by making the devres callback of devm_mdiobus_alloc stop calling mdiobus_unregister. The exact buggy circumstances are presented in the individual commit messages. I have searched the tree for other occurrences, but at the moment: - for issue (a) I have no concrete proof that other buses except SPI and I2C suffer from it, and the only SPI or I2C device drivers that call of_mdiobus_alloc are the DSA drivers that leave a NULL ds->slave_mii_bus and a non-NULL ds->ops->phy_read, aka ksz9477, ksz8795, lan9303_i2c, vsc73xx-spi. - for issue (b), all drivers which call of_mdiobus_alloc either use of_mdiobus_register too, or call mdiobus_unregister sometime within the ->remove path. Although at this point I've seen enough strangeness caused by this "device_del during ->shutdown" that I'm just going to copy the SPI and I2C subsystem maintainers to this patch series, to get their feedback whether they've had reports about things like this before. I don't think other buses behave in this way, it forces SPI and I2C devices to have to protect themselves from a really strange set of issues. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>

view details

Himadri Pandya

commit sha 71b20b34afc2e709f3bbce516fbfdd9f042b607a

USB: serial: kl5kusb105: use usb_control_msg_recv() and usb_control_msg_send() The wrappers usb_control_msg_send/recv eliminate the need of manually allocating DMA buffers for USB messages. They also treat short reads as an error. Hence use the wrappers and remove DMA allocations. Note that short reads are now logged as -EREMOTEIO instead of the amount of data read. Signed-off-by: Himadri Pandya <himadrispandya@gmail.com> Link: https://lore.kernel.org/r/20210801203122.3515-7-himadrispandya@gmail.com [ johan: amend commit message ] Signed-off-by: Johan Hovold <johan@kernel.org>

view details

Greg Kroah-Hartman

commit sha 577ee98932fb81e377412bb95fc8cbbb8d16e25b

Revert "arm64: qcom: ipq6018: add usb3 DT description" This reverts commit 9da2c3f76164990cf2bc15bee81efc6fe66ea418. It is also coming in through the qcom tree, but it is a different version there for some reason. Reverting it in the USB tree on the request of Bjorn. Link: https://lore.kernel.org/r/YUnaJolAAZmhs4kU@ripper Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Kathiravan T <kathirav@codeaurora.org> Cc: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Randy Dunlap

commit sha 5b72dafaca73b33416c82457ae615e6f2022e901

platform/x86: dell: fix DELL_WMI_PRIVACY dependencies & build error When DELL_WMI=y, DELL_WMI_PRIVACY=y, and LEDS_TRIGGER_AUDIO=m, there is a linker error since the LEDS trigger code is built as a loadable module. This happens because DELL_WMI_PRIVACY is a bool that depends on a tristate (LEDS_TRIGGER_AUDIO=m), which can be dangerous. ld: drivers/platform/x86/dell/dell-wmi-privacy.o: in function `dell_privacy_wmi_probe': dell-wmi-privacy.c:(.text+0x3df): undefined reference to `ledtrig_audio_get' Fixes: 8af9fa37b8a3 ("platform/x86: dell-privacy: Add support for Dell hardware privacy") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Perry Yuan <Perry.Yuan@dell.com> Cc: Dell.Client.Kernel@dell.com Cc: platform-driver-x86@vger.kernel.org Cc: Hans de Goede <hdegoede@redhat.com> Cc: Mark Gross <mgross@linux.intel.com> Link: https://lore.kernel.org/r/20210918044829.19222-1-rdunlap@infradead.org Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

view details

José Expósito

commit sha b201cb0ebe87b209e252d85668e517ac1929e250

platform/x86/intel: hid: Add DMI switches allow list Some devices, even non convertible ones, can send incorrect SW_TABLET_MODE reports. Add an allow list and accept such reports only from devices in it. Bug reported for Dell XPS 17 9710 on: https://gitlab.freedesktop.org/libinput/libinput/-/issues/662 Reported-by: Tobias Gurtzick <magic@wizardtales.com> Suggested-by: Hans de Goede <hdegoede@redhat.com> Tested-by: Tobias Gurtzick <magic@wizardtales.com> Signed-off-by: José Expósito <jose.exposito89@gmail.com> Link: https://lore.kernel.org/r/20210920160312.9787-1-jose.exposito89@gmail.com [hdegoede@redhat.com: Check dmi_switches_auto_add_allow_list only once] Signed-off-by: Hans de Goede <hdegoede@redhat.com>

view details

Tobias Jakobi

commit sha 6f6aab1caf6c7fef46852aaab03f4e8250779e52

platform/x86: gigabyte-wmi: add support for B550I Aorus Pro AX Tested with a AMD Ryzen 7 5800X. Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Acked-by: Thomas Weißschuh <thomas@weissschuh.net> Link: https://lore.kernel.org/r/20210921100702.3838-1-tjakobi@math.uni-bielefeld.de Signed-off-by: Hans de Goede <hdegoede@redhat.com>

view details

Robin Murphy

commit sha 59a68d4138086c015ab8241c3267eec5550fbd44

arm64: Mitigate MTE issues with str{n}cmp() As with strlen(), the patches importing the updated str{n}cmp() implementations were originally developed and tested before the advent of CONFIG_KASAN_HW_TAGS, and have subsequently revealed not to be MTE-safe. Since in-kernel MTE is still a rather niche case, let it temporarily fall back to the generic C versions for correctness until we can figure out the best fix. Fixes: 758602c04409 ("arm64: Import latest version of Cortex Strings' strcmp") Fixes: 020b199bc70d ("arm64: Import latest version of Cortex Strings' strncmp") Cc: <stable@vger.kernel.org> # 5.14.x Reported-by: Branislav Rankov <branislav.rankov@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Link: https://lore.kernel.org/r/34dc4d12eec0adae49b0ac927df642ed10089d40.1631890770.git.robin.murphy@arm.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

view details

Colin Ian King

commit sha b5377a76782797fec63c4461ef961d8d4abe9cbe

ASoC: qdsp6: q6afe-dai: Fix spelling mistake "Fronend" -> "Frontend" There is a spelling mistake in the module description. Fix it. Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20210920184152.18109-1-colin.king@canonical.com Signed-off-by: Mark Brown <broonie@kernel.org>

view details

Benson Leung

commit sha 5135b2139212f55c07c47e9af5e22f5874514011

MAINTAINERS: Add Prashant's maintainership of cros_ec drivers Prashant maintains the cros_usbpd_notify driver as well as the cros_ec_type_c driver. Link: https://lore.kernel.org/r/20210920205402.3818320-1-bleung@chromium.org Signed-off-by: Benson Leung <bleung@chromium.org> Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>

view details

Christophe JAILLET

commit sha 5e87622c4bf3614155781daf5439cf4909adae9a

misc: genwqe: Remove usage of the deprecated "pci-dma-compat.h" API In [1], Christoph Hellwig has proposed to remove the wrappers in include/linux/pci-dma-compat.h. Some reasons why this API should be removed have been given by Julia Lawall in [2]. Finally, Arnd Bergmann reminded that the documentation was updated 11 years ago to only describe the modern linux/dma-mapping.h interfaces and mark the old bus-specific ones as no longer recommended, see commit 216bf58f4092 ("Documentation: convert PCI-DMA-mapping.txt to use the generic DMA API"). A coccinelle script has been used to perform the needed transformation Only relevant parts are given below. @@ @@ - PCI_DMA_BIDIRECTIONAL + DMA_BIDIRECTIONAL@@ @@ expression e1, e2, e3, e4, e5; @@ - pci_map_page(e1, e2, e3, e4, e5) + dma_map_page(&e1->dev, e2, e3, e4, e5) @@ expression e1, e2, e3, e4; @@ - pci_unmap_page(e1, e2, e3, e4) + dma_unmap_page(&e1->dev, e2, e3, e4) @@ expression e1, e2; @@ - pci_dma_mapping_error(e1, e2) + dma_mapping_error(&e1->dev, e2) [1]: https://lore.kernel.org/kernel-janitors/20200421081257.GA131897@infradead.org/ [2]: https://lore.kernel.org/kernel-janitors/alpine.DEB.2.22.394.2007120902170.2424@hadrien/ Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/590154f2ab113088346ae76c3f13f8b1cbebccbb.1631942274.git.christophe.jaillet@wanadoo.fr Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Johan Hovold

commit sha d9d1232b48344c6c72dbdf89fae1e7638e5df757

misc: bcm-vk: fix tty registration race Make sure to set the tty class-device driver data before registering the tty to avoid having a racing open() dereference a NULL pointer. Fixes: 91ca10d6fa07 ("misc: bcm-vk: add ttyVK support") Cc: stable@vger.kernel.org # 5.12 Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://lore.kernel.org/r/20210917115736.5816-1-johan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

view details

Mark Brown

commit sha ffb1e76f4f32d2b8ea4189df0484980370476395

Merge tag 'v5.15-rc2' into spi-5.15 Linux 5.15-rc2

view details

push time in 3 days