Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [1/5] usb: typec: tcpm: source pdo selection update From: Jun Li Message-Id: <1521541570-25363-2-git-send-email-jun.li@nxp.com> Date: Tue, 20 Mar 2018 18:26:05 +0800 To: gregkh@linuxfoundation.org, robh+dt@kernel.org, mark.rutland@arm.com, heikki.krogerus@linux.intel.com, linux@roeck-us.net, hdegoede@redhat.com, rmfrfs@gmail.com, yueyao.zhu@gmail.com Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: SW5zdGVhZCBvZiBvbmx5IGNvbXBhcmUgYmV0d2VlbiB0aGUgc2FtZSBwZG8gdHlwZSBvZiBzaW5r IGFuZCBzb3VyY2UsCnRoaXMgcGF0Y2ggdXBkYXRlIHRoZSBzb3VyY2UgcGRvIHNlbGVjdGlvbiBi eSBjaGVja2luZyB0aGUgc291cmNlIHBkbwp2b2x0YWdlIHJhbmdlIGlzIHdpdGhpbiB0aGF0IG9m IHNpbmsuCgpTaWduZWQtb2ZmLWJ5OiBMaSBKdW4gPGp1bi5saUBueHAuY29tPgotLS0KIGRyaXZl cnMvdXNiL3R5cGVjL3RjcG0uYyB8IDEwMSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDY0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0uYyBiL2RyaXZl cnMvdXNiL3R5cGVjL3RjcG0uYwppbmRleCBjZDQ4YTk5Li4yMGY3Y2E4IDEwMDY0NAotLS0gYS9k cml2ZXJzL3VzYi90eXBlYy90Y3BtLmMKKysrIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS5jCkBA IC0xNzY1LDcgKzE3NjUsOSBAQCBzdGF0aWMgaW50IHRjcG1fcGRfY2hlY2tfcmVxdWVzdChzdHJ1 Y3QgdGNwbV9wb3J0ICpwb3J0KQogc3RhdGljIGludCB0Y3BtX3BkX3NlbGVjdF9wZG8oc3RydWN0 IHRjcG1fcG9ydCAqcG9ydCwgaW50ICpzaW5rX3BkbywKIAkJCSAgICAgIGludCAqc3JjX3BkbykK IHsKLQl1bnNpZ25lZCBpbnQgaSwgaiwgbWF4X213ID0gMCwgbWF4X212ID0gMCwgbXcgPSAwLCBt diA9IDAsIG1hID0gMDsKKwl1bnNpZ25lZCBpbnQgaSwgaiwgbWF4X3NyY19tdiA9IDAsIG1pbl9z cmNfbXYgPSAwLCBtYXhfbXcgPSAwLAorCQkgICAgIG1heF9tdiA9IDAsIHNyY19tdyA9IDAsIHNy Y19tYSA9IDAsIG1heF9zbmtfbXYgPSAwLAorCQkgICAgIG1pbl9zbmtfbXYgPSAwOwogCWludCBy ZXQgPSAtRUlOVkFMOwogCiAJLyoKQEAgLTE3NzcsNzAgKzE3NzksNDEgQEAgc3RhdGljIGludCB0 Y3BtX3BkX3NlbGVjdF9wZG8oc3RydWN0IHRjcG1fcG9ydCAqcG9ydCwgaW50ICpzaW5rX3BkbywK IAkJZW51bSBwZF9wZG9fdHlwZSB0eXBlID0gcGRvX3R5cGUocGRvKTsKIAogCQlpZiAodHlwZSA9 PSBQRE9fVFlQRV9GSVhFRCkgewotCQkJZm9yIChqID0gMDsgaiA8IHBvcnQtPm5yX2ZpeGVkOyBq KyspIHsKLQkJCQlpZiAocGRvX2ZpeGVkX3ZvbHRhZ2UocGRvKSA9PQotCQkJCSAgICBwZG9fZml4 ZWRfdm9sdGFnZShwb3J0LT5zbmtfcGRvW2pdKSkgewotCQkJCQltYSA9IG1pbl9jdXJyZW50KHBk bywgcG9ydC0+c25rX3Bkb1tqXSk7Ci0JCQkJCW12ID0gcGRvX2ZpeGVkX3ZvbHRhZ2UocGRvKTsK LQkJCQkJbXcgPSBtYSAqIG12IC8gMTAwMDsKLQkJCQkJaWYgKG13ID4gbWF4X213IHx8Ci0JCQkJ CSAgICAobXcgPT0gbWF4X213ICYmIG12ID4gbWF4X212KSkgewotCQkJCQkJcmV0ID0gMDsKLQkJ CQkJCSpzcmNfcGRvID0gaTsKLQkJCQkJCSpzaW5rX3BkbyA9IGo7Ci0JCQkJCQltYXhfbXcgPSBt dzsKLQkJCQkJCW1heF9tdiA9IG12OwotCQkJCQl9Ci0JCQkJCS8qIFRoZXJlIGNvdWxkIG9ubHkg YmUgb25lIGZpeGVkIHBkbwotCQkJCQkgKiBhdCBhIHNwZWNpZmljIHZvbHRhZ2UgbGV2ZWwuCi0J CQkJCSAqIFNvIGJyZWFraW5nIGhlcmUuCi0JCQkJCSAqLwotCQkJCQlicmVhazsKLQkJCQl9Ci0J CQl9Ci0JCX0gZWxzZSBpZiAodHlwZSA9PSBQRE9fVFlQRV9CQVRUKSB7Ci0JCQlmb3IgKGogPSBw b3J0LT5ucl9maXhlZDsKLQkJCSAgICAgaiA8IHBvcnQtPm5yX2ZpeGVkICsKLQkJCQkgcG9ydC0+ bnJfYmF0dDsKLQkJCSAgICAgaisrKSB7Ci0JCQkJaWYgKHBkb19taW5fdm9sdGFnZShwZG8pID49 Ci0JCQkJICAgICBwZG9fbWluX3ZvbHRhZ2UocG9ydC0+c25rX3Bkb1tqXSkgJiYKLQkJCQkgICAg IHBkb19tYXhfdm9sdGFnZShwZG8pIDw9Ci0JCQkJICAgICBwZG9fbWF4X3ZvbHRhZ2UocG9ydC0+ c25rX3Bkb1tqXSkpIHsKLQkJCQkJbXcgPSBtaW5fcG93ZXIocGRvLCBwb3J0LT5zbmtfcGRvW2pd KTsKLQkJCQkJbXYgPSBwZG9fbWluX3ZvbHRhZ2UocGRvKTsKLQkJCQkJaWYgKG13ID4gbWF4X213 IHx8Ci0JCQkJCSAgICAobXcgPT0gbWF4X213ICYmIG12ID4gbWF4X212KSkgewotCQkJCQkJcmV0 ID0gMDsKLQkJCQkJCSpzcmNfcGRvID0gaTsKLQkJCQkJCSpzaW5rX3BkbyA9IGo7Ci0JCQkJCQlt YXhfbXcgPSBtdzsKLQkJCQkJCW1heF9tdiA9IG12OwotCQkJCQl9Ci0JCQkJfQorCQkJbWF4X3Ny Y19tdiA9IHBkb19maXhlZF92b2x0YWdlKHBkbyk7CisJCQltaW5fc3JjX212ID0gbWF4X3NyY19t djsKKwkJfSBlbHNlIHsKKwkJCW1heF9zcmNfbXYgPSBwZG9fbWF4X3ZvbHRhZ2UocGRvKTsKKwkJ CW1pbl9zcmNfbXYgPSBwZG9fbWluX3ZvbHRhZ2UocGRvKTsKKwkJfQorCisJCWlmICh0eXBlID09 IFBET19UWVBFX0JBVFQpIHsKKwkJCXNyY19tdyA9IHBkb19tYXhfcG93ZXIocGRvKTsKKwkJfSBl bHNlIHsKKwkJCXNyY19tYSA9IHBkb19tYXhfY3VycmVudChwZG8pOworCQkJc3JjX213ID0gc3Jj X21hICogbWluX3NyY19tdiAvIDEwMDA7CisJCX0KKworCQlmb3IgKGogPSAwOyBqIDwgcG9ydC0+ bnJfc25rX3BkbzsgaisrKSB7CisJCQlwZG8gPSBwb3J0LT5zbmtfcGRvW2pdOworCisJCQlpZiAo cGRvX3R5cGUocGRvKSA9PSBQRE9fVFlQRV9GSVhFRCkgeworCQkJCW1pbl9zbmtfbXYgPSBwZG9f Zml4ZWRfdm9sdGFnZShwZG8pOworCQkJCW1heF9zbmtfbXYgPSBwZG9fZml4ZWRfdm9sdGFnZShw ZG8pOworCQkJfSBlbHNlIHsKKwkJCQltaW5fc25rX212ID0gcGRvX21pbl92b2x0YWdlKHBkbyk7 CisJCQkJbWF4X3Nua19tdiA9IHBkb19tYXhfdm9sdGFnZShwZG8pOwogCQkJfQotCQl9IGVsc2Ug aWYgKHR5cGUgPT0gUERPX1RZUEVfVkFSKSB7Ci0JCQlmb3IgKGogPSBwb3J0LT5ucl9maXhlZCAr Ci0JCQkJIHBvcnQtPm5yX2JhdHQ7Ci0JCQkgICAgIGogPCBwb3J0LT5ucl9maXhlZCArCi0JCQkJ IHBvcnQtPm5yX2JhdHQgKwotCQkJCSBwb3J0LT5ucl92YXI7Ci0JCQkgICAgIGorKykgewotCQkJ CWlmIChwZG9fbWluX3ZvbHRhZ2UocGRvKSA+PQotCQkJCSAgICAgcGRvX21pbl92b2x0YWdlKHBv cnQtPnNua19wZG9bal0pICYmCi0JCQkJICAgICBwZG9fbWF4X3ZvbHRhZ2UocGRvKSA8PQotCQkJ CSAgICAgcGRvX21heF92b2x0YWdlKHBvcnQtPnNua19wZG9bal0pKSB7Ci0JCQkJCW1hID0gbWlu X2N1cnJlbnQocGRvLCBwb3J0LT5zbmtfcGRvW2pdKTsKLQkJCQkJbXYgPSBwZG9fbWluX3ZvbHRh Z2UocGRvKTsKLQkJCQkJbXcgPSBtYSAqIG12IC8gMTAwMDsKLQkJCQkJaWYgKG13ID4gbWF4X213 IHx8Ci0JCQkJCSAgICAobXcgPT0gbWF4X213ICYmIG12ID4gbWF4X212KSkgewotCQkJCQkJcmV0 ID0gMDsKLQkJCQkJCSpzcmNfcGRvID0gaTsKLQkJCQkJCSpzaW5rX3BkbyA9IGo7Ci0JCQkJCQlt YXhfbXcgPSBtdzsKLQkJCQkJCW1heF9tdiA9IG12OwotCQkJCQl9CisKKwkJCWlmIChtYXhfc3Jj X212IDw9IG1heF9zbmtfbXYgJiYKKwkJCQltaW5fc3JjX212ID49IG1pbl9zbmtfbXYpIHsKKwkJ CQkvKiBQcmVmZXIgaGlnaGVyIHZvbHRhZ2VzIGlmIGF2YWlsYWJsZSAqLworCQkJCWlmICgoc3Jj X213ID09IG1heF9tdyAmJiBtaW5fc3JjX212ID4gbWF4X212KSB8fAorCQkJCQkJCXNyY19tdyA+ IG1heF9tdykgeworCQkJCQkqc3JjX3BkbyA9IGk7CisJCQkJCSpzaW5rX3BkbyA9IGo7CisJCQkJ CW1heF9tdyA9IHNyY19tdzsKKwkJCQkJbWF4X212ID0gbWluX3NyY19tdjsKKwkJCQkJcmV0ID0g MDsKIAkJCQl9CiAJCQl9CiAJCX0K