adrian 0d2aec183a Add some AR5416/AR5418 WAR's for power-on and suspend/resume:
* Now that ah_configPCIE is called for both power on and suspend/resume,
  make sure the right bit(s) are cleared and set when suspending and
  resuming.  Specifically:

  + force disable/enable the PCIe PHY upon suspend/resume;
  + reprogram the PCIe WAR register when resuming and upon power-on.

* Add a recipe which powers down any PCIe PHY hardware inside the AR5416
  (which is the PCI variant) to save on power.  I have (currently) no way
  to test exactly how much power is saved, if any.

Tested on:

* AR5416 cardbus - although unfortunately pccard/cbb/cardbus currently
  detaches the NIC upon suspend, I don't think it's a proper test case.

* AR5418 PCIe attached to expresscard - since we're not doing PCIe APSM,
  it's also not likely a full/good test case.

In both instances I went through a handful of suspend/resume cycles and
ensured that the STA vap reassociated correctly.

TODO:

* Setup a laptop to simply sit in a suspend/resume loop, making sure that
  the NIC always correctly comes back;

* Start doing suspend/resume tests with actual traffic going on in the
  background, as I bet this process is all quite racy at the present;

* Test adhoc/hostap mode, just to be completely sure it's working correctly;

* See if I can jury rig an external power source to an AR5416 to test out
  whether ah_disablePCIE() works.

Obtained from:	Qualcomm Atheros
2012-05-25 17:53:57 +00:00
..
2012-05-24 23:12:30 +00:00
2012-03-12 20:31:58 +00:00
2012-04-04 21:09:02 +00:00
2011-12-17 10:23:17 +00:00
2012-03-27 15:13:12 +00:00
2012-05-25 03:00:34 +00:00
2012-05-24 23:03:23 +00:00
2012-05-23 06:49:50 +00:00
2012-01-10 20:52:02 +00:00
2012-01-15 13:23:18 +00:00
2012-04-16 23:29:12 +00:00
MFC
2011-05-16 16:34:03 +00:00
2012-05-23 13:23:40 +00:00
2012-01-31 13:00:40 +00:00
2012-01-15 13:23:43 +00:00
2012-04-13 18:21:56 +00:00
2012-02-22 01:08:59 +00:00
2012-05-20 10:02:24 +00:00
2012-05-25 03:02:56 +00:00
2011-10-18 08:09:44 +00:00
2011-12-17 10:23:17 +00:00
2012-05-25 15:05:17 +00:00
2011-05-15 13:17:08 +00:00
2012-04-21 01:51:16 +00:00
2012-01-11 15:00:16 +00:00
2012-02-27 08:57:02 +00:00
2012-01-15 13:23:18 +00:00
2012-05-11 03:17:32 +00:00
2011-10-07 08:59:54 +00:00
2011-12-15 05:07:16 +00:00
2012-02-11 08:12:52 +00:00
2011-12-22 15:13:32 +00:00
2011-10-18 08:09:44 +00:00
2011-11-23 05:34:01 +00:00