From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark yao Subject: Re: [PATCH] drm/rockchip: get rid of rockchip_drm_crtc_mode_config Date: Tue, 19 Apr 2016 10:43:03 +0800 Message-ID: <57159B37.9050806@rock-chips.com> References: <1460948611-32259-1-git-send-email-mark.yao@rock-chips.com> <20160418102538.0ed730ca.john@metanate.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160418102538.0ed730ca.john@metanate.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Keeping Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org T24gMjAxNuW5tDA05pyIMTjml6UgMTc6MjUsIEpvaG4gS2VlcGluZyB3cm90ZToKPiBPbiBNb24s IDE4IEFwciAyMDE2IDExOjAzOjMxICswODAwLCBNYXJrIFlhbyB3cm90ZToKPgo+PiA+V2UgbmVl ZCB0byB0YWtlIGNhcmUgb2YgdGhlIHZvcCBzdGF0dXMgd2hlbiB1c2UKPj4gPnJvY2tjaGlwX2Ry bV9jcnRjX21vZGVfY29uZmlnLCBpZiB2b3AgaXMgZGlzYWJsZWQsCj4+ID50aGUgZnVuY3Rpb24g d291bGQgZmFpbGVkLCB0aGF0IGlzIHRlcnJpYmxlLgo+PiA+Cj4+ID5TYXZlIGNvbm5lY3RvciB0 eXBlIGFuZCBvdXRwdXQgbW9kZSBvbiBkcm1fZGlzcGxheV9tb2RlLT5wcml2YXRlX2ZsYWdzCj4+ ID5hdCBlbmNvZGVyIG1vZGVfZml4dXAsIHRoZW4gd2UgY2FuIGNvbmZpZ3VyZSB0aGUgdHlwZSBh bmQgbW9kZSBzYWZlbHkKPj4gPm9uIGNydGMgbW9kZV9zZXQuCj4gU2luY2UgUm9ja2NoaXAgaXMg YXRvbWljLCBzaG91bGRuJ3QgdGhpcyBiZSB1c2luZyBhdG9taWNfY2hlY2sgaG9va3MgYW5kCj4g YSBzdWJjbGFzc2VkIGNydGNfc3RhdGUgc3RydWN0dXJlPwo+CkhpIEpvaG4KCkkgdHJ5IHRvIHVz ZSBhdG9taWNfY2hlY2sgd2l0aCBjcnRjX3N0YXRlLCBidXQgaXQgc2VlbXMgbm90IGVhc3ksCnRo ZXJlIGFyZSB0d28gdmFsdWUgbmVlZCB0cmFuc21pdCBmcm9tIGNvbm5lY3RvciB0byB2b3A6IGNv bm5lY3RvciB0eXBlIAphbmQgb3V0X21vZGUKCnRoZSBjb25uZWN0b3IgdHlwZSBJIHRoaW5rIHdl IGNhbiBsb29wIHRoZSBhdG9taWMgc3RhdGUgdG8gZmluZCB0aGUgCmNvbm5lY3RvciB0eXBlLgpi dXQgdGhlIG91dF9tb2RlIGlzIGEgY3VzdG9tIHZhbHVlLCBJIGNhbid0IGZpbmQgYSBnZW5lcmlj IHdheSB0byAKdHJhbnNtaXQgaXQgd2l0aCBhdG9taWMgc3RhdGUuCgpCVFcsIEkgdGhpbmsgb24g YXRvbWljIHNpZGUsIHRoZSBkcm1fZGlzcGxheV9tb2RlIGlzIHVuZGVyIGNvbnRyb2wgYnkgCmF0 b21pYyBzdGF0ZSwKYW5kIHRoZSBtb2RlLT5wcml2YXRlX2ZsYWdzIGlzIG5vdCB1c2UgYnkgZHJt IGZyYW1ld29yaywgSSBmb3VuZCBpOTE1IAphbmQgZ21hNTAwIGFsc28gdXNlCm1vZGUtPnByaXZh dGVfZmxhZ3MgdG8gdHJhbnNtaXQgY3VzdG9tIHZhbHVlLgoKU28gSSB0aGluayBpdCdzIG5vIHBy b2JsZW0gdXNpbmcgbW9kZS0+cHJpdmF0ZV9mbGFncy4KCi0tIArvvK1hcmsgWWFvCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: mark.yao@rock-chips.com (Mark yao) Date: Tue, 19 Apr 2016 10:43:03 +0800 Subject: [PATCH] drm/rockchip: get rid of rockchip_drm_crtc_mode_config In-Reply-To: <20160418102538.0ed730ca.john@metanate.com> References: <1460948611-32259-1-git-send-email-mark.yao@rock-chips.com> <20160418102538.0ed730ca.john@metanate.com> Message-ID: <57159B37.9050806@rock-chips.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 2016?04?18? 17:25, John Keeping wrote: > On Mon, 18 Apr 2016 11:03:31 +0800, Mark Yao wrote: > >> >We need to take care of the vop status when use >> >rockchip_drm_crtc_mode_config, if vop is disabled, >> >the function would failed, that is terrible. >> > >> >Save connector type and output mode on drm_display_mode->private_flags >> >at encoder mode_fixup, then we can configure the type and mode safely >> >on crtc mode_set. > Since Rockchip is atomic, shouldn't this be using atomic_check hooks and > a subclassed crtc_state structure? > Hi John I try to use atomic_check with crtc_state, but it seems not easy, there are two value need transmit from connector to vop: connector type and out_mode the connector type I think we can loop the atomic state to find the connector type. but the out_mode is a custom value, I can't find a generic way to transmit it with atomic state. BTW, I think on atomic side, the drm_display_mode is under control by atomic state, and the mode->private_flags is not use by drm framework, I found i915 and gma500 also use mode->private_flags to transmit custom value. So I think it's no problem using mode->private_flags. -- ?ark Yao From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752418AbcDSCnQ (ORCPT ); Mon, 18 Apr 2016 22:43:16 -0400 Received: from regular1.263xmail.com ([211.150.99.130]:37791 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751940AbcDSCnP (ORCPT ); Mon, 18 Apr 2016 22:43:15 -0400 X-263anti-spam: BIG:0;ABS:1;DNS:0;ATT:0;SPF:S;KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ADDR-CHECKED: 0 X-KSVirus-check: 0 X-RL-SENDER: mark.yao@rock-chips.com X-FST-TO: linux-kernel@vger.kernel.org X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: mark.yao@rock-chips.com X-UNIQUE-TAG: <32595062a9262c0bdd96211bf18e6943> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Message-ID: <57159B37.9050806@rock-chips.com> Date: Tue, 19 Apr 2016 10:43:03 +0800 From: Mark yao User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: John Keeping CC: David Airlie , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/rockchip: get rid of rockchip_drm_crtc_mode_config References: <1460948611-32259-1-git-send-email-mark.yao@rock-chips.com> <20160418102538.0ed730ca.john@metanate.com> In-Reply-To: <20160418102538.0ed730ca.john@metanate.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016年04月18日 17:25, John Keeping wrote: > On Mon, 18 Apr 2016 11:03:31 +0800, Mark Yao wrote: > >> >We need to take care of the vop status when use >> >rockchip_drm_crtc_mode_config, if vop is disabled, >> >the function would failed, that is terrible. >> > >> >Save connector type and output mode on drm_display_mode->private_flags >> >at encoder mode_fixup, then we can configure the type and mode safely >> >on crtc mode_set. > Since Rockchip is atomic, shouldn't this be using atomic_check hooks and > a subclassed crtc_state structure? > Hi John I try to use atomic_check with crtc_state, but it seems not easy, there are two value need transmit from connector to vop: connector type and out_mode the connector type I think we can loop the atomic state to find the connector type. but the out_mode is a custom value, I can't find a generic way to transmit it with atomic state. BTW, I think on atomic side, the drm_display_mode is under control by atomic state, and the mode->private_flags is not use by drm framework, I found i915 and gma500 also use mode->private_flags to transmit custom value. So I think it's no problem using mode->private_flags. -- Mark Yao