Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Apr 2012 22:38:11 -0700
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        freebsd-mips@freebsd.org
Subject:   [ar71xx] PCI changes from ar71xx in openwrt
Message-ID:  <CAJ-VmokCQW_6pPAX9JgKmgWtiqU%2B2O_Nay%2BAbTQU_vNWT0zppw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--e89a8f234c27d128f404bd88e0b8
Content-Type: text/plain; charset=ISO-8859-1

Hi,

I've noticed that the ar71xx PCI code in openwrt trunk is .. different.

Specifically, the "local" config stuff isn't handled in bus/slot/func
'0/0/0' - it's a different function.

This patch brings it in sync:

* break the local config writes into a new function, matching what Linux does;
* use that when doing the "PCI work around" during PCI bus attach;
* change that to a 4 byte write, rather than a 2 byte write, which
again matches what Linux does;
* change the pci read/write config to not treat 0/0/0 special and use
"local" read/write.

Any issues?



Adrian

--e89a8f234c27d128f404bd88e0b8
Content-Type: application/octet-stream; name="ar71xx_pci_lconf_change.diff"
Content-Disposition: attachment; filename="ar71xx_pci_lconf_change.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h0yt3kh30

SW5kZXg6IGFyNzF4eF9wY2kuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBhcjcxeHhfcGNpLmMJKHJldmlzaW9u
IDIzNDE1NykKKysrIGFyNzF4eF9wY2kuYwkod29ya2luZyBjb3B5KQpAQCAtMjA3LDE3ICsyMDcs
MTEgQEAKIAlkcHJpbnRmKCIlczogdGFnICgleCwgJXgsICV4KSByZWcgJWQoJWQpXG4iLCBfX2Z1
bmNfXywgYnVzLCBzbG90LCAKIAkgICAgZnVuYywgcmVnLCBieXRlcyk7CiAKLQlpZiAoKGJ1cyA9
PSAwKSAmJiAoc2xvdCA9PSAwKSAmJiAoZnVuYyA9PSAwKSkgewotCQljbWQgPSBQQ0lfTENPTkZf
Q01EX1JFQUQgfCAocmVnICYgfjMpOwotCQlBVEhfV1JJVEVfUkVHKEFSNzFYWF9QQ0lfTENPTkZf
Q01ELCBjbWQpOwotCQlkYXRhID0gQVRIX1JFQURfUkVHKEFSNzFYWF9QQ0lfTENPTkZfUkVBRF9E
QVRBKTsKLQl9IGVsc2UgewotCQkgaWYgKGFyNzF4eF9wY2lfY29uZl9zZXR1cChidXMsIHNsb3Qs
IGZ1bmMsIHJlZywgYnl0ZXMsIAotCQkgICAgIFBDSV9DT05GX0NNRF9SRUFEKSA9PSAwKQotCQkJ
IGRhdGEgPSBBVEhfUkVBRF9SRUcoQVI3MVhYX1BDSV9DT05GX1JFQURfREFUQSk7Ci0JCSBlbHNl
Ci0JCQkgZGF0YSA9IC0xOwotCX0KKwkgaWYgKGFyNzF4eF9wY2lfY29uZl9zZXR1cChidXMsIHNs
b3QsIGZ1bmMsIHJlZywgYnl0ZXMsIAorCSAgICAgUENJX0NPTkZfQ01EX1JFQUQpID09IDApCisJ
CSBkYXRhID0gQVRIX1JFQURfUkVHKEFSNzFYWF9QQ0lfQ09ORl9SRUFEX0RBVEEpOworCSBlbHNl
CisJCSBkYXRhID0gLTE7CiAKIAkvKiBnZXQgcmVxdWVzdCBieXRlcyBmcm9tIDMyLWJpdCB3b3Jk
ICovCiAJZGF0YSA9IChkYXRhID4+IHNoaWZ0KSAmIG1hc2s7CkBAIC0yMjgsMjYgKzIyMiwzMyBA
QAogfQogCiBzdGF0aWMgdm9pZAotYXI3MXh4X3BjaV93cml0ZV9jb25maWcoZGV2aWNlX3QgZGV2
LCB1X2ludCBidXMsIHVfaW50IHNsb3QsIHVfaW50IGZ1bmMsIAotICAgIHVfaW50IHJlZywgdWlu
dDMyX3QgZGF0YSwgaW50IGJ5dGVzKQorYXI3MXh4X3BjaV9sb2NhbF93cml0ZShkZXZpY2VfdCBk
ZXYsIHVpbnQzMl90IHJlZywgdWludDMyX3QgZGF0YSwgaW50IGJ5dGVzKQogewogCXVpbnQzMl90
IGNtZDsKIAotCWRwcmludGYoIiVzOiB0YWcgKCV4LCAleCwgJXgpIHJlZyAlZCglZClcbiIsIF9f
ZnVuY19fLCBidXMsIHNsb3QsIAorCWRwcmludGYoIiVzOiBsb2NhbCB3cml0ZSByZWcgJWQoJWQp
XG4iLCBfX2Z1bmNfXywgcmVnLCBieXRlcyk7CisKKwlkYXRhID0gZGF0YSA8PCAoOCoocmVnICUg
NCkpOworCisJY21kID0gUENJX0xDT05GX0NNRF9XUklURSB8IChyZWcgJiB+Myk7CisJY21kIHw9
IChhcjcxeHhfZ2V0X2J5dGVzX3RvX3JlYWQocmVnLCBieXRlcykgPDwgMjApOworCUFUSF9XUklU
RV9SRUcoQVI3MVhYX1BDSV9MQ09ORl9DTUQsIGNtZCk7CisJQVRIX1dSSVRFX1JFRyhBUjcxWFhf
UENJX0xDT05GX1dSSVRFX0RBVEEsIGRhdGEpOworfQorCitzdGF0aWMgdm9pZAorYXI3MXh4X3Bj
aV93cml0ZV9jb25maWcoZGV2aWNlX3QgZGV2LCB1X2ludCBidXMsIHVfaW50IHNsb3QsIHVfaW50
IGZ1bmMsCisgICAgdV9pbnQgcmVnLCB1aW50MzJfdCBkYXRhLCBpbnQgYnl0ZXMpCit7CisKKwlk
cHJpbnRmKCIlczogdGFnICgleCwgJXgsICV4KSByZWcgJWQoJWQpXG4iLCBfX2Z1bmNfXywgYnVz
LCBzbG90LAogCSAgICBmdW5jLCByZWcsIGJ5dGVzKTsKIAogCWRhdGEgPSBkYXRhIDw8ICg4Kihy
ZWcgJSA0KSk7CiAKLQlpZiAoKGJ1cyA9PSAwKSAmJiAoc2xvdCA9PSAwKSAmJiAoZnVuYyA9PSAw
KSkgewotCQljbWQgPSBQQ0lfTENPTkZfQ01EX1dSSVRFIHwgKHJlZyAmIH4zKTsKLQkJY21kIHw9
IGFyNzF4eF9nZXRfYnl0ZXNfdG9fcmVhZChyZWcsIGJ5dGVzKSA8PCAyMDsKLQkJQVRIX1dSSVRF
X1JFRyhBUjcxWFhfUENJX0xDT05GX0NNRCwgY21kKTsKLQkJQVRIX1dSSVRFX1JFRyhBUjcxWFhf
UENJX0xDT05GX1dSSVRFX0RBVEEsIGRhdGEpOwotCX0gZWxzZSB7Ci0JCSBpZiAoYXI3MXh4X3Bj
aV9jb25mX3NldHVwKGJ1cywgc2xvdCwgZnVuYywgcmVnLCBieXRlcywgCi0JCSAgICAgUENJX0NP
TkZfQ01EX1dSSVRFKSA9PSAwKQotCQkJIEFUSF9XUklURV9SRUcoQVI3MVhYX1BDSV9DT05GX1dS
SVRFX0RBVEEsIGRhdGEpOwotCX0KKwkgaWYgKGFyNzF4eF9wY2lfY29uZl9zZXR1cChidXMsIHNs
b3QsIGZ1bmMsIHJlZywgYnl0ZXMsCisJICAgICBQQ0lfQ09ORl9DTURfV1JJVEUpID09IDApCisJ
CSBBVEhfV1JJVEVfUkVHKEFSNzFYWF9QQ0lfQ09ORl9XUklURV9EQVRBLCBkYXRhKTsKIH0KIAog
I2lmZGVmCUFSNzFYWF9BVEhfRUVQUk9NCkBAIC0zODksMTAgKzM5MCwxMCBAQAogCWFyNzF4eF9w
Y2lfY2hlY2tfYnVzX2Vycm9yKCk7CiAKIAkvKiBGaXh1cCBpbnRlcm5hbCBQQ0kgYnJpZGdlICov
Ci0JYXI3MXh4X3BjaV93cml0ZV9jb25maWcoZGV2LCAwLCAwLCAwLCBQQ0lSX0NPTU1BTkQsIAot
ICAgICAgICAgICAgUENJTV9DTURfQlVTTUFTVEVSRU4gfCBQQ0lNX0NNRF9NRU1FTiAKKwlhcjcx
eHhfcGNpX2xvY2FsX3dyaXRlKGRldiwgUENJUl9DT01NQU5ELAorICAgICAgICAgICAgUENJTV9D
TURfQlVTTUFTVEVSRU4gfCBQQ0lNX0NNRF9NRU1FTgogCSAgICB8IFBDSU1fQ01EX1NFUlJFU1BF
TiB8IFBDSU1fQ01EX0JBQ0tUT0JBQ0sKLQkgICAgfCBQQ0lNX0NNRF9QRVJSRVNQRU4gfCBQQ0lN
X0NNRF9NV1JJQ0VOLCAyKTsKKwkgICAgfCBQQ0lNX0NNRF9QRVJSRVNQRU4gfCBQQ0lNX0NNRF9N
V1JJQ0VOLCA0KTsKIAogI2lmZGVmCUFSNzFYWF9BVEhfRUVQUk9NCiAJLyoK
--e89a8f234c27d128f404bd88e0b8--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokCQW_6pPAX9JgKmgWtiqU%2B2O_Nay%2BAbTQU_vNWT0zppw>