-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hwmon: add ETH support for N300 #9
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't go through the whole diff yet, but meeting means I'd rather send this now than wait until I can do the rest.
Sorry, I'm going to go back on something I said earlier. I said that we shouldn't use the fact that BAR4 happens to cover the kernel driver's TLB. But BAR0 can be reduced below 512MB in some systems, so BAR4 is the only assured way to access that TLB. Could you please use BAR4 instead? Conveniently, the last TLB is located at offset 0 in BAR 4. |
ab0ed93
to
69c3408
Compare
69c3408
to
d621d7f
Compare
957eab4
to
25fc16c
Compare
An upcoming change for Metal will require remote transfers to use a connected ETH core.
1e37425
to
5890df3
Compare
Problem: ETH core request and response queues can not be shared between processes without synchronization, and KMD uses an ETH core in its hwmon code path for N300 devices. Although KMD exposes a locking API, userspace is free to interact with ETH cores without using this API. Workaround: track whether processes with an open device have used the locking API. If all such processes have used it, assume they are using it correctly. If any such process has not used it, assume that we can not access an ETH core safely and return -EBUSY in the code path for reading telemetry from the remote chip on an N300 board.
5890df3
to
6005e35
Compare
If I manually merge this with master, it runs CI and the CI passes. 👍 |
No description provided.