From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E41CC433EF for ; Fri, 3 Dec 2021 12:38:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380554AbhLCMlh (ORCPT ); Fri, 3 Dec 2021 07:41:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1380865AbhLCMlM (ORCPT ); Fri, 3 Dec 2021 07:41:12 -0500 Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B474C06174A; Fri, 3 Dec 2021 04:37:48 -0800 (PST) Received: by mail-lf1-x129.google.com with SMTP id z7so6132191lfi.11; Fri, 03 Dec 2021 04:37:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=fizL/hy9yXJ6JRH7+VgywLalW2LftVVfT2yuS4CxqNU=; b=Y93nYHfixS2aqgzp9oqGpRkvTO+vKZ4sA0hcu5TPnaZI5RnNWEwu0TRtjRSiTp3N43 y3sybZOyU0c4RuLFBYOtIVujQ6q+g1AarOxI/e2E99DFUmFyYTruPj9ZO+/50q7As89+ /chQdxlA2myIMM5/fKQEoH9dwsiZGeI8lNSQmQ9d8dPA0EQW2qU+6mtZ29UpnT0NUId3 Qop+XVlzktCSRe7/V/vkIQrH2oGm7gK/EzdWJLr1vkd0630LfzxPDK+IIgFCCuFeHmGh r75Qpk9fZkv9OSU5R5w83y/9JJ71ZLkp222biZtVlUaxHlWdIJBUX33pMA+A8wWFU68d dVag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=fizL/hy9yXJ6JRH7+VgywLalW2LftVVfT2yuS4CxqNU=; b=t+OpioMpH41QbfCgWD8u/HKanCdn/2MIA3p+xrdUvW5I7Q8oJyvCiFXjXb5AfesG05 pJAcFXqZg6mqYXzEExPq1UJ0TGIAfToAddlnvlBjDgqqTFL9lqFLF1lKqhPpg1p1+jPs 6Pd+yhZi0CQ/VYCO+tXDa3HOH+bANjyjBp9MrRN7OUNV1ewRrIMGio+g/Tf/DOLhwvZI PB+GhIJDphjDaZuqpn22hXaBmGCS40LHmkeDf++fadbQKEB4Lm1ZThRAFZJ+fNZzwfdf 93vctzbJugGNMwieJwQLlTtopgl6ADzfUyuFqLQOLHMQLJ6VTD3Ic7AM4RVNV0G0Poph VaaQ== X-Gm-Message-State: AOAM532FWI3m8L0zTJL68FR4P82iJShc4BvBSZPUsfGp4aakTo8ZZ/Xy YlOGA7uionkxZvxLUPkxwMpi7ZUDbMOHbZGVIF8= X-Google-Smtp-Source: ABdhPJzUKtVqoTURMIvGt/wtjNsdrTX42pOkbo6NYV/K+6YXQkmbh3wUuinmxAvR0u4XkEaN1KbnoPgiV3eCzhKThp4= X-Received: by 2002:a05:6512:3a93:: with SMTP id q19mr17615388lfu.105.1638535066362; Fri, 03 Dec 2021 04:37:46 -0800 (PST) MIME-Version: 1.0 References: <20211025093418.20545-1-kevin3.tang@gmail.com> <20211025093418.20545-7-kevin3.tang@gmail.com> <20211203103841.vkl3sjsbaohsviou@houat> In-Reply-To: <20211203103841.vkl3sjsbaohsviou@houat> From: Kevin Tang Date: Fri, 3 Dec 2021 20:34:50 +0800 Message-ID: Subject: Re: [PATCH v7 6/6] drm/sprd: add Unisoc's drm mipi dsi&dphy driver To: Maxime Ripard Cc: maarten.lankhorst@linux.intel.com, sean@poorly.run, airlied@linux.ie, daniel@ffwll.ch, robh+dt@kernel.org, mark.rutland@arm.com, pony1.wu@gmail.com, orsonzhai@gmail.com, zhang.lyra@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Maxime Ripard =E4=BA=8E2021=E5=B9=B412=E6=9C=883=E6=97= =A5=E5=91=A8=E4=BA=94 18:38=E5=86=99=E9=81=93=EF=BC=9A > > On Mon, Oct 25, 2021 at 05:34:18PM +0800, Kevin Tang wrote: > > @@ -618,9 +619,25 @@ static void sprd_crtc_mode_set_nofb(struct drm_crt= c *crtc) > > { > > struct sprd_dpu *dpu =3D to_sprd_crtc(crtc); > > struct drm_display_mode *mode =3D &crtc->state->adjusted_mode; > > + struct drm_encoder *encoder; > > + struct mipi_dsi_device *slave; > > + struct sprd_dsi *dsi; > > > > drm_display_mode_to_videomode(mode, &dpu->ctx.vm); > > > > + drm_for_each_encoder(encoder, crtc->dev) { > > + if (encoder->crtc !=3D crtc) > > + continue; > > encoder->crtc is deprecated. You should be using > encoder->drm_for_each_encoder_mask, using the encoder_mask in > encoder->drm_crtc_state. Use drm_for_each_encoder_mask to replace drm_for_each_encoder? like this: drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) { dsi =3D encoder_to_dsi(encoder); slave =3D dsi->slave; if (slave->mode_flags & MIPI_DSI_MODE_VIDEO) dpu->ctx.if_type =3D SPRD_DPU_IF_DPI; else dpu->ctx.if_type =3D SPRD_DPU_IF_EDPI; } > > > +static int sprd_dsi_probe(struct platform_device *pdev) > > +{ > > + struct device *dev =3D &pdev->dev; > > + struct sprd_dsi *dsi; > > + > > + dsi =3D devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL); > > + if (!dsi) > > + return -ENOMEM; > > + > > + dev_set_drvdata(dev, dsi); > > + > > + dsi->host.ops =3D &sprd_dsi_host_ops; > > + dsi->host.dev =3D dev; > > + mipi_dsi_host_register(&dsi->host); > > + > > + return component_add(&pdev->dev, &dsi_component_ops); > > component_add must be run in the mipi_dsi_host.attach hook. Got it, will be fixed on patch v8. > > Maxime From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 49DFEC433EF for ; Fri, 3 Dec 2021 12:37:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 325F87A321; Fri, 3 Dec 2021 12:37:49 +0000 (UTC) Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by gabe.freedesktop.org (Postfix) with ESMTPS id 615C97A321 for ; Fri, 3 Dec 2021 12:37:48 +0000 (UTC) Received: by mail-lf1-x132.google.com with SMTP id b1so6109303lfs.13 for ; Fri, 03 Dec 2021 04:37:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=fizL/hy9yXJ6JRH7+VgywLalW2LftVVfT2yuS4CxqNU=; b=Y93nYHfixS2aqgzp9oqGpRkvTO+vKZ4sA0hcu5TPnaZI5RnNWEwu0TRtjRSiTp3N43 y3sybZOyU0c4RuLFBYOtIVujQ6q+g1AarOxI/e2E99DFUmFyYTruPj9ZO+/50q7As89+ /chQdxlA2myIMM5/fKQEoH9dwsiZGeI8lNSQmQ9d8dPA0EQW2qU+6mtZ29UpnT0NUId3 Qop+XVlzktCSRe7/V/vkIQrH2oGm7gK/EzdWJLr1vkd0630LfzxPDK+IIgFCCuFeHmGh r75Qpk9fZkv9OSU5R5w83y/9JJ71ZLkp222biZtVlUaxHlWdIJBUX33pMA+A8wWFU68d dVag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=fizL/hy9yXJ6JRH7+VgywLalW2LftVVfT2yuS4CxqNU=; b=lVHwoF6uMIKH3y76fUeFfBFO6z/WRfXSq6xbLsXD+TtH/lXoqu+8ac8lhsideMHdxD zf1eA9MmErb40pTPazVw5OlGnWeg1C1d1h3FgDJwAIjUvFZ121/YF2w1NYMB84INdw9D JdtxdcWVAGVqwrfUyoGtdws4WeWG5c49dExMICFVHMQQOBNhXlJTvgJ1ckLgZOBsb0XW MXlhNTzCPHz+UXYlQc8HSVcWXsTdL8NtTxikV9QmChuTrpaFWrji6WTS1GTL9z69GY2k E5JsIoRMEDL2IAX+GOEpg/RzFNqE5mYJcnGcFLM7fDNaUEtQmdVQr8JpbJYp13sKvGSM 5VTA== X-Gm-Message-State: AOAM533zCsYgt9sC7B9JyhEC0c+XSmJ58Kd6UBDznOuuyRSmwdBoX5Nv OxFlpovdHrYF9iYTxlUN00UjB/U0tdfXOp0CPCY= X-Google-Smtp-Source: ABdhPJzUKtVqoTURMIvGt/wtjNsdrTX42pOkbo6NYV/K+6YXQkmbh3wUuinmxAvR0u4XkEaN1KbnoPgiV3eCzhKThp4= X-Received: by 2002:a05:6512:3a93:: with SMTP id q19mr17615388lfu.105.1638535066362; Fri, 03 Dec 2021 04:37:46 -0800 (PST) MIME-Version: 1.0 References: <20211025093418.20545-1-kevin3.tang@gmail.com> <20211025093418.20545-7-kevin3.tang@gmail.com> <20211203103841.vkl3sjsbaohsviou@houat> In-Reply-To: <20211203103841.vkl3sjsbaohsviou@houat> From: Kevin Tang Date: Fri, 3 Dec 2021 20:34:50 +0800 Message-ID: Subject: Re: [PATCH v7 6/6] drm/sprd: add Unisoc's drm mipi dsi&dphy driver To: Maxime Ripard Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, airlied@linux.ie, pony1.wu@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, robh+dt@kernel.org, zhang.lyra@gmail.com, orsonzhai@gmail.com, sean@poorly.run Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Maxime Ripard =E4=BA=8E2021=E5=B9=B412=E6=9C=883=E6=97= =A5=E5=91=A8=E4=BA=94 18:38=E5=86=99=E9=81=93=EF=BC=9A > > On Mon, Oct 25, 2021 at 05:34:18PM +0800, Kevin Tang wrote: > > @@ -618,9 +619,25 @@ static void sprd_crtc_mode_set_nofb(struct drm_crt= c *crtc) > > { > > struct sprd_dpu *dpu =3D to_sprd_crtc(crtc); > > struct drm_display_mode *mode =3D &crtc->state->adjusted_mode; > > + struct drm_encoder *encoder; > > + struct mipi_dsi_device *slave; > > + struct sprd_dsi *dsi; > > > > drm_display_mode_to_videomode(mode, &dpu->ctx.vm); > > > > + drm_for_each_encoder(encoder, crtc->dev) { > > + if (encoder->crtc !=3D crtc) > > + continue; > > encoder->crtc is deprecated. You should be using > encoder->drm_for_each_encoder_mask, using the encoder_mask in > encoder->drm_crtc_state. Use drm_for_each_encoder_mask to replace drm_for_each_encoder? like this: drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) { dsi =3D encoder_to_dsi(encoder); slave =3D dsi->slave; if (slave->mode_flags & MIPI_DSI_MODE_VIDEO) dpu->ctx.if_type =3D SPRD_DPU_IF_DPI; else dpu->ctx.if_type =3D SPRD_DPU_IF_EDPI; } > > > +static int sprd_dsi_probe(struct platform_device *pdev) > > +{ > > + struct device *dev =3D &pdev->dev; > > + struct sprd_dsi *dsi; > > + > > + dsi =3D devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL); > > + if (!dsi) > > + return -ENOMEM; > > + > > + dev_set_drvdata(dev, dsi); > > + > > + dsi->host.ops =3D &sprd_dsi_host_ops; > > + dsi->host.dev =3D dev; > > + mipi_dsi_host_register(&dsi->host); > > + > > + return component_add(&pdev->dev, &dsi_component_ops); > > component_add must be run in the mipi_dsi_host.attach hook. Got it, will be fixed on patch v8. > > Maxime