> Hi Andrew, > I got it working a little bit better. When I'm fast enough I can read > the registers I want but it isn't a solution.
Why do you need to read registers? What you actually might be interested in is the debugfs patches in Viviens github tree. > Here is an output of the tracing even with my custom accesses. > mii -i 2 0 0x9b60; mii -i 2 1 > phyid:2, reg:0x01 -> 0xc801 > > Do you know how to delete EEInt bit? It is always one. And now all > accesses coming from the kworker thread. Maybe this is your polling > function? EEInt should clear on read for older chips. For 6390, it might be necessary to read global 2, register 0x13, index 03. > I view the INT pin on an oscilloscope but it never changed. So maybe > this is the problem. We just soldered a pull-up to that pin but it > still never changend. Maybe you have an idea? The EEInt bit is probably masked. So it will not generate in interrupt. > So what I think is, because of the EEInt bit is never set back to one > i will poll it as fast as possible. Is it forever looping in mv88e6xxx_g1_irq_thread_work? Or is it the polling code, mv88e6xxx_irq_poll() firing every 100ms? Andrew