[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <u63p7wuvtrcdnbzikbgucedhsgjtyrx7zknkytcy5cu3hbbsxx@jm46d2od2jmi>
Date: Thu, 30 May 2024 14:35:04 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Maxime Ripard <mripard@...nel.org>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>, Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>, Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Daniel Vetter <daniel@...ll.ch>, Rob Clark <robdclark@...il.com>,
Abhinav Kumar <quic_abhinavk@...cinc.com>, Sean Paul <sean@...rly.run>,
Marijn Suijten <marijn.suijten@...ainline.org>, dri-devel@...ts.freedesktop.org, linux-arm-msm@...r.kernel.org,
freedreno@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 5/7] drm/msm/hdmi: make use of the drm_connector_hdmi
framework
On Thu, May 30, 2024 at 11:16:08AM +0200, Maxime Ripard wrote:
> Hi,
>
> On Thu, May 30, 2024 at 02:12:28AM GMT, Dmitry Baryshkov wrote:
> > Setup the HDMI connector on the MSM HDMI outputs. Make use of
> > atomic_check hook and of the provided Infoframe infrastructure.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
>
> As a general comment: I really like it, it looks super tidy. Thanks!
>
> There's a couple of minor issues below
>
> > -int msm_hdmi_audio_update(struct hdmi *hdmi)
> > +static int msm_hdmi_audio_update(struct hdmi *hdmi)
> > {
> > struct hdmi_audio *audio = &hdmi->audio;
> > - struct hdmi_audio_infoframe *info = &audio->infoframe;
> > const struct hdmi_msm_audio_arcs *arcs = NULL;
> > bool enabled = audio->enabled;
> > uint32_t acr_pkt_ctrl, vbi_pkt_ctrl, aud_pkt_ctrl;
> > - uint32_t infofrm_ctrl, audio_config;
> > + uint32_t audio_config;
> > +
> > + if (!hdmi->hdmi_mode)
> > + return -EINVAL;
> > +
> > + DBG("audio: enabled=%d, channels=%d, rate=%d",
> > + audio->enabled, audio->channels, audio->rate);
> >
> > - DBG("audio: enabled=%d, channels=%d, channel_allocation=0x%x, "
> > - "level_shift_value=%d, downmix_inhibit=%d, rate=%d",
> > - audio->enabled, info->channels, info->channel_allocation,
> > - info->level_shift_value, info->downmix_inhibit, audio->rate);
> > DBG("video: power_on=%d, pixclock=%lu", hdmi->power_on, hdmi->pixclock);
>
> pixclock should come from the connector state too. It's still calculated
> by the driver in msm_hdmi_bridge_mode_set
Yes, that's why I asked on IRC regarding the char rate and ALSA codec.
I'll see what I can do.
>
> > @@ -341,8 +425,11 @@ int msm_hdmi_bridge_init(struct hdmi *hdmi)
> > bridge->funcs = &msm_hdmi_bridge_funcs;
> > bridge->ddc = hdmi->i2c;
> > bridge->type = DRM_MODE_CONNECTOR_HDMIA;
> > + bridge->vendor = "Qualcomm";
> > + bridge->product = "Snapdragon";
> > bridge->ops = DRM_BRIDGE_OP_HPD |
> > DRM_BRIDGE_OP_DETECT |
> > + DRM_BRIDGE_OP_HDMI |
> > DRM_BRIDGE_OP_EDID;
> >
> > ret = devm_drm_bridge_add(hdmi->dev->dev, bridge);
>
> It looks like you're not setting either the supported formats or bpc?
I've added what looks to be sane defaults to the drm_bridge_connector:
RGB only and bpc = 8. If at some point we get to YUV or HDR support,
that would need to be reflected here.
--
With best wishes
Dmitry
Powered by blists - more mailing lists