Thread (1 message) 1 message, 1 author, 2021-08-18

Re: [RFC PATCH 2/2] PCI: apple: Add driver for the Apple M1

From: Mark Kettenis <hidden>
Date: 2021-08-18 14:22:50
Also in: linux-devicetree, lkml

From: Hector Martin <redacted>
Date: Wed, 18 Aug 2021 20:43:48 +0900

On 15/08/2021 21.33, Sven Peter wrote:
quoted
The magic comes from the original Corellium driver. It first masks
everything except for the interrupts in the next line, then acks
the interrupts it keeps enabled and then probably wants to wait
for PORT_INT_LINK_UP (or any of the other interrupts which seem to
indicate various error conditions) to fire but instead polls for
PORT_LINKSTS_UP.
Let's not take any magic numbers from their drivers (or what macOS does, 
for that matter) without making an attempt to understand what they do, 
unless it becomes clear it's incomprehensible. This has already bit us 
in the past (the SError disable thing).
The driver should really only unmask the interrupts it handles in its
interrupt handler.  We should know the meaning of those bits so using
the appropriate symbolic names shouldn't be too difficult.

Didn't delve into this yet since U-Boot doesn't do interrupts (so I
don't touch the port interrupt registers there) and on OpenBSD I only
implemented MSIs for now as all the integrated devices support MSIs
just fine.  I'll need to revisit this at some point to support the
Thunderbolt ports.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help