From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [RFC 3/6] drm/i915: Remove local fbdev emulation Kconfig option Date: Tue, 10 Mar 2015 15:11:30 +0530 Message-ID: <1425980493-27533-4-git-send-email-architt@codeaurora.org> References: <1425980493-27533-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1425980493-27533-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel.vetter@ffwll.ch, robdclark@gmail.com, airlied@linux.ie, treding@nvidia.com, p.zabel@pengutronix.de, benjamin.gaignard@linaro.org Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org RFJNX0k5MTVfRkJERVYgY29uZmlnIGlzIGN1cnJlbnRseSB1c2VkIHRvIGVuYWJsZS9kaXNhYmxl IGZiZGV2IGVtdWxhdGlvbiBmb3IKdGhlIGk5MTUga21zIGRyaXZlci4KClJlcGxhY2UgdGhpcyB3 aXRoIHRoZSB0b3AgbGV2ZWwgRFJNX0ZCREVWX0VNVUxBVElPTiBjb25maWcgb3B0aW9uLiBVc2lu ZyB0aGlzCmNvbmZpZyBsZXRzIHVzIGFsc28gcHJldmVudCB3cmFwcGluZyBhcm91bmQgZHJtX2Zi X2hlbHBlcl8qIGNhbGxzIHdpdGggI2lmZGVmcwppbiBjZXJ0YWluIHBsYWNlcy4KClRoZSAjaWZk ZWYgaW4gZHJtX2k5MTVfcHJpdmF0ZSBzdHJ1Y3QgYWRkaW5nL3JlbW92aW5nIG1lbWJlcnMgaW50 ZWxfZmJkZXYgYW5kCmZiZGV2X3N1c3BlbmRfd29yayBoYXMgYmVlbiByZW1vdmVkLiBUaGlzIGhl bHBzIHVzIHVzZSBzdHViIGRybSBoZWxwZXIgZnVuY3Rpb25zCmF0IG5vdCBtdWNoIGNvc3QuCgpT aWduZWQtb2ZmLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcgICAgICAgICB8IDE1IC0tLS0tLS0tLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgIHwgIDQgKystLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICB8ICAyIC0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCAxMCArKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9t c3QuYyAgfCAxNCArKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggICAgIHwgIDMgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jICAgfCAg NyAtLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9LY29uZmlnCmluZGV4IDc0YWNjYTkuLmJkOWNjZmMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv S2NvbmZpZwpAQCAtNDUsMjEgKzQ1LDYgQEAgY29uZmlnIERSTV9JOTE1X0tNUwogCiAJICBJZiBp biBkb3VidCwgc2F5ICJZIi4KIAotY29uZmlnIERSTV9JOTE1X0ZCREVWCi0JYm9vbCAiRW5hYmxl IGxlZ2FjeSBmYmRldiBzdXBwb3J0IGZvciB0aGUgbW9kZXNldHRpbmcgaW50ZWwgZHJpdmVyIgot CWRlcGVuZHMgb24gRFJNX0k5MTUKLQlzZWxlY3QgRFJNX0tNU19GQl9IRUxQRVIKLQlzZWxlY3Qg RkJfQ0ZCX0ZJTExSRUNUCi0Jc2VsZWN0IEZCX0NGQl9DT1BZQVJFQQotCXNlbGVjdCBGQl9DRkJf SU1BR0VCTElUCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgQ2hvb3NlIHRoaXMgb3B0aW9uIGlmIHlv dSBoYXZlIGEgbmVlZCBmb3IgdGhlIGxlZ2FjeSBmYmRldgotCSAgc3VwcG9ydC4gTm90ZSB0aGF0 IHRoaXMgc3VwcG9ydCBhbHNvIHByb3ZpZGUgdGhlIGxpbnV4IGNvbnNvbGUKLQkgIHN1cHBvcnQg b24gdG9wIG9mIHRoZSBpbnRlbCBtb2Rlc2V0dGluZyBkcml2ZXIuCi0KLQkgIElmIGluIGRvdWJ0 LCBzYXkgIlkiLgotCiBjb25maWcgRFJNX0k5MTVfUFJFTElNSU5BUllfSFdfU1VQUE9SVAogCWJv b2wgIkVuYWJsZSBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBwcmVyZWxlYXNlIEludGVsIGhhcmR3 YXJlIGJ5IGRlZmF1bHQiCiAJZGVwZW5kcyBvbiBEUk1fSTkxNQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpp bmRleCBmMDE5MjI1Li4zYjMzMjVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtNTYsOCArNTYs OCBAQCBpOTE1LXkgKz0gaW50ZWxfYXVkaW8ubyBcCiAJICBpbnRlbF9wc3IubyBcCiAJICBpbnRl bF9zaWRlYmFuZC5vIFwKIAkgIGludGVsX3Nwcml0ZS5vCi1pOTE1LSQoQ09ORklHX0FDUEkpCQkr PSBpbnRlbF9hY3BpLm8gaW50ZWxfb3ByZWdpb24ubwotaTkxNS0kKENPTkZJR19EUk1fSTkxNV9G QkRFVikJKz0gaW50ZWxfZmJkZXYubworaTkxNS0kKENPTkZJR19BQ1BJKQkJCSs9IGludGVsX2Fj cGkubyBpbnRlbF9vcHJlZ2lvbi5vCitpOTE1LSQoQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04p CSs9IGludGVsX2ZiZGV2Lm8KIAogIyBtb2Rlc2V0dGluZyBvdXRwdXQvZW5jb2RlciBjb2RlCiBp OTE1LXkgKz0gZHZvX2NoNzAxNy5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5k ZXggZThiMThlNS4uMGM4YmNkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAg LTE3NzIsNyArMTc3Miw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fZnJhbWVidWZmZXJfaW5mbyhz dHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJc3RydWN0IGludGVsX2ZiZGV2ICppZmJk ZXYgPSBOVUxMOwogCXN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAqZmI7CiAKLSNpZmRlZiBDT05G SUdfRFJNX0k5MTVfRkJERVYKKyNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKIAlp ZmJkZXYgPSBkZXZfcHJpdi0+ZmJkZXY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4NzI3 MDg2Li5lNTExZmE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE4MTksMTEgKzE4MTks OSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqdmx2X3BjdHg7CiAKLSNpZmRlZiBDT05GSUdfRFJNX0k5MTVfRkJERVYKIAkvKiBsaXN0 IG9mIGZiZGV2IHJlZ2lzdGVyIG9uIHRoaXMgZGV2aWNlICovCiAJc3RydWN0IGludGVsX2ZiZGV2 ICpmYmRldjsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmJkZXZfc3VzcGVuZF93b3JrOwotI2VuZGlm CiAKIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpicm9hZGNhc3RfcmdiX3Byb3BlcnR5OwogCXN0cnVj dCBkcm1fcHJvcGVydHkgKmZvcmNlX2F1ZGlvX3Byb3BlcnR5OwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCmluZGV4IGU3MzA3ODkuLjljZjEzZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKQEAgLTg1NjIsNyArODU2Miw2IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICoKIG1vZGVfZml0c19pbl9mYmRldihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKLSNpZmRlZiBDT05GSUdfRFJN X0k5MTVfRkJERVYKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmI7CkBAIC04NTg1LDkgKzg1ODQsNiBAQCBtb2RlX2ZpdHNfaW5fZmJk ZXYoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJcmV0dXJuIE5VTEw7CiAKIAlyZXR1cm4gZmI7 Ci0jZWxzZQotCXJldHVybiBOVUxMOwotI2VuZGlmCiB9CiAKIGJvb2wgaW50ZWxfZ2V0X2xvYWRf ZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKQEAgLTEyODA3LDEx ICsxMjgwMywxMyBAQCBpbnRlbF91c2VyX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCXJldHVybiBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGUoZGV2LCBtb2RlX2Nt ZCwgb2JqKTsKIH0KIAotI2lmbmRlZiBDT05GSUdfRFJNX0k5MTVfRkJERVYKIHN0YXRpYyBpbmxp bmUgdm9pZCBpbnRlbF9mYmRldl9vdXRwdXRfcG9sbF9jaGFuZ2VkKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKKworCWlmIChkZXZfcHJpdi0+ZmJkZXYpCisJCWRybV9mYl9oZWxwZXJfaG90cGx1 Z19ldmVudCgmZGV2X3ByaXYtPmZiZGV2LT5oZWxwZXIpOwogfQotI2VuZGlmCiAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIGludGVsX21vZGVfZnVuY3MgPSB7CiAJ LmZiX2NyZWF0ZSA9IGludGVsX3VzZXJfZnJhbWVidWZmZXJfY3JlYXRlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcF9tc3QuYwppbmRleCA5ZjY3YTM3Li5mZTY5ZGYwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcF9tc3QuYwpAQCAtMzc2LDE4ICszNzYsMjAgQEAgc3RhdGljIGJvb2wgaW50ZWxf ZHBfbXN0X2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAK IHN0YXRpYyB2b2lkIGludGVsX2Nvbm5lY3Rvcl9hZGRfdG9fZmJkZXYoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogewotI2lmZGVmIENPTkZJR19EUk1fSTkxNV9GQkRFVgogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNl LmRldik7Ci0JZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcigmZGV2X3ByaXYtPmZiZGV2 LT5oZWxwZXIsICZjb25uZWN0b3ItPmJhc2UpOwotI2VuZGlmCisKKwlpZiAoZGV2X3ByaXYtPmZi ZGV2KQorCQlkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKCZkZXZfcHJpdi0+ZmJkZXYt PmhlbHBlciwKKwkJCSZjb25uZWN0b3ItPmJhc2UpOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9j b25uZWN0b3JfcmVtb3ZlX2Zyb21fZmJkZXYoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogewotI2lmZGVmIENPTkZJR19EUk1fSTkxNV9GQkRFVgogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Ci0JZHJtX2Zi X2hlbHBlcl9yZW1vdmVfb25lX2Nvbm5lY3RvcigmZGV2X3ByaXYtPmZiZGV2LT5oZWxwZXIsICZj b25uZWN0b3ItPmJhc2UpOwotI2VuZGlmCisKKwlpZiAoZGV2X3ByaXYtPmZiZGV2KQorCQlkcm1f ZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKCZkZXZfcHJpdi0+ZmJkZXYtPmhlbHBlciwK KwkJCSZjb25uZWN0b3ItPmJhc2UpOwogfQogCiBzdGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3Ig KmludGVsX2RwX2FkZF9tc3RfY29ubmVjdG9yKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21n ciAqbWdyLCBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0LCBjb25zdCBjaGFyICpwYXRocHJv cCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZWVmNzljYy4uNjkyMGRhMiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwNjIsMTIgKzEwNjIsMTEgQEAgdm9pZCBpbnRlbF9k dm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAogCiAvKiBsZWdhY3kgZmJkZXYgZW11 bGF0aW9uIGluIGludGVsX2ZiZGV2LmMgKi8KLSNpZmRlZiBDT05GSUdfRFJNX0k5MTVfRkJERVYK KyNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgogZXh0ZXJuIGludCBpbnRlbF9mYmRl dl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIHZvaWQgaW50ZWxfZmJkZXZf aW5pdGlhbF9jb25maWcodm9pZCAqZGF0YSwgYXN5bmNfY29va2llX3QgY29va2llKTsKIGV4dGVy biB2b2lkIGludGVsX2ZiZGV2X2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBleHRlcm4g dm9pZCBpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg c3RhdGUsIGJvb2wgc3luY2hyb25vdXMpOwotZXh0ZXJuIHZvaWQgaW50ZWxfZmJkZXZfb3V0cHV0 X3BvbGxfY2hhbmdlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lkIGludGVs X2ZiZGV2X3Jlc3RvcmVfbW9kZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKICNlbHNlCiBzdGF0 aWMgaW5saW5lIGludCBpbnRlbF9mYmRldl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwppbmRleCAzMDAxYTg2Ny4uNjU2ZWMxYyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCkBAIC03NjIsMTMgKzc2Miw2IEBAIHZvaWQgaW50ZWxf ZmJkZXZfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHN0YXRlLCBib29s IHN5bmNocm9ub3VzCiAJY29uc29sZV91bmxvY2soKTsKIH0KIAotdm9pZCBpbnRlbF9mYmRldl9v dXRwdXRfcG9sbF9jaGFuZ2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlpZiAoZGV2X3By aXYtPmZiZGV2KQotCQlkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQoJmRldl9wcml2LT5mYmRl di0+aGVscGVyKTsKLX0KLQogdm9pZCBpbnRlbF9mYmRldl9yZXN0b3JlX21vZGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIHsKIAlpbnQgcmV0OwotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24g Q2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVk IGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752019AbbCJJl6 (ORCPT ); Tue, 10 Mar 2015 05:41:58 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:59227 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750989AbbCJJly (ORCPT ); Tue, 10 Mar 2015 05:41:54 -0400 From: Archit Taneja To: daniel.vetter@ffwll.ch, robdclark@gmail.com, airlied@linux.ie, treding@nvidia.com, p.zabel@pengutronix.de, benjamin.gaignard@linaro.org Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Archit Taneja Subject: [RFC 3/6] drm/i915: Remove local fbdev emulation Kconfig option Date: Tue, 10 Mar 2015 15:11:30 +0530 Message-Id: <1425980493-27533-4-git-send-email-architt@codeaurora.org> X-Mailer: git-send-email 1.8.2.1 In-Reply-To: <1425980493-27533-1-git-send-email-architt@codeaurora.org> References: <1425980493-27533-1-git-send-email-architt@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DRM_I915_FBDEV config is currently used to enable/disable fbdev emulation for the i915 kms driver. Replace this with the top level DRM_FBDEV_EMULATION config option. Using this config lets us also prevent wrapping around drm_fb_helper_* calls with #ifdefs in certain places. The #ifdef in drm_i915_private struct adding/removing members intel_fbdev and fbdev_suspend_work has been removed. This helps us use stub drm helper functions at not much cost. Signed-off-by: Archit Taneja --- drivers/gpu/drm/i915/Kconfig | 15 --------------- drivers/gpu/drm/i915/Makefile | 4 ++-- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/i915_drv.h | 2 -- drivers/gpu/drm/i915/intel_display.c | 10 ++++------ drivers/gpu/drm/i915/intel_dp_mst.c | 14 ++++++++------ drivers/gpu/drm/i915/intel_drv.h | 3 +-- drivers/gpu/drm/i915/intel_fbdev.c | 7 ------- 8 files changed, 16 insertions(+), 41 deletions(-) diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig index 74acca9..bd9ccfc 100644 --- a/drivers/gpu/drm/i915/Kconfig +++ b/drivers/gpu/drm/i915/Kconfig @@ -45,21 +45,6 @@ config DRM_I915_KMS If in doubt, say "Y". -config DRM_I915_FBDEV - bool "Enable legacy fbdev support for the modesetting intel driver" - depends on DRM_I915 - select DRM_KMS_FB_HELPER - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - default y - help - Choose this option if you have a need for the legacy fbdev - support. Note that this support also provide the linux console - support on top of the intel modesetting driver. - - If in doubt, say "Y". - config DRM_I915_PRELIMINARY_HW_SUPPORT bool "Enable preliminary support for prerelease Intel hardware by default" depends on DRM_I915 diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index f019225..3b3325d 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -56,8 +56,8 @@ i915-y += intel_audio.o \ intel_psr.o \ intel_sideband.o \ intel_sprite.o -i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o -i915-$(CONFIG_DRM_I915_FBDEV) += intel_fbdev.o +i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o +i915-$(CONFIG_DRM_FBDEV_EMULATION) += intel_fbdev.o # modesetting output/encoder code i915-y += dvo_ch7017.o \ diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index e8b18e5..0c8bcd7 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -1772,7 +1772,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data) struct intel_fbdev *ifbdev = NULL; struct intel_framebuffer *fb; -#ifdef CONFIG_DRM_I915_FBDEV +#ifdef CONFIG_DRM_FBDEV_EMULATION struct drm_i915_private *dev_priv = dev->dev_private; ifbdev = dev_priv->fbdev; diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 8727086..e511fa4 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1819,11 +1819,9 @@ struct drm_i915_private { struct drm_i915_gem_object *vlv_pctx; -#ifdef CONFIG_DRM_I915_FBDEV /* list of fbdev register on this device */ struct intel_fbdev *fbdev; struct work_struct fbdev_suspend_work; -#endif struct drm_property *broadcast_rgb_property; struct drm_property *force_audio_property; diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index e730789..9cf13e6 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -8562,7 +8562,6 @@ static struct drm_framebuffer * mode_fits_in_fbdev(struct drm_device *dev, struct drm_display_mode *mode) { -#ifdef CONFIG_DRM_I915_FBDEV struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_gem_object *obj; struct drm_framebuffer *fb; @@ -8585,9 +8584,6 @@ mode_fits_in_fbdev(struct drm_device *dev, return NULL; return fb; -#else - return NULL; -#endif } bool intel_get_load_detect_pipe(struct drm_connector *connector, @@ -12807,11 +12803,13 @@ intel_user_framebuffer_create(struct drm_device *dev, return intel_framebuffer_create(dev, mode_cmd, obj); } -#ifndef CONFIG_DRM_I915_FBDEV static inline void intel_fbdev_output_poll_changed(struct drm_device *dev) { + struct drm_i915_private *dev_priv = dev->dev_private; + + if (dev_priv->fbdev) + drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper); } -#endif static const struct drm_mode_config_funcs intel_mode_funcs = { .fb_create = intel_user_framebuffer_create, diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 9f67a37..fe69df0 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -376,18 +376,20 @@ static bool intel_dp_mst_get_hw_state(struct intel_connector *connector) static void intel_connector_add_to_fbdev(struct intel_connector *connector) { -#ifdef CONFIG_DRM_I915_FBDEV struct drm_i915_private *dev_priv = to_i915(connector->base.dev); - drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base); -#endif + + if (dev_priv->fbdev) + drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, + &connector->base); } static void intel_connector_remove_from_fbdev(struct intel_connector *connector) { -#ifdef CONFIG_DRM_I915_FBDEV struct drm_i915_private *dev_priv = to_i915(connector->base.dev); - drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base); -#endif + + if (dev_priv->fbdev) + drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, + &connector->base); } static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop) diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index eef79cc..6920da2 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -1062,12 +1062,11 @@ void intel_dvo_init(struct drm_device *dev); /* legacy fbdev emulation in intel_fbdev.c */ -#ifdef CONFIG_DRM_I915_FBDEV +#ifdef CONFIG_DRM_FBDEV_EMULATION extern int intel_fbdev_init(struct drm_device *dev); extern void intel_fbdev_initial_config(void *data, async_cookie_t cookie); extern void intel_fbdev_fini(struct drm_device *dev); extern void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous); -extern void intel_fbdev_output_poll_changed(struct drm_device *dev); extern void intel_fbdev_restore_mode(struct drm_device *dev); #else static inline int intel_fbdev_init(struct drm_device *dev) diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c index 3001a867..656ec1c 100644 --- a/drivers/gpu/drm/i915/intel_fbdev.c +++ b/drivers/gpu/drm/i915/intel_fbdev.c @@ -762,13 +762,6 @@ void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous console_unlock(); } -void intel_fbdev_output_poll_changed(struct drm_device *dev) -{ - struct drm_i915_private *dev_priv = dev->dev_private; - if (dev_priv->fbdev) - drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper); -} - void intel_fbdev_restore_mode(struct drm_device *dev) { int ret; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation