Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934101AbcJUO4d (ORCPT ); Fri, 21 Oct 2016 10:56:33 -0400 Received: from smtprelay.synopsys.com ([198.182.47.9]:60350 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933272AbcJUO4a (ORCPT ); Fri, 21 Oct 2016 10:56:30 -0400 From: Ramiro Oliveira Subject: Re: [PATCH v2] drm/arcpgu: Accommodate adv7511 switch to DRM bridge Reply-To: <1476863178-15237-1-git-send-email-Eugeniy.Paltsev@synopsys.com> To: CC: , , , , , Message-ID: <121c0f99-7262-fc75-876d-bb9c27a4e25e@synopsys.com> Date: Fri, 21 Oct 2016 15:56:25 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.107.25.125] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2133 Lines: 50 On 10/19/2016 01:16 PM, Eugeniy Paltsev wrote: > ARC PGU driver starts crashing on initialization after > 'commit e12c2f645557 ("drm/i2c: adv7511: Convert to drm_bridge")' > This happenes because in "arcpgu_drm_hdmi_init" function we get pointer > of "drm_i2c_encoder_driver" structure, which doesn't exist after > adv7511 hdmi encoder interface changed from slave encoder to drm bridge. > So, when we call "encoder_init" function from this structure driver > crashes. > > Bootlog: > ------------------------------------->8-------------------------------- > [drm] Initialized drm 1.1.0 20060810 > arcpgu e0017000.pgu: arc_pgu ID: 0xabbabaab > arcpgu e0017000.pgu: assigned reserved memory node frame_buffer@9e000000 > Path: (null) > CPU: 0 PID: 1 Comm: swapper Not tainted 4.8.0-00001-gb5642252fa01-dirty #8 > task: 9a058000 task.stack: 9a032000 > > [ECR ]: 0x00220100 => Invalid Read @ 0x00000004 by insn @ 0x803934e8 > [EFA ]: 0x00000004 > [BLINK ]: drm_atomic_helper_connector_dpms+0xa6/0x230 > [ERET ]: drm_atomic_helper_connector_dpms+0xa4/0x230 > [STAT32]: 0x00000846 : K DE E2 E1 > BTA: 0x8016d949 SP: 0x9a033e34 FP: 0x00000000 > LPS: 0x8036f6fc LPE: 0x8036f700 LPC: 0x00000000 > r00: 0x8063c118 r01: 0x805b98ac r02: 0x00000b11 > r03: 0x00000000 r04: 0x9a010f54 r05: 0x00000000 > r06: 0x00000001 r07: 0x00000000 r08: 0x00000028 > r09: 0x00000001 r10: 0x00000007 r11: 0x00000054 > r12: 0x720a3033 > > Stack Trace: > drm_atomic_helper_connector_dpms+0xa4/0x230 > arcpgu_drm_hdmi_init+0xbc/0x228 > arcpgu_probe+0x168/0x244 > platform_drv_probe+0x26/0x64 > really_probe+0x1f0/0x32c > __driver_attach+0xa8/0xd0 > bus_for_each_dev+0x3c/0x74 > bus_add_driver+0xc2/0x184 > driver_register+0x50/0xec > do_one_initcall+0x3a/0x120 > kernel_init_freeable+0x108/0x1a0 > ------------------------------------->8-------------------------------- > > Fix ARC PGU driver to be able work with drm bridge hdmi encoder > interface. The hdmi connector code isn't needed anymore as we expect > the adv7511 bridge driver to create/manage the connector. Tested-by: Ramiro Oliveira