[openib-general] Race in mthca_cmd_post()
Roland Dreier
rdreier at cisco.com
Fri Oct 13 15:02:59 PDT 2006
John> I was confused by this, but I believe that the readl to reg
John> 698 is not completing because the DDR memory is not yet
John> available because SYS_EN never got down to the card before
John> the readl, or did not complete before readl. This could be
John> wrong I don't know. I was expecting to see a PIO write to
John> reg 680 (which I can't find in the analyzer trace). What I
John> did see is a lot of Config Write's to the PCI config space
John> and then a Memeory read (to 698).
OK, consider me thoroughly confused. The read to reg 698
(MTHCA_HCR_BASE + HCR_STATUS_OFFSET) is coming from go_bit(), and that
seems entirely correct to me. The SYS_EN command should end up in
mthca_cmd_post_hcr(), and that checks the go bit before doing anything
else. So this is exactly what I would expect to see. AFAIK this is
working everywhere -- the device does not need to be enabled for reads
to this area to work.
What does the PCI trace look like after you add mmiowb()?
- R.
More information about the general
mailing list