Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp6049676imd; Wed, 31 Oct 2018 06:11:04 -0700 (PDT) X-Google-Smtp-Source: AJdET5cK4Fi2sKfTIpsTvoZZhU0YEEF78fq3h7b4sv8+CZ01wKkDrrMTybXA0eV3JyIDY1H9s/5P X-Received: by 2002:a63:344e:: with SMTP id b75mr3054369pga.184.1540991464316; Wed, 31 Oct 2018 06:11:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540991464; cv=none; d=google.com; s=arc-20160816; b=M5p0Wx92BotetDc4Z4cqeyxJrn0ts7x532AFIZUnv191qOM7nmAvImgX2CcaWOwp7Q O8jhYer19PxMb5HrFfZ2MwqUP0YNhtmNdEcXwcMvEwyZuPDNxesAEHtR/sz6K+BQXCMY CGjuxei1yNbbnEGFUwVAEkVLNQ50LvWQM836quPcXM56PTpwv6Mpymn3jw4hC5fdThvv 2Cr8eeETm1+UvU2ivxWAI3STlMyiF/ekXU7J3rI5KfXR0r1gyrQr00/OF0NhO2Zq44+E 7HcyM/53AyvMdiUsQJ34Sfhy4ME2OmarXUkEtGni/73jHJcuMuuioWOiys25BQfFbdVc mTxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:organization:message-id:date:subject:cc:to :from:dkim-signature; bh=ikaOwbxoL7sHklXK36/1FfQ5KVmy+LyvMSj/X+stRRA=; b=CSDfRAYx9NmrHshc1pihQ8a+ES9FWPMX/ZyRxMlDrok9BXU4yOJULwLfueQUQKGZnQ q+/O5j6+B4hQdzFWJ6alk6f+V3P0AGKF+uHlVlJlQSV3EfkRZoIUVhsVmeuMPuBaP7o9 2UdfnokgsHmpbYryebC9QeeD953OGiZhQiXJUyRG8HFvjAs3eVoaU2OvoKTd1FlP/AWo CoftJrg8foBXMP2lhEQxBCRMCjx9ReGTKrxm+LBu9Gpq04TtZYCQ0rFRkSii5jjLRFBd f1Nq1dSEYBIC+MjNnP0pWgtMA3pudyE4TGCThCwkutBztMYtmI8IvthOAaVu1WKMMqnT uMBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=QIoQFCI8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id cc11-v6si26604351plb.97.2018.10.31.06.10.45; Wed, 31 Oct 2018 06:11:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=QIoQFCI8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729268AbeJaWH4 (ORCPT + 99 others); Wed, 31 Oct 2018 18:07:56 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:57766 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729187AbeJaWH4 (ORCPT ); Wed, 31 Oct 2018 18:07:56 -0400 Received: from avalon.localnet (dfj612ybrt5fhg77mgycy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:2e86:4862:ef6a:2804]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 857B411F2; Wed, 31 Oct 2018 14:09:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1540991396; bh=AJC2ob2MAZ/LXBIJm6bsSMUaaUmuMpxYcyDVBhVBS98=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QIoQFCI8S50dD80qP29B34a4kw6qqrGOen+fyoC2tFnYSYEFDXGLdspADcc6T0aQ7 kGd2yYx/P8Fhvfp5LHx6h5j32KgpzqKhFuC6P2StVfGKniYMshU7+ZhNeDq8uGwFmB y8fDUel8CQBGOqdBm558LUka+knecsQLu1Mv1MFk= From: Laurent Pinchart To: Tony Lindgren Cc: Sebastian Reichel , Pavel Machek , Tomi Valkeinen , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel , linux-omap@vger.kernel.org, nekit1000@gmail.com, mpartap@gmx.net, merlijn@wizzup.org Subject: Re: omap4: support for manually updated display Date: Wed, 31 Oct 2018 15:10:00 +0200 Message-ID: <2348762.PvrRPAx0JW@avalon> Organization: Ideas on Board Oy In-Reply-To: <20181020003812.GE43338@atomide.com> References: <20180830090456.GA17277@amd> <20181019225827.s76wapp3cxrmp5af@earth.universe> <20181020003812.GE43338@atomide.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Tony, On Saturday, 20 October 2018 03:38:12 EET Tony Lindgren wrote: > * Sebastian Reichel [181019 15:58]: > > I uploaded my current status here. It's not based on the newest > > -next, but contains the interesting patches from Laurent. Also > > the last few patches are not yet cleaned up, sorry for the mess. > > Way to go, thanks :) Here's a quick fix for issues with loading > and unloading modules, seems like this should be fixed somewhere > else though? Thanks for the report, I'll have a look at this. > 8< ----------------------- > Unload of hdmi: > > Unable to handle kernel NULL pointer dereference at virtual address 00000278 > (hdmi_runtime_resume [omapdss]) from [] > (__rpm_callback+0x144/0x1d8) (__rpm_callback) from [] > (rpm_callback+0x20/0x80) > (rpm_callback) from [] (rpm_resume+0x60c/0x828) > (rpm_resume) from [] (__pm_runtime_resume+0x4c/0x64) > (__pm_runtime_resume) from [] > (device_release_driver_internal+0x130/0x234) > (device_release_driver_internal) from [] > (driver_detach+0x38/0x6c) (driver_detach) from [] > (bus_remove_driver+0x4c/0xa4) > (bus_remove_driver) from [] > (platform_unregister_drivers+0x20/0x2c) (platform_unregister_drivers) from > [] (sys_delete_module+0x1c0/0x230) (sys_delete_module) from > [] (ret_fast_syscall+0x0/0x28) > > > Unload of dsi: > > Unable to handle kernel NULL pointer dereference at virtual address 00000278 > (dsi_runtime_resume [omapdss]) from [] > (__rpm_callback+0x144/0x1d8) (__rpm_callback) from [] > (rpm_callback+0x20/0x80) > (rpm_callback) from [] (rpm_resume+0x60c/0x828) > (rpm_resume) from [] (__pm_runtime_resume+0x4c/0x64) > (__pm_runtime_resume) from [] (driver_probe_device+0x38/0x164) > (driver_probe_device) from [] (__driver_attach+0xe4/0xe8) > (__driver_attach) from [] (bus_for_each_dev+0x70/0xb4) > (bus_for_each_dev) from [] (bus_add_driver+0x198/0x1fc) > (bus_add_driver) from [] (driver_register+0x74/0x108) > (driver_register) from [] (do_one_initcall+0x80/0x31c) > (do_one_initcall) from [] (do_init_module+0x5c/0x1f8) > (do_init_module) from [] (load_module+0x1360/0x16c0) > (load_module) from [] (sys_finit_module+0xbc/0xdc) > (sys_finit_module) from [] (ret_fast_syscall+0x0/0x28) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/drivers/gpu/drm/omapdrm/dss/dsi.c --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -5484,6 +5484,9 @@ static int dsi_runtime_resume(struct device *dev) > struct dsi_data *dsi = dev_get_drvdata(dev); > int r; > > + if (!dsi || !dsi->dss || !dsi->dss->dispc) > + return -ENODEV; > + > r = dispc_runtime_get(dsi->dss->dispc); > if (r) > return r; > diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c > b/drivers/gpu/drm/omapdrm/dss/hdmi4.c --- > a/drivers/gpu/drm/omapdrm/dss/hdmi4.c > +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c > @@ -847,6 +847,9 @@ static int hdmi_runtime_resume(struct device *dev) > struct omap_hdmi *hdmi = dev_get_drvdata(dev); > int r; > > + if (!hdmi || !hdmi->dss || !hdmi->dss->dispc) > + return -ENODEV; > + > r = dispc_runtime_get(hdmi->dss->dispc); > if (r < 0) > return r; -- Regards, Laurent Pinchart