From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: Re: [PATCH v3 04/10] drm/bridge: analogix_dp: some rockchip chips need to flip REF_CLK bit setting Date: Wed, 29 Jun 2016 15:13:29 +0800 Message-ID: <57737519.3040202@rock-chips.com> References: <1465904718-663-1-git-send-email-ykk@rock-chips.com> <1465904776-891-1-git-send-email-ykk@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: Krzysztof Kozlowski , linux-samsung-soc , Javier Martinez Canillas , Mark Yao , Jingoo Han , Emil Velikov , Douglas Anderson , dri-devel , Linux Kernel Mailing List , linux-rockchip@lists.infradead.org, Daniel Vetter , Tomasz Figa , =?UTF-8?Q?St=c3=a9phane_Marchesin?= , Thierry Reding , Dan Carpenter List-Id: linux-rockchip.vger.kernel.org U2VhbiwKCk9uIDA2LzIzLzIwMTYgMDk6MjcgUE0sIFNlYW4gUGF1bCB3cm90ZToKPiBPbiBUdWUs IEp1biAxNCwgMjAxNiBhdCA3OjQ2IEFNLCBZYWtpciBZYW5nIDx5a2tAcm9jay1jaGlwcy5jb20+ IHdyb3RlOgo+PiBBcyB2ZW5kb3IgZG9jdW1lbnQgaW5kaWNhdGUsIHdoZW4gUkVGX0NMSyBiaXQg c2V0IDAsIHRoZW4gRFAKPj4gcGh5J3MgUkVGX0NMSyBzaG91bGQgc3dpdGNoIHRvIDI0TSBzb3Vy Y2UgY2xvY2suCj4+Cj4+IEJ1dCBkdWUgdG8gSUMgUEhZIGxheW91dCBtaXN0YWtlbiwgc29tZSBj aGlwcyBuZWVkIHRvIGZsaXAgdGhpcwo+PiBiaXQobGlrZSBSSzMyODgpLCBhbmQgdW5mb3J0dW5h dGVseSB0aGV5IGRpZG4ndCBpbmRpY2F0ZSBpbiB0aGUKPj4gRFAgdmVyc2lvbiByZWdpc3Rlci4g VGhhdCdzIHdoeSB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBsaXR0bGUgaGFjay4KPj4KPj4gU2lnbmVk LW9mZi1ieTogWWFraXIgWWFuZyA8eWtrQHJvY2stY2hpcHMuY29tPgo+PiBUZXN0ZWQtYnk6IEph dmllciBNYXJ0aW5leiBDYW5pbGxhcyA8amF2aWVyQG9zZy5zYW1zdW5nLmNvbT4KPj4gLS0tCj4+ IENoYW5nZXMgaW4gdjM6Cj4+IC0gTWFrZSB0aGlzIGhhY2sgY29kZSBtb3JlIGNsZWFyIChUb21h c3osIHJldmlld2VkIGF0IEdvb2dsZSBHZXJyaXQpCj4+ICAgIHJlZyA9IH5yZWcgJiBSRUZfQ0xL X01BU0s7ICAtLS0+ICByZWcgXj0gUkVGX0NMS19NQVNLOwo+PiAgICAgIFtodHRwczovL2Nocm9t aXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tLyMvYy8zNDY4NTIvNy9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX3JlZy5jQDgwXQo+PiAtIEFkZCB0ZXN0ZWQgZmxh ZyBmcm9tIEphdmllcgo+Pgo+PiBDaGFuZ2VzIGluIHYyOgo+PiAtIG5ldyBwYXRjaCBpbiB2Mgo+ Pgo+PiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMg fCA2ICsrKysrLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhf ZHBfcmVnLmggfCAxICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvYW5hbG9naXhfZHAt cm9ja2NoaXAuYyAgIHwgMyArKysKPj4gICBpbmNsdWRlL2RybS9icmlkZ2UvYW5hbG9naXhfZHAu aCAgICAgICAgICAgICAgICAgIHwgNSArKysrKwo+PiAgIDQgZmlsZXMgY2hhbmdlZCwgMTQgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9yZWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMKPj4gaW5kZXggOTMxYTc2Yy4uOTdjZWQ2 YiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dp eF9kcF9yZWcuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxv Z2l4X2RwX3JlZy5jCj4+IEBAIC03NSw3ICs3NSwxMSBAQCB2b2lkIGFuYWxvZ2l4X2RwX2luaXRf YW5hbG9nX3BhcmFtKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+PiAgICAgICAgICB3 cml0ZWwocmVnLCBkcC0+cmVnX2Jhc2UgKyBBTkFMT0dJWF9EUF9BTkFMT0dfQ1RMXzIpOwo+Pgo+ PiAgICAgICAgICBpZiAoZHAtPnBsYXRfZGF0YSAmJiAoZHAtPnBsYXRfZGF0YS0+ZGV2X3R5cGUg PT0gUk9DS0NISVBfRFApKSB7Cj4+IC0gICAgICAgICAgICAgICB3cml0ZWwoUkVGX0NMS18yNE0s IGRwLT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQX1BMTF9SRUdfMSk7Cj4+ICsgICAgICAgICAgICAg ICByZWcgPSBSRUZfQ0xLXzI0TTsKPj4gKyAgICAgICAgICAgICAgIGlmIChkcC0+cGxhdF9kYXRh LT5zdWJkZXZfdHlwZSA9PSBSSzMyODhfRFApCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJl ZyBePSBSRUZfQ0xLX01BU0s7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgIHdyaXRlbChyZWcsIGRw LT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQX1BMTF9SRUdfMSk7Cj4+ICAgICAgICAgICAgICAgICAg d3JpdGVsKDB4OTUsIGRwLT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQX1BMTF9SRUdfMik7Cj4+ICAg ICAgICAgICAgICAgICAgd3JpdGVsKDB4NDAsIGRwLT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQX1BM TF9SRUdfMyk7Cj4+ICAgICAgICAgICAgICAgICAgd3JpdGVsKDB4NTgsIGRwLT5yZWdfYmFzZSAr IEFOQUxPR0lYX0RQX1BMTF9SRUdfNCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9yZWcuaAo+PiBpbmRleCA4OGQ1NmFkLi5jZGNjNmM1IDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2Rw X3JlZy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhf ZHBfcmVnLmgKPj4gQEAgLTE2NSw2ICsxNjUsNyBAQAo+PiAgIC8qIEFOQUxPR0lYX0RQX1BMTF9S RUdfMSAqLwo+PiAgICNkZWZpbmUgUkVGX0NMS18yNE0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKDB4MSA8PCAwKQo+PiAgICNkZWZpbmUgUkVGX0NMS18yN00gICAgICAgICAgICAgICAgICAg ICAgICAgICAgKDB4MCA8PCAwKQo+PiArI2RlZmluZSBSRUZfQ0xLX01BU0sgICAgICAgICAgICAg ICAgICAgICAgICAgICAoMHgxIDw8IDApCj4+Cj4+ICAgLyogQU5BTE9HSVhfRFBfTEFORV9NQVAg Ki8KPj4gICAjZGVmaW5lIExBTkUzX01BUF9MT0dJQ19MQU5FXzAgICAgICAgICAgICAgICAgICgw eDAgPDwgNikKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9hbmFsb2dp eF9kcC1yb2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJv Y2tjaGlwLmMKPj4gaW5kZXggMzg1NWY0Ni4uMzE1ZWJiYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMKPj4gQEAgLTQ2LDYgKzQ2 LDcgQEAgc3RydWN0IHJvY2tjaGlwX2RwX2NoaXBfZGF0YSB7Cj4+ICAgICAgICAgIHUzMiAgICAg bGNkc2VsX2dyZl9yZWc7Cj4+ICAgICAgICAgIHUzMiAgICAgbGNkc2VsX2JpZzsKPj4gICAgICAg ICAgdTMyICAgICBsY2RzZWxfbGl0Owo+PiArICAgICAgIHUzMiAgICAgY2hpcF90eXBlOwo+PiAg IH07Cj4+Cj4+ICAgc3RydWN0IHJvY2tjaGlwX2RwX2RldmljZSB7Cj4+IEBAIC0yODYsNiArMjg3 LDcgQEAgc3RhdGljIGludCByb2NrY2hpcF9kcF9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0IGRldmljZSAqbWFzdGVyLAo+PiAgICAgICAgICBkcC0+cGxhdF9kYXRhLmVuY29kZXIgPSAm ZHAtPmVuY29kZXI7Cj4+Cj4+ICAgICAgICAgIGRwLT5wbGF0X2RhdGEuZGV2X3R5cGUgPSBST0NL Q0hJUF9EUDsKPj4gKyAgICAgICBkcC0+cGxhdF9kYXRhLnN1YmRldl90eXBlID0gZHBfZGF0YS0+ Y2hpcF90eXBlOwo+PiAgICAgICAgICBkcC0+cGxhdF9kYXRhLnBvd2VyX29uID0gcm9ja2NoaXBf ZHBfcG93ZXJvbjsKPj4gICAgICAgICAgZHAtPnBsYXRfZGF0YS5wb3dlcl9vZmYgPSByb2NrY2hp cF9kcF9wb3dlcmRvd247Cj4+Cj4+IEBAIC0zODQsNiArMzg2LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCByb2NrY2hpcF9kcF9jaGlwX2RhdGEgcmszMjg4X2RwID0gewo+PiAgICAgICAgICAubGNk c2VsX2dyZl9yZWcgPSAweDAyNWMsCj4+ICAgICAgICAgIC5sY2RzZWxfYmlnID0gMCB8IEJJVCgy MSksCj4+ICAgICAgICAgIC5sY2RzZWxfbGl0ID0gQklUKDUpIHwgQklUKDIxKSwKPj4gKyAgICAg ICAuY2hpcF90eXBlID0gUkszMjg4X0RQLAo+PiAgIH07Cj4+Cj4+ICAgc3RhdGljIGNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgcm9ja2NoaXBfZHBfZHRfaWRzW10gPSB7Cj4+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9icmlkZ2UvYW5hbG9naXhfZHAuaCBiL2luY2x1ZGUvZHJtL2JyaWRnZS9h bmFsb2dpeF9kcC5oCj4+IGluZGV4IDllNWQwMTMuLjA2YzAyNTAgMTAwNjQ0Cj4+IC0tLSBhL2lu Y2x1ZGUvZHJtL2JyaWRnZS9hbmFsb2dpeF9kcC5oCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2JyaWRn ZS9hbmFsb2dpeF9kcC5oCj4+IEBAIC0xOCw4ICsxOCwxMyBAQCBlbnVtIGFuYWxvZ2l4X2RwX2Rl dnR5cGUgewo+PiAgICAgICAgICBST0NLQ0hJUF9EUCwKPj4gICB9Owo+Pgo+PiArZW51bSBhbmFs b2dpeF9kcF9zdWJfZGV2dHlwZSB7Cj4+ICsgICAgICAgUkszMjg4X0RQLAo+PiArfTsKPj4gKwo+ PiAgIHN0cnVjdCBhbmFsb2dpeF9kcF9wbGF0X2RhdGEgewo+PiAgICAgICAgICBlbnVtIGFuYWxv Z2l4X2RwX2RldnR5cGUgZGV2X3R5cGU7Cj4+ICsgICAgICAgZW51bSBhbmFsb2dpeF9kcF9zdWJf ZGV2dHlwZSBzdWJkZXZfdHlwZTsKPgo+IFNvIHRoaXMgaXMgd2hhdCBJIHdhcyB0YWxraW5nIGFi b3V0IGluIG15IHJldmlldyBvZiB0aGUgZmlyc3QgcGF0Y2ggb2YKPiB0aGUgc2VyaWVzLgo+Cj4g SSBkb24ndCBwZXJzb25hbGx5IHRoaW5rIHRoZSBkZXYgYW5kIHN1YmRldiB0eXBlcyBhZGQgYW55 IGNsYXJpdHkKPiBoZXJlLCBqdXN0IG1vcmUgc3RhdGUuIEknZCBwcmVmZXIgdGhhdCB5b3UgcHV0 IHRoZSBwcm9kdWN0IG51bWJlciBpbgo+IHRoZSB0b3AgbGV2ZWwgZGV2dHlwZSwgYW5kIGFkZCBh IGhlbHBlciBmdW5jdGlvbiBsaWtlOgo+Cj4gc3RhdGljIGJvb2wgaXNfcm9ja2NoaXAoZW51bSBh bmFsb2dpeF9kcF9kZXZ0eXBlIHR5cGUpIHsKPiAgICByZXR1cm4gdHlwZSA9PSAuLi4gfHwgdHlw ZSA9PSAuLi4KPiB9CgpHb29kIGlkZWEsIGRvbmUuCgpUaGFua3MsCi0gWWFraXIKCj4gU2Vhbgo+ Cj4+ICAgICAgICAgIHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwo+PiAgICAgICAgICBzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4+ICAgICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3I7Cj4+IC0tCj4+IDEuOS4xCj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+Cj4KCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752622AbcF2HNl (ORCPT ); Wed, 29 Jun 2016 03:13:41 -0400 Received: from lucky1.263xmail.com ([211.157.147.130]:56304 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751253AbcF2HNj (ORCPT ); Wed, 29 Jun 2016 03:13:39 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: ykk@rock-chips.com X-FST-TO: dan.carpenter@oracle.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: ykk@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v3 04/10] drm/bridge: analogix_dp: some rockchip chips need to flip REF_CLK bit setting To: Sean Paul References: <1465904718-663-1-git-send-email-ykk@rock-chips.com> <1465904776-891-1-git-send-email-ykk@rock-chips.com> Cc: Mark Yao , Inki Dae , Jingoo Han , Heiko Stuebner , Krzysztof Kozlowski , linux-samsung-soc , linux-rockchip@lists.infradead.org, Daniel Vetter , Emil Velikov , Douglas Anderson , dri-devel , Linux Kernel Mailing List , Javier Martinez Canillas , Tomasz Figa , =?UTF-8?Q?St=c3=a9phane_Marchesin?= , Thierry Reding , Dan Carpenter From: Yakir Yang Message-ID: <57737519.3040202@rock-chips.com> Date: Wed, 29 Jun 2016 15:13:29 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Sean, On 06/23/2016 09:27 PM, Sean Paul wrote: > On Tue, Jun 14, 2016 at 7:46 AM, Yakir Yang wrote: >> As vendor document indicate, when REF_CLK bit set 0, then DP >> phy's REF_CLK should switch to 24M source clock. >> >> But due to IC PHY layout mistaken, some chips need to flip this >> bit(like RK3288), and unfortunately they didn't indicate in the >> DP version register. That's why we have to make this little hack. >> >> Signed-off-by: Yakir Yang >> Tested-by: Javier Martinez Canillas >> --- >> Changes in v3: >> - Make this hack code more clear (Tomasz, reviewed at Google Gerrit) >> reg = ~reg & REF_CLK_MASK; ---> reg ^= REF_CLK_MASK; >> [https://chromium-review.googlesource.com/#/c/346852/7/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c@80] >> - Add tested flag from Javier >> >> Changes in v2: >> - new patch in v2 >> >> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 6 +++++- >> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h | 1 + >> drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 3 +++ >> include/drm/bridge/analogix_dp.h | 5 +++++ >> 4 files changed, 14 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> index 931a76c..97ced6b 100644 >> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> @@ -75,7 +75,11 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) >> writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); >> >> if (dp->plat_data && (dp->plat_data->dev_type == ROCKCHIP_DP)) { >> - writel(REF_CLK_24M, dp->reg_base + ANALOGIX_DP_PLL_REG_1); >> + reg = REF_CLK_24M; >> + if (dp->plat_data->subdev_type == RK3288_DP) >> + reg ^= REF_CLK_MASK; >> + >> + writel(reg, dp->reg_base + ANALOGIX_DP_PLL_REG_1); >> writel(0x95, dp->reg_base + ANALOGIX_DP_PLL_REG_2); >> writel(0x40, dp->reg_base + ANALOGIX_DP_PLL_REG_3); >> writel(0x58, dp->reg_base + ANALOGIX_DP_PLL_REG_4); >> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h >> index 88d56ad..cdcc6c5 100644 >> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h >> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.h >> @@ -165,6 +165,7 @@ >> /* ANALOGIX_DP_PLL_REG_1 */ >> #define REF_CLK_24M (0x1 << 0) >> #define REF_CLK_27M (0x0 << 0) >> +#define REF_CLK_MASK (0x1 << 0) >> >> /* ANALOGIX_DP_LANE_MAP */ >> #define LANE3_MAP_LOGIC_LANE_0 (0x0 << 6) >> diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> index 3855f46..315ebba 100644 >> --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> @@ -46,6 +46,7 @@ struct rockchip_dp_chip_data { >> u32 lcdsel_grf_reg; >> u32 lcdsel_big; >> u32 lcdsel_lit; >> + u32 chip_type; >> }; >> >> struct rockchip_dp_device { >> @@ -286,6 +287,7 @@ static int rockchip_dp_bind(struct device *dev, struct device *master, >> dp->plat_data.encoder = &dp->encoder; >> >> dp->plat_data.dev_type = ROCKCHIP_DP; >> + dp->plat_data.subdev_type = dp_data->chip_type; >> dp->plat_data.power_on = rockchip_dp_poweron; >> dp->plat_data.power_off = rockchip_dp_powerdown; >> >> @@ -384,6 +386,7 @@ static const struct rockchip_dp_chip_data rk3288_dp = { >> .lcdsel_grf_reg = 0x025c, >> .lcdsel_big = 0 | BIT(21), >> .lcdsel_lit = BIT(5) | BIT(21), >> + .chip_type = RK3288_DP, >> }; >> >> static const struct of_device_id rockchip_dp_dt_ids[] = { >> diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h >> index 9e5d013..06c0250 100644 >> --- a/include/drm/bridge/analogix_dp.h >> +++ b/include/drm/bridge/analogix_dp.h >> @@ -18,8 +18,13 @@ enum analogix_dp_devtype { >> ROCKCHIP_DP, >> }; >> >> +enum analogix_dp_sub_devtype { >> + RK3288_DP, >> +}; >> + >> struct analogix_dp_plat_data { >> enum analogix_dp_devtype dev_type; >> + enum analogix_dp_sub_devtype subdev_type; > > So this is what I was talking about in my review of the first patch of > the series. > > I don't personally think the dev and subdev types add any clarity > here, just more state. I'd prefer that you put the product number in > the top level devtype, and add a helper function like: > > static bool is_rockchip(enum analogix_dp_devtype type) { > return type == ... || type == ... > } Good idea, done. Thanks, - Yakir > Sean > >> struct drm_panel *panel; >> struct drm_encoder *encoder; >> struct drm_connector *connector; >> -- >> 1.9.1 >> >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > >