From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com (Ville =?iso-8859-1?Q?Syrj=E4l=E4?=) Date: Thu, 8 Dec 2016 17:57:55 +0200 Subject: [PATCH] drm: zte: add overlay plane support In-Reply-To: <1481166761-5100-1-git-send-email-shawnguo@kernel.org> References: <1481166761-5100-1-git-send-email-shawnguo@kernel.org> Message-ID: <20161208155755.GY31595@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Dec 08, 2016 at 11:12:41AM +0800, Shawn Guo wrote: > +static void zx_vl_plane_atomic_update(struct drm_plane *plane, > + struct drm_plane_state *old_state) > +{ > + struct zx_plane *zplane = to_zx_plane(plane); > + struct drm_framebuffer *fb = plane->state->fb; > + struct drm_gem_cma_object *cma_obj; > + void __iomem *layer = zplane->layer; > + void __iomem *hbsc = zplane->hbsc; > + void __iomem *paddr_reg; > + dma_addr_t paddr; > + u32 src_x, src_y, src_w, src_h; > + u32 dst_x, dst_y, dst_w, dst_h; > + uint32_t format; > + u32 fmt; > + int num_planes; > + int i; > + > + if (!fb) > + return; > + > + format = fb->pixel_format; > + > + src_x = plane->state->src_x >> 16; > + src_y = plane->state->src_y >> 16; > + src_w = plane->state->src_w >> 16; > + src_h = plane->state->src_h >> 16; > + > + dst_x = plane->state->crtc_x; > + dst_y = plane->state->crtc_y; > + dst_w = plane->state->crtc_w; > + dst_h = plane->state->crtc_h; This shouls use the clipped coordiantes. > + > + /* Set up data address registers for Y, Cb and Cr planes */ > + num_planes = drm_format_num_planes(format); > + paddr_reg = layer + VL_Y; > + for (i = 0; i < num_planes; i++) { > + cma_obj = drm_fb_cma_get_gem_obj(fb, i); > + paddr = cma_obj->paddr + fb->offsets[i]; > + paddr += src_y * fb->pitches[i]; > + paddr += src_x * drm_format_plane_cpp(format, i); > + zx_writel(paddr_reg, paddr); > + paddr_reg += 4; > + } > + -- Ville Syrj?l? Intel OTC From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm: zte: add overlay plane support Date: Thu, 8 Dec 2016 17:57:55 +0200 Message-ID: <20161208155755.GY31595@intel.com> References: <1481166761-5100-1-git-send-email-shawnguo@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C52B6E7F3 for ; Thu, 8 Dec 2016 15:57:59 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1481166761-5100-1-git-send-email-shawnguo@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Shawn Guo Cc: Daniel Vetter , Jun Nie , Baoyou Xie , linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBEZWMgMDgsIDIwMTYgYXQgMTE6MTI6NDFBTSArMDgwMCwgU2hhd24gR3VvIHdyb3Rl Ogo8c25pcD4KPiArc3RhdGljIHZvaWQgenhfdmxfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCSAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9s ZF9zdGF0ZSkKPiArewo+ICsJc3RydWN0IHp4X3BsYW5lICp6cGxhbmUgPSB0b196eF9wbGFuZShw bGFuZSk7Cj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lLT5zdGF0ZS0+ZmI7 Cj4gKwlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpjbWFfb2JqOwo+ICsJdm9pZCBfX2lvbWVt ICpsYXllciA9IHpwbGFuZS0+bGF5ZXI7Cj4gKwl2b2lkIF9faW9tZW0gKmhic2MgPSB6cGxhbmUt Pmhic2M7Cj4gKwl2b2lkIF9faW9tZW0gKnBhZGRyX3JlZzsKPiArCWRtYV9hZGRyX3QgcGFkZHI7 Cj4gKwl1MzIgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2g7Cj4gKwl1MzIgZHN0X3gsIGRzdF95 LCBkc3RfdywgZHN0X2g7Cj4gKwl1aW50MzJfdCBmb3JtYXQ7Cj4gKwl1MzIgZm10Owo+ICsJaW50 IG51bV9wbGFuZXM7Cj4gKwlpbnQgaTsKPiArCj4gKwlpZiAoIWZiKQo+ICsJCXJldHVybjsKPiAr Cj4gKwlmb3JtYXQgPSBmYi0+cGl4ZWxfZm9ybWF0Owo+ICsKPiArCXNyY194ID0gcGxhbmUtPnN0 YXRlLT5zcmNfeCA+PiAxNjsKPiArCXNyY195ID0gcGxhbmUtPnN0YXRlLT5zcmNfeSA+PiAxNjsK PiArCXNyY193ID0gcGxhbmUtPnN0YXRlLT5zcmNfdyA+PiAxNjsKPiArCXNyY19oID0gcGxhbmUt PnN0YXRlLT5zcmNfaCA+PiAxNjsKPiArCj4gKwlkc3RfeCA9IHBsYW5lLT5zdGF0ZS0+Y3J0Y194 Owo+ICsJZHN0X3kgPSBwbGFuZS0+c3RhdGUtPmNydGNfeTsKPiArCWRzdF93ID0gcGxhbmUtPnN0 YXRlLT5jcnRjX3c7Cj4gKwlkc3RfaCA9IHBsYW5lLT5zdGF0ZS0+Y3J0Y19oOwoKVGhpcyBzaG91 bHMgdXNlIHRoZSBjbGlwcGVkIGNvb3JkaWFudGVzLgoKPiArCj4gKwkvKiBTZXQgdXAgZGF0YSBh ZGRyZXNzIHJlZ2lzdGVycyBmb3IgWSwgQ2IgYW5kIENyIHBsYW5lcyAqLwo+ICsJbnVtX3BsYW5l cyA9IGRybV9mb3JtYXRfbnVtX3BsYW5lcyhmb3JtYXQpOwo+ICsJcGFkZHJfcmVnID0gbGF5ZXIg KyBWTF9ZOwo+ICsJZm9yIChpID0gMDsgaSA8IG51bV9wbGFuZXM7IGkrKykgewo+ICsJCWNtYV9v YmogPSBkcm1fZmJfY21hX2dldF9nZW1fb2JqKGZiLCBpKTsKPiArCQlwYWRkciA9IGNtYV9vYmot PnBhZGRyICsgZmItPm9mZnNldHNbaV07Cj4gKwkJcGFkZHIgKz0gc3JjX3kgKiBmYi0+cGl0Y2hl c1tpXTsKPiArCQlwYWRkciArPSBzcmNfeCAqIGRybV9mb3JtYXRfcGxhbmVfY3BwKGZvcm1hdCwg aSk7Cj4gKwkJenhfd3JpdGVsKHBhZGRyX3JlZywgcGFkZHIpOwo+ICsJCXBhZGRyX3JlZyArPSA0 Owo+ICsJfQo+ICsKCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK