On Mon, Oct 02, 2023 at 01:33:03PM -0700, Jessica Zhang wrote:
> 
> 
> On 10/2/2023 12:30 PM, Chris Morgan wrote:
> > From: Chris Morgan <macromor...@hotmail.com>
> > 
> > Add support for the Anbernic 351V. Just like the 353 series the
> > underlying vendor is unknown/unmarked (at least not visible in a
> > non-destructive manner). The panel had slightly different init
> > sequences and timings in the BSP kernel, but works fine with the
> > same ones used in the existing driver. The panel will not work without
> > the inclusion of the MIPI_DSI_CLOCK_NON_CONTINUOUS flag, and this flag
> > prevents the 353 series from working correctly, so a new compatible
> > string is added.
> > 
> > Tested colors and timings using modetest and all seem to work identical
> > to the 353 otherwise.
> > 
> > Signed-off-by: Chris Morgan <macromor...@hotmail.com>
> > ---
> >   drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 8 ++++++++
> >   1 file changed, 8 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c 
> > b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
> > index ad98dd9322b4..f644dbc8ee8a 100644
> > --- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
> > +++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
> > @@ -354,6 +354,7 @@ static const struct drm_panel_funcs panel_nv3051d_funcs 
> > = {
> >   static int panel_nv3051d_probe(struct mipi_dsi_device *dsi)
> >   {
> >     struct device *dev = &dsi->dev;
> > +   struct device_node *np = dev->of_node;
> 
> Hi Chris,
> 
> Thanks for the patch.
> 
> It mostly looks good to me, but just one question here -- why not pass in
> `dev->of_node` directly into `of_device_is_compatible()`?

It was an oversight on my part. I'll modify and resend, sorry about that.

Thank you.

> 
> Thanks,
> 
> Jessica Zhang
> 
> >     struct panel_nv3051d *ctx;
> >     int ret;
> > @@ -388,6 +389,13 @@ static int panel_nv3051d_probe(struct mipi_dsi_device 
> > *dsi)
> >     dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> >                       MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET;
> > +   /*
> > +    * The panel in the RG351V is identical to the 353P, except it
> > +    * requires MIPI_DSI_CLOCK_NON_CONTINUOUS to operate correctly.
> > +    */
> > +   if (of_device_is_compatible(np, "anbernic,rg351v-panel"))
> > +           dsi->mode_flags |= MIPI_DSI_CLOCK_NON_CONTINUOUS; > +
> >     drm_panel_init(&ctx->panel, &dsi->dev, &panel_nv3051d_funcs,
> >                    DRM_MODE_CONNECTOR_DSI);
> > -- 
> > 2.34.1
> > 

Reply via email to