Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp63727imm; Fri, 19 Oct 2018 17:39:24 -0700 (PDT) X-Google-Smtp-Source: ACcGV61TnDpXleryOUriFl3clpLDYd5sQGxQ7z4zQGsDEKeCy71N4vEGW3thKaP19rcrbawGx6XN X-Received: by 2002:a17:902:8d85:: with SMTP id v5-v6mr15437698plo.33.1539995964273; Fri, 19 Oct 2018 17:39:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539995964; cv=none; d=google.com; s=arc-20160816; b=1Ix4aCXz2FqLe5epCvai8xDURGeLXr5sIP5cZJ3lLdDgTFjyWzfoBSs7xBrpv/gCX+ HeYbFYDx4XZCi9Rh3P7nIDnnvMUerjfZ+Z6OiPWB8yG5RtjE66JbjfAUXjy/zbbqjiY9 fqeEO9UqVAAoxYpyZCt79CgRGh2ZWu2x+b88gD9CVIdX5nIKQLfyERpkg1HcAcLOOjGV Qd3vx4bQLjnWiG8qnJiD8+PcbJ1gztZvFtsyhbDVWDeC2HmmJ3yUxF331Fk0vy8tYrFB sALf70H3ymeKa/zypfiXFRQJsdJaXH+hWlm12N3JjCzeAdaxWHWo4slgkC9a9ZCK8Buv zH6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=cwAkJgtvVfh3flh/6DRLCWRKD1nKOpRrlgurUkj9UeU=; b=zwHTMF0yJRWk5QhMNGYcLmUn6rFC4gaVr01pgRRCU8oHQIZdC11IxuwnkeTIX+5Cel 56eJjyiGc8xEAN+FYz/dDI4Gvewr2wiqyI/CnxLFbbJ/OzbUeKTJ+oDdeDXnQIN4RSBg ubQKXmtA42NnZyuQcj+qhFYczaX9MR1mFXswq7mePns/LmawIm0BtmynmHeajl1cb0tZ eWkTvr3SXREPvssabzQ6Blc8gNXpG7hM3r41l7d22vQZOUxNt9zwuk9tHbrTmhoM2M3V JphgqOp0UYV8379liTpwcNgkHncEexxmjOl8odhf0qOviEmu3IfdObzsE7DaX6ZSjU3Y 4DvQ== ARC-Authentication-Results: i=1; mx.google.com; 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 x17-v6si25975205pgl.414.2018.10.19.17.38.48; Fri, 19 Oct 2018 17:39:24 -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; 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 S1726816AbeJTIqn (ORCPT + 99 others); Sat, 20 Oct 2018 04:46:43 -0400 Received: from muru.com ([72.249.23.125]:52520 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726542AbeJTIqm (ORCPT ); Sat, 20 Oct 2018 04:46:42 -0400 Received: from atomide.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTPS id 9FCAD80BF; Sat, 20 Oct 2018 00:38:13 +0000 (UTC) Date: Fri, 19 Oct 2018 17:38:12 -0700 From: Tony Lindgren To: Sebastian Reichel Cc: Pavel Machek , Laurent Pinchart , 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 Message-ID: <20181020003812.GE43338@atomide.com> References: <20180830090456.GA17277@amd> <797c13fa-7a5b-a809-7dd0-14b01a3046be@ti.com> <3205865.8O8aibZXye@avalon> <20180910174453.GV5662@atomide.com> <20181018221549.GB6364@amd> <20181019164450.GD43338@atomide.com> <20181019225827.s76wapp3cxrmp5af@earth.universe> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181019225827.s76wapp3cxrmp5af@earth.universe> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * 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? Regards, Tony 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; -- 2.19.1