From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christophe Fergeau Subject: [drm/qxl v2 6/7] qxl: Don't notify userspace when monitors config is unchanged Date: Wed, 2 Nov 2016 18:00:35 +0100 Message-ID: <20161102170036.1409-7-cfergeau@redhat.com> References: <20161102170036.1409-1-cfergeau@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161102170036.1409-1-cfergeau@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: spice-devel@lists.freedesktop.org Cc: airlied@redhat.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org V2hlbiB0aGUgUVhMIGRyaXZlciByZWNlaXZlcyBhIFFYTF9JTlRFUlJVUFRfQ0xJRU5UX01PTklU T1JTX0NPTkZJRyBpbnRlcnJ1cHQsCndlIGN1cnJlbnRseSBhbHdheXMgbm90aWZ5IHVzZXJzcGFj ZSB0aGF0IHRoZXJlIHdhcyBzb21lIGhvdHBsdWcgZXZlbnQuCgpIb3dldmVyLCBnbm9tZS1zaGVs bC9tdXR0ZXIgaXMgcmVhY3RpbmcgdG8gdGhpcyBldmVudCBieSBhdHRlbXB0aW5nIGEKcmVzb2x1 dGlvbiBjaGFuZ2UsIHdoaWNoIGl0IGRvZXMgYnkgaXNzdWVpbmcgZHJtTW9kZVJtRkIsIGRybU1v ZGVBZGRGQiwKYW5kIHRoZW4gZHJtTW9kZVNldENydGMuIFRoaXMgaGFzIHRoZSBzaWRlLWVmZmVj dCBvZiBjYXVzaW5nCnF4bF9jcnRjX21vZGVfc2V0KCkgdG8gdGVsbCB0aGUgUVhMIHZpcnR1YWwg aGFyZHdhcmUgdGhhdCBhIHByaW1hcnkKc3VyZmFjZSB3YXMgZGVzdHJveWVkIGFuZCBjcmVhdGVk LiBBZnRlciBnb2luZyB0aHJvdWdoIFFFTVUgYW5kIHRoZW4gdGhlCnJlbW90ZSBTUElDRSBjbGll bnQsIGEgbmV3IGlkZW50aWNhbCBtb25pdG9ycyBjb25maWcgbWVzc2FnZSB3aWxsIGJlCnNlbnQs IHJlc3VsdGluZyBpbiBhIFFYTF9JTlRFUlJVUFRfQ0xJRU5UX01PTklUT1JTX0NPTkZJRyBpbnRl cnJ1cHQgdG8KYmUgZW1pdHRlZCwgYW5kIHRoZSBzYW1lIHNjZW5hcmlvIG9jY3VycmluZyBhZ2Fp bi4KCkFzIGRlc3Ryb3lpbmcvY3JlYXRpbmcgdGhlIHByaW1hcnkgc3VyZmFjZSBjYXVzZXMgYSB2 aXNpYmxlIHNjcmVlbgpmbGlja2VyLCB0aGlzIG1ha2VzIHRoZSBndWVzdCBoYXJkIHRvIHVzZSAo Cmh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTI2NjQ4NCApLgoK VGhpcyBjb21taXQgY2hlY2tzIGlmIHRoZSBzY3JlZW4gY29uZmlndXJhdGlvbiB3ZSByZWNlaXZl ZCBpcyB0aGUgc2FtZQpvbmUgYXMgdGhlIGN1cnJlbnQgb25lLCBhbmQgZG9lcyBub3Qgbm90aWZ5 IHVzZXJzcGFjZSBhYm91dCBpdCBpZiB0aGF0J3MKdGhlIGNhc2UuCgpTaWduZWQtb2ZmLWJ5OiBD aHJpc3RvcGhlIEZlcmdlYXUgPGNmZXJnZWF1QHJlZGhhdC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNl IHYxOgogIC0gbWFkZSBxeGxfZGlzcGxheV9jb3B5X3JvbV9jbGllbnRfbW9uaXRvcnNfY29uZmln IHJldHVybiBhbiBlbnVtCiAgICBNb25pdG9yc0NvbmZpZ0NvcHlTdGF0dXMKICAtIHJlbW92ZSAn Ym9vbCBjaGFuZ2VkJyBmcm9tICtxeGxfZGlzcGxheV9jb3B5X3JvbV9jbGllbnRfbW9uaXRvcnNf Y29uZmlnIGFuZCBkaXJlY3RseQogICAgc2V0IHRoZSByZXR1cm4gdmFsdWUgaW5zdGVhZAoKIGRy aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyB8IDY1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwppbmRleCA4Y2Y1MTc3Li4y ZjFkNzM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jCkBAIC01NywxMSArNTcsMTkgQEAg c3RhdGljIHZvaWQgcXhsX2FsbG9jX2NsaWVudF9tb25pdG9yc19jb25maWcoc3RydWN0IHF4bF9k ZXZpY2UgKnFkZXYsIHVuc2lnbmVkIGMKIAlxZGV2LT5jbGllbnRfbW9uaXRvcnNfY29uZmlnLT5j b3VudCA9IGNvdW50OwogfQogCi1zdGF0aWMgaW50IHF4bF9kaXNwbGF5X2NvcHlfcm9tX2NsaWVu dF9tb25pdG9yc19jb25maWcoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCitlbnVtIE1vbml0b3Jz Q29uZmlnQ29weVN0YXR1cyB7CisJTU9OSVRPUlNfQ09ORklHX01PRElGSUVELAorCU1PTklUT1JT X0NPTkZJR19VTkNIQU5HRUQsCisJTU9OSVRPUlNfQ09ORklHX0JBRF9DUkMsCit9OworCitzdGF0 aWMgZW51bSBNb25pdG9yc0NvbmZpZ0NvcHlTdGF0dXMKK3F4bF9kaXNwbGF5X2NvcHlfcm9tX2Ns aWVudF9tb25pdG9yc19jb25maWcoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCiB7CiAJaW50IGk7 CiAJaW50IG51bV9tb25pdG9yczsKIAl1aW50MzJfdCBjcmM7CisJZW51bSBNb25pdG9yc0NvbmZp Z0NvcHlTdGF0dXMgc3RhdHVzID0gTU9OSVRPUlNfQ09ORklHX1VOQ0hBTkdFRDsKIAogCW51bV9t b25pdG9ycyA9IHFkZXYtPnJvbS0+Y2xpZW50X21vbml0b3JzX2NvbmZpZy5jb3VudDsKIAljcmMg PSBjcmMzMigwLCAoY29uc3QgdWludDhfdCAqKSZxZGV2LT5yb20tPmNsaWVudF9tb25pdG9yc19j b25maWcsCkBAIC03MCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgcXhsX2Rpc3BsYXlfY29weV9yb21f Y2xpZW50X21vbml0b3JzX2NvbmZpZyhzdHJ1Y3QgcXhsX2RldmljZSAqcWRldikKIAkJcXhsX2lv X2xvZyhxZGV2LCAiY3JjIG1pc21hdGNoOiBoYXZlICVYICglemQpICE9ICVYXG4iLCBjcmMsCiAJ CQkgICBzaXplb2YocWRldi0+cm9tLT5jbGllbnRfbW9uaXRvcnNfY29uZmlnKSwKIAkJCSAgIHFk ZXYtPnJvbS0+Y2xpZW50X21vbml0b3JzX2NvbmZpZ19jcmMpOwotCQlyZXR1cm4gMTsKKwkJcmV0 dXJuIE1PTklUT1JTX0NPTkZJR19CQURfQ1JDOwogCX0KIAlpZiAobnVtX21vbml0b3JzID4gcWRl di0+bW9uaXRvcnNfY29uZmlnLT5tYXhfYWxsb3dlZCkgewogCQlEUk1fREVCVUdfS01TKCJjbGll bnQgbW9uaXRvcnMgbGlzdCB3aWxsIGJlIHRydW5jYXRlZDogJWQgPCAlZFxuIiwKQEAgLTc5LDYg Kzg3LDEwIEBAIHN0YXRpYyBpbnQgcXhsX2Rpc3BsYXlfY29weV9yb21fY2xpZW50X21vbml0b3Jz X2NvbmZpZyhzdHJ1Y3QgcXhsX2RldmljZSAqcWRldikKIAl9IGVsc2UgewogCQludW1fbW9uaXRv cnMgPSBxZGV2LT5yb20tPmNsaWVudF9tb25pdG9yc19jb25maWcuY291bnQ7CiAJfQorCWlmIChx ZGV2LT5jbGllbnRfbW9uaXRvcnNfY29uZmlnCisJICAgICAgJiYgKG51bV9tb25pdG9ycyAhPSBx ZGV2LT5jbGllbnRfbW9uaXRvcnNfY29uZmlnLT5jb3VudCkpIHsKKwkJc3RhdHVzID0gTU9OSVRP UlNfQ09ORklHX01PRElGSUVEOworCX0KIAlxeGxfYWxsb2NfY2xpZW50X21vbml0b3JzX2NvbmZp ZyhxZGV2LCBudW1fbW9uaXRvcnMpOwogCS8qIHdlIGNvcHkgbWF4IGZyb20gdGhlIGNsaWVudCBi dXQgaXQgaXNuJ3QgdXNlZCAqLwogCXFkZXYtPmNsaWVudF9tb25pdG9yc19jb25maWctPm1heF9h bGxvd2VkID0KQEAgLTg4LDE3ICsxMDAsMzkgQEAgc3RhdGljIGludCBxeGxfZGlzcGxheV9jb3B5 X3JvbV9jbGllbnRfbW9uaXRvcnNfY29uZmlnKHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2KQogCQkJ JnFkZXYtPnJvbS0+Y2xpZW50X21vbml0b3JzX2NvbmZpZy5oZWFkc1tpXTsKIAkJc3RydWN0IHF4 bF9oZWFkICpjbGllbnRfaGVhZCA9CiAJCQkmcWRldi0+Y2xpZW50X21vbml0b3JzX2NvbmZpZy0+ aGVhZHNbaV07Ci0JCWNsaWVudF9oZWFkLT54ID0gY19yZWN0LT5sZWZ0OwotCQljbGllbnRfaGVh ZC0+eSA9IGNfcmVjdC0+dG9wOwotCQljbGllbnRfaGVhZC0+d2lkdGggPSBjX3JlY3QtPnJpZ2h0 IC0gY19yZWN0LT5sZWZ0OwotCQljbGllbnRfaGVhZC0+aGVpZ2h0ID0gY19yZWN0LT5ib3R0b20g LSBjX3JlY3QtPnRvcDsKLQkJY2xpZW50X2hlYWQtPnN1cmZhY2VfaWQgPSAwOwotCQljbGllbnRf aGVhZC0+aWQgPSBpOwotCQljbGllbnRfaGVhZC0+ZmxhZ3MgPSAwOworCQlpZiAoY2xpZW50X2hl YWQtPnggIT0gY19yZWN0LT5sZWZ0KSB7CisJCQljbGllbnRfaGVhZC0+eCA9IGNfcmVjdC0+bGVm dDsKKwkJCXN0YXR1cyA9IE1PTklUT1JTX0NPTkZJR19NT0RJRklFRDsKKwkJfQorCQlpZiAoY2xp ZW50X2hlYWQtPnkgIT0gY19yZWN0LT50b3ApIHsKKwkJCWNsaWVudF9oZWFkLT55ID0gY19yZWN0 LT50b3A7CisJCQlzdGF0dXMgPSBNT05JVE9SU19DT05GSUdfTU9ESUZJRUQ7CisJCX0KKwkJaWYg KGNsaWVudF9oZWFkLT53aWR0aCAhPSBjX3JlY3QtPnJpZ2h0IC0gY19yZWN0LT5sZWZ0KSB7CisJ CQljbGllbnRfaGVhZC0+d2lkdGggPSBjX3JlY3QtPnJpZ2h0IC0gY19yZWN0LT5sZWZ0OworCQkJ c3RhdHVzID0gTU9OSVRPUlNfQ09ORklHX01PRElGSUVEOworCQl9CisJCWlmIChjbGllbnRfaGVh ZC0+aGVpZ2h0ICE9IGNfcmVjdC0+Ym90dG9tIC0gY19yZWN0LT50b3ApIHsKKwkJCWNsaWVudF9o ZWFkLT5oZWlnaHQgPSBjX3JlY3QtPmJvdHRvbSAtIGNfcmVjdC0+dG9wOworCQkJc3RhdHVzID0g TU9OSVRPUlNfQ09ORklHX01PRElGSUVEOworCQl9CisJCWlmIChjbGllbnRfaGVhZC0+c3VyZmFj ZV9pZCAhPSAwKSB7CisJCQljbGllbnRfaGVhZC0+c3VyZmFjZV9pZCA9IDA7CisJCQlzdGF0dXMg PSBNT05JVE9SU19DT05GSUdfTU9ESUZJRUQ7CisJCX0KKwkJaWYgKGNsaWVudF9oZWFkLT5pZCAh PSBpKSB7CisJCQljbGllbnRfaGVhZC0+aWQgPSBpOworCQkJc3RhdHVzID0gTU9OSVRPUlNfQ09O RklHX01PRElGSUVEOworCQl9CisJCWlmIChjbGllbnRfaGVhZC0+ZmxhZ3MgIT0gMCkgeworCQkJ Y2xpZW50X2hlYWQtPmZsYWdzID0gMDsKKwkJCXN0YXR1cyA9IE1PTklUT1JTX0NPTkZJR19NT0RJ RklFRDsKKwkJfQogCQlEUk1fREVCVUdfS01TKCJyZWFkICVkeCVkKyVkKyVkXG4iLCBjbGllbnRf aGVhZC0+d2lkdGgsIGNsaWVudF9oZWFkLT5oZWlnaHQsCiAJCQkgIGNsaWVudF9oZWFkLT54LCBj bGllbnRfaGVhZC0+eSk7CiAJfQotCXJldHVybiAwOworCisJcmV0dXJuIHN0YXR1czsKIH0KIAog c3RhdGljIHZvaWQgcXhsX3VwZGF0ZV9vZmZzZXRfcHJvcHMoc3RydWN0IHF4bF9kZXZpY2UgKnFk ZXYpCkBAIC0xMjQsOSArMTU4LDE4IEBAIHZvaWQgcXhsX2Rpc3BsYXlfcmVhZF9jbGllbnRfbW9u aXRvcnNfY29uZmlnKHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2KQogewogCiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IHFkZXYtPmRkZXY7Ci0Jd2hpbGUgKHF4bF9kaXNwbGF5X2NvcHlfcm9tX2Ns aWVudF9tb25pdG9yc19jb25maWcocWRldikpIHsKKwllbnVtIE1vbml0b3JzQ29uZmlnQ29weVN0 YXR1cyBzdGF0dXM7CisKKwlzdGF0dXMgPSBxeGxfZGlzcGxheV9jb3B5X3JvbV9jbGllbnRfbW9u aXRvcnNfY29uZmlnKHFkZXYpOworCXdoaWxlIChzdGF0dXMgPT0gTU9OSVRPUlNfQ09ORklHX0JB RF9DUkMpIHsKIAkJcXhsX2lvX2xvZyhxZGV2LCAiZmFpbGVkIGNyYyBjaGVjayBmb3IgY2xpZW50 X21vbml0b3JzX2NvbmZpZywiCiAJCQkJICIgcmV0cnlpbmdcbiIpOworCQlzdGF0dXMgPSBxeGxf ZGlzcGxheV9jb3B5X3JvbV9jbGllbnRfbW9uaXRvcnNfY29uZmlnKHFkZXYpOworCX0KKwlpZiAo c3RhdHVzID09IE1PTklUT1JTX0NPTkZJR19VTkNIQU5HRUQpIHsKKwkJcXhsX2lvX2xvZyhxZGV2 LCAiY29uZmlnIHVuY2hhbmdlZFxuIik7CisJCURSTV9ERUJVRygiaWdub3JpbmcgdW5jaGFuZ2Vk IGNsaWVudCBtb25pdG9ycyBjb25maWciKTsKKwkJcmV0dXJuOwogCX0KIAogCWRybV9tb2Rlc2V0 X2xvY2tfYWxsKGRldik7Ci0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==