lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFPSGXbWv94vShNAQ9xfkDZRKgZTdjRzH9i60ak1NYaPW-OKgA@mail.gmail.com>
Date:   Fri, 3 Dec 2021 20:34:50 +0800
From:   Kevin Tang <kevin3.tang@...il.com>
To:     Maxime Ripard <maxime@...no.tech>
Cc:     maarten.lankhorst@...ux.intel.com, sean@...rly.run,
        airlied@...ux.ie, daniel@...ll.ch, robh+dt@...nel.org,
        mark.rutland@....com, pony1.wu@...il.com, orsonzhai@...il.com,
        zhang.lyra@...il.com, linux-kernel@...r.kernel.org,
        dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v7 6/6] drm/sprd: add Unisoc's drm mipi dsi&dphy driver

Maxime Ripard <maxime@...no.tech> 于2021年12月3日周五 18:38写道:
>
> 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_crtc *crtc)
> >  {
> >       struct sprd_dpu *dpu = to_sprd_crtc(crtc);
> >       struct drm_display_mode *mode = &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 != 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 = encoder_to_dsi(encoder);
    slave = dsi->slave;

    if (slave->mode_flags & MIPI_DSI_MODE_VIDEO)
        dpu->ctx.if_type = SPRD_DPU_IF_DPI;
    else
         dpu->ctx.if_type = SPRD_DPU_IF_EDPI;
}

>
> > +static int sprd_dsi_probe(struct platform_device *pdev)
> > +{
> > +     struct device *dev = &pdev->dev;
> > +     struct sprd_dsi *dsi;
> > +
> > +     dsi = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL);
> > +     if (!dsi)
> > +             return -ENOMEM;
> > +
> > +     dev_set_drvdata(dev, dsi);
> > +
> > +     dsi->host.ops = &sprd_dsi_host_ops;
> > +     dsi->host.dev = 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ