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@xxxxxxxxxx> > > 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