From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [PATCH libdrm 1/2] Support atomic modesetting ioctl Date: Fri, 22 May 2015 13:36:55 +0100 Message-ID: <1432298216-22460-2-git-send-email-daniels@collabora.com> References: <1432298216-22460-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id 0EA126EA75 for ; Fri, 22 May 2015 05:37:03 -0700 (PDT) In-Reply-To: <1432298216-22460-1-git-send-email-daniels@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBzdXBwb3J0IGZvciB0aGUgYXRvbWljIG1vZGVzZXR0aW5nIGlvY3RsIHRocm91Z2ggYSBwcm9w ZXJ0eS1zZXQgQVBJLgoKW2RhbmllbHM6IFNxdWFzaGVkIGludGVybWVkaWF0ZSBwYXRjaGVzIGZy b20gVmlsbGUsIFJvYiBhbmQgbXlzZWxmLgogICAgICAgICAgVXBkYXRlZCBmb3IgY3VycmVudCBp bnRlcmZhY2UuXQoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JjbGFya0BmcmVl ZGVza3RvcC5vcmc+ClNpZ25lZC1vZmYtYnk6IERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bjb2xsYWJv cmEuY29tPgotLS0KIGluY2x1ZGUvZHJtL2RybS5oICAgICAgfCAgIDkgKysrCiBpbmNsdWRlL2Ry bS9kcm1fbW9kZS5oIHwgIDE2ICsrKysrCiB4Zjg2ZHJtTW9kZS5jICAgICAgICAgIHwgMTg2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhmODZkcm1N b2RlLmggICAgICAgICAgfCAgMTQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMjUgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybS5oIGIvaW5jbHVkZS9kcm0vZHJtLmgK aW5kZXggMjI5YTI5Zi4uMGIxZDJlZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtLmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtLmgKQEAgLTYzNSw2ICs2MzUsMTMgQEAgc3RydWN0IGRybV9nZXRf Y2FwIHsKICAqLwogI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9VTklWRVJTQUxfUExBTkVTIDIKIAor LyoqCisgKiBEUk1fQ0xJRU5UX0NBUF9BVE9NSUMKKyAqCisgKiBJZiBzZXQgdG8gMSwgdGhlIERS TSBjb3JlIHdpbGwgYWxsb3cgYXRvbWljIG1vZGVzZXR0aW5nIHJlcXVlc3RzLgorICovCisjZGVm aW5lIERSTV9DTElFTlRfQ0FQX0FUT01JQwkJMworCiAvKiogRFJNX0lPQ1RMX1NFVF9DTElFTlRf Q0FQIGlvY3RsIGFyZ3VtZW50IHR5cGUgKi8KIHN0cnVjdCBkcm1fc2V0X2NsaWVudF9jYXAgewog CV9fdTY0IGNhcGFiaWxpdHk7CkBAIC03NTgsNiArNzY1LDcgQEAgc3RydWN0IGRybV9wcmltZV9o YW5kbGUgewogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9PQkpfR0VUUFJPUEVSVElFUwlEUk1fSU9X UigweEI5LCBzdHJ1Y3QgZHJtX21vZGVfb2JqX2dldF9wcm9wZXJ0aWVzKQogI2RlZmluZSBEUk1f SU9DVExfTU9ERV9PQkpfU0VUUFJPUEVSVFkJRFJNX0lPV1IoMHhCQSwgc3RydWN0IGRybV9tb2Rl X29ial9zZXRfcHJvcGVydHkpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0NVUlNPUjIJCURSTV9J T1dSKDB4QkIsIHN0cnVjdCBkcm1fbW9kZV9jdXJzb3IyKQorI2RlZmluZSBEUk1fSU9DVExfTU9E RV9BVE9NSUMJCURSTV9JT1dSKDB4QkMsIHN0cnVjdCBkcm1fbW9kZV9hdG9taWMpCiAKIC8qKgog ICogRGV2aWNlIHNwZWNpZmljIGlvY3RscyBzaG91bGQgb25seSBiZSBpbiB0aGVpciByZXNwZWN0 aXZlIGhlYWRlcnMKQEAgLTgwNiw2ICs4MTQsNyBAQCBzdHJ1Y3QgZHJtX2V2ZW50X3ZibGFuayB7 CiAjZGVmaW5lIERSTV9DQVBfUFJJTUUgMHg1CiAjZGVmaW5lIERSTV9DQVBfVElNRVNUQU1QX01P Tk9UT05JQyAweDYKICNkZWZpbmUgRFJNX0NBUF9BU1lOQ19QQUdFX0ZMSVAgMHg3CisjZGVmaW5l IERSTV9DQVBfQVRPTUlDIDB4YQogCiAjZGVmaW5lIERSTV9QUklNRV9DQVBfSU1QT1JUIDB4MQog I2RlZmluZSBEUk1fUFJJTUVfQ0FQX0VYUE9SVCAweDIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9tb2RlLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZS5oCmluZGV4IGEyYWI4OGEuLjY2Zjg1 NmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS9kcm0v ZHJtX21vZGUuaApAQCAtNTA3LDQgKzUwNywyMCBAQCBzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9k dW1iIHsKIAlfX3UzMiBoYW5kbGU7CiB9OwogCisvKiBwYWdlLWZsaXAgZmxhZ3MgYXJlIHZhbGlk LCBwbHVzOiAqLworI2RlZmluZSBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZCTB4MDEwMAorI2Rl ZmluZSBEUk1fTU9ERV9BVE9NSUNfTk9OQkxPQ0sJMHgwMjAwCisjZGVmaW5lIERSTV9NT0RFX0FU T01JQ19BTExPV19NT0RFU0VUCTB4MDQwMAorCitzdHJ1Y3QgZHJtX21vZGVfYXRvbWljIHsKKwlf X3UzMiBmbGFnczsKKwlfX3UzMiBjb3VudF9vYmpzOworCV9fdTY0IG9ianNfcHRyOworCV9fdTY0 IGNvdW50X3Byb3BzX3B0cjsKKwlfX3U2NCBwcm9wc19wdHI7CisJX191NjQgcHJvcF92YWx1ZXNf cHRyOworCV9fdTY0IHJlc2VydmVkOworCV9fdTY0IHVzZXJfZGF0YTsKK307CisKICNlbmRpZgpk aWZmIC0tZ2l0IGEveGY4NmRybU1vZGUuYyBiL3hmODZkcm1Nb2RlLmMKaW5kZXggMTMzM2RhNC4u MzBiOTRiOCAxMDA2NDQKLS0tIGEveGY4NmRybU1vZGUuYworKysgYi94Zjg2ZHJtTW9kZS5jCkBA IC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3lzL2lvY3Rs Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CiAKICNpZmRlZiBI QVZFX0NPTkZJR19ICiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0xMTQ3LDMgKzExNDgsMTg4IEBA IGludCBkcm1Nb2RlT2JqZWN0U2V0UHJvcGVydHkoaW50IGZkLCB1aW50MzJfdCBvYmplY3RfaWQs IHVpbnQzMl90IG9iamVjdF90eXBlLAogCiAJcmV0dXJuIERSTV9JT0NUTChmZCwgRFJNX0lPQ1RM X01PREVfT0JKX1NFVFBST1BFUlRZLCAmcHJvcCk7CiB9CisKK3R5cGVkZWYgc3RydWN0IF9kcm1N b2RlQXRvbWljUmVxSXRlbSBkcm1Nb2RlQXRvbWljUmVxSXRlbSwgKmRybU1vZGVBdG9taWNSZXFJ dGVtUHRyOworCitzdHJ1Y3QgX2RybU1vZGVBdG9taWNSZXFJdGVtIHsKKwl1aW50MzJfdCBvYmpl Y3RfaWQ7CisJdWludDMyX3QgcHJvcGVydHlfaWQ7CisJdWludDY0X3QgdmFsdWU7CisJZHJtTW9k ZUF0b21pY1JlcUl0ZW1QdHIgbmV4dDsKK307CisKK3N0cnVjdCBfZHJtTW9kZUF0b21pY1JlcSB7 CisJdW5zaWduZWQgaW50IGNvdW50X29ianM7CisJdW5zaWduZWQgaW50IGNvdW50X3Byb3BzOwor CWRybU1vZGVBdG9taWNSZXFJdGVtIGxpc3Q7Cit9OworCitkcm1Nb2RlQXRvbWljUmVxUHRyIGRy bU1vZGVBdG9taWNBbGxvYyh2b2lkKQoreworCWRybU1vZGVBdG9taWNSZXFQdHIgcmVxOworCisJ cmVxID0gZHJtTWFsbG9jKHNpemVvZiAqcmVxKTsKKwlpZiAoIXJlcSkKKwkJcmV0dXJuIE5VTEw7 CisKKwlyZXEtPmxpc3QubmV4dCA9IE5VTEw7CisJcmVxLT5jb3VudF9wcm9wcyA9IDA7CisJcmVx LT5jb3VudF9vYmpzID0gMDsKKworCXJldHVybiByZXE7Cit9CisKK2ludCBkcm1Nb2RlQXRvbWlj QWRkUHJvcGVydHkoZHJtTW9kZUF0b21pY1JlcVB0ciByZXEsCisJCQkgICAgIHVpbnQzMl90IG9i amVjdF9pZCwKKwkJCSAgICAgdWludDMyX3QgcHJvcGVydHlfaWQsCisJCQkgICAgIHVpbnQ2NF90 IHZhbHVlKQoreworCWRybU1vZGVBdG9taWNSZXFJdGVtUHRyIHByZXYgPSAmcmVxLT5saXN0Owor CWJvb2wgbmV3X29iaiA9IGZhbHNlOworCisJLyoga2VlcCBpdCBzb3J0ZWQgYnkgb2JqZWN0X2lk IGFuZCBwcm9wZXJ0eV9pZCAqLworCXdoaWxlIChwcmV2LT5uZXh0KSB7CisJCWlmIChwcmV2LT5u ZXh0LT5vYmplY3RfaWQgPiBvYmplY3RfaWQpCisJCQlicmVhazsKKworCQlpZiAocHJldi0+bmV4 dC0+b2JqZWN0X2lkID09IG9iamVjdF9pZCAmJgorCQkgICAgcHJldi0+bmV4dC0+cHJvcGVydHlf aWQgPj0gcHJvcGVydHlfaWQpCisJCQlicmVhazsKKworCQlwcmV2ID0gcHJldi0+bmV4dDsKKwl9 CisKKwlpZiAoKHByZXYgPT0gJnJlcS0+bGlzdCB8fCBwcmV2LT5vYmplY3RfaWQgIT0gb2JqZWN0 X2lkKSAmJgorCSAgICAoIXByZXYtPm5leHQgfHwgcHJldi0+bmV4dC0+b2JqZWN0X2lkICE9IG9i amVjdF9pZCkpCisJCW5ld19vYmogPSB0cnVlOworCisJLyogcmVwbGFjZSBvciBhZGQ/ICovCisJ aWYgKHByZXYtPm5leHQgJiYKKwkgICAgcHJldi0+bmV4dC0+b2JqZWN0X2lkID09IG9iamVjdF9p ZCAmJgorCSAgICBwcmV2LT5uZXh0LT5wcm9wZXJ0eV9pZCA9PSBwcm9wZXJ0eV9pZCkgeworCQlk cm1Nb2RlQXRvbWljUmVxSXRlbVB0ciBpdGVtID0gcHJldi0+bmV4dDsKKwkJaXRlbS0+dmFsdWUg PSB2YWx1ZTsKKwl9IGVsc2UgeworCQlkcm1Nb2RlQXRvbWljUmVxSXRlbVB0ciBpdGVtOworCisJ CWl0ZW0gPSBkcm1NYWxsb2Moc2l6ZW9mICppdGVtKTsKKwkJaWYgKCFpdGVtKQorCQkJcmV0dXJu IC0xOworCisJCWl0ZW0tPm9iamVjdF9pZCA9IG9iamVjdF9pZDsKKwkJaXRlbS0+cHJvcGVydHlf aWQgPSBwcm9wZXJ0eV9pZDsKKwkJaXRlbS0+dmFsdWUgPSB2YWx1ZTsKKworCQlpdGVtLT5uZXh0 ID0gcHJldi0+bmV4dDsKKwkJcHJldi0+bmV4dCA9IGl0ZW07CisKKwkJcmVxLT5jb3VudF9wcm9w cysrOworCX0KKworCWlmIChuZXdfb2JqKQorCQlyZXEtPmNvdW50X29ianMrKzsKKworCXJldHVy biAwOworfQorCit2b2lkIGRybU1vZGVBdG9taWNGcmVlKGRybU1vZGVBdG9taWNSZXFQdHIgcmVx KQoreworCWRybU1vZGVBdG9taWNSZXFJdGVtUHRyIGl0ZW07CisKKwlpZiAoIXJlcSkKKwkJcmV0 dXJuOworCisJaXRlbSA9IHJlcS0+bGlzdC5uZXh0OworCisJd2hpbGUgKGl0ZW0pIHsKKwkJZHJt TW9kZUF0b21pY1JlcUl0ZW1QdHIgbmV4dCA9IGl0ZW0tPm5leHQ7CisKKwkJZHJtRnJlZShpdGVt KTsKKworCQlpdGVtID0gbmV4dDsKKwl9CisKKwlkcm1GcmVlKHJlcSk7Cit9CisKK2ludCBkcm1N b2RlQXRvbWljQ29tbWl0KGludCBmZCwgZHJtTW9kZUF0b21pY1JlcVB0ciByZXEsIHVpbnQzMl90 IGZsYWdzLAorCQkJdm9pZCAqdXNlcl9kYXRhKQoreworCWRybU1vZGVBdG9taWNSZXFJdGVtUHRy IGl0ZW07CisJdWludDMyX3QgKm9ianNfcHRyID0gTlVMTDsKKwl1aW50MzJfdCAqY291bnRfcHJv cHNfcHRyID0gTlVMTDsKKwl1aW50MzJfdCAqcHJvcHNfcHRyID0gTlVMTDsKKwl1aW50NjRfdCAq cHJvcF92YWx1ZXNfcHRyID0gTlVMTDsKKwlzdHJ1Y3QgZHJtX21vZGVfYXRvbWljIGF0b21pYyA9 IHsgMCB9OworCXVuc2lnbmVkIGludCBvYmpfaWR4ID0gMDsKKwl1bnNpZ25lZCBpbnQgcHJvcF9p ZHggPSAwOworCWludCByZXQgPSAtMTsKKworCWlmICghcmVxKQorCQlyZXR1cm4gLTE7CisKKwlv YmpzX3B0ciA9IGRybU1hbGxvYyhyZXEtPmNvdW50X29ianMgKiBzaXplb2Ygb2Jqc19wdHJbMF0p OworCWlmICghb2Jqc19wdHIpIHsKKwkJZXJybm8gPSBFTk9NRU07CisJCWdvdG8gb3V0OworCX0K KworCWNvdW50X3Byb3BzX3B0ciA9IGRybU1hbGxvYyhyZXEtPmNvdW50X29ianMgKiBzaXplb2Yg Y291bnRfcHJvcHNfcHRyWzBdKTsKKwlpZiAoIWNvdW50X3Byb3BzX3B0cikgeworCQllcnJubyA9 IEVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCisJcHJvcHNfcHRyID0gZHJtTWFsbG9jKHJlcS0+ Y291bnRfcHJvcHMgKiBzaXplb2YgcHJvcHNfcHRyWzBdKTsKKwlpZiAoIXByb3BzX3B0cikgewor CQllcnJubyA9IEVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCisJcHJvcF92YWx1ZXNfcHRyID0g ZHJtTWFsbG9jKHJlcS0+Y291bnRfcHJvcHMgKiBzaXplb2YgcHJvcF92YWx1ZXNfcHRyWzBdKTsK KwlpZiAoIXByb3BfdmFsdWVzX3B0cikgeworCQllcnJubyA9IEVOT01FTTsKKwkJZ290byBvdXQ7 CisJfQorCisJaXRlbSA9IHJlcS0+bGlzdC5uZXh0OworCisJd2hpbGUgKGl0ZW0pIHsKKwkJaW50 IGNvdW50X3Byb3BzID0gMDsKKwkJZHJtTW9kZUF0b21pY1JlcUl0ZW1QdHIgbmV4dCA9IGl0ZW07 CisKKwkJb2Jqc19wdHJbb2JqX2lkeF0gPSBpdGVtLT5vYmplY3RfaWQ7CisKKwkJd2hpbGUgKG5l eHQgJiYgbmV4dC0+b2JqZWN0X2lkID09IGl0ZW0tPm9iamVjdF9pZCkgeworCQkJcHJvcHNfcHRy W3Byb3BfaWR4XSA9IG5leHQtPnByb3BlcnR5X2lkOworCQkJcHJvcF92YWx1ZXNfcHRyW3Byb3Bf aWR4XSA9IG5leHQtPnZhbHVlOworCQkJcHJvcF9pZHgrKzsKKworCQkJY291bnRfcHJvcHMrKzsK KworCQkJbmV4dCA9IG5leHQtPm5leHQ7CisJCX0KKworCQljb3VudF9wcm9wc19wdHJbb2JqX2lk eCsrXSA9IGNvdW50X3Byb3BzOworCisJCWl0ZW0gPSBuZXh0OworCX0KKworCWF0b21pYy5jb3Vu dF9vYmpzID0gcmVxLT5jb3VudF9vYmpzOworCWF0b21pYy5mbGFncyA9IGZsYWdzOworCWF0b21p Yy5vYmpzX3B0ciA9IFZPSUQyVTY0KG9ianNfcHRyKTsKKwlhdG9taWMuY291bnRfcHJvcHNfcHRy ID0gVk9JRDJVNjQoY291bnRfcHJvcHNfcHRyKTsKKwlhdG9taWMucHJvcHNfcHRyID0gVk9JRDJV NjQocHJvcHNfcHRyKTsKKwlhdG9taWMucHJvcF92YWx1ZXNfcHRyID0gVk9JRDJVNjQocHJvcF92 YWx1ZXNfcHRyKTsKKwlhdG9taWMudXNlcl9kYXRhID0gVk9JRDJVNjQodXNlcl9kYXRhKTsKKwor CXJldCA9IERSTV9JT0NUTChmZCwgRFJNX0lPQ1RMX01PREVfQVRPTUlDLCAmYXRvbWljKTsKKwor b3V0OgorCWRybUZyZWUob2Jqc19wdHIpOworCWRybUZyZWUoY291bnRfcHJvcHNfcHRyKTsKKwlk cm1GcmVlKHByb3BzX3B0cik7CisJZHJtRnJlZShwcm9wX3ZhbHVlc19wdHIpOworCisJcmV0dXJu IHJldDsKK30KZGlmZiAtLWdpdCBhL3hmODZkcm1Nb2RlLmggYi94Zjg2ZHJtTW9kZS5oCmluZGV4 IDIwYzNmMTUuLjNiYTIzMzMgMTAwNjQ0Ci0tLSBhL3hmODZkcm1Nb2RlLmgKKysrIGIveGY4NmRy bU1vZGUuaApAQCAtNDg0LDYgKzQ4NCwyMCBAQCBleHRlcm4gaW50IGRybU1vZGVPYmplY3RTZXRQ cm9wZXJ0eShpbnQgZmQsIHVpbnQzMl90IG9iamVjdF9pZCwKIAkJCQkgICAgdWludDMyX3Qgb2Jq ZWN0X3R5cGUsIHVpbnQzMl90IHByb3BlcnR5X2lkLAogCQkJCSAgICB1aW50NjRfdCB2YWx1ZSk7 CiAKKwordHlwZWRlZiBzdHJ1Y3QgX2RybU1vZGVBdG9taWNSZXEgZHJtTW9kZUF0b21pY1JlcSwg KmRybU1vZGVBdG9taWNSZXFQdHI7CisKK2V4dGVybiBkcm1Nb2RlQXRvbWljUmVxUHRyIGRybU1v ZGVBdG9taWNBbGxvYyh2b2lkKTsKK2V4dGVybiBpbnQgZHJtTW9kZUF0b21pY0FkZFByb3BlcnR5 KGRybU1vZGVBdG9taWNSZXFQdHIgcmVxLAorCQkJCSAgICB1aW50MzJfdCBvYmplY3RfaWQsCisJ CQkJICAgIHVpbnQzMl90IHByb3BlcnR5X2lkLAorCQkJCSAgICB1aW50NjRfdCB2YWx1ZSk7Citl eHRlcm4gaW50IGRybU1vZGVBdG9taWNDb21taXQoaW50IGZkLAorCQkJICAgICAgIGRybU1vZGVB dG9taWNSZXFQdHIgcmVxLAorCQkJICAgICAgIHVpbnQzMl90IGZsYWdzLAorCQkJICAgICAgIHZv aWQgKnVzZXJfZGF0YSk7CitleHRlcm4gdm9pZCBkcm1Nb2RlQXRvbWljRnJlZShkcm1Nb2RlQXRv bWljUmVxUHRyIHJlcSk7CisKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKSB8fCBkZWZpbmVkKGNf cGx1c3BsdXMpCiB9CiAjZW5kaWYKLS0gCjIuNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=