From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Date: Wed, 20 Apr 2016 18:15:30 +0000 Subject: Re: [PATCH 2/8] drm/udl: Change drm_fb_helper_sys_*() calls to sys_*() Message-Id: <5717C742.7080807@tronnes.org> List-Id: References: <1461165929-11344-1-git-send-email-noralf@tronnes.org> <1461165929-11344-3-git-send-email-noralf@tronnes.org> <20160420174241.GP2510@phenom.ffwll.local> In-Reply-To: <20160420174241.GP2510@phenom.ffwll.local> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, laurent.pinchart@ideasonboard.com, tomi.valkeinen@ti.com, linux-kernel@vger.kernel.org Den 20.04.2016 19:42, skrev Daniel Vetter: > On Wed, Apr 20, 2016 at 05:25:23PM +0200, Noralf Tr=F8nnes wrote: >> Now that drm_fb_helper gets deferred io support, the >> drm_fb_helper_sys_{fillrect,copyarea,imageblit} functions will schedule >> the worker that calls the deferred_io callback. This will break this >> driver so use the sys_{fillrect,copyarea,imageblit} functions directly. >> >> Signed-off-by: Noralf Tr=F8nnes > I think this intermediately breaks the build, if you disable fbdev > support. That's now supported in the fbdev helpers core generically across > all drivers. > > Not sure how to best fix this up, since the only way would be to squash > these patches, plus generic deferred io plus the conversion patches for > udl/qxl all into one. Tricky. Yes you're right, I missed that. How about this: #ifdef CONFIG_FB sys_fillrect(info, rect); #endif The later patch will then remove this ugliness... > -Daniel > >> --- >> drivers/gpu/drm/udl/udl_fb.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c >> index fd1eb9d..a52de2f 100644 >> --- a/drivers/gpu/drm/udl/udl_fb.c >> +++ b/drivers/gpu/drm/udl/udl_fb.c >> @@ -287,7 +287,7 @@ static void udl_fb_fillrect(struct fb_info *info, co= nst struct fb_fillrect *rect >> { >> struct udl_fbdev *ufbdev =3D info->par; >> =20 >> - drm_fb_helper_sys_fillrect(info, rect); >> + sys_fillrect(info, rect); >> =20 >> udl_handle_damage(&ufbdev->ufb, rect->dx, rect->dy, rect->width, >> rect->height); >> @@ -297,7 +297,7 @@ static void udl_fb_copyarea(struct fb_info *info, co= nst struct fb_copyarea *regi >> { >> struct udl_fbdev *ufbdev =3D info->par; >> =20 >> - drm_fb_helper_sys_copyarea(info, region); >> + sys_copyarea(info, region); >> =20 >> udl_handle_damage(&ufbdev->ufb, region->dx, region->dy, region->width, >> region->height); >> @@ -307,7 +307,7 @@ static void udl_fb_imageblit(struct fb_info *info, c= onst struct fb_image *image) >> { >> struct udl_fbdev *ufbdev =3D info->par; >> =20 >> - drm_fb_helper_sys_imageblit(info, image); >> + sys_imageblit(info, image); >> =20 >> udl_handle_damage(&ufbdev->ufb, image->dx, image->dy, image->width, >> image->height); >> --=20 >> 2.2.2 >> From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH 2/8] drm/udl: Change drm_fb_helper_sys_*() calls to sys_*() Date: Wed, 20 Apr 2016 20:15:30 +0200 Message-ID: <5717C742.7080807@tronnes.org> References: <1461165929-11344-1-git-send-email-noralf@tronnes.org> <1461165929-11344-3-git-send-email-noralf@tronnes.org> <20160420174241.GP2510@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 011E46EAC9 for ; Wed, 20 Apr 2016 18:15:36 +0000 (UTC) In-Reply-To: <20160420174241.GP2510@phenom.ffwll.local> 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, linux-fbdev@vger.kernel.org, laurent.pinchart@ideasonboard.com, tomi.valkeinen@ti.com, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org CkRlbiAyMC4wNC4yMDE2IDE5OjQyLCBza3JldiBEYW5pZWwgVmV0dGVyOgo+IE9uIFdlZCwgQXBy IDIwLCAyMDE2IGF0IDA1OjI1OjIzUE0gKzAyMDAsIE5vcmFsZiBUcsO4bm5lcyB3cm90ZToKPj4g Tm93IHRoYXQgZHJtX2ZiX2hlbHBlciBnZXRzIGRlZmVycmVkIGlvIHN1cHBvcnQsIHRoZQo+PiBk cm1fZmJfaGVscGVyX3N5c197ZmlsbHJlY3QsY29weWFyZWEsaW1hZ2VibGl0fSBmdW5jdGlvbnMg d2lsbCBzY2hlZHVsZQo+PiB0aGUgd29ya2VyIHRoYXQgY2FsbHMgdGhlIGRlZmVycmVkX2lvIGNh bGxiYWNrLiBUaGlzIHdpbGwgYnJlYWsgdGhpcwo+PiBkcml2ZXIgc28gdXNlIHRoZSBzeXNfe2Zp bGxyZWN0LGNvcHlhcmVhLGltYWdlYmxpdH0gZnVuY3Rpb25zIGRpcmVjdGx5Lgo+Pgo+PiBTaWdu ZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KPiBJIHRoaW5r IHRoaXMgaW50ZXJtZWRpYXRlbHkgYnJlYWtzIHRoZSBidWlsZCwgaWYgeW91IGRpc2FibGUgZmJk ZXYKPiBzdXBwb3J0LiBUaGF0J3Mgbm93IHN1cHBvcnRlZCBpbiB0aGUgZmJkZXYgaGVscGVycyBj b3JlIGdlbmVyaWNhbGx5IGFjcm9zcwo+IGFsbCBkcml2ZXJzLgo+Cj4gTm90IHN1cmUgaG93IHRv IGJlc3QgZml4IHRoaXMgdXAsIHNpbmNlIHRoZSBvbmx5IHdheSB3b3VsZCBiZSB0byBzcXVhc2gK PiB0aGVzZSBwYXRjaGVzLCBwbHVzIGdlbmVyaWMgZGVmZXJyZWQgaW8gcGx1cyB0aGUgY29udmVy c2lvbiBwYXRjaGVzIGZvcgo+IHVkbC9xeGwgYWxsIGludG8gb25lLiBUcmlja3kuCgpZZXMgeW91 J3JlIHJpZ2h0LCBJIG1pc3NlZCB0aGF0LgpIb3cgYWJvdXQgdGhpczoKI2lmZGVmIENPTkZJR19G QgogICAgICAgICBzeXNfZmlsbHJlY3QoaW5mbywgcmVjdCk7CiNlbmRpZgoKVGhlIGxhdGVyIHBh dGNoIHdpbGwgdGhlbiByZW1vdmUgdGhpcyB1Z2xpbmVzcy4uLgoKPiAtRGFuaWVsCj4KPj4gLS0t Cj4+ICAgZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYyB8IDYgKysrLS0tCj4+ICAgMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3Vk bF9mYi5jCj4+IGluZGV4IGZkMWViOWQuLmE1MmRlMmYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS91ZGwvdWRsX2ZiLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIu Ywo+PiBAQCAtMjg3LDcgKzI4Nyw3IEBAIHN0YXRpYyB2b2lkIHVkbF9mYl9maWxscmVjdChzdHJ1 Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2ZpbGxyZWN0ICpyZWN0Cj4+ICAgewo+ PiAgIAlzdHJ1Y3QgdWRsX2ZiZGV2ICp1ZmJkZXYgPSBpbmZvLT5wYXI7Cj4+ICAgCj4+IC0JZHJt X2ZiX2hlbHBlcl9zeXNfZmlsbHJlY3QoaW5mbywgcmVjdCk7Cj4+ICsJc3lzX2ZpbGxyZWN0KGlu Zm8sIHJlY3QpOwo+PiAgIAo+PiAgIAl1ZGxfaGFuZGxlX2RhbWFnZSgmdWZiZGV2LT51ZmIsIHJl Y3QtPmR4LCByZWN0LT5keSwgcmVjdC0+d2lkdGgsCj4+ICAgCQkJICByZWN0LT5oZWlnaHQpOwo+ PiBAQCAtMjk3LDcgKzI5Nyw3IEBAIHN0YXRpYyB2b2lkIHVkbF9mYl9jb3B5YXJlYShzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2NvcHlhcmVhICpyZWdpCj4+ICAgewo+PiAg IAlzdHJ1Y3QgdWRsX2ZiZGV2ICp1ZmJkZXYgPSBpbmZvLT5wYXI7Cj4+ICAgCj4+IC0JZHJtX2Zi X2hlbHBlcl9zeXNfY29weWFyZWEoaW5mbywgcmVnaW9uKTsKPj4gKwlzeXNfY29weWFyZWEoaW5m bywgcmVnaW9uKTsKPj4gICAKPj4gICAJdWRsX2hhbmRsZV9kYW1hZ2UoJnVmYmRldi0+dWZiLCBy ZWdpb24tPmR4LCByZWdpb24tPmR5LCByZWdpb24tPndpZHRoLAo+PiAgIAkJCSAgcmVnaW9uLT5o ZWlnaHQpOwo+PiBAQCAtMzA3LDcgKzMwNyw3IEBAIHN0YXRpYyB2b2lkIHVkbF9mYl9pbWFnZWJs aXQoc3RydWN0IGZiX2luZm8gKmluZm8sIGNvbnN0IHN0cnVjdCBmYl9pbWFnZSAqaW1hZ2UpCj4+ ICAgewo+PiAgIAlzdHJ1Y3QgdWRsX2ZiZGV2ICp1ZmJkZXYgPSBpbmZvLT5wYXI7Cj4+ICAgCj4+ IC0JZHJtX2ZiX2hlbHBlcl9zeXNfaW1hZ2VibGl0KGluZm8sIGltYWdlKTsKPj4gKwlzeXNfaW1h Z2VibGl0KGluZm8sIGltYWdlKTsKPj4gICAKPj4gICAJdWRsX2hhbmRsZV9kYW1hZ2UoJnVmYmRl di0+dWZiLCBpbWFnZS0+ZHgsIGltYWdlLT5keSwgaW1hZ2UtPndpZHRoLAo+PiAgIAkJCSAgaW1h Z2UtPmhlaWdodCk7Cj4+IC0tIAo+PiAyLjIuMgo+PgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751971AbcDTSPi (ORCPT ); Wed, 20 Apr 2016 14:15:38 -0400 Received: from smtp.domeneshop.no ([194.63.252.55]:58453 "EHLO smtp.domeneshop.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750907AbcDTSPh (ORCPT ); Wed, 20 Apr 2016 14:15:37 -0400 Subject: Re: [PATCH 2/8] drm/udl: Change drm_fb_helper_sys_*() calls to sys_*() To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, laurent.pinchart@ideasonboard.com, tomi.valkeinen@ti.com, linux-kernel@vger.kernel.org References: <1461165929-11344-1-git-send-email-noralf@tronnes.org> <1461165929-11344-3-git-send-email-noralf@tronnes.org> <20160420174241.GP2510@phenom.ffwll.local> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <5717C742.7080807@tronnes.org> Date: Wed, 20 Apr 2016 20:15:30 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 MIME-Version: 1.0 In-Reply-To: <20160420174241.GP2510@phenom.ffwll.local> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Den 20.04.2016 19:42, skrev Daniel Vetter: > On Wed, Apr 20, 2016 at 05:25:23PM +0200, Noralf Trønnes wrote: >> Now that drm_fb_helper gets deferred io support, the >> drm_fb_helper_sys_{fillrect,copyarea,imageblit} functions will schedule >> the worker that calls the deferred_io callback. This will break this >> driver so use the sys_{fillrect,copyarea,imageblit} functions directly. >> >> Signed-off-by: Noralf Trønnes > I think this intermediately breaks the build, if you disable fbdev > support. That's now supported in the fbdev helpers core generically across > all drivers. > > Not sure how to best fix this up, since the only way would be to squash > these patches, plus generic deferred io plus the conversion patches for > udl/qxl all into one. Tricky. Yes you're right, I missed that. How about this: #ifdef CONFIG_FB sys_fillrect(info, rect); #endif The later patch will then remove this ugliness... > -Daniel > >> --- >> drivers/gpu/drm/udl/udl_fb.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c >> index fd1eb9d..a52de2f 100644 >> --- a/drivers/gpu/drm/udl/udl_fb.c >> +++ b/drivers/gpu/drm/udl/udl_fb.c >> @@ -287,7 +287,7 @@ static void udl_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect >> { >> struct udl_fbdev *ufbdev = info->par; >> >> - drm_fb_helper_sys_fillrect(info, rect); >> + sys_fillrect(info, rect); >> >> udl_handle_damage(&ufbdev->ufb, rect->dx, rect->dy, rect->width, >> rect->height); >> @@ -297,7 +297,7 @@ static void udl_fb_copyarea(struct fb_info *info, const struct fb_copyarea *regi >> { >> struct udl_fbdev *ufbdev = info->par; >> >> - drm_fb_helper_sys_copyarea(info, region); >> + sys_copyarea(info, region); >> >> udl_handle_damage(&ufbdev->ufb, region->dx, region->dy, region->width, >> region->height); >> @@ -307,7 +307,7 @@ static void udl_fb_imageblit(struct fb_info *info, const struct fb_image *image) >> { >> struct udl_fbdev *ufbdev = info->par; >> >> - drm_fb_helper_sys_imageblit(info, image); >> + sys_imageblit(info, image); >> >> udl_handle_damage(&ufbdev->ufb, image->dx, image->dy, image->width, >> image->height); >> -- >> 2.2.2 >>