From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752450AbcF3I3F (ORCPT ); Thu, 30 Jun 2016 04:29:05 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:19123 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752124AbcF3I1P (ORCPT ); Thu, 30 Jun 2016 04:27:15 -0400 X-AuditID: cbfec7f4-f796c6d000001486-05-5774d7dba21b From: Krzysztof Kozlowski To: Andrew Morton Cc: linux-kernel@vger.kernel.org, hch@infradead.org, Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Mark Yao , David Airlie , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: [PATCH v5 15/44] drm/rockship: dma-mapping: Use unsigned long for dma_attrs Date: Thu, 30 Jun 2016 10:25:42 +0200 Message-id: <1467275171-6298-15-git-send-email-k.kozlowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1467275171-6298-1-git-send-email-k.kozlowski@samsung.com> References: <1467275019-30789-1-git-send-email-k.kozlowski@samsung.com> <1467275171-6298-1-git-send-email-k.kozlowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrFLMWRmVeSWpSXmKPExsVy+t/xK7q3r5eEG7zfymnRe+4kk8Wc9WvY LDbOWM9qceXrezaL0xMWMVn8f/Sa1eL1C0OLTY+vsVpc3jWHzeLTg//MFjumHGBy4PbYvELL 48SM3ywe2789YPW4332cyWPzknqPv7P2s3j0bVnF6LH92jxmj8+b5AI4o7hsUlJzMstSi/Tt Ergybu3cwVYwQapiT+cF5gbGf6JdjJwcEgImEifuHmCDsMUkLtxbD2RzcQgJLGWU+LC8hxHC aWSSmLfiBlgVm4CxxOblS8BsEQFdiVXPdzGDFDELfGGSmPVvJjNIQlggTOLwg+3sIDaLgKrE wtv7GUFsXgF3iZsnfjFCrJOTOHlsMmsXIwcHJ1B89nd/iGUtjBLH9k1insDIu4CRYRWjaGpp ckFxUnquoV5xYm5xaV66XnJ+7iZGSIh+2cG4+JjVIUYBDkYlHl4H5pJwIdbEsuLK3EOMEhzM SiK8268AhXhTEiurUovy44tKc1KLDzFKc7AoifPO3fU+REggPbEkNTs1tSC1CCbLxMEp1cA4 R+rbttWmG3i9rWdmT0lWsxVbzLNm8Qdz5YrJ/9zMV6Ydfses/vFufFjR//ubj0W1RuvN2BWZ ka/nwfbUqO3ui82R09eVMHi8MbyfsWKv49K9M6wKA45kf2nW9p12TpJ/nVIOa47B9cj067o6 AcU6h+YyCVr73i8/Wfedq/G690dNoa/rOn4qsRRnJBpqMRcVJwIAh0fKI00CAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Split out subsystem specific changes for easier reviews. This will be squashed with main commit. Signed-off-by: Krzysztof Kozlowski --- drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 17 +++++++---------- drivers/gpu/drm/rockchip/rockchip_drm_gem.h | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c index 9c2d8a894093..7b1788e2a808 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c @@ -17,8 +17,6 @@ #include #include -#include - #include "rockchip_drm_drv.h" #include "rockchip_drm_gem.h" @@ -28,15 +26,14 @@ static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj, struct drm_gem_object *obj = &rk_obj->base; struct drm_device *drm = obj->dev; - init_dma_attrs(&rk_obj->dma_attrs); - dma_set_attr(DMA_ATTR_WRITE_COMBINE, &rk_obj->dma_attrs); + rk_obj->dma_attrs = DMA_ATTR_WRITE_COMBINE; if (!alloc_kmap) - dma_set_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs); + rk_obj->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING; rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size, &rk_obj->dma_addr, GFP_KERNEL, - &rk_obj->dma_attrs); + rk_obj->dma_attrs); if (!rk_obj->kvaddr) { DRM_ERROR("failed to allocate %#x byte dma buffer", obj->size); return -ENOMEM; @@ -51,7 +48,7 @@ static void rockchip_gem_free_buf(struct rockchip_gem_object *rk_obj) struct drm_device *drm = obj->dev; dma_free_attrs(drm->dev, obj->size, rk_obj->kvaddr, rk_obj->dma_addr, - &rk_obj->dma_attrs); + rk_obj->dma_attrs); } static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, @@ -70,7 +67,7 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, vma->vm_pgoff = 0; ret = dma_mmap_attrs(drm->dev, vma, rk_obj->kvaddr, rk_obj->dma_addr, - obj->size, &rk_obj->dma_attrs); + obj->size, rk_obj->dma_attrs); if (ret) drm_gem_vm_close(vma); @@ -262,7 +259,7 @@ struct sg_table *rockchip_gem_prime_get_sg_table(struct drm_gem_object *obj) ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr, rk_obj->dma_addr, obj->size, - &rk_obj->dma_attrs); + rk_obj->dma_attrs); if (ret) { DRM_ERROR("failed to allocate sgt, %d\n", ret); kfree(sgt); @@ -276,7 +273,7 @@ void *rockchip_gem_prime_vmap(struct drm_gem_object *obj) { struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); - if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs)) + if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, rk_obj->dma_attrs)) return NULL; return rk_obj->kvaddr; diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.h b/drivers/gpu/drm/rockchip/rockchip_drm_gem.h index ad22618473a4..18b3488db4ec 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.h @@ -23,7 +23,7 @@ struct rockchip_gem_object { void *kvaddr; dma_addr_t dma_addr; - struct dma_attrs dma_attrs; + unsigned long dma_attrs; }; struct sg_table *rockchip_gem_prime_get_sg_table(struct drm_gem_object *obj); -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Krzysztof Kozlowski Subject: [PATCH v5 15/44] drm/rockship: dma-mapping: Use unsigned long for dma_attrs Date: Thu, 30 Jun 2016 10:25:42 +0200 Message-ID: <1467275171-6298-15-git-send-email-k.kozlowski@samsung.com> References: <1467275019-30789-1-git-send-email-k.kozlowski@samsung.com> <1467275171-6298-1-git-send-email-k.kozlowski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1467275171-6298-1-git-send-email-k.kozlowski@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Andrew Morton Cc: Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, hch@infradead.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org U3BsaXQgb3V0IHN1YnN5c3RlbSBzcGVjaWZpYyBjaGFuZ2VzIGZvciBlYXNpZXIgcmV2aWV3cy4g VGhpcyB3aWxsIGJlCnNxdWFzaGVkIHdpdGggbWFpbiBjb21taXQuCgpTaWduZWQtb2ZmLWJ5OiBL cnp5c3p0b2YgS296bG93c2tpIDxrLmtvemxvd3NraUBzYW1zdW5nLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jIHwgMTcgKysrKysrKy0tLS0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmggfCAgMiArLQog MiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jCmluZGV4IDljMmQ4YTg5NDA5 My4uN2IxNzg4ZTJhODA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9j a2NoaXBfZHJtX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9k cm1fZ2VtLmMKQEAgLTE3LDggKzE3LDYgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2dlbS5oPgogI2lu Y2x1ZGUgPGRybS9kcm1fdm1hX21hbmFnZXIuaD4KIAotI2luY2x1ZGUgPGxpbnV4L2RtYS1hdHRy cy5oPgotCiAjaW5jbHVkZSAicm9ja2NoaXBfZHJtX2Rydi5oIgogI2luY2x1ZGUgInJvY2tjaGlw X2RybV9nZW0uaCIKIApAQCAtMjgsMTUgKzI2LDE0IEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfZ2Vt X2FsbG9jX2J1ZihzdHJ1Y3Qgcm9ja2NoaXBfZ2VtX29iamVjdCAqcmtfb2JqLAogCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqID0gJnJrX29iai0+YmFzZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtID0gb2JqLT5kZXY7CiAKLQlpbml0X2RtYV9hdHRycygmcmtfb2JqLT5kbWFfYXR0cnMpOwot CWRtYV9zZXRfYXR0cihETUFfQVRUUl9XUklURV9DT01CSU5FLCAmcmtfb2JqLT5kbWFfYXR0cnMp OworCXJrX29iai0+ZG1hX2F0dHJzID0gRE1BX0FUVFJfV1JJVEVfQ09NQklORTsKIAogCWlmICgh YWxsb2Nfa21hcCkKLQkJZG1hX3NldF9hdHRyKERNQV9BVFRSX05PX0tFUk5FTF9NQVBQSU5HLCAm cmtfb2JqLT5kbWFfYXR0cnMpOworCQlya19vYmotPmRtYV9hdHRycyB8PSBETUFfQVRUUl9OT19L RVJORUxfTUFQUElORzsKIAogCXJrX29iai0+a3ZhZGRyID0gZG1hX2FsbG9jX2F0dHJzKGRybS0+ ZGV2LCBvYmotPnNpemUsCiAJCQkJCSAmcmtfb2JqLT5kbWFfYWRkciwgR0ZQX0tFUk5FTCwKLQkJ CQkJICZya19vYmotPmRtYV9hdHRycyk7CisJCQkJCSBya19vYmotPmRtYV9hdHRycyk7CiAJaWYg KCFya19vYmotPmt2YWRkcikgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBhbGxvY2F0ZSAlI3gg Ynl0ZSBkbWEgYnVmZmVyIiwgb2JqLT5zaXplKTsKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC01MSw3 ICs0OCw3IEBAIHN0YXRpYyB2b2lkIHJvY2tjaGlwX2dlbV9mcmVlX2J1ZihzdHJ1Y3Qgcm9ja2No aXBfZ2VtX29iamVjdCAqcmtfb2JqKQogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBvYmotPmRl djsKIAogCWRtYV9mcmVlX2F0dHJzKGRybS0+ZGV2LCBvYmotPnNpemUsIHJrX29iai0+a3ZhZGRy LCBya19vYmotPmRtYV9hZGRyLAotCQkgICAgICAgJnJrX29iai0+ZG1hX2F0dHJzKTsKKwkJICAg ICAgIHJrX29iai0+ZG1hX2F0dHJzKTsKIH0KIAogc3RhdGljIGludCByb2NrY2hpcF9kcm1fZ2Vt X29iamVjdF9tbWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLApAQCAtNzAsNyArNjcsNyBA QCBzdGF0aWMgaW50IHJvY2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAoc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmosCiAJdm1hLT52bV9wZ29mZiA9IDA7CiAKIAlyZXQgPSBkbWFfbW1hcF9hdHRy cyhkcm0tPmRldiwgdm1hLCBya19vYmotPmt2YWRkciwgcmtfb2JqLT5kbWFfYWRkciwKLQkJCSAg ICAgb2JqLT5zaXplLCAmcmtfb2JqLT5kbWFfYXR0cnMpOworCQkJICAgICBvYmotPnNpemUsIHJr X29iai0+ZG1hX2F0dHJzKTsKIAlpZiAocmV0KQogCQlkcm1fZ2VtX3ZtX2Nsb3NlKHZtYSk7CiAK QEAgLTI2Miw3ICsyNTksNyBAQCBzdHJ1Y3Qgc2dfdGFibGUgKnJvY2tjaGlwX2dlbV9wcmltZV9n ZXRfc2dfdGFibGUoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCiAKIAlyZXQgPSBkbWFfZ2V0 X3NndGFibGVfYXR0cnMoZHJtLT5kZXYsIHNndCwgcmtfb2JqLT5rdmFkZHIsCiAJCQkJICAgIHJr X29iai0+ZG1hX2FkZHIsIG9iai0+c2l6ZSwKLQkJCQkgICAgJnJrX29iai0+ZG1hX2F0dHJzKTsK KwkJCQkgICAgcmtfb2JqLT5kbWFfYXR0cnMpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gYWxsb2NhdGUgc2d0LCAlZFxuIiwgcmV0KTsKIAkJa2ZyZWUoc2d0KTsKQEAgLTI3 Niw3ICsyNzMsNyBAQCB2b2lkICpyb2NrY2hpcF9nZW1fcHJpbWVfdm1hcChzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaikKIHsKIAlzdHJ1Y3Qgcm9ja2NoaXBfZ2VtX29iamVjdCAqcmtfb2JqID0g dG9fcm9ja2NoaXBfb2JqKG9iaik7CiAKLQlpZiAoZG1hX2dldF9hdHRyKERNQV9BVFRSX05PX0tF Uk5FTF9NQVBQSU5HLCAmcmtfb2JqLT5kbWFfYXR0cnMpKQorCWlmIChkbWFfZ2V0X2F0dHIoRE1B X0FUVFJfTk9fS0VSTkVMX01BUFBJTkcsIHJrX29iai0+ZG1hX2F0dHJzKSkKIAkJcmV0dXJuIE5V TEw7CiAKIAlyZXR1cm4gcmtfb2JqLT5rdmFkZHI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5oIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV9nZW0uaAppbmRleCBhZDIyNjE4NDczYTQuLjE4YjM0ODhkYjRlYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5oCkBAIC0yMyw3ICsy Myw3IEBAIHN0cnVjdCByb2NrY2hpcF9nZW1fb2JqZWN0IHsKIAogCXZvaWQgKmt2YWRkcjsKIAlk bWFfYWRkcl90IGRtYV9hZGRyOwotCXN0cnVjdCBkbWFfYXR0cnMgZG1hX2F0dHJzOworCXVuc2ln bmVkIGxvbmcgZG1hX2F0dHJzOwogfTsKIAogc3RydWN0IHNnX3RhYmxlICpyb2NrY2hpcF9nZW1f cHJpbWVfZ2V0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: k.kozlowski@samsung.com (Krzysztof Kozlowski) Date: Thu, 30 Jun 2016 10:25:42 +0200 Subject: [PATCH v5 15/44] drm/rockship: dma-mapping: Use unsigned long for dma_attrs In-Reply-To: <1467275171-6298-1-git-send-email-k.kozlowski@samsung.com> References: <1467275019-30789-1-git-send-email-k.kozlowski@samsung.com> <1467275171-6298-1-git-send-email-k.kozlowski@samsung.com> Message-ID: <1467275171-6298-15-git-send-email-k.kozlowski@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Split out subsystem specific changes for easier reviews. This will be squashed with main commit. Signed-off-by: Krzysztof Kozlowski --- drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 17 +++++++---------- drivers/gpu/drm/rockchip/rockchip_drm_gem.h | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c index 9c2d8a894093..7b1788e2a808 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c @@ -17,8 +17,6 @@ #include #include -#include - #include "rockchip_drm_drv.h" #include "rockchip_drm_gem.h" @@ -28,15 +26,14 @@ static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj, struct drm_gem_object *obj = &rk_obj->base; struct drm_device *drm = obj->dev; - init_dma_attrs(&rk_obj->dma_attrs); - dma_set_attr(DMA_ATTR_WRITE_COMBINE, &rk_obj->dma_attrs); + rk_obj->dma_attrs = DMA_ATTR_WRITE_COMBINE; if (!alloc_kmap) - dma_set_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs); + rk_obj->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING; rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size, &rk_obj->dma_addr, GFP_KERNEL, - &rk_obj->dma_attrs); + rk_obj->dma_attrs); if (!rk_obj->kvaddr) { DRM_ERROR("failed to allocate %#x byte dma buffer", obj->size); return -ENOMEM; @@ -51,7 +48,7 @@ static void rockchip_gem_free_buf(struct rockchip_gem_object *rk_obj) struct drm_device *drm = obj->dev; dma_free_attrs(drm->dev, obj->size, rk_obj->kvaddr, rk_obj->dma_addr, - &rk_obj->dma_attrs); + rk_obj->dma_attrs); } static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, @@ -70,7 +67,7 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, vma->vm_pgoff = 0; ret = dma_mmap_attrs(drm->dev, vma, rk_obj->kvaddr, rk_obj->dma_addr, - obj->size, &rk_obj->dma_attrs); + obj->size, rk_obj->dma_attrs); if (ret) drm_gem_vm_close(vma); @@ -262,7 +259,7 @@ struct sg_table *rockchip_gem_prime_get_sg_table(struct drm_gem_object *obj) ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr, rk_obj->dma_addr, obj->size, - &rk_obj->dma_attrs); + rk_obj->dma_attrs); if (ret) { DRM_ERROR("failed to allocate sgt, %d\n", ret); kfree(sgt); @@ -276,7 +273,7 @@ void *rockchip_gem_prime_vmap(struct drm_gem_object *obj) { struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); - if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs)) + if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, rk_obj->dma_attrs)) return NULL; return rk_obj->kvaddr; diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.h b/drivers/gpu/drm/rockchip/rockchip_drm_gem.h index ad22618473a4..18b3488db4ec 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.h @@ -23,7 +23,7 @@ struct rockchip_gem_object { void *kvaddr; dma_addr_t dma_addr; - struct dma_attrs dma_attrs; + unsigned long dma_attrs; }; struct sg_table *rockchip_gem_prime_get_sg_table(struct drm_gem_object *obj); -- 1.9.1